Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
af225d7
Merge pull request #775 from Team-WSS/release/1.4.0
m6z1 Jan 10, 2026
1eb9d3e
build: 피드 모듈 생성
s9hn Jan 10, 2026
37cc2d6
refactor: 디자인시스템 수정
s9hn Jan 10, 2026
5a46a94
build: 버전 업데이트
s9hn Jan 10, 2026
eae3f8b
Merge pull request #776 from Team-WSS/build/756
s9hn Jan 10, 2026
86d50ce
Merge branch 'develop' of https://github.com/Team-WSS/WSS-Android int…
s9hn Jan 10, 2026
7608b82
feat: 마이페이지 ui 수정
m6z1 Jan 10, 2026
5a6cc81
feat: 개수에 컬러값 추가
m6z1 Jan 10, 2026
b8323e5
feat: 불필요한 파일 제거 및 패키지 이동
m6z1 Jan 10, 2026
326cdca
Merge pull request #777 from Team-WSS/feat/773
m6z1 Jan 10, 2026
da6bca5
build: ci 해결(diffutil 해결)
m6z1 Jan 10, 2026
e8ff81b
build: 파일명과 class 명 통일
m6z1 Jan 10, 2026
80d78a2
Merge pull request #778 from Team-WSS/feat/772
m6z1 Jan 10, 2026
520d724
feat: feed 관련 모듈 분리
m6z1 Jan 10, 2026
324131e
feat: feed 도메인 추가
m6z1 Jan 10, 2026
06c5412
Merge pull request #780 from Team-WSS/feat/779
m6z1 Jan 10, 2026
392fae0
Merge branch 'develop' of https://github.com/Team-WSS/WSS-Android int…
s9hn Jan 10, 2026
7bc331f
feat: 피드 단건 조회 api 수정
m6z1 Jan 10, 2026
0e974d3
feat: 피드 단건 조회 model 정의
m6z1 Jan 10, 2026
6ea774c
feat: 수정된 ui 반영
m6z1 Jan 10, 2026
97e89a4
fix: 작품 썸네일 잘려보이는 현상 해결
m6z1 Jan 10, 2026
5af6fd2
feat: 마진 값 조절
m6z1 Jan 10, 2026
139a389
feat: 이미지 사이즈 조절
m6z1 Jan 10, 2026
157c743
fix: 평점 없을 때 가시성 처리
m6z1 Jan 10, 2026
0e29d8c
feat: 글쓴이 닉네임 보이도록 수정
m6z1 Jan 10, 2026
99a26e1
Merge pull request #782 from Team-WSS/feat/781
m6z1 Jan 10, 2026
450343a
feat: 내 활동 api 모듈 분리
m6z1 Jan 10, 2026
76ab91a
feat: api hilt 모듈 추가
m6z1 Jan 10, 2026
7392e94
feat: userId 가져오는 api 추가
m6z1 Jan 10, 2026
b6164cb
Merge pull request #784 from Team-WSS/feat/783
m6z1 Jan 10, 2026
9c8d7f2
feat: 피드 API 연결
s9hn Jan 10, 2026
bdefda2
feat: 피드 Ui Compose 마이그레이션
s9hn Jan 10, 2026
ce4df4a
Merge branch 'develop' of https://github.com/Team-WSS/WSS-Android int…
s9hn Jan 10, 2026
e6fff0f
feat: api 수정 및 연결
m6z1 Jan 10, 2026
5dd0261
feat: 바텀 시트 ui 구현 중
m6z1 Jan 10, 2026
c08dacb
Merge pull request #786 from Team-WSS/feat/785
m6z1 Jan 10, 2026
66d0ad4
feat: 클릭 이벤트 구현
s9hn Jan 10, 2026
037fba0
resolve merge conflict
s9hn Jan 10, 2026
65aa725
feat: 필터 및 좋아요 기능 구현
s9hn Jan 11, 2026
b125989
refactor: debouncedClickable 적용
s9hn Jan 11, 2026
908531c
refactor: 기존 피드 로직 제거 및 새로운 피드 로직과 통합
s9hn Jan 11, 2026
9bbc289
Merge pull request #787 from Team-WSS/feat/768
s9hn Jan 11, 2026
97ffe86
Update README.md
s9hn Jan 17, 2026
43fa751
Update README.md
s9hn Jan 17, 2026
0bfd3a3
Update WSS_PR_auto_assign_and_reviewer.yml
s9hn Jan 17, 2026
58f85bf
Merge pull request #793 from Team-WSS/refactor/792
s9hn Jan 18, 2026
a0186b8
fix: 마진 값 수정
m6z1 Jan 24, 2026
f9ae3a3
feat: 장르별 색상 리소스 추가
devfeijoa Jan 27, 2026
23e0213
feat: 작품 상세 장르 아이콘, 배경색 추가
devfeijoa Jan 27, 2026
1750361
feat: Tint 설정을 위한 BindingAdapter 추가
devfeijoa Jan 27, 2026
c64295a
feat: 피드 아이템 카테고리별 색상 적용
devfeijoa Jan 27, 2026
640f0e2
refactor: BindingAdapter 파라미터 포맷팅 수정
devfeijoa Jan 30, 2026
3a69432
refactor: 피드 아이템 카테고리 로직 개선
devfeijoa Jan 30, 2026
15015fa
refactor: 피드 화면 UnusedMaterial3ScaffoldPaddingParameter lint 경고 수정
devfeijoa Jan 30, 2026
efa86d0
refactor: WebsosoCustomSnackBar에 RestrictedApi 어노테이션 추가
devfeijoa Jan 30, 2026
5c04704
Merge branch 'hotfix/1.5.0' into develop
m6z1 Jan 30, 2026
62dc5bb
fix: 글 작성 취소 모달 사이즈 수정
m6z1 Jan 31, 2026
b21d74c
fix: 썸네일 내 이미지 개수 수정
m6z1 Jan 24, 2026
9cb9ce0
fix: 터치 영역 수정
m6z1 Jan 24, 2026
4d8c024
fix: 피드 별점 내 별점으로 수정
m6z1 Jan 24, 2026
03143e6
fix: 서재 필터 클릭 시 바텀시트 뜨지 않는 현상 해결
m6z1 Jan 31, 2026
512ade5
fix: 내 피드 글 찾기 필터 로직 수정
m6z1 Jan 31, 2026
192db5e
refactor: 피드 상세 뷰 새로고침 제거
m6z1 Jan 31, 2026
acd2d16
fix: 피드 상세 작품 타이틀 typography 수정
m6z1 Jan 31, 2026
c08c4ff
refactor: 장르 관련 색상 리소스 app 모듈로 이동
devfeijoa Jan 31, 2026
e864ff8
fix: 내 피드 필터 모달 공개/비공개 선택 로직 수정
m6z1 Jan 31, 2026
17ec3b7
fix: api query name 수정
m6z1 Jan 31, 2026
5dda503
refactor: 카테고리별 색상 적용 로직 제거
devfeijoa Jan 31, 2026
e74f6d4
build: 불필요한 태그 제거
m6z1 Jan 31, 2026
b3a6466
feat: 피드 아이템 novel 장르별 색상 변경 기능 추가
devfeijoa Jan 31, 2026
bb2c82e
feat: 피드에 작품 장르 색상 적용
devfeijoa Jan 31, 2026
9f779fb
feat: 피드 아이템 배경 및 아이콘 색상 적용
devfeijoa Jan 31, 2026
416def7
fix: 추천 글 보이도록 수정
m6z1 Jan 31, 2026
a96fe1e
fix: 더보기 모달 내 피드 로직 수정
m6z1 Jan 31, 2026
867dfde
fix: 내 필터 상태 값 누락된 부분 추가
m6z1 Jan 31, 2026
62d0bcd
refactor: 커서 기반 피드 로딩 로직 수정
m6z1 Jan 31, 2026
77b91fb
fix: 피드 연결 카테고리 빠진 로직 추가
m6z1 Jan 31, 2026
d5da8ab
refactor: 불필요한 배킹프로퍼티 네이밍 제거
m6z1 Jan 31, 2026
4c1096b
fix: 내 필터 모달 첫 진입 시 모든 칩 선택되어 있도록 수정
m6z1 Jan 31, 2026
c141149
fix: 날짜 형식 수정
m6z1 Jan 31, 2026
799b70c
Merge branch 'hotfix/1.5.0' into release/1.6.0
m6z1 Jan 31, 2026
d0a4bdb
refactor: 피드 장르가 없을 경우 기타로 표시되도록 수정
devfeijoa Jan 31, 2026
f2167d4
refactor: '기타' 장르 배경 스타일 변경
devfeijoa Jan 31, 2026
d457679
fix: 좋아요, 댓글 아이콘 크기 확인 필요
s9hn Feb 1, 2026
159f773
fix: 내 피드 / 소소피드 영역 사이간격 수정
s9hn Feb 1, 2026
4230792
Merge pull request #802 from Team-WSS/feat/796
s9hn Feb 1, 2026
848787e
build: resolve merge conflict
s9hn Feb 1, 2026
1516ab5
fix: [내 피드]에서 “나만 보는 기록”으로이라고만 뜸
s9hn Feb 1, 2026
21f6877
fix: 루트 로딩뷰 제거
s9hn Feb 1, 2026
6f67907
refactor: debouncedClickable 일괄적용
s9hn Feb 1, 2026
af8fd00
refactor: 더보기 모달 크기 및 위치 수정
s9hn Feb 1, 2026
2e47269
refactor: 서재 Room 모듈 제거
s9hn Feb 1, 2026
78cded2
fix: 어댑터 내 작품 정보 색상 처리 로직 삭제
devfeijoa Feb 1, 2026
a9038f9
fix: 작품별 장르에 따른 색상 로직 수정
devfeijoa Feb 1, 2026
fb2519d
refactor: 미사용코드 onMoreClick 제거
s9hn Feb 1, 2026
7ebbe6b
refactor: 장르별 색상 업데이트 로직 NovelFeedViewModel에서 제거
devfeijoa Feb 4, 2026
8af489c
refactor: NovelDetailViewModel에서 불필요한 primaryGenre 상태 제거
devfeijoa Feb 4, 2026
a89fd9d
refactor: 피드 아이템 장르에 따라 동적 색상 적용
devfeijoa Feb 4, 2026
b7f3f21
refactor: 피드 아이템 장르 표시 로직 수정
devfeijoa Feb 4, 2026
e668152
refactor: "기타" 문자열을 상수로 추출
devfeijoa Feb 4, 2026
37f5ee3
Merge branch 'release/1.6.0' into feat/799
devfeijoa Feb 4, 2026
dc17392
Merge pull request #800 from Team-WSS/feat/799
devfeijoa Feb 4, 2026
872b613
refactor: 피드 및 피드 상세보기 데이터 통합
s9hn Feb 8, 2026
06cbc08
Merge pull request #805 from Team-WSS/fix/801
s9hn Feb 8, 2026
6f85317
refactor: SuppressLint 제거
s9hn Feb 8, 2026
0b9e6c3
fix: 장르별 색상 리소스 수정
devfeijoa Feb 10, 2026
0fecdea
fix: 피드 정렬 및 필터 변경 시 데이터 초기화 및 새로고침 처리
devfeijoa Feb 14, 2026
4a3675c
Merge pull request #808 from Team-WSS/fix/806
devfeijoa Feb 24, 2026
a77b615
refactor: 내 피드 글 없을 때, 화면 수정
s9hn Feb 24, 2026
f5efa19
refactor: 작품 표지 이미지 불러오기 오류
s9hn Feb 25, 2026
2af5337
refactor: 수정하기 클릭 시 튕김
s9hn Feb 25, 2026
53efe76
Merge pull request #810 from Team-WSS/fix/809
devfeijoa Feb 26, 2026
4dfcb41
refactor: 작품 피드 > 연결 작품 > 별점 > 내별점 (전체별점 아님)
s9hn Feb 26, 2026
df32e3e
build: resolve merge conflict
s9hn Feb 26, 2026
14d9ac8
Merge pull request #814 from Team-WSS/feat/807
s9hn Feb 26, 2026
0e646e2
build: 릴리즈 1.6.0 버전 업데이트
Sadturtleman Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/WSS_PR_auto_assign_and_reviewer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ jobs:
- uses: hkusu/review-assign-action@v1
with:
assignees: ${{ github.actor }}
reviewers: s9hn, m6z1
reviewers: s9hn, m6z1, devfeijoa
137 changes: 54 additions & 83 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,64 @@
# 📗 WSS-Android
<img src="https://github.com/Team-WSS/WSS-Android/assets/127238018/4d76ae12-f626-4f80-91c7-cefa4ef0378c" width="500">
<div align="center">

> The Genius Developer of the Academy Reincarnated as a Giraffe
</br>

## 💻 IDE
<div><img src="https://img.shields.io/badge/kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white"><img src="https://img.shields.io/badge/android-3DDC84?style=for-the-badge&logo=android&logoColor=white"><img src="https://img.shields.io/badge/Android%20Studio-3E81F2.svg?style=for-the-badge&logo=android-studio&logoColor=white"></div>
</br>

## 📁 Overview
> Not sure what web novel to read? Websoso.</br>
> This is the Android official repository for Websoso, a dedicated web novel tracking & community app.</br>
```
📦com.teamwss.websoso
├─📂data
│ ├─📂di
│ ├─📂mapper
│ ├─📂remote
│ └─📂repository
├─📂domain
│ ├─📂mapper
│ ├─📂model
│ ├─📂usecase
├─📂ui
│ ├─📂common
│ ├─📂feed
│ ├─📂feedDetail
│ ├─📂login
│ ├─📂main
│ ├─📂mapper
│ ├─📂myPage
│ ├─📂normalExplore
│ ├─📂novelDetail
│ ├─📂novelRating
│ ├─📂onboarding
│ └─📂splash
└─📂util
```
</br>

## 🏭 Libraries
- Material Design
- Retrofit2
- Serialization
- Okhttp3
- ViewPager2
- Coroutine
- AndroidX
- ViewModel
- Coil
- Dots Indicator
- Hilt

</br>

## 🥕 Extensions
- BindingActivity
- BindingBottomSheetDialog
- BindingFragment
- BindingAdapter
- WebsosoChip
- WebsosoChipGroup

</br>
<h1>WSS-Android</h1>
<p align="center">
<strong>웹소설에 푹 빠지는 곳, 웹소소</strong>
</p>

## 🏭 Tech Stacks
- Google Recommended Architecture
- MVVM pattern
- Static Factory Method pattern
- Hilt
<p align="center">
<img src="https://github.com/Team-WSS/WSS-Android/assets/127238018/4d76ae12-f626-4f80-91c7-cefa4ef0378c" width="500"/>
</p>

</div>
</br>

<h2>📌 Download</h2>

<a href="https://play.google.com/store/apps/details?id=com.into.websoso">
<img
alt="다운로드하기 Google Play"
src="https://play.google.com/intl/ko/badges/static/images/badges/ko_badge_web_generic.png"
width="20%"
/>
</a>

## 🛠 Tech Stack & Libraries
- [Kotlin](https://kotlinlang.org/)
- [Modularization](https://developer.android.com/topic/modularization?hl=ko)
- [Google App Architecture](https://developer.android.com/topic/architecture?hl=ko)
- [Gradle Version Catalog](https://docs.gradle.org/current/userguide/version_catalogs.html) + Precompiled Script Plugin
- [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) + [Flow](https://kotlinlang.org/docs/flow.html)
- [Dagger-Hilt](https://dagger.dev/hilt/)

Jetpack:
- [Compose](https://developer.android.com/compose)
- [Hilt Navigation Compose](https://developer.android.com/develop/ui/compose/libraries?hl=ko#hilt)
- [Paging3](https://developer.android.com/jetpack/androidx/releases/paging?hl=ko)
- [Room](https://developer.android.com/jetpack/androidx/releases/room?hl=ko)
- [DataStore](https://developer.android.com/jetpack/androidx/releases/datastore?hl=ko)

Library:
- [Retrofit2 & OkHttp3](https://github.com/square/retrofit)
- [Coil](https://coil-kt.github.io/coil/getting_started/)


## 🏛️ Architecture(Modularization) Overview
<p align="start"><strong>We follow the Google App Architecture Guidelines.</strong></p>

<table align="center">
<tr>
<td width="70%">
<img src="https://github.com/user-attachments/assets/88358876-5984-4377-b241-c777a383758d" width="100%" />
</td>
<td width="30%">
<img src="https://github.com/user-attachments/assets/a8517309-6c22-4032-8adb-e7742c50cc08" width="100%" />
</td>
</tr>
</table>

## 🏷️ Convention
- Adheres to the [WSS-Android-Convention](https://github.com/Team-WSS/WSS-Android-Convention).

</br>

## ⭐️ Did you find this repository helpful?
- Don't forget give a star.

</br>

## 🍴 Didn't you?
- Then fork this repo, make it better and don't forget give a STAR.

</br>

## 👨‍👩‍👧‍👦 Contributers
|<img src="https://avatars.githubusercontent.com/u/114990782?v=4" width="125" />|<img src="https://avatars.githubusercontent.com/u/127238018?v=4" width="125" />|<img src="https://avatars.githubusercontent.com/u/144861180?v=4" width="125" />|<img src="https://avatars.githubusercontent.com/u/81347125?v=4" width="125" />|
|:---------:|:---------:|:---------:|:---------:|
|👑손명지</br>([MoongChi](https://github.com/m6z1))|최준서</br>([GongBaek](https://github.com/junseo511))|이연진</br>([Sally](https://github.com/yeonjeen))|김세훈</br>([さんくん~☆](https://github.com/s9hn))|
- We truly appreciate your support with a star (⭐️)!
8 changes: 7 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ android {
}
}

// 룸 디비 제거
// 좋아요 기능 좀더 생각해보기

dependencies {
// 프로젝트 의존성
implementation(projects.core.resource)
Expand All @@ -83,13 +86,16 @@ dependencies {
implementation(projects.core.authKakao)
implementation(projects.core.network)
implementation(projects.core.datastore)
implementation(projects.core.database)

implementation(projects.data.account)
implementation(projects.data.library)
implementation(projects.data.feed)

implementation(projects.domain.feed)

implementation(projects.feature.signin)
implementation(projects.feature.library)
implementation(projects.feature.feed)

// AndroidX 및 Jetpack 기본 라이브러리
implementation(libs.androidx.core.ktx)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package com.into.websoso.core.common.ui.custom

import android.R.color.transparent
import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import androidx.core.content.ContextCompat
import com.google.android.material.snackbar.Snackbar
import com.into.websoso.databinding.CustomSnackBarBinding

@SuppressLint("RestrictedApi")
class WebsosoCustomSnackBar(
view: View,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,17 @@ import jp.wasabeef.transformers.coil.BlurTransformation

object BindingAdapter {
@JvmStatic
@BindingAdapter("loads3ImageUrl")
@BindingAdapter(value = ["loads3ImageUrl", "cornerRadius"], requireAll = false)
fun loadS3ImageUrl(
view: ImageView,
s3ImageKey: String,
cornerRadius: Float?,
) {
val fullUrl: String = view.getS3ImageUrl(s3ImageKey)

view.load(fullUrl) {
error(img_loading_thumbnail)
if (cornerRadius != null) transformations(RoundedCornersTransformation(cornerRadius.toFloatPxFromDp()))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,18 @@ fun View.getS3ImageUrl(imageName: String): String {
return "$baseUrl$imageName@${scale}x.png"
}

fun Context.getS3ImageUrl(imageName: String): String {
val baseUrl = BuildConfig.S3_BASE_URL
val scale = when {
resources.displayMetrics.density >= 4.0 -> 4
resources.displayMetrics.density >= 3.0 -> 3
resources.displayMetrics.density >= 2.0 -> 2
else -> 1
}

return "$baseUrl$imageName@${scale}x.png"
}

fun View.hideKeyboard() {
val inputMethodManager: InputMethodManager =
context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
Expand Down
35 changes: 22 additions & 13 deletions app/src/main/java/com/into/websoso/data/mapper/FeedMapper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ package com.into.websoso.data.mapper

import com.into.websoso.data.model.CommentEntity
import com.into.websoso.data.model.CommentsEntity
import com.into.websoso.data.model.FeedDetailEntity
import com.into.websoso.data.model.FeedDetailEntity.NovelEntity
import com.into.websoso.data.model.FeedDetailEntity.UserEntity
import com.into.websoso.data.model.FeedEntity
import com.into.websoso.data.model.FeedEntity.NovelEntity
import com.into.websoso.data.model.FeedEntity.UserEntity
import com.into.websoso.data.model.FeedsEntity
import com.into.websoso.data.model.PopularFeedsEntity
import com.into.websoso.data.model.UserInterestFeedsEntity
Expand All @@ -25,7 +26,7 @@ fun FeedsResponseDto.toData(): FeedsEntity =

fun FeedResponseDto.toData(): FeedEntity =
FeedEntity(
user = UserEntity(
user = FeedEntity.UserEntity(
id = userId,
nickname = nickname,
avatarImage = avatarImage,
Expand All @@ -43,11 +44,12 @@ fun FeedResponseDto.toData(): FeedEntity =
isPublic = isPublic,
images = thumbnailUrl?.let { listOf(it) } ?: emptyList(),
imageCount = imageCount,
novel = NovelEntity(
novel = FeedEntity.NovelEntity(
id = novelId,
title = title,
rating = novelRating,
ratingCount = novelRatingCount,
feedWriterNovelRating = feedWriterNovelRating,
),
)

Expand All @@ -59,7 +61,7 @@ fun CommentsResponseDto.toData(): CommentsEntity =

fun CommentResponseDto.toData(): CommentEntity =
CommentEntity(
user = UserEntity(
user = FeedEntity.UserEntity(
id = userId,
nickname = nickname,
avatarImage = avatarImage,
Expand All @@ -74,8 +76,8 @@ fun CommentResponseDto.toData(): CommentEntity =
isSpoiler = isSpoiler,
)

fun FeedDetailResponseDto.toData(): FeedEntity =
FeedEntity(
fun FeedDetailResponseDto.toData(): FeedDetailEntity =
FeedDetailEntity(
user = UserEntity(
id = userId,
nickname = nickname,
Expand All @@ -94,12 +96,19 @@ fun FeedDetailResponseDto.toData(): FeedEntity =
isPublic = isPublic,
images = images,
imageCount = images.size,
novel = NovelEntity(
id = novelId,
title = title,
rating = novelRating,
ratingCount = novelRatingCount,
),
novel = novelId?.let { id ->
NovelEntity(
id = id,
title = title.orEmpty(),
rating = novelRating,
ratingCount = novelRatingCount ?: 0,
thumbnail = novelThumbnailImage.orEmpty(),
genre = novelGenre.orEmpty(),
author = novelAuthor.orEmpty(),
description = novelDescription.orEmpty(),
feedWriterNovelRating = feedWriterNovelRating,
)
},
)

fun PopularFeedsResponseDto.toData(): PopularFeedsEntity =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import com.into.websoso.data.remote.response.UserFeedsResponseDto.UserFeedRespon
import com.into.websoso.data.remote.response.UserInfoDetailResponseDto
import com.into.websoso.data.remote.response.UserInfoResponseDto
import com.into.websoso.data.remote.response.UserNovelStatsResponseDto
import com.into.websoso.ui.main.myPage.myActivity.model.Genres
import com.into.websoso.ui.main.myPage.model.Genres

fun UserInfoResponseDto.toData(): UserInfoEntity =
UserInfoEntity(
Expand Down
41 changes: 41 additions & 0 deletions app/src/main/java/com/into/websoso/data/model/FeedDetailEntity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.into.websoso.data.model

data class FeedDetailEntity(
val user: UserEntity,
val createdDate: String,
val id: Long,
val content: String,
val relevantCategories: List<String>,
val likeCount: Int,
val isLiked: Boolean,
val commentCount: Int,
val isModified: Boolean,
val isSpoiler: Boolean,
val isMyFeed: Boolean,
val isPublic: Boolean,
val novel: NovelEntity?,
val images: List<String>,
val imageCount: Int,
) {
data class UserEntity(
val id: Long,
val nickname: String,
val avatarImage: String,
)

data class NovelEntity(
val id: Long,
val title: String,
val rating: Float?,
val ratingCount: Int,
val thumbnail: String,
val genre: String,
val author: String,
val description: String,
val feedWriterNovelRating: Float?,
) {
val isRatingNoting: Boolean = rating == null || rating == 0f
val isWriterRatingNoting: Boolean =
feedWriterNovelRating == null || feedWriterNovelRating == 0f
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ data class FeedEntity(
val title: String?,
val rating: Float?,
val ratingCount: Int?,
val feedWriterNovelRating: Float?,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ interface AvatarApi {
@GET("avatar-profiles")
suspend fun getAvatars(): AvatarsResponseDto
}

Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,14 @@ data class FeedDetailResponseDto(
val isPublic: Boolean,
@SerialName("images")
val images: List<String>,
@SerialName("novelThumbnailImage")
val novelThumbnailImage: String?,
@SerialName("novelGenre")
val novelGenre: String?,
@SerialName("novelAuthor")
val novelAuthor: String?,
@SerialName("feedWriterNovelRating")
val feedWriterNovelRating: Float?,
@SerialName("novelDescription")
val novelDescription: String?,
)
Loading