diff --git a/.github/workflows/android_cd.yml b/.github/workflows/android_cd.yml index 02df1b7f0..69e23514b 100644 --- a/.github/workflows/android_cd.yml +++ b/.github/workflows/android_cd.yml @@ -63,9 +63,11 @@ jobs: env: DEFAULTS_ORG: ${{ secrets.DEFAULTS_ORG }} DEFAULTS_PROJECT: ${{ secrets.DEFAULTS_PROJECT }} + AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }} run: | echo "defaults.org=$DEFAULTS_ORG" >> sentry.properties echo "defaults.project=$DEFAULTS_PROJECT" >> sentry.properties + echo "auth.token=$AUTH_TOKEN" >> sentry.properties - name: Build Release APK run: | diff --git a/README.md b/README.md index 899c0a211..a151be0b9 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,51 @@ # 쉽고 빠른 데이트로 가는 지름길, 데이트로드 👩🏻‍❤️‍👨🏻 -![50](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b) -데이트로드는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 공유 서비스로 사용자가 직접 데이트 코스를 등록하고 공유합니다. +커플들이 직접 공유하는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 코스 공유 서비스 데이트로드입니다. +
- -## 💟 Contributors - -| [🐸배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) | -|:-------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:| -| | | | -| `포인트내역`
`내가열람한코스+내가등록한코스`
`코스둘러보기`
`코스등록하기+일정등록하기`
`코스수정하기` | `온보딩/회원가입`
`스플래시`
`프로필등록하기`
`코스상세`
`마이페이지`
`웹뷰`
`관리자아카이빙` | `메인페이지`
`다가올 데이트일정`
`지난데이트일정`
`다가올데이트 상세페이지`
`지난데이트 상세페이지` - +![DateRoad](https://github.com/user-attachments/assets/3e0c4678-25de-4e48-8939-581733a9ec5b) --- -## 📷 **시연영상** -| ![온보딩/회원가입](https://github.com/user-attachments/assets/6d6c4558-06a1-408a-b862-fcbd25662d01) | ![메인스크린](https://github.com/user-attachments/assets/be098dcc-5540-4c91-be27-3280362cf07f) | ![일정등록하기+코스등록하기](https://github.com/user-attachments/assets/1007d61d-8f91-4dd0-b544-4c3e00bb4af4) | -|:------------------------:|:--------------------------:|:----------------------:| -| `온보딩/회원가입` | `메인스크린` | `코스상세+일정등록하기` | - -| ![데이트 일정](https://github.com/user-attachments/assets/59469c43-75af-419c-a2b7-e7a08bfabaf2) | ![마이페이지](https://github.com/user-attachments/assets/4281f19e-5cba-486e-be17-14977b56d557) | -|:------------------------:|:--------------------------:| -| `데이트 일정` | `마이페이지` | - - - -## 👋 커밋 컨벤션 -[Git Convention & Branch Strategy](https://www.notion.so/hooooooni/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8) - -## 👋 코드 컨벤션 -[Android Coding Convention](https://www.notion.so/hooooooni/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d) - - -## 👋 브랜치전략 -**브랜치 유형** -- **main** : 완성된 버전의 코드를 저장하는 브랜치 -- **develop** : 개발이 진행되는 동안 완성된 코드를 저장하는 브랜치 -- **feature** : 작은 단위의 작업이 진행되는 브랜치 -- **hotfix** : 긴급한 오류를 해결하는 브랜치 - -- 해당 작업을 위한 브랜치를 파서 작업합니다. -- 작업 완료 후 PR을 날리고 팀원들에게 크로스체크 후 머지합니다. - -예시) - -- dev/feat-main-view -- dev/add-font-res +## 💟 *****Contributors***** +| [🐸 배지현 Lead](https://github.com/jihyunniiii) | [신민석](https://github.com/t1nm1ksun) | [이현진](https://github.com/2hyunjinn) | +|:-------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------:| +| | | | +| `포인트내역`
`열람한 코스`
`코스둘러보기`
`코스등록하기+일정등록하기`
`마이페이지`
`지난 데이트` | `스플래시`
`로그인/온보딩`
`프로필 등록하기`
`코스상세 + 관리자 아카이빙`
`포인트 제도 소개`
`프로필 수정하기` | `홈`
`데이트 일정`
`데이트 일정 상세`
`내가 등록한 코스`
`내가 열람한 코스`
`카카오톡 공유하기` + +## 📷 *****ScreenShot***** +| | | | +|:-------------------------:|:-------------------------:|:-------------------------:| +| `로그인/온보딩` | `프로필 등록하기` | `홈` | +| | | +| `코스 둘러보기` | `데이트 일정` | `지난 데이트` | +| | | +| `코스 등록하기` | `일정 등록하기` | `열람한 코스` | +| | | +| `마이페이지` | `프로필 수정` | `포인트 내역` | +| | | +| `데이트 일정 상세 - 무료 열람 기회` | `데이트 일정 상세 - 포인트 사용` | `데이트 일정 상세 - 내가 쓴 글` | + +## 👩🏻‍💻 ***𝙏𝙚𝙘𝙝 𝙎𝙩𝙖𝙘𝙠*** + +| Title | Content | +|-------------------------|-------------------------------------------------------------------------------| +| Architecture | Clean Architecture, MVI, Single Activity Architecture | +| Design Pattern | Repository Pattern, Delegation Pattern | +| UI | Jetpack Compose | +| Jetpack Components | encryptedsharedpreferences, Lifecycle, ViewModel, Navigation | +| Dependency Injection | Hilt | +| Network | Retrofit, OkHttp, MultiPart | +| Asynchronous Processing | Coroutine | +| Third Party Library | Coil, Firebase, Timber, kotlinSerialization, sentry, Amplitude, Lottie, Kakao | +| Strategy | Git Flow | +| CI | GitHub Action(KtLint, Complie Check) | +| CD | GitHub Action | +| Other Tool | Slack, Notion, Figma, Postman, Discord | + +
## 📁 *****Foldering***** ``` @@ -65,7 +63,6 @@ ┃ ┃ ┃ ┃ ┣ 📂 datasourceimpl ┃ ┃ ┃ ┃ ┣ 📂 interceptor ┃ ┃ ┃ ┃ ┣ 📂 model -┃ ┃ ┃ ┃ ┃ ┣ 📂 base ┃ ┃ ┃ ┃ ┃ ┣ 📂 request ┃ ┃ ┃ ┃ ┃ ┣ 📂 response ┃ ┃ ┃ ┃ ┣ 📂 service @@ -86,6 +83,7 @@ ┃ ┃ ┃ ┣ 📂 model ┃ ┃ ┃ ┣ 📂 type ┃ ┃ ┃ ┣ 📂 ui +┃ ┃ ┃ ┃ ┣ 📂 advertisement ┃ ┃ ┃ ┃ ┣ 📂 component ┃ ┃ ┃ ┃ ┃ 📂 coursedetail ┃ ┃ ┃ ┃ ┣ 📂 enroll @@ -110,16 +108,31 @@ ``` +
+## ➿ *****Convention***** -## 목차 +[ABC의 깃 컨벤션과 브랜치 전략이 궁금하다면? click ✔️](https://hooooooni.notion.site/Git-Convention-Branch-Strategy-fdcac833649d41beaea4fc5c4f7250a8?pvs=4) +
---- +[ABC의 코드 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/Android-Coding-Convention-019d81b86cdb44cf8ab3ffa55c10c64d?pvs=4) +
+ +[ABC의 ISSUE, PR 컨벤션이 궁금하다면? click ✔️](https://hooooooni.notion.site/ISSUE-PR-Convention-c5718ebddba64678a001339cd5e148b2?pvs=4) +
+ +[ABC의 칸반보드가 궁금하다면? click ✔️](https://hooooooni.notion.site/ROLE-e46dd81ac93e47d999c2bb4147069ce6?pvs=4) +
-## 🩷 프로젝트 설명 +[ABC의 Github Project가 궁금하다면? click ✔️](https://github.com/orgs/TeamDATEROAD/projects/1) +
--- +## 💡 *****About Project***** + +### 🩷 프로젝트 설명 + -## 📝 문제상황 정의 - ---- - -![6](https://github.com/user-attachments/assets/b489f192-ae95-40b0-9694-fdc121ffe192) - +### 📝 문제상황 정의 +![6](https://github.com/user-attachments/assets/c856fdaf-86f2-4f6d-bc20-3109eb072bdf) - 기존 앱은 코스가 아닌 장소 중심, 이로 인해 데이트 코스를 찾기 위해 여러 앱을 쓰며 피로감을 느낌 - 광고가 아닌 직접 방문한 사람의 후기를 기반으로 데이트 코스를 짜고 싶어 하는 니즈 존재 -## 🎯 핵심 타겟 - ---- - +### 🎯 핵심 타겟 - 센스 있게 데이트 코스를 짜고 싶은 여자/남자친구 - 색다른 데이트 코스를 찾기 위해 인스타그램 등을 탐색하는 커플 - 네이버 블로그, 인스타그램을 통해 여러 번 데이트 장소의 후기를 얻는 커플 -## 📍 주요 기능 - ---- - -### 1️⃣ 코스 등록하기 및 열람 - -![Instagram_post_-_4](https://github.com/user-attachments/assets/bc81ceda-fc99-4156-af11-e73f3d2b7396) - -![Instagram_post_-_5](https://github.com/user-attachments/assets/3a30183c-a625-4a18-b7e3-685e2f01bc2c) - +### 📍 주요 기능 +#### 1️⃣ 코스 등록하기 및 열람 +|![Instagram_post_-_4](https://github.com/user-attachments/assets/6232fd24-f906-49a8-9ea0-16d296545931)|![Instagram_post_-_5](https://github.com/user-attachments/assets/0d648884-0d06-4043-9d31-03df52d434b9)| +|---|---| - 내가 한 데이트 코스를 등록하고 포인트를 획득할 수 있습니다. - 다른 커플들이 한 데이트를 포인트를 사용해 열람할 수 있습니다. - 코스 상세 페이지에서 ‘내 일정에 추가하기’ 버튼을 눌러 내 데이트 일정으로 불러올 수 있습니다. -### 2️⃣ 일정 등록하기 및 열람 +#### 2️⃣ 일정 등록하기 및 열람 -![Instagram_post_-_10](https://github.com/user-attachments/assets/4698b585-7369-4cb8-b3ca-6ebde11e5586) - -![Instagram_post_-_6](https://github.com/user-attachments/assets/c5666dee-da05-41b9-8934-739e50de6498) +|![Instagram_post_-_10](https://github.com/user-attachments/assets/8e3a627f-e567-4ad5-ac11-63e560a09b67)|![Instagram_post_-_6](https://github.com/user-attachments/assets/e9accf21-1c6c-4fb5-9ad8-f834ab5750fa)| +|---|---| - 내 데이트 일정을 등록할 수 있습니다. - 내 데이트 일정을 확인할 수 있습니다. @@ -174,13 +174,13 @@ ## 💰 비즈니스 모델 ---- - > **포인트를 통한 수익 모델** -> +> - 유저들은 데이트 코스를 등록하고 포인트를 획득해 제휴 매장에 할인받아 방문합니다. - 구글 애드센스를 연결하여 광고를 시청하면 포인트를 획득할 수 있습니다. 데이트로드는 광고 수익을 얻을 수 있습니다. > **입점처를 통한 수익 모델** -> +> - 입점 가게는 매장을 홍보하고 유저 방문으로 매출을 증가시키며, 광고주는 유저에게 광고를 노출하여 제품이나 서비스를 홍보합니다. 데이트로드는 이를 통해 수익을 창출하고, 모든 참여자가 상호 이익을 얻는 생태계를 구축합니다. + +

\ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 851bb4dfd..62573c232 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,11 +17,11 @@ val properties = Properties().apply { } android { - namespace = "org.sopt.dateroad" + namespace = "org.sopt.teamdateroad" compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { - applicationId = "org.sopt.dateroad" + applicationId = "org.sopt.teamdateroad" minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() versionCode = libs.versions.versionCode.get().toInt() @@ -94,6 +94,7 @@ dependencies { // Google implementation(platform(libs.google.firebase.bom)) implementation(libs.google.firebase.crashlytics) + implementation(libs.firebase.crashlytics.buildtools) // Network implementation(platform(libs.okhttp.bom)) diff --git a/app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt b/app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt similarity index 95% rename from app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt rename to app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt index 4f17cfdac..f0c140db8 100644 --- a/app/src/androidTest/java/org/sopt/dateroad/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/org/sopt/teamdateroad/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad +package org.sopt.teamdateroad import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt deleted file mode 100644 index 47a706039..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasource - -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto - -interface AdvertisementRemoteDataSource { - suspend fun getAdvertisementDetail(advertisementId: Int): ResponseAdvertisementDetailDto - suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt deleted file mode 100644 index 42f1836dd..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasource - -import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto - -interface ProfileRemoteDataSource { - suspend fun getProfile(): ResponseProfileDto -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt deleted file mode 100644 index b210627c5..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasource - -import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto - -interface TimelineRemoteDataSource { - suspend fun deleteTimeline(timelineId: Int) - - suspend fun getTimelineDetail(timelineId: Int): ResponseTimelineDetailDto - - suspend fun getTimelines(timelineTimeType: String): ResponseTimelinesDto - - suspend fun getNearestTimeline(): ResponseNearestTimelineDto - - suspend fun postTimeline(requestTimelineDto: RequestTimelineDto) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt deleted file mode 100644 index e6d980c29..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasource - -import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto - -interface UserPointRemoteDataSource { - suspend fun getUserPoint(): ResponseUserPointDto - - suspend fun getPointHistory(): ResponsePointHistoryDto - - suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt deleted file mode 100644 index 856cd7562..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl - -import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto -import org.sopt.dateroad.data.dataremote.service.ProfileService - -class ProfileRemoteDataSourceImpl @Inject constructor( - private val profileService: ProfileService -) : ProfileRemoteDataSource { - - override suspend fun getProfile(): ResponseProfileDto = - profileService.getProfile() -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt deleted file mode 100644 index 6bccb202c..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl - -import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto -import org.sopt.dateroad.data.dataremote.service.UserPointService - -class UserPointRemoteDataSourceImpl @Inject constructor( - private val userPointService: UserPointService -) : UserPointRemoteDataSource { - override suspend fun getUserPoint(): ResponseUserPointDto = userPointService.getUserPoint() - - override suspend fun getPointHistory(): ResponsePointHistoryDto = userPointService.getPointHistory() - - override suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto) = userPointService.postUsePoint(courseId = courseId, requestUsePointDto = requestUsePointDto) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt deleted file mode 100644 index 32f032f80..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/base/BaseResponse.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.sopt.dateroad.data.dataremote.model.base - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class BaseResponse( - @SerialName("code") - val code: Int, - @SerialName("message") - val message: String, - @SerialName("data") - val data: T -) diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt deleted file mode 100644 index 892b8a500..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignUpDto.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.sopt.dateroad.data.dataremote.model.request - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class RequestSignUpDto( - @SerialName("userSignUpReq") - val userSignUpReq: RequestUserSignUpInfoDto, - @SerialName("image") - val image: String, - @SerialName("tag") - val tag: List -) diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt deleted file mode 100644 index 4e9005954..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AdvertisementService.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENTS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENT_ID -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import retrofit2.http.GET -import retrofit2.http.Path - -interface AdvertisementService { - @GET("$API/$VERSION/$ADVERTISEMENTS/{$ADVERTISEMENT_ID}") - suspend fun getAdvertisementDetail( - @Path(ADVERTISEMENT_ID) advertisementId: Int - ): ResponseAdvertisementDetailDto - - @GET("$API/$VERSION/$ADVERTISEMENTS") - suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt deleted file mode 100644 index 409e445c5..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/AuthService.kt +++ /dev/null @@ -1,67 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import okhttp3.MultipartBody -import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto -import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.CHECK -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.IS_DEFAULT_IMAGE -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.NAME -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGNUP -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGN_IN -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SIGN_OUT -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAG -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAGS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USER_SIGN_UP_DATA -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.WITHDRAW -import retrofit2.Response -import retrofit2.http.Body -import retrofit2.http.DELETE -import retrofit2.http.GET -import retrofit2.http.HTTP -import retrofit2.http.Multipart -import retrofit2.http.PATCH -import retrofit2.http.POST -import retrofit2.http.Part -import retrofit2.http.Query - -interface AuthService { - @DELETE("$API/$VERSION/$USERS/$SIGN_OUT") - suspend fun deleteSignOut() - - @HTTP(method = "DELETE", hasBody = true, path = "$API/$VERSION/$USERS/$WITHDRAW") - suspend fun deleteWithdraw( - @Body requestWithdrawDto: RequestWithdrawDto - ) - - @GET("$API/$VERSION/$USERS/$CHECK") - suspend fun getNicknameCheck( - @Query(NAME) name: String - ): Response - - @POST("$API/$VERSION/$USERS/$SIGN_IN") - suspend fun postSignIn( - @Body requestSignInDto: RequestSignInDto - ): ResponseAuthDto - - @Multipart - @POST("$API/$VERSION/$USERS/$SIGNUP") - suspend fun postSignUp( - @Part image: MultipartBody.Part?, - @Part(USER_SIGN_UP_DATA) userSignUpData: RequestBody, - @Part(TAG) tags: RequestBody - ): ResponseAuthDto - - @Multipart - @PATCH("$API/$VERSION/$USERS") - suspend fun patchProfile( - @Part(NAME) name: RequestBody, - @Part(TAGS) tags: RequestBody, - @Part image: MultipartBody.Part?, - @Part(IS_DEFAULT_IMAGE)isDefaultImage: RequestBody - ) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt deleted file mode 100644 index f750f7ff5..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/MyCourseService.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import retrofit2.http.GET - -interface MyCourseService { - @GET("$API/$VERSION/$COURSES/$USERS") - suspend fun getMyCourseEnroll(): ResponseCoursesDto - - @GET("$API/$VERSION/$COURSES/$DATE_ACCESS") - suspend fun getMyCourseRead(): ResponseCoursesDto -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt deleted file mode 100644 index ed4dc9eb1..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/ProfileService.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import retrofit2.http.GET - -interface ProfileService { - @GET("$API/$VERSION/$USERS") - suspend fun getProfile(): ResponseProfileDto -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt deleted file mode 100644 index 8665d5bb3..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/TimelineService.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ID -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.NEAREST -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TIME -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import retrofit2.http.Body -import retrofit2.http.DELETE -import retrofit2.http.GET -import retrofit2.http.POST -import retrofit2.http.Path -import retrofit2.http.Query - -interface TimelineService { - @DELETE("$API/$VERSION/$DATES/{$DATE_ID}") - suspend fun deleteTimeline( - @Path(DATE_ID) timelineId: Int - ) - - @GET("$API/$VERSION/$DATES/{$DATE_ID}") - suspend fun getTimelineDetail( - @Path(DATE_ID) timelineId: Int - ): ResponseTimelineDetailDto - - @GET("$API/$VERSION/$DATES") - suspend fun getTimelines( - @Query(TIME) timelineTimeType: String - ): ResponseTimelinesDto - - @GET("$API/$VERSION/$DATES/$NEAREST") - suspend fun getNearestTimeline(): ResponseNearestTimelineDto - - @POST("$API/$VERSION/$DATES") - suspend fun postTimeline( - @Body requestTimelineDto: RequestTimelineDto - ) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt b/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt deleted file mode 100644 index ec718ef6a..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/UserPointService.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.sopt.dateroad.data.dataremote.service - -import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE_ID -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.MAIN -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.POINTS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION -import retrofit2.http.Body -import retrofit2.http.GET -import retrofit2.http.POST -import retrofit2.http.Path - -interface UserPointService { - @GET("$API/$VERSION/$USERS/$MAIN") - suspend fun getUserPoint(): ResponseUserPointDto - - @GET("$API/$VERSION/$POINTS") - suspend fun getPointHistory(): ResponsePointHistoryDto - - @POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$DATE_ACCESS") - suspend fun postUsePoint( - @Path(COURSE_ID) courseId: Int, - @Body requestUsePointDto: RequestUsePointDto - ) -} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt deleted file mode 100644 index 4a12cfbfe..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/AreaMapper.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.sopt.dateroad.data.mapper.toEntity - -import org.sopt.dateroad.domain.type.GyeonggiAreaType -import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType -import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.toGyeonggiAreaTitle -import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.toGyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.toIncheonAreaTitle -import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.toIncheonAreaType -import org.sopt.dateroad.domain.type.SeoulAreaType -import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType -import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.toSeoulAreaTitle -import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.toSeoulAreaType - -fun Any?.toAreaTitle(): String = when (this) { - is SeoulAreaType -> this.title - is GyeonggiAreaType -> this.title - is IncheonAreaType -> this.title - else -> "" -} - -fun String.toAreaType(): Any? = - when { - this.toSeoulAreaTitle().isNotEmpty() -> this.toSeoulAreaType() - this.toGyeonggiAreaTitle().isNotEmpty() -> this.toGyeonggiAreaType() - this.toIncheonAreaTitle().isNotEmpty() -> this.toIncheonAreaType() - else -> this - } - -fun String.fromTitleToAreaType(): Any? = - when { - this.fromTitleToSeoulAreaType() != null -> this.fromTitleToSeoulAreaType() - this.fromTitleToGyeonggiAreaType() != null -> this.fromTitleToGyeonggiAreaType() - this.fromTitleToIncheonAreaType() != null -> this.fromTitleToIncheonAreaType() - else -> this - } diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt deleted file mode 100644 index 7e6d5ffbb..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CostMapper.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.sopt.dateroad.data.mapper.toEntity - -import java.text.NumberFormat -import java.util.Locale -import org.sopt.dateroad.data.dataremote.util.Cost -import org.sopt.dateroad.presentation.util.TotalCostZero.ZERO_COST - -fun Int.toCost(): String = if (this == 0) { - ZERO_COST -} else { - "${NumberFormat.getNumberInstance(Locale.KOREA).format(this)}${Cost.COST}" -} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt deleted file mode 100644 index 62a471998..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/DurationMapper.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.sopt.dateroad.data.mapper.toEntity - -import org.sopt.dateroad.data.dataremote.util.Duration - -fun Float.toDuration(): String { - val formattedDuration = if (this % 1.0 == 0.0) { - "%.0f".format(this) - } else { - "%.1f".format(this) - } - return "$formattedDuration${Duration.DURATION}" -} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt deleted file mode 100644 index e02d98788..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/RegionMapper.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.sopt.dateroad.data.mapper.toEntity - -import org.sopt.dateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType - -fun String.toRegionType(): RegionType? = when { - this.fromTitleToSeoulAreaType() != null -> RegionType.SEOUL - this.fromTitleToGyeonggiAreaType() != null -> RegionType.GYEONGGI - this.fromTitleToIncheonAreaType() != null -> RegionType.INCHEON - else -> null -} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt deleted file mode 100644 index 23b1add95..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/PlaceMapper.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestPlaceDto -import org.sopt.dateroad.data.dataremote.util.Duration.DURATION -import org.sopt.dateroad.domain.model.Place - -fun Place.toData(sequence: Int): RequestPlaceDto = RequestPlaceDto( - sequence = sequence, - title = this.title, - duration = duration.substringBefore(DURATION).toFloat() -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt deleted file mode 100644 index 05cb5cfe3..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/ProfileMapper.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.model.Profile - -fun Profile.toEditProfile(): EditProfile = EditProfile( - name = this.name, - tags = this.tag, - image = this.imageUrl -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt deleted file mode 100644 index 2eab91b42..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/SignInMapper.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto -import org.sopt.dateroad.domain.model.SignIn - -fun SignIn.toData(): RequestSignInDto = RequestSignInDto( - platform = this.platform -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt deleted file mode 100644 index 7ad5b412f..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagMapper.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestTagDto - -fun String.toData() = RequestTagDto(tag = this) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt deleted file mode 100644 index a8142bce9..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/TagsMapper.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestTagsDto - -fun List.toData(): RequestTagsDto = RequestTagsDto( - tag = this -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt deleted file mode 100644 index 462f89135..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UsePointMapper.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestUsePointDto -import org.sopt.dateroad.domain.model.UsePoint - -fun UsePoint.toData(): RequestUsePointDto = RequestUsePointDto( - point = this.point, - type = this.type, - description = this.description -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt deleted file mode 100644 index b647aaea6..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/UserSignUpInfoMapper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.data.mapper.todata - -import org.sopt.dateroad.data.dataremote.model.request.RequestUserSignUpInfoDto -import org.sopt.dateroad.domain.model.UserSignUpInfo - -fun UserSignUpInfo.toData(): RequestUserSignUpInfoDto = RequestUserSignUpInfoDto( - name = this.name, - platform = this.platform -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt deleted file mode 100644 index 16b850da4..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDto -import org.sopt.dateroad.domain.model.Advertisement - -fun ResponseAdvertisementDto.toDomain(): Advertisement = Advertisement( - advertisementId = this.advertisementId, - thumbnail = this.thumbnail -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt deleted file mode 100644 index fe2108482..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto -import org.sopt.dateroad.domain.model.Advertisement - -fun ResponseAdvertisementsDto.toDomain(): List = this.advertisements.map { responseAdvertisementDto -> responseAdvertisementDto.toDomain() } diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt deleted file mode 100644 index 49882874b..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto -import org.sopt.dateroad.domain.model.Auth - -fun ResponseAuthDto.toDomain(): Auth = Auth( - accessToken = this.accessToken, - refreshToken = this.refreshToken -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt deleted file mode 100644 index fd0e3ac2f..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDto -import org.sopt.dateroad.data.mapper.toEntity.toDuration -import org.sopt.dateroad.data.mapper.toEntity.toLike -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.type.MoneyTagType.Companion.toCostTagTitle - -fun ResponseCourseDto.toDomain(): Course = Course( - courseId = this.courseId, - thumbnail = this.thumbnail, - title = this.title, - city = this.city, - cost = this.cost.toCostTagTitle(), - duration = this.duration.toDuration(), - like = this.like.toLike() -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt deleted file mode 100644 index 11f273854..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto -import org.sopt.dateroad.domain.model.Course - -fun ResponseCoursesDto.toDomain(): List = this.courses.map { course -> course.toDomain() } diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt deleted file mode 100644 index 444e56971..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto -import org.sopt.dateroad.data.mapper.toEntity.toDDayString -import org.sopt.dateroad.data.mapper.toEntity.toFormattedDate -import org.sopt.dateroad.data.mapper.toEntity.toStartAtString -import org.sopt.dateroad.domain.model.NearestTimeline - -fun ResponseNearestTimelineDto.toDomain(): NearestTimeline = NearestTimeline( - timelineId = this.timelineId, - dDay = this.dDay.toDDayString(), - dateName = this.dateName, - date = toFormattedDate(), - startAt = this.startAt.toStartAtString() -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt deleted file mode 100644 index 063510b47..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponsePlaceDto -import org.sopt.dateroad.data.mapper.toEntity.toDuration -import org.sopt.dateroad.domain.model.Place - -fun ResponsePlaceDto.toDomain() = Place( - title = this.title, - duration = this.duration.toDuration() -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt deleted file mode 100644 index bb7a4e572..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointHistoryDto -import org.sopt.dateroad.domain.model.PointHistory - -fun ResponsePointHistoryDto.toDomain(): PointHistory = PointHistory( - gained = this.gained.toGainedPointDomain(), - used = this.used.toUsedPointDomain() -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt deleted file mode 100644 index cdc89005c..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseProfileDto -import org.sopt.dateroad.data.mapper.toEntity.toPoint -import org.sopt.dateroad.domain.model.Profile - -fun ResponseProfileDto.toDomain(): Profile = Profile( - name = this.name, - tag = this.tags, - point = this.point.toPoint(), - imageUrl = this.imageUrl -) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt deleted file mode 100644 index df287c663..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTagDtoMapper.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseTagDto -import org.sopt.dateroad.presentation.type.DateTagType - -fun ResponseTagDto.toDomain(): DateTagType = DateTagType.valueOf(this.tag) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt b/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt deleted file mode 100644 index dc2f1ddef..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.sopt.dateroad.data.mapper.todomain - -import org.sopt.dateroad.data.dataremote.model.response.ResponseUserPointDto -import org.sopt.dateroad.data.mapper.toEntity.toPoint -import org.sopt.dateroad.domain.model.UserPoint - -fun ResponseUserPointDto.toDomain(): UserPoint = UserPoint( - name = this.name, - point = this.point.toPoint(), - imageUrl = this.image -) diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt b/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt deleted file mode 100644 index 91b18e4d6..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/ProfileRepositoryImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ - -package org.sopt.dateroad.data.repositoryimpl - -import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.Profile -import org.sopt.dateroad.domain.repository.ProfileRepository - -class ProfileRepositoryImpl @Inject constructor( - private val profileDataSource: ProfileRemoteDataSource -) : ProfileRepository { - override suspend fun getUsers(): Result = runCatching { - profileDataSource.getProfile().toDomain() - } -} diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt b/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt deleted file mode 100644 index 6bcaa4ade..000000000 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserPointRepositoryImpl.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.sopt.dateroad.data.repositoryimpl - -import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource -import org.sopt.dateroad.data.mapper.todata.toData -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.PointHistory -import org.sopt.dateroad.domain.model.UsePoint -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.domain.repository.UserPointRepository - -class UserPointRepositoryImpl @Inject constructor( - private val userPointRemoteDataSource: UserPointRemoteDataSource -) : UserPointRepository { - override suspend fun getUserPoint(): Result = runCatching { - userPointRemoteDataSource.getUserPoint().toDomain() - } - - override suspend fun getPointHistory(): Result = runCatching { - userPointRemoteDataSource.getPointHistory().toDomain() - } - - override suspend fun postUsePoint(courseId: Int, usePoint: UsePoint) { - userPointRemoteDataSource.postUsePoint(courseId = courseId, requestUsePointDto = usePoint.toData()) - } -} diff --git a/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt b/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt deleted file mode 100644 index 26c1d5088..000000000 --- a/app/src/main/java/org/sopt/dateroad/di/RepositoryModule.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.sopt.dateroad.di - -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton -import org.sopt.dateroad.data.repositoryimpl.AdvertisementRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.AuthRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.CourseRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.MyCourseRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.ProfileRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.TimelineRepositoryImpl -import org.sopt.dateroad.data.repositoryimpl.UserPointRepositoryImpl -import org.sopt.dateroad.domain.repository.AdvertisementRepository -import org.sopt.dateroad.domain.repository.AuthRepository -import org.sopt.dateroad.domain.repository.CourseRepository -import org.sopt.dateroad.domain.repository.MyCourseRepository -import org.sopt.dateroad.domain.repository.ProfileRepository -import org.sopt.dateroad.domain.repository.TimelineRepository -import org.sopt.dateroad.domain.repository.UserPointRepository - -@Module -@InstallIn(SingletonComponent::class) -abstract class RepositoryModule { - @Binds - @Singleton - abstract fun bindsAdvertisementRepository(advertisementRepositoryImpl: AdvertisementRepositoryImpl): AdvertisementRepository - - @Binds - @Singleton - abstract fun bindAuthRepository(authRepositoryImpl: AuthRepositoryImpl): AuthRepository - - @Binds - @Singleton - abstract fun bindsCourseRepository(courseRepositoryImpl: CourseRepositoryImpl): CourseRepository - - @Binds - @Singleton - abstract fun bindsTimelineRepository(timelineRepositoryImpl: TimelineRepositoryImpl): TimelineRepository - - @Binds - @Singleton - abstract fun bindsMyCourseRepository(myCourseRepositoryImpl: MyCourseRepositoryImpl): MyCourseRepository - - @Binds - @Singleton - abstract fun bindsUserPointRepository(userPointRepositoryImpl: UserPointRepositoryImpl): UserPointRepository - - @Binds - @Singleton - abstract fun bindsProfileRepository(profileRepositoryImpl: ProfileRepositoryImpl): ProfileRepository -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt deleted file mode 100644 index 834e54f95..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/CourseRepository.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.sopt.dateroad.domain.repository - -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.type.SortByType - -interface CourseRepository { - suspend fun deleteCourse(courseId: Int): Result - - suspend fun deleteCourseLike(courseId: Int): Result - - suspend fun getCourseDetail(courseId: Int): Result - - suspend fun getFilteredCourses(country: RegionType?, city: Any?, cost: MoneyTagType?): Result> - - suspend fun getSortedCourses(sortedBy: SortByType): Result> - - suspend fun postCourse(enroll: Enroll): Result - - suspend fun postCourseLike(courseId: Int): Result -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt deleted file mode 100644 index 215060a5a..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/ProfileRepository.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.sopt.dateroad.domain.repository - -import org.sopt.dateroad.domain.model.Profile - -interface ProfileRepository { - suspend fun getUsers(): Result -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt deleted file mode 100644 index 46d1ffe09..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/TimelineRepository.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.sopt.dateroad.domain.repository - -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.domain.type.TimelineTimeType - -interface TimelineRepository { - suspend fun deleteTimeline(timelineId: Int) - - suspend fun getTimelineDetail(timelineId: Int): Result - - suspend fun getTimelines(timelineTimeType: TimelineTimeType): Result> - - suspend fun getNearestTimeline(): Result - - suspend fun postTimeline(enroll: Enroll): Result -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt b/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt deleted file mode 100644 index cbf8e89c3..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/UserPointRepository.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.sopt.dateroad.domain.repository - -import org.sopt.dateroad.domain.model.PointHistory -import org.sopt.dateroad.domain.model.UsePoint -import org.sopt.dateroad.domain.model.UserPoint - -interface UserPointRepository { - suspend fun getUserPoint(): Result - - suspend fun getPointHistory(): Result - - suspend fun postUsePoint(courseId: Int, usePoint: UsePoint) -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt b/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt deleted file mode 100644 index e34f7129e..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/type/TransactionType.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.sopt.dateroad.domain.type - -enum class TransactionType { - POINT_GAINED, - POINT_USED -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt deleted file mode 100644 index 87df2c3c9..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserUseCase.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.sopt.dateroad.domain.usecase - -import javax.inject.Inject -import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Profile -import org.sopt.dateroad.domain.repository.ProfileRepository - -@Singleton -class GetUserUseCase @Inject constructor( - private val profileRepository: ProfileRepository -) { - suspend operator fun invoke(): Result = - profileRepository.getUsers() -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt deleted file mode 100644 index 5f3d1d46a..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseLikeUseCase.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.sopt.dateroad.domain.usecase - -import javax.inject.Inject -import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.CourseRepository - -@Singleton -class PostCourseLikeUseCase @Inject constructor( - private val courseRepository: CourseRepository -) { - suspend operator fun invoke(courseId: Int): Result = runCatching { - courseRepository.postCourseLike(courseId = courseId) - } -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt deleted file mode 100644 index fa608a696..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostCourseUseCase.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.sopt.dateroad.domain.usecase - -import javax.inject.Inject -import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.repository.CourseRepository - -@Singleton -class PostCourseUseCase @Inject constructor( - private val courseRepository: CourseRepository -) { - suspend operator fun invoke(enroll: Enroll): Result = courseRepository.postCourse(enroll = enroll) -} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt b/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt deleted file mode 100644 index 1d13755aa..000000000 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostTimelineUseCase.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.sopt.dateroad.domain.usecase - -import javax.inject.Inject -import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.repository.TimelineRepository - -@Singleton -class PostTimelineUseCase @Inject constructor( - private val timelineRepository: TimelineRepository -) { - suspend operator fun invoke(enroll: Enroll): Result = timelineRepository.postTimeline(enroll = enroll) -} diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt deleted file mode 100644 index f45054a5e..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/model/Picker.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.presentation.ui.component.bottomsheet.model - -import org.sopt.dateroad.presentation.ui.component.numberpicker.state.PickerState - -data class Picker( - val items: List, - val startIndex: Int = 0, - val pickerState: PickerState = PickerState() -) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt b/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt deleted file mode 100644 index 013bd7d0f..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/navigation/ProfileNavigation.kt +++ /dev/null @@ -1,62 +0,0 @@ -package org.sopt.dateroad.presentation.ui.profile.navigation - -import androidx.navigation.NavController -import androidx.navigation.NavGraphBuilder -import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.type.ProfileType -import org.sopt.dateroad.presentation.ui.profile.ProfileRoute - -fun NavController.navigationEnrollProfile() { - navigate( - route = EnrollProfileRoute.ROUTE - ) -} - -fun NavController.navigationEditProfile() { - navigate( - route = EditProfileRoute.ROUTE - ) -} - -fun NavGraphBuilder.enrollProfileNavGraph( - navigateToHome: () -> Unit, - navigateToMyPage: () -> Unit, - profileType: ProfileType, - popBackStack: () -> Unit - -) { - composable(route = EnrollProfileRoute.ROUTE) { - ProfileRoute( - navigationToHome = navigateToHome, - navigationToMyPage = navigateToMyPage, - profileType = profileType, - popBackStack = popBackStack - - ) - } -} - -fun NavGraphBuilder.editProfileNavGraph( - navigateToHome: () -> Unit, - navigateToMyPage: () -> Unit, - profileType: ProfileType, - popBackStack: () -> Unit - -) { - composable(route = EditProfileRoute.ROUTE) { - ProfileRoute( - navigationToHome = navigateToHome, - navigationToMyPage = navigateToMyPage, - profileType = profileType, - popBackStack = popBackStack - ) - } -} - -object EnrollProfileRoute { - const val ROUTE = "enrollProfile" -} - -object EditProfileRoute { - const val ROUTE = "editProfile" -} diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt deleted file mode 100644 index ef1246c2c..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiEvent.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.sopt.dateroad.presentation.util.base - -interface UiEvent diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt deleted file mode 100644 index a869c3c3d..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiSideEffect.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.sopt.dateroad.presentation.util.base - -interface UiSideEffect diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt deleted file mode 100644 index f2f1b45b3..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/UiState.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.sopt.dateroad.presentation.util.base - -interface UiState diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt b/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt deleted file mode 100644 index aca08ee36..000000000 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/context/ContextExt.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.sopt.dateroad.presentation.util.context - -import android.content.Context -import android.widget.Toast - -fun Context.showToast(message: String, isShort: Boolean = true) { - val duration = if (isShort) Toast.LENGTH_SHORT else Toast.LENGTH_LONG - Toast.makeText(this, message, duration).show() -} diff --git a/app/src/main/java/org/sopt/dateroad/DateRoadApp.kt b/app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/DateRoadApp.kt rename to app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt index 245a42e39..29aeb173e 100644 --- a/app/src/main/java/org/sopt/dateroad/DateRoadApp.kt +++ b/app/src/main/java/org/sopt/teamdateroad/DateRoadApp.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad +package org.sopt.teamdateroad import android.app.Application import androidx.appcompat.app.AppCompatDelegate import com.kakao.sdk.common.KakaoSdk import dagger.hilt.android.HiltAndroidApp -import org.sopt.dateroad.BuildConfig.KAKAO_NATIVE_APP_KEY -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils.initAmplitude +import org.sopt.teamdateroad.BuildConfig.KAKAO_NATIVE_APP_KEY +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils.initAmplitude import timber.log.Timber @HiltAndroidApp diff --git a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt similarity index 70% rename from app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt rename to app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt index 954932f82..a86132660 100644 --- a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasource/UserInfoLocalDataSource.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.datalocal.datasource +package org.sopt.teamdateroad.data.datalocal.datasource interface UserInfoLocalDataSource { var accessToken: String diff --git a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt index 50ec5d965..38794f242 100644 --- a/app/src/main/java/org/sopt/dateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/datalocal/datasourceimpl/UserInfoLocalDataSourceImpl.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.datalocal.datasourceimpl +package org.sopt.teamdateroad.data.datalocal.datasourceimpl import android.content.Context import android.content.SharedPreferences @@ -9,8 +9,8 @@ import com.kakao.sdk.auth.Constants.ACCESS_TOKEN import com.kakao.sdk.auth.Constants.REFRESH_TOKEN import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject -import org.sopt.dateroad.BuildConfig -import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource +import org.sopt.teamdateroad.BuildConfig +import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource class UserInfoLocalDataSourceImpl @Inject constructor( @ApplicationContext context: Context @@ -32,15 +32,15 @@ class UserInfoLocalDataSourceImpl @Inject constructor( } override var accessToken: String - get() = sharedPreferences.getString(ACCESS_TOKEN, "").toString() + get() = sharedPreferences.getString(ACCESS_TOKEN, INITIAL_VALUE).toString() set(value) = sharedPreferences.edit { putString(ACCESS_TOKEN, value) } override var refreshToken: String - get() = sharedPreferences.getString(REFRESH_TOKEN, "").toString() + get() = sharedPreferences.getString(REFRESH_TOKEN, INITIAL_VALUE).toString() set(value) = sharedPreferences.edit { putString(REFRESH_TOKEN, value) } override var nickname: String - get() = sharedPreferences.getString(NICK_NAME, "").toString() + get() = sharedPreferences.getString(NICK_NAME, INITIAL_VALUE).toString() set(value) = sharedPreferences.edit { putString(NICK_NAME, value) } override fun clear() = sharedPreferences.edit { clear() } @@ -48,5 +48,6 @@ class UserInfoLocalDataSourceImpl @Inject constructor( companion object { const val FILE_NAME = "DateRoadLocalDataSource" const val NICK_NAME = "NickName" + const val INITIAL_VALUE = "" } } diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt new file mode 100644 index 000000000..0ebbc678a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AdvertisementRemoteDataSource.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.dataremote.datasource + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto + +interface AdvertisementRemoteDataSource { + suspend fun getAdvertisementDetail(advertisementId: Int): ResponseAdvertisementDetailDto + + suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt index 8819d33d6..3e3e70160 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/AuthRemoteDataSource.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/AuthRemoteDataSource.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.data.dataremote.datasource +package org.sopt.teamdateroad.data.dataremote.datasource import okhttp3.MultipartBody import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto -import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto +import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto +import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto interface AuthRemoteDataSource { suspend fun deleteSignOut() diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt index 2dbb97a27..e0b1d6799 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/CourseRemoteDataSource.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/CourseRemoteDataSource.kt @@ -1,9 +1,10 @@ -package org.sopt.dateroad.data.dataremote.datasource +package org.sopt.teamdateroad.data.dataremote.datasource import okhttp3.MultipartBody import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto interface CourseRemoteDataSource { suspend fun deleteCourse(courseId: Int) @@ -16,7 +17,7 @@ interface CourseRemoteDataSource { suspend fun getSortedCourses(sortBy: String): ResponseCoursesDto - suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody) + suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody): ResponseEnrollCourseDto suspend fun postCourseLike(courseId: Int) } diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt similarity index 52% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt index f97d46661..99b282950 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/MyCourseRemoteDataSource.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.data.dataremote.datasource +package org.sopt.teamdateroad.data.dataremote.datasource -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto interface MyCourseRemoteDataSource { suspend fun getMyCourseEnroll(): ResponseCoursesDto diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt new file mode 100644 index 000000000..16201e4b2 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/ProfileRemoteDataSource.kt @@ -0,0 +1,7 @@ +package org.sopt.teamdateroad.data.dataremote.datasource + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto + +interface ProfileRemoteDataSource { + suspend fun getProfile(): ResponseProfileDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt new file mode 100644 index 000000000..31a22bf2c --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/TimelineRemoteDataSource.kt @@ -0,0 +1,19 @@ +package org.sopt.teamdateroad.data.dataremote.datasource + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto + +interface TimelineRemoteDataSource { + suspend fun deleteTimeline(timelineId: Int) + + suspend fun getTimelineDetail(timelineId: Int): ResponseTimelineDetailDto + + suspend fun getTimelines(timelineTimeType: String): ResponseTimelinesDto + + suspend fun getNearestTimeline(): ResponseNearestTimelineDto + + suspend fun postTimeline(requestTimelineDto: RequestTimelineDto): ResponseEnrollTimelineDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt new file mode 100644 index 000000000..3e6d5820a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasource/UserPointRemoteDataSource.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.data.dataremote.datasource + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto + +interface UserPointRemoteDataSource { + suspend fun getUserPoint(): ResponseUserPointDto + + suspend fun getPointHistory(): ResponsePointHistoryDto + + suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto): ResponseUserUsePointDto +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt similarity index 55% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt index 90615fe7d..27739c134 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AdvertisementRemoteDataSourceImpl.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl +package org.sopt.teamdateroad.data.dataremote.datasourceimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementsDto -import org.sopt.dateroad.data.dataremote.service.AdvertisementService +import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto +import org.sopt.teamdateroad.data.dataremote.service.AdvertisementService class AdvertisementRemoteDataSourceImpl @Inject constructor( private val advertisementService: AdvertisementService diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt index e36ddc3d0..28c7ccca3 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/AuthRemoteDataSourceImpl.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl +package org.sopt.teamdateroad.data.dataremote.datasourceimpl import javax.inject.Inject import okhttp3.MultipartBody import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.request.RequestSignInDto -import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseAuthDto -import org.sopt.dateroad.data.dataremote.service.AuthService +import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto +import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto +import org.sopt.teamdateroad.data.dataremote.service.AuthService class AuthRemoteDataSourceImpl @Inject constructor( private val authService: AuthService diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt similarity index 66% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt index 1de52e073..59d723a40 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/CourseRemoteDataSourceImpl.kt @@ -1,12 +1,13 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl +package org.sopt.teamdateroad.data.dataremote.datasourceimpl import javax.inject.Inject import okhttp3.MultipartBody import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto -import org.sopt.dateroad.data.dataremote.service.CourseService +import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto +import org.sopt.teamdateroad.data.dataremote.service.CourseService class CourseRemoteDataSourceImpl @Inject constructor( private val courseService: CourseService @@ -21,7 +22,7 @@ class CourseRemoteDataSourceImpl @Inject constructor( override suspend fun getSortedCourses(sortBy: String): ResponseCoursesDto = courseService.getSortedCourses(sortBy = sortBy) - override suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody) = courseService.postCourse(images = images, course = course, tags = tags, places = places) + override suspend fun postCourse(images: List, course: RequestBody, tags: RequestBody, places: RequestBody): ResponseEnrollCourseDto = courseService.postCourse(images = images, course = course, tags = tags, places = places) override suspend fun postCourseLike(courseId: Int) = courseService.postCourseLike(courseId = courseId) } diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt similarity index 56% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt index b8490c0d1..cd6a29c9d 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/MyCourseRemoteDataSourceImpl.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl +package org.sopt.teamdateroad.data.dataremote.datasourceimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto -import org.sopt.dateroad.data.dataremote.service.MyCourseService +import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.service.MyCourseService class MyCourseRemoteDataSourceImpl @Inject constructor( private val myCourseService: MyCourseService diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt new file mode 100644 index 000000000..d5b540115 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/ProfileRemoteDataSourceImpl.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.data.dataremote.datasourceimpl + +import javax.inject.Inject +import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto +import org.sopt.teamdateroad.data.dataremote.service.ProfileService + +class ProfileRemoteDataSourceImpl @Inject constructor( + private val profileService: ProfileService +) : ProfileRemoteDataSource { + + override suspend fun getProfile(): ResponseProfileDto = + profileService.getProfile() +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt similarity index 50% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt index 66624bb6b..e2fae4b61 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/TimelineRemoteDataSourceImpl.kt @@ -1,12 +1,13 @@ -package org.sopt.dateroad.data.dataremote.datasourceimpl +package org.sopt.teamdateroad.data.dataremote.datasourceimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelinesDto -import org.sopt.dateroad.data.dataremote.service.TimelineService +import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto +import org.sopt.teamdateroad.data.dataremote.service.TimelineService class TimelineRemoteDataSourceImpl @Inject constructor( private val timelineService: TimelineService @@ -19,5 +20,5 @@ class TimelineRemoteDataSourceImpl @Inject constructor( override suspend fun getNearestTimeline(): ResponseNearestTimelineDto = timelineService.getNearestTimeline() - override suspend fun postTimeline(requestTimelineDto: RequestTimelineDto) = timelineService.postTimeline(requestTimelineDto = requestTimelineDto) + override suspend fun postTimeline(requestTimelineDto: RequestTimelineDto): ResponseEnrollTimelineDto = timelineService.postTimeline(requestTimelineDto = requestTimelineDto) } diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt new file mode 100644 index 000000000..4b877b50e --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/datasourceimpl/UserPointRemoteDataSourceImpl.kt @@ -0,0 +1,19 @@ +package org.sopt.teamdateroad.data.dataremote.datasourceimpl + +import javax.inject.Inject +import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto +import org.sopt.teamdateroad.data.dataremote.service.UserPointService + +class UserPointRemoteDataSourceImpl @Inject constructor( + private val userPointService: UserPointService +) : UserPointRemoteDataSource { + override suspend fun getUserPoint(): ResponseUserPointDto = userPointService.getUserPoint() + + override suspend fun getPointHistory(): ResponsePointHistoryDto = userPointService.getPointHistory() + + override suspend fun postUsePoint(courseId: Int, requestUsePointDto: RequestUsePointDto): ResponseUserUsePointDto = userPointService.postUsePoint(courseId = courseId, requestUsePointDto = requestUsePointDto) +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt index 6aeb44c3e..3a45f1102 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/interceptor/AuthInterceptor.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/interceptor/AuthInterceptor.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.interceptor +package org.sopt.teamdateroad.data.dataremote.interceptor import android.app.Application import android.content.Intent @@ -14,13 +14,13 @@ import okhttp3.Interceptor import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response -import org.sopt.dateroad.BuildConfig -import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource -import org.sopt.dateroad.data.dataremote.model.response.ResponseRefreshTokenDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.REISSUE -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.USERS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION +import org.sopt.teamdateroad.BuildConfig +import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseRefreshTokenDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.REISSUE +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION class AuthInterceptor @Inject constructor( private val json: Json, diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt index 9202191ab..ce8582314 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestCourseDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestCourseDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt index 16d48c8af..4c57c7a57 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestPlaceDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestPlaceDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt index 44e5c7bbf..c8b441133 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestSignInDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestSignInDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt index 096d865eb..5ee4c8ca6 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt index d3fb81079..a4df3cf94 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTagsDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTagsDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt index 8b95c2171..e284785c9 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestTimelineDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestTimelineDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt index 2f88c19d2..86261727a 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUsePointDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUsePointDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt index 0284125c9..3da582e71 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestUserSignUpInfoDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt index ff9d2c29a..68c0b65a1 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/request/RequestWithdrawDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/request/RequestWithdrawDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.request +package org.sopt.teamdateroad.data.dataremote.model.request import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt index f8334742d..cb1599696 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDetailDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt index f5ac2ca00..d681e1c9d 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt index b416efb94..7b4d9d832 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAdvertisementsDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt index 23eb755de..8dc5fc9b6 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseAuthDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseAuthDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt index acc674248..947b13587 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDetailDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt index 37ab0d23f..1c17fcaae 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCourseDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCourseDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt index 3772ef754..47fc55069 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseCoursesDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseCoursesDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt new file mode 100644 index 000000000..b987723df --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollCourseDto.kt @@ -0,0 +1,12 @@ +package org.sopt.teamdateroad.data.dataremote.model.response + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ResponseEnrollCourseDto( + @SerialName("userPoint") + val userPoint: Int, + @SerialName("userCourseCount") + val userCourseCount: Long +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt new file mode 100644 index 000000000..5edd522fe --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseEnrollTimelineDto.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.dataremote.model.response + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ResponseEnrollTimelineDto( + @SerialName("dateScheduleNum") + val dateScheduleNum: Long +) diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt index 8499aa7b8..812592527 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseImageDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseImageDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt index 1955fffd1..1d876d461 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseNearestTimelineDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt index 06a6a601a..5a9e437e8 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePlaceDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePlaceDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt index afcb8a1e6..96dbf272e 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt index a54bbe2a8..c847febe7 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointHistoryDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt index 164d4c9c1..bca9d042a 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponsePointsDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponsePointsDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt index ce9b8b895..96e89679e 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseProfileDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseProfileDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt index df2d33d65..b154ae768 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseRefreshTokenDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt index 9a0f4788f..1316bccd1 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTagDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTagDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt index 1bcb40f94..f5305c6fc 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDetailDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt index 7f64a8a1c..d277c2410 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelineDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelineDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt index bd9cc434b..a92ed3ff0 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseTimelinesDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseTimelinesDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt index b66e19374..1480f3e2e 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/model/response/ResponseUserPointDto.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserPointDto.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.model.response +package org.sopt.teamdateroad.data.dataremote.model.response import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt new file mode 100644 index 000000000..9ad237261 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/model/response/ResponseUserUsePointDto.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.data.dataremote.model.response + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ResponseUserUsePointDto( + @SerialName("userPoint") + val userPoint: Int, + @SerialName("userFreeRemained") + val userFreeRemained: Int, + @SerialName("userPurchaseCount") + val userPurchaseCount: Long +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt new file mode 100644 index 000000000..5418be917 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AdvertisementService.kt @@ -0,0 +1,20 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENTS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.ADVERTISEMENT_ID +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import retrofit2.http.GET +import retrofit2.http.Path + +interface AdvertisementService { + @GET("$API/$VERSION/$ADVERTISEMENTS/{$ADVERTISEMENT_ID}") + suspend fun getAdvertisementDetail( + @Path(ADVERTISEMENT_ID) advertisementId: Int + ): ResponseAdvertisementDetailDto + + @GET("$API/$VERSION/$ADVERTISEMENTS") + suspend fun getHomeAdvertisements(): ResponseAdvertisementsDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt new file mode 100644 index 000000000..be6db09cf --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/AuthService.kt @@ -0,0 +1,68 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import okhttp3.MultipartBody +import okhttp3.RequestBody +import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto +import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.CHECK +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DELETE_METHOD +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.IS_DEFAULT_IMAGE +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.NAME +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGNUP +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGN_IN +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SIGN_OUT +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAG +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAGS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USER_SIGN_UP_DATA +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.WITHDRAW +import retrofit2.Response +import retrofit2.http.Body +import retrofit2.http.DELETE +import retrofit2.http.GET +import retrofit2.http.HTTP +import retrofit2.http.Multipart +import retrofit2.http.PATCH +import retrofit2.http.POST +import retrofit2.http.Part +import retrofit2.http.Query + +interface AuthService { + @DELETE("$API/$VERSION/$USERS/$SIGN_OUT") + suspend fun deleteSignOut() + + @HTTP(method = DELETE_METHOD, hasBody = true, path = "$API/$VERSION/$USERS/$WITHDRAW") + suspend fun deleteWithdraw( + @Body requestWithdrawDto: RequestWithdrawDto + ) + + @GET("$API/$VERSION/$USERS/$CHECK") + suspend fun getNicknameCheck( + @Query(NAME) name: String + ): Response + + @POST("$API/$VERSION/$USERS/$SIGN_IN") + suspend fun postSignIn( + @Body requestSignInDto: RequestSignInDto + ): ResponseAuthDto + + @Multipart + @POST("$API/$VERSION/$USERS/$SIGNUP") + suspend fun postSignUp( + @Part image: MultipartBody.Part?, + @Part(USER_SIGN_UP_DATA) userSignUpData: RequestBody, + @Part(TAG) tags: RequestBody + ): ResponseAuthDto + + @Multipart + @PATCH("$API/$VERSION/$USERS") + suspend fun patchProfile( + @Part(NAME) name: RequestBody, + @Part(TAGS) tags: RequestBody, + @Part image: MultipartBody.Part?, + @Part(IS_DEFAULT_IMAGE)isDefaultImage: RequestBody + ) +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt similarity index 53% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt index 3c9b24602..f6379e757 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/service/CourseService.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/CourseService.kt @@ -1,22 +1,23 @@ -package org.sopt.dateroad.data.dataremote.service +package org.sopt.teamdateroad.data.dataremote.service import okhttp3.MultipartBody import okhttp3.RequestBody -import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto -import org.sopt.dateroad.data.dataremote.model.response.ResponseCoursesDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.API -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.CITY -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COST -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COUNTRY -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.COURSE_ID -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.LIKES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.PLACES -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SORT -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.SORT_BY -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.TAGS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.VERSION +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.CITY +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COST +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COUNTRY +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE_ID +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.LIKES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.PLACES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SORT +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.SORT_BY +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TAGS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION import retrofit2.http.DELETE import retrofit2.http.GET import retrofit2.http.Multipart @@ -60,7 +61,7 @@ interface CourseService { @Part(COURSE) course: RequestBody, @Part(TAGS) tags: RequestBody, @Part(PLACES) places: RequestBody - ) + ): ResponseEnrollCourseDto @POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$LIKES") suspend fun postCourseLike( diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt new file mode 100644 index 000000000..a274fec28 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/MyCourseService.kt @@ -0,0 +1,17 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import retrofit2.http.GET + +interface MyCourseService { + @GET("$API/$VERSION/$COURSES/$USERS") + suspend fun getMyCourseEnroll(): ResponseCoursesDto + + @GET("$API/$VERSION/$COURSES/$DATE_ACCESS") + suspend fun getMyCourseRead(): ResponseCoursesDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt new file mode 100644 index 000000000..c84ac6e34 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/ProfileService.kt @@ -0,0 +1,12 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import retrofit2.http.GET + +interface ProfileService { + @GET("$API/$VERSION/$USERS") + suspend fun getProfile(): ResponseProfileDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt new file mode 100644 index 000000000..904283c2f --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/TimelineService.kt @@ -0,0 +1,44 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelinesDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ID +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.NEAREST +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.TIME +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import retrofit2.http.Body +import retrofit2.http.DELETE +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.Path +import retrofit2.http.Query + +interface TimelineService { + @DELETE("$API/$VERSION/$DATES/{$DATE_ID}") + suspend fun deleteTimeline( + @Path(DATE_ID) timelineId: Int + ) + + @GET("$API/$VERSION/$DATES/{$DATE_ID}") + suspend fun getTimelineDetail( + @Path(DATE_ID) timelineId: Int + ): ResponseTimelineDetailDto + + @GET("$API/$VERSION/$DATES") + suspend fun getTimelines( + @Query(TIME) timelineTimeType: String + ): ResponseTimelinesDto + + @GET("$API/$VERSION/$DATES/$NEAREST") + suspend fun getNearestTimeline(): ResponseNearestTimelineDto + + @POST("$API/$VERSION/$DATES") + suspend fun postTimeline( + @Body requestTimelineDto: RequestTimelineDto + ): ResponseEnrollTimelineDto +} diff --git a/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt new file mode 100644 index 000000000..cb2522575 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/service/UserPointService.kt @@ -0,0 +1,32 @@ +package org.sopt.teamdateroad.data.dataremote.service + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.API +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSES +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.COURSE_ID +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.DATE_ACCESS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.MAIN +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.POINTS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.USERS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.VERSION +import retrofit2.http.Body +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.Path + +interface UserPointService { + @GET("$API/$VERSION/$USERS/$MAIN") + suspend fun getUserPoint(): ResponseUserPointDto + + @GET("$API/$VERSION/$POINTS") + suspend fun getPointHistory(): ResponsePointHistoryDto + + @POST("$API/$VERSION/$COURSES/{$COURSE_ID}/$DATE_ACCESS") + suspend fun postUsePoint( + @Path(COURSE_ID) courseId: Int, + @Body requestUsePointDto: RequestUsePointDto + ): ResponseUserUsePointDto +} diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt index f9dc93ad5..5e2f2270b 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/Constraints.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/Constraints.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.util +package org.sopt.teamdateroad.data.dataremote.util object ApiConstraints { const val PROFILE_FORM_DATA_IMAGE = "image" @@ -38,21 +38,13 @@ object ApiConstraints { const val TIME = "time" const val NEAREST = "nearest" const val IS_DEFAULT_IMAGE = "isDefaultImage" + const val DELETE_METHOD = "DELETE" } object Cost { const val COST = "원" } -object Duration { - const val DURATION = "시간" -} - -object Like { - const val LIKE_MAX = "999+" - const val THRESHOLD = 999 -} - object Date { const val INPUT_FORMAT = "yyyy.MM.dd" const val COURSE_DETAIL_OUTPUT_FORMAT = "yyyy년 M월 d일 방문" @@ -65,23 +57,21 @@ object Date { const val ADVERTISEMENT_DETAIL_OUTPUT_FORMAT = "yyyy년 M월 d일" } +object Duration { + const val DURATION = "시간" +} + +object Like { + const val LIKE_MAX = "999+" + const val THRESHOLD = 999 +} + object Point { const val POINT = " P" const val GAINED = "+" const val USED = "-" } -object Month { - const val JANUARY = "January" - const val FEBRUARY = "February" - const val MARCH = "March" - const val APRIL = "April" - const val MAY = "May" - const val JUNE = "June" - const val JULY = "July" - const val AUGUST = "August" - const val SEPTEMBER = "September" - const val OCTOBER = "October" - const val NOVEMBER = "November" - const val DECEMBER = "December" +object TotalCostZero { + const val ZERO_COST = "무지출" } diff --git a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt rename to app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt index 8410e04ee..5333f4112 100644 --- a/app/src/main/java/org/sopt/dateroad/data/dataremote/util/ContentUriRequestBody.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/dataremote/util/ContentUriRequestBody.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.dataremote.util +package org.sopt.teamdateroad.data.dataremote.util import android.content.ContentResolver import android.net.Uri @@ -33,7 +33,7 @@ class ContentUriRequestBody( } } - fun getFileName() = fileName + private fun getFileName() = fileName override fun contentLength(): Long = size diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt new file mode 100644 index 000000000..47741b492 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/AreaMapper.kt @@ -0,0 +1,23 @@ +package org.sopt.teamdateroad.data.mapper.toEntity + +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType +import org.sopt.teamdateroad.domain.type.SeoulAreaType +import org.sopt.teamdateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType + +fun Any?.toAreaTitle(): String = when (this) { + is SeoulAreaType -> this.title + is GyeonggiAreaType -> this.title + is IncheonAreaType -> this.title + else -> "" +} + +fun String.fromTitleToAreaType(): Any? = + when { + this.fromTitleToSeoulAreaType() != null -> this.fromTitleToSeoulAreaType() + this.fromTitleToGyeonggiAreaType() != null -> this.fromTitleToGyeonggiAreaType() + this.fromTitleToIncheonAreaType() != null -> this.fromTitleToIncheonAreaType() + else -> this + } diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt new file mode 100644 index 000000000..2ef10da3f --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CostMapper.kt @@ -0,0 +1,12 @@ +package org.sopt.teamdateroad.data.mapper.toEntity + +import java.text.NumberFormat +import java.util.Locale +import org.sopt.teamdateroad.data.dataremote.util.Cost +import org.sopt.teamdateroad.data.dataremote.util.TotalCostZero.ZERO_COST + +fun Int.toCost(): String = if (this == 0) { + ZERO_COST +} else { + NumberFormat.getNumberInstance(Locale.KOREA).format(this) + Cost.COST +} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt similarity index 59% rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt index 6e9b5e2f9..a79972539 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/CourseDetailMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/CourseDetailMapper.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.data.mapper.toEntity +package org.sopt.teamdateroad.data.mapper.toEntity -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.model.Enroll fun CourseDetail.toEnroll() = Enroll( title = this.title, diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt new file mode 100644 index 000000000..87bd53f9e --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/DurationMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.toEntity + +import org.sopt.teamdateroad.data.dataremote.util.Duration + +fun Float.toDuration(): String = if (this % 1.0 == 0.0) { + "%.0f".format(this) +} else { + "%.1f".format(this) +} + Duration.DURATION diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt similarity index 50% rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt index cbff53cba..3d6cc5fb4 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/LikeMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/LikeMapper.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.data.mapper.toEntity +package org.sopt.teamdateroad.data.mapper.toEntity -import org.sopt.dateroad.data.dataremote.util.Like +import org.sopt.teamdateroad.data.dataremote.util.Like fun Int.toLike(): String = when { this < Like.THRESHOLD -> this.toString() diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt index 89082d366..71c3db3ea 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/PointMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/PointMapper.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.data.mapper.toEntity +package org.sopt.teamdateroad.data.mapper.toEntity -import org.sopt.dateroad.data.dataremote.util.Point +import org.sopt.teamdateroad.data.dataremote.util.Point fun Int.toPoint(): String = this.toString() + Point.POINT diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt new file mode 100644 index 000000000..709052f66 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/RegionMapper.kt @@ -0,0 +1,16 @@ +package org.sopt.teamdateroad.data.mapper.toEntity + +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType.Companion.fromTitleToGyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType.Companion.fromTitleToIncheonAreaType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.SeoulAreaType.Companion.fromTitleToSeoulAreaType + +fun String.toRegionType(): RegionType? = when { + this.fromTitleToSeoulAreaType() != null -> RegionType.SEOUL + + this.fromTitleToGyeonggiAreaType() != null -> RegionType.GYEONGGI + + this.fromTitleToIncheonAreaType() != null -> RegionType.INCHEON + + else -> null +} diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt index 87ddadabf..3cc4e5b8b 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineDetailMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineDetailMapper.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.data.mapper.toEntity +package org.sopt.teamdateroad.data.mapper.toEntity -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.TimelineDetail fun TimelineDetail.toEnroll() = Enroll( title = this.title, diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt index 2f45b9218..6ada6d3dd 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/toEntity/TimelineMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/toEntity/TimelineMapper.kt @@ -1,30 +1,28 @@ -package org.sopt.dateroad.data.mapper.toEntity +package org.sopt.teamdateroad.data.mapper.toEntity import java.text.SimpleDateFormat import java.time.LocalDate import java.time.format.DateTimeFormatter import java.util.Locale -import org.sopt.dateroad.data.dataremote.model.response.ResponseNearestTimelineDto -import org.sopt.dateroad.data.dataremote.util.Date -import org.sopt.dateroad.domain.type.MonthType +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto +import org.sopt.teamdateroad.data.dataremote.util.Date +import org.sopt.teamdateroad.domain.type.MonthType -fun String.toCourseDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.COURSE_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: "" +fun String.toCourseDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.COURSE_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty() -fun String.toBasicDates(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.DATE_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: "" - -fun String.fromCourseDetailToEnrollDate(): String = LocalDate.parse(this, DateTimeFormatter.ofPattern(Date.COURSE_DETAIL_OUTPUT_FORMAT)).format(DateTimeFormatter.ofPattern(Date.INPUT_FORMAT)) +fun String.toBasicDates(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.DATE_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty() fun String.fromDateToEnrollDate(): String = LocalDate.parse(this, DateTimeFormatter.ofPattern(Date.DATE_OUTPUT_FORMAT)).format(DateTimeFormatter.ofPattern(Date.INPUT_FORMAT)) fun Int.toDDayString(): String = when { - this > 0 -> "${Date.D_DAY_OUTPUT_FORMAT}$this" + this > 0 -> Date.D_DAY_OUTPUT_FORMAT + this this == 0 -> Date.D_DAY_DEFAULT_LABEL else -> "" } -fun String.toStartAtString(): String = "$this${Date.NEAREST_DATE_START_OUTPUT_FORMAT}" +fun String.toStartAtString(): String = this + Date.NEAREST_DATE_START_OUTPUT_FORMAT -fun String.toAdvertisementDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.ADVERTISEMENT_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) } ?: "" +fun String.toAdvertisementDetailDate(): String = SimpleDateFormat(Date.INPUT_FORMAT, Locale.getDefault()).parse(this)?.let { SimpleDateFormat(Date.ADVERTISEMENT_DETAIL_OUTPUT_FORMAT, Locale.getDefault()).format(it) }.orEmpty() fun ResponseNearestTimelineDto.toFormattedDate(): String = String.format(Date.MAIN_DATE_OUTPUT_FORMAT, this.month, this.day) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt index 5ff7ff0b7..e5577fe13 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todata/EnrollMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/EnrollMapper.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.data.mapper.todata +package org.sopt.teamdateroad.data.mapper.todata -import org.sopt.dateroad.data.dataremote.model.request.RequestCourseDto -import org.sopt.dateroad.data.dataremote.model.request.RequestTimelineDto -import org.sopt.dateroad.data.mapper.toEntity.toAreaTitle -import org.sopt.dateroad.domain.model.Enroll +import org.sopt.teamdateroad.data.dataremote.model.request.RequestCourseDto +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTimelineDto +import org.sopt.teamdateroad.data.mapper.toEntity.toAreaTitle +import org.sopt.teamdateroad.domain.model.Enroll fun Enroll.toTimelineData(): RequestTimelineDto = RequestTimelineDto( title = this.title, diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt new file mode 100644 index 000000000..01b76352b --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/PlaceMapper.kt @@ -0,0 +1,11 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestPlaceDto +import org.sopt.teamdateroad.data.dataremote.util.Duration.DURATION +import org.sopt.teamdateroad.domain.model.Place + +fun Place.toData(sequence: Int): RequestPlaceDto = RequestPlaceDto( + sequence = sequence, + title = this.title, + duration = duration.substringBefore(DURATION).toFloat() +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt new file mode 100644 index 000000000..d8a550ec4 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/ProfileMapper.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.model.Profile + +fun Profile.toEditProfile(): EditProfile = EditProfile( + name = this.name, + tags = this.tag, + image = this.imageUrl +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt new file mode 100644 index 000000000..f0d88a3b1 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/SignInMapper.kt @@ -0,0 +1,8 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestSignInDto +import org.sopt.teamdateroad.domain.model.SignIn + +fun SignIn.toData(): RequestSignInDto = RequestSignInDto( + platform = this.platform +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt new file mode 100644 index 000000000..81bc2e253 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagMapper.kt @@ -0,0 +1,5 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTagDto + +fun String.toData() = RequestTagDto(tag = this) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt new file mode 100644 index 000000000..c874a739b --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/TagsMapper.kt @@ -0,0 +1,7 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestTagsDto + +fun List.toData(): RequestTagsDto = RequestTagsDto( + tag = this +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt new file mode 100644 index 000000000..cf08c72f0 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UsePointMapper.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestUsePointDto +import org.sopt.teamdateroad.domain.model.UsePoint + +fun UsePoint.toData(): RequestUsePointDto = RequestUsePointDto( + point = this.point, + type = this.type, + description = this.description +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt new file mode 100644 index 000000000..7773d792a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todata/UserSignUpInfoMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.todata + +import org.sopt.teamdateroad.data.dataremote.model.request.RequestUserSignUpInfoDto +import org.sopt.teamdateroad.domain.model.UserSignUpInfo + +fun UserSignUpInfo.toData(): RequestUserSignUpInfoDto = RequestUserSignUpInfoDto( + name = this.name, + platform = this.platform +) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt similarity index 53% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt index a0822e48d..02c50ef15 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDetailDtoMapper.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto -import org.sopt.dateroad.data.mapper.toEntity.toAdvertisementDetailDate -import org.sopt.dateroad.domain.model.AdvertisementDetail -import org.sopt.dateroad.domain.type.AdvertisementTagType.Companion.toAdvertisementTagTitle +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDetailDto +import org.sopt.teamdateroad.data.mapper.toEntity.toAdvertisementDetailDate +import org.sopt.teamdateroad.domain.model.AdvertisementDetail +import org.sopt.teamdateroad.domain.type.AdvertisementTagType.Companion.toAdvertisementTagTitle fun ResponseAdvertisementDetailDto.toDomain(): AdvertisementDetail = AdvertisementDetail( images = this.images.sortedBy { responseImageDto -> responseImageDto.sequence }.map { responseImageDto -> responseImageDto.imageUrl }, diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt new file mode 100644 index 000000000..84eac532c --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementDtoMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementDto +import org.sopt.teamdateroad.domain.model.Advertisement + +fun ResponseAdvertisementDto.toDomain(): Advertisement = Advertisement( + advertisementId = this.advertisementId, + thumbnail = this.thumbnail +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt new file mode 100644 index 000000000..822892f80 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAdvertisementsDtoMapper.kt @@ -0,0 +1,6 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAdvertisementsDto +import org.sopt.teamdateroad.domain.model.Advertisement + +fun ResponseAdvertisementsDto.toDomain(): List = this.advertisements.map { responseAdvertisementDto -> responseAdvertisementDto.toDomain() } diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt new file mode 100644 index 000000000..9e9428404 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseAuthDtoMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseAuthDto +import org.sopt.teamdateroad.domain.model.Auth + +fun ResponseAuthDto.toDomain(): Auth = Auth( + accessToken = this.accessToken, + refreshToken = this.refreshToken +) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt index 0563ead39..88c78f96a 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDetailDtoMapper.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponseCourseDetailDto -import org.sopt.dateroad.data.mapper.toEntity.toCost -import org.sopt.dateroad.data.mapper.toEntity.toCourseDetailDate -import org.sopt.dateroad.data.mapper.toEntity.toDuration -import org.sopt.dateroad.data.mapper.toEntity.toStartAtString -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.type.MoneyTagType.Companion.toCostTagTitle +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDetailDto +import org.sopt.teamdateroad.data.mapper.toEntity.toCost +import org.sopt.teamdateroad.data.mapper.toEntity.toCourseDetailDate +import org.sopt.teamdateroad.data.mapper.toEntity.toDuration +import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.type.MoneyTagType.Companion.toCostTagTitle fun ResponseCourseDetailDto.toDomain(): CourseDetail = CourseDetail( courseId = this.courseId, diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt new file mode 100644 index 000000000..cf983d78e --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCourseDtoMapper.kt @@ -0,0 +1,17 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCourseDto +import org.sopt.teamdateroad.data.mapper.toEntity.toDuration +import org.sopt.teamdateroad.data.mapper.toEntity.toLike +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.type.MoneyTagType.Companion.toCostTagTitle + +fun ResponseCourseDto.toDomain(): Course = Course( + courseId = this.courseId, + thumbnail = this.thumbnail, + title = this.title, + city = this.city, + cost = this.cost.toCostTagTitle(), + duration = this.duration.toDuration(), + like = this.like.toLike() +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt new file mode 100644 index 000000000..7eb532bbf --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseCoursesDtoMapper.kt @@ -0,0 +1,6 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseCoursesDto +import org.sopt.teamdateroad.domain.model.Course + +fun ResponseCoursesDto.toDomain(): List = this.courses.map { course -> course.toDomain() } diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt new file mode 100644 index 000000000..f56595eee --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollCourseDtoMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollCourseDto +import org.sopt.teamdateroad.domain.model.EnrollCourseResult + +fun ResponseEnrollCourseDto.toDomain(): EnrollCourseResult = EnrollCourseResult( + userPoint = this.userPoint, + userCourseCount = this.userCourseCount +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt new file mode 100644 index 000000000..48a9cdc13 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseEnrollTimelineDtoMapper.kt @@ -0,0 +1,8 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseEnrollTimelineDto +import org.sopt.teamdateroad.domain.model.EnrollTimelineResult + +fun ResponseEnrollTimelineDto.toDomain(): EnrollTimelineResult = EnrollTimelineResult( + dateScheduleNum = this.dateScheduleNum +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt new file mode 100644 index 000000000..f4c35f266 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseNearestTimelineDtoMapper.kt @@ -0,0 +1,15 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseNearestTimelineDto +import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString +import org.sopt.teamdateroad.data.mapper.toEntity.toFormattedDate +import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString +import org.sopt.teamdateroad.domain.model.NearestTimeline + +fun ResponseNearestTimelineDto.toDomain(): NearestTimeline = NearestTimeline( + timelineId = this.timelineId, + dDay = this.dDay.toDDayString(), + dateName = this.dateName, + date = toFormattedDate(), + startAt = this.startAt.toStartAtString() +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt new file mode 100644 index 000000000..5f4bac9da --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePlaceDtoMapper.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePlaceDto +import org.sopt.teamdateroad.data.mapper.toEntity.toDuration +import org.sopt.teamdateroad.domain.model.Place + +fun ResponsePlaceDto.toDomain() = Place( + title = this.title, + duration = this.duration.toDuration() +) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt similarity index 51% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt index e074ef98e..b3bc6f228 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointDtoMapper.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointDto -import org.sopt.dateroad.data.mapper.toEntity.toGainedPoint -import org.sopt.dateroad.data.mapper.toEntity.toUsedPoint -import org.sopt.dateroad.domain.model.Point +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointDto +import org.sopt.teamdateroad.data.mapper.toEntity.toGainedPoint +import org.sopt.teamdateroad.data.mapper.toEntity.toUsedPoint +import org.sopt.teamdateroad.domain.model.Point fun ResponsePointDto.toGainedPointDomain() = Point( point = this.point.toGainedPoint(), diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt new file mode 100644 index 000000000..72c82281b --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointHistoryDtoMapper.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointHistoryDto +import org.sopt.teamdateroad.domain.model.PointHistory + +fun ResponsePointHistoryDto.toDomain(): PointHistory = PointHistory( + gained = this.gained.toGainedPointDomain(), + used = this.used.toUsedPointDomain() +) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt similarity index 61% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt index 50dcb1f10..43e8ca1a1 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponsePointsDtoMapper.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponsePointsDto -import org.sopt.dateroad.domain.model.Point +import org.sopt.teamdateroad.data.dataremote.model.response.ResponsePointsDto +import org.sopt.teamdateroad.domain.model.Point fun ResponsePointsDto.toGainedPointDomain(): List = this.points.map { responsePointDto -> responsePointDto.toGainedPointDomain() diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt new file mode 100644 index 000000000..633d97a70 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseProfileDtoMapper.kt @@ -0,0 +1,12 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseProfileDto +import org.sopt.teamdateroad.data.mapper.toEntity.toPoint +import org.sopt.teamdateroad.domain.model.Profile + +fun ResponseProfileDto.toDomain(): Profile = Profile( + name = this.name, + tag = this.tags, + point = this.point.toPoint(), + imageUrl = this.imageUrl +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt new file mode 100644 index 000000000..38455dc54 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTagDtoMapper.kt @@ -0,0 +1,6 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTagDto +import org.sopt.teamdateroad.presentation.type.DateTagType + +fun ResponseTagDto.toDomain(): DateTagType = DateTagType.valueOf(this.tag) diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt similarity index 53% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt index 65fe05a1e..cbb52b6c4 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDetailDtoMapper.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDetailDto -import org.sopt.dateroad.data.mapper.toEntity.toBasicDates -import org.sopt.dateroad.data.mapper.toEntity.toDDayString -import org.sopt.dateroad.data.mapper.toEntity.toStartAtString -import org.sopt.dateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDetailDto +import org.sopt.teamdateroad.data.mapper.toEntity.toBasicDates +import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString +import org.sopt.teamdateroad.data.mapper.toEntity.toStartAtString +import org.sopt.teamdateroad.domain.model.TimelineDetail fun ResponseTimelineDetailDto.toDomain(): TimelineDetail = TimelineDetail( timelineId = this.timelineId, diff --git a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt similarity index 59% rename from app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt rename to app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt index 2835a0aee..95f9c7faa 100644 --- a/app/src/main/java/org/sopt/dateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseTimelineDtoMapper.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.data.mapper.todomain +package org.sopt.teamdateroad.data.mapper.todomain -import org.sopt.dateroad.data.dataremote.model.response.ResponseTimelineDto -import org.sopt.dateroad.data.mapper.toEntity.toBasicDates -import org.sopt.dateroad.data.mapper.toEntity.toDDayString -import org.sopt.dateroad.data.mapper.toEntity.toFormattedDate -import org.sopt.dateroad.domain.model.Timeline +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseTimelineDto +import org.sopt.teamdateroad.data.mapper.toEntity.toBasicDates +import org.sopt.teamdateroad.data.mapper.toEntity.toDDayString +import org.sopt.teamdateroad.data.mapper.toEntity.toFormattedDate +import org.sopt.teamdateroad.domain.model.Timeline fun ResponseTimelineDto.toFutureTimelineDomain(): Timeline = Timeline( timelineId = this.timelineId, diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt new file mode 100644 index 000000000..b7d7c598f --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserPointDtoMapper.kt @@ -0,0 +1,11 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserPointDto +import org.sopt.teamdateroad.data.mapper.toEntity.toPoint +import org.sopt.teamdateroad.domain.model.UserPoint + +fun ResponseUserPointDto.toDomain(): UserPoint = UserPoint( + name = this.name, + point = this.point.toPoint(), + imageUrl = this.image +) diff --git a/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt new file mode 100644 index 000000000..86a10170a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/mapper/todomain/ResponseUserUsePointDtoMapper.kt @@ -0,0 +1,10 @@ +package org.sopt.teamdateroad.data.mapper.todomain + +import org.sopt.teamdateroad.data.dataremote.model.response.ResponseUserUsePointDto +import org.sopt.teamdateroad.domain.model.PointUseResult + +fun ResponseUserUsePointDto.toDomain(): PointUseResult = PointUseResult( + userPoint = this.userPoint, + userFreeRemained = this.userFreeRemained, + userPurchaseCount = this.userPurchaseCount +) diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt similarity index 60% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt index f938425b5..3049d202e 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AdvertisementRepositoryImpl.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.Advertisement -import org.sopt.dateroad.domain.model.AdvertisementDetail -import org.sopt.dateroad.domain.repository.AdvertisementRepository +import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.Advertisement +import org.sopt.teamdateroad.domain.model.AdvertisementDetail +import org.sopt.teamdateroad.domain.repository.AdvertisementRepository class AdvertisementRepositoryImpl @Inject constructor( private val advertisementRemoteDataSource: AdvertisementRemoteDataSource diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt index 97bc64d0b..297a49812 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/AuthRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/AuthRepositoryImpl.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import android.content.ContentResolver import android.net.Uri @@ -7,19 +7,19 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody -import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource -import org.sopt.dateroad.data.dataremote.model.request.RequestWithdrawDto -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.APPLICATION_JSON -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.HTTPS -import org.sopt.dateroad.data.dataremote.util.ApiConstraints.PROFILE_FORM_DATA_IMAGE -import org.sopt.dateroad.data.dataremote.util.ContentUriRequestBody -import org.sopt.dateroad.data.mapper.todata.toData -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.Auth -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.model.SignIn -import org.sopt.dateroad.domain.model.SignUp -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.model.request.RequestWithdrawDto +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.APPLICATION_JSON +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.HTTPS +import org.sopt.teamdateroad.data.dataremote.util.ApiConstraints.PROFILE_FORM_DATA_IMAGE +import org.sopt.teamdateroad.data.dataremote.util.ContentUriRequestBody +import org.sopt.teamdateroad.data.mapper.todata.toData +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.Auth +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.model.SignIn +import org.sopt.teamdateroad.domain.model.SignUp +import org.sopt.teamdateroad.domain.repository.AuthRepository class AuthRepositoryImpl @Inject constructor( private val contentResolver: ContentResolver, diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt index 18946243b..53063c050 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/CourseRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/CourseRepositoryImpl.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import android.content.ContentResolver import android.net.Uri @@ -7,21 +7,22 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody -import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource -import org.sopt.dateroad.data.dataremote.util.ContentUriRequestBody -import org.sopt.dateroad.data.mapper.todata.toCourseData -import org.sopt.dateroad.data.mapper.todata.toData -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.repository.CourseRepository -import org.sopt.dateroad.domain.type.GyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.type.SeoulAreaType -import org.sopt.dateroad.domain.type.SortByType +import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.util.ContentUriRequestBody +import org.sopt.teamdateroad.data.mapper.todata.toCourseData +import org.sopt.teamdateroad.data.mapper.todata.toData +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollCourseResult +import org.sopt.teamdateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.SeoulAreaType +import org.sopt.teamdateroad.domain.type.SortByType class CourseRepositoryImpl @Inject constructor( private val contentResolver: ContentResolver, @@ -58,16 +59,20 @@ class CourseRepositoryImpl @Inject constructor( courseRemoteDataSource.getSortedCourses(sortBy = sortedBy.name).toDomain() } - override suspend fun postCourse(enroll: Enroll): Result = runCatching { + override suspend fun postCourse(enroll: Enroll): Result = runCatching { courseRemoteDataSource.postCourse( images = enroll.images.map { image -> ContentUriRequestBody(contentResolver = contentResolver, uri = Uri.parse(image)).toFormData() }, - course = Json.encodeToString(enroll.toCourseData()).toRequestBody("application/json".toMediaType()), - places = Json.encodeToString(enroll.places.mapIndexed { index, place -> place.toData(sequence = index + 1) }).toRequestBody("application/json".toMediaType()), - tags = Json.encodeToString(enroll.tags.map { tag -> tag.toData() }).toRequestBody("application/json".toMediaType()) - ) + course = Json.encodeToString(enroll.toCourseData()).toRequestBody(APPLICATION_JSON.toMediaType()), + places = Json.encodeToString(enroll.places.mapIndexed { index, place -> place.toData(sequence = index + 1) }).toRequestBody(APPLICATION_JSON.toMediaType()), + tags = Json.encodeToString(enroll.tags.map { tag -> tag.toData() }).toRequestBody(APPLICATION_JSON.toMediaType()) + ).toDomain() } override suspend fun postCourseLike(courseId: Int): Result = runCatching { courseRemoteDataSource.postCourseLike(courseId = courseId) } + + companion object { + const val APPLICATION_JSON = "application/json" + } } diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt similarity index 60% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt index 638dc178b..4eb472f65 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/MyCourseRepositoryImpl.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.repository.MyCourseRepository +import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.repository.MyCourseRepository class MyCourseRepositoryImpl @Inject constructor( private val myCourseRemoteDataSource: MyCourseRemoteDataSource diff --git a/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt new file mode 100644 index 000000000..a1643bbdf --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/ProfileRepositoryImpl.kt @@ -0,0 +1,16 @@ + +package org.sopt.teamdateroad.data.repositoryimpl + +import javax.inject.Inject +import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.Profile +import org.sopt.teamdateroad.domain.repository.ProfileRepository + +class ProfileRepositoryImpl @Inject constructor( + private val profileDataSource: ProfileRemoteDataSource +) : ProfileRepository { + override suspend fun getUsers(): Result = runCatching { + profileDataSource.getProfile().toDomain() + } +} diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt similarity index 51% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt index 5d9e1452d..0d7809150 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/TimelineRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/TimelineRepositoryImpl.kt @@ -1,22 +1,23 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import javax.inject.Inject -import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource -import org.sopt.dateroad.data.mapper.todata.toTimelineData -import org.sopt.dateroad.data.mapper.todomain.toDomain -import org.sopt.dateroad.data.mapper.todomain.toFutureTimelineDomain -import org.sopt.dateroad.data.mapper.todomain.toPastTimelineDomain -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.domain.repository.TimelineRepository -import org.sopt.dateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource +import org.sopt.teamdateroad.data.mapper.todata.toTimelineData +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.data.mapper.todomain.toFutureTimelineDomain +import org.sopt.teamdateroad.data.mapper.todomain.toPastTimelineDomain +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollTimelineResult +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.type.TimelineTimeType class TimelineRepositoryImpl @Inject constructor( private val timelineRemoteDataSource: TimelineRemoteDataSource ) : TimelineRepository { - override suspend fun deleteTimeline(timelineId: Int) { + override suspend fun deleteTimeline(timelineId: Int) = runCatching { timelineRemoteDataSource.deleteTimeline(timelineId) } @@ -37,7 +38,7 @@ class TimelineRepositoryImpl @Inject constructor( timelineRemoteDataSource.getNearestTimeline().toDomain() } - override suspend fun postTimeline(enroll: Enroll) = runCatching { - timelineRemoteDataSource.postTimeline(requestTimelineDto = enroll.toTimelineData()) + override suspend fun postTimeline(enroll: Enroll): Result = runCatching { + timelineRemoteDataSource.postTimeline(requestTimelineDto = enroll.toTimelineData()).toDomain() } } diff --git a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt rename to app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt index 0ea6797cb..324249101 100644 --- a/app/src/main/java/org/sopt/dateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserInfoRepositoryImpl.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.data.repositoryimpl +package org.sopt.teamdateroad.data.repositoryimpl import javax.inject.Inject -import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource +import org.sopt.teamdateroad.domain.repository.UserInfoRepository class UserInfoRepositoryImpl @Inject constructor( private val userInfoLocalDataSource: UserInfoLocalDataSource diff --git a/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt new file mode 100644 index 000000000..f6ddaa85a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/data/repositoryimpl/UserPointRepositoryImpl.kt @@ -0,0 +1,27 @@ +package org.sopt.teamdateroad.data.repositoryimpl + +import javax.inject.Inject +import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource +import org.sopt.teamdateroad.data.mapper.todata.toData +import org.sopt.teamdateroad.data.mapper.todomain.toDomain +import org.sopt.teamdateroad.domain.model.PointHistory +import org.sopt.teamdateroad.domain.model.PointUseResult +import org.sopt.teamdateroad.domain.model.UsePoint +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.domain.repository.UserPointRepository + +class UserPointRepositoryImpl @Inject constructor( + private val userPointRemoteDataSource: UserPointRemoteDataSource +) : UserPointRepository { + override suspend fun getUserPoint(): Result = runCatching { + userPointRemoteDataSource.getUserPoint().toDomain() + } + + override suspend fun getPointHistory(): Result = runCatching { + userPointRemoteDataSource.getPointHistory().toDomain() + } + + override suspend fun postUsePoint(courseId: Int, usePoint: UsePoint): Result = runCatching { + userPointRemoteDataSource.postUsePoint(courseId = courseId, requestUsePointDto = usePoint.toData()).toDomain() + } +} diff --git a/app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt rename to app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt index db59fd779..50a8bdd79 100644 --- a/app/src/main/java/org/sopt/dateroad/di/ContentResolverModule.kt +++ b/app/src/main/java/org/sopt/teamdateroad/di/ContentResolverModule.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.di +package org.sopt.teamdateroad.di import android.content.ContentResolver import android.content.Context diff --git a/app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt similarity index 53% rename from app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt rename to app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt index f8aba0fb9..072b5b67c 100644 --- a/app/src/main/java/org/sopt/dateroad/di/DataSourceModule.kt +++ b/app/src/main/java/org/sopt/teamdateroad/di/DataSourceModule.kt @@ -1,26 +1,26 @@ -package org.sopt.dateroad.di +package org.sopt.teamdateroad.di import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import javax.inject.Singleton -import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource -import org.sopt.dateroad.data.datalocal.datasourceimpl.UserInfoLocalDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasource.AdvertisementRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.AuthRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.CourseRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.MyCourseRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.ProfileRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.TimelineRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasource.UserPointRemoteDataSource -import org.sopt.dateroad.data.dataremote.datasourceimpl.AdvertisementRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.AuthRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.CourseRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.MyCourseRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.ProfileRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.TimelineRemoteDataSourceImpl -import org.sopt.dateroad.data.dataremote.datasourceimpl.UserPointRemoteDataSourceImpl +import org.sopt.teamdateroad.data.datalocal.datasource.UserInfoLocalDataSource +import org.sopt.teamdateroad.data.datalocal.datasourceimpl.UserInfoLocalDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasource.AdvertisementRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.AuthRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.CourseRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.MyCourseRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.ProfileRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.TimelineRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasource.UserPointRemoteDataSource +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.AdvertisementRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.AuthRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.CourseRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.MyCourseRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.ProfileRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.TimelineRemoteDataSourceImpl +import org.sopt.teamdateroad.data.dataremote.datasourceimpl.UserPointRemoteDataSourceImpl @Module @InstallIn(SingletonComponent::class) @@ -43,17 +43,17 @@ abstract class DataSourceModule { @Binds @Singleton - abstract fun bindTimelineRemoteDataSource(timelineRemoteDataSourceImpl: TimelineRemoteDataSourceImpl): TimelineRemoteDataSource + abstract fun bindsMyCourseRemoteDataSource(myCourseRemoteDataSourceImpl: MyCourseRemoteDataSourceImpl): MyCourseRemoteDataSource @Binds @Singleton - abstract fun bindsMyCourseRemoteDataSource(myCourseRemoteDataSourceImpl: MyCourseRemoteDataSourceImpl): MyCourseRemoteDataSource + abstract fun bindsProfileDataSource(profileDataSourceImpl: ProfileRemoteDataSourceImpl): ProfileRemoteDataSource @Binds @Singleton - abstract fun bindsUserPointRemoteDataSource(userPointRemoteDataSourceImpl: UserPointRemoteDataSourceImpl): UserPointRemoteDataSource + abstract fun bindTimelineRemoteDataSource(timelineRemoteDataSourceImpl: TimelineRemoteDataSourceImpl): TimelineRemoteDataSource @Binds @Singleton - abstract fun bindsProfileDataSource(profileDataSourceImpl: ProfileRemoteDataSourceImpl): ProfileRemoteDataSource + abstract fun bindsUserPointRemoteDataSource(userPointRemoteDataSourceImpl: UserPointRemoteDataSourceImpl): UserPointRemoteDataSource } diff --git a/app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt rename to app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt index 9c73fd052..e2639802e 100644 --- a/app/src/main/java/org/sopt/dateroad/di/NetworkModule.kt +++ b/app/src/main/java/org/sopt/teamdateroad/di/NetworkModule.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.di +package org.sopt.teamdateroad.di import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import dagger.Module @@ -13,11 +13,11 @@ import okhttp3.Interceptor import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor -import org.sopt.dateroad.BuildConfig -import org.sopt.dateroad.BuildConfig.DEBUG -import org.sopt.dateroad.data.dataremote.interceptor.AuthInterceptor -import org.sopt.dateroad.di.qualifier.Auth -import org.sopt.dateroad.di.qualifier.DateRoad +import org.sopt.teamdateroad.BuildConfig +import org.sopt.teamdateroad.BuildConfig.DEBUG +import org.sopt.teamdateroad.data.dataremote.interceptor.AuthInterceptor +import org.sopt.teamdateroad.di.qualifier.Auth +import org.sopt.teamdateroad.di.qualifier.DateRoad import retrofit2.Retrofit @Module diff --git a/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt new file mode 100644 index 000000000..7a35d9cd4 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/di/RepositoryModule.kt @@ -0,0 +1,59 @@ +package org.sopt.teamdateroad.di + +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton +import org.sopt.teamdateroad.data.repositoryimpl.AdvertisementRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.AuthRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.CourseRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.MyCourseRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.ProfileRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.TimelineRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.UserInfoRepositoryImpl +import org.sopt.teamdateroad.data.repositoryimpl.UserPointRepositoryImpl +import org.sopt.teamdateroad.domain.repository.AdvertisementRepository +import org.sopt.teamdateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.repository.MyCourseRepository +import org.sopt.teamdateroad.domain.repository.ProfileRepository +import org.sopt.teamdateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserPointRepository + +@Module +@InstallIn(SingletonComponent::class) +abstract class RepositoryModule { + @Binds + @Singleton + abstract fun bindsAdvertisementRepository(advertisementRepositoryImpl: AdvertisementRepositoryImpl): AdvertisementRepository + + @Binds + @Singleton + abstract fun bindAuthRepository(authRepositoryImpl: AuthRepositoryImpl): AuthRepository + + @Binds + @Singleton + abstract fun bindsCourseRepository(courseRepositoryImpl: CourseRepositoryImpl): CourseRepository + + @Binds + @Singleton + abstract fun bindsMyCourseRepository(myCourseRepositoryImpl: MyCourseRepositoryImpl): MyCourseRepository + + @Binds + @Singleton + abstract fun bindsProfileRepository(profileRepositoryImpl: ProfileRepositoryImpl): ProfileRepository + + @Binds + @Singleton + abstract fun bindsTimelineRepository(timelineRepositoryImpl: TimelineRepositoryImpl): TimelineRepository + + @Binds + @Singleton + abstract fun bindsUserInfoRepository(userInfoRepositoryImpl: UserInfoRepositoryImpl): UserInfoRepository + + @Binds + @Singleton + abstract fun bindsUserPointRepository(userPointRepositoryImpl: UserPointRepositoryImpl): UserPointRepository +} diff --git a/app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt b/app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt rename to app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt index 7fe17c0fd..5af0fafce 100644 --- a/app/src/main/java/org/sopt/dateroad/di/ServiceModule.kt +++ b/app/src/main/java/org/sopt/teamdateroad/di/ServiceModule.kt @@ -1,20 +1,17 @@ -package org.sopt.dateroad.di +package org.sopt.teamdateroad.di import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import org.sopt.dateroad.data.datalocal.datasource.UserInfoLocalDataSource -import org.sopt.dateroad.data.dataremote.service.AdvertisementService -import org.sopt.dateroad.data.dataremote.service.AuthService -import org.sopt.dateroad.data.dataremote.service.CourseService -import org.sopt.dateroad.data.dataremote.service.MyCourseService -import org.sopt.dateroad.data.dataremote.service.ProfileService -import org.sopt.dateroad.data.dataremote.service.TimelineService -import org.sopt.dateroad.data.dataremote.service.UserPointService -import org.sopt.dateroad.data.repositoryimpl.UserInfoRepositoryImpl -import org.sopt.dateroad.di.qualifier.DateRoad -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.data.dataremote.service.AdvertisementService +import org.sopt.teamdateroad.data.dataremote.service.AuthService +import org.sopt.teamdateroad.data.dataremote.service.CourseService +import org.sopt.teamdateroad.data.dataremote.service.MyCourseService +import org.sopt.teamdateroad.data.dataremote.service.ProfileService +import org.sopt.teamdateroad.data.dataremote.service.TimelineService +import org.sopt.teamdateroad.data.dataremote.service.UserPointService +import org.sopt.teamdateroad.di.qualifier.DateRoad import retrofit2.Retrofit @Module @@ -32,23 +29,19 @@ object ServiceModule { fun providesCourseService(@DateRoad retrofit: Retrofit): CourseService = retrofit.create(CourseService::class.java) - @Provides - fun provideTimelineService(@DateRoad retrofit: Retrofit): TimelineService = - retrofit.create(TimelineService::class.java) - @Provides fun providesMyCourseService(@DateRoad retrofit: Retrofit): MyCourseService = retrofit.create(MyCourseService::class.java) @Provides - fun providesUserPointService(@DateRoad retrofit: Retrofit): UserPointService = - retrofit.create(UserPointService::class.java) + fun providesProfileService(@DateRoad retrofit: Retrofit): ProfileService = + retrofit.create(ProfileService::class.java) @Provides - fun provideUserInfoRepository(userInfoLocalDataSource: UserInfoLocalDataSource): UserInfoRepository = - UserInfoRepositoryImpl(userInfoLocalDataSource) + fun provideTimelineService(@DateRoad retrofit: Retrofit): TimelineService = + retrofit.create(TimelineService::class.java) @Provides - fun providesProfileService(@DateRoad retrofit: Retrofit): ProfileService = - retrofit.create(ProfileService::class.java) + fun providesUserPointService(@DateRoad retrofit: Retrofit): UserPointService = + retrofit.create(UserPointService::class.java) } diff --git a/app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt b/app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt similarity index 70% rename from app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt rename to app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt index 73672ec91..4a103a508 100644 --- a/app/src/main/java/org/sopt/dateroad/di/qualifier/Qualifier.kt +++ b/app/src/main/java/org/sopt/teamdateroad/di/qualifier/Qualifier.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.di.qualifier +package org.sopt.teamdateroad.di.qualifier import javax.inject.Qualifier diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt similarity index 66% rename from app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt index cde88ba38..04630b550 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Advertisement.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Advertisement.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Advertisement( val advertisementId: Int, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt index 1f8c242a5..aa27c8692 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/AdvertisementDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/AdvertisementDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class AdvertisementDetail( val images: List = listOf(), diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt index c74b29279..b2fe3dc6f 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Auth.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Auth.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Auth( val accessToken: String, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Course.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/domain/model/Course.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt index 78cb95e62..9a763beda 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Course.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Course.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Course( val courseId: Int, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt index 7cfcab67f..5cdd85aab 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/CourseDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/CourseDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class CourseDetail( val courseId: Int = 0, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt index 6a09be0f6..5efd99b1b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/EditProfile.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EditProfile.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class EditProfile( val name: String = "", diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt index 5e71969dc..b42ccb294 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Enroll.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Enroll.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model -import org.sopt.dateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.RegionType data class Enroll( val images: List = listOf(), diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt new file mode 100644 index 000000000..9b73225b8 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollCourseResult.kt @@ -0,0 +1,6 @@ +package org.sopt.teamdateroad.domain.model + +data class EnrollCourseResult( + val userPoint: Int, + val userCourseCount: Long +) diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt new file mode 100644 index 000000000..1c8e602a7 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/EnrollTimelineResult.kt @@ -0,0 +1,5 @@ +package org.sopt.teamdateroad.domain.model + +data class EnrollTimelineResult( + val dateScheduleNum: Long +) diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt index a24bbd824..98e9918c7 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/NearestTimeline.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/NearestTimeline.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class NearestTimeline( val timelineId: Int = 0, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Place.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/domain/model/Place.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt index 1f956010d..60f8b9a06 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Place.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Place.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Place( val title: String = "", diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Point.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt similarity index 69% rename from app/src/main/java/org/sopt/dateroad/domain/model/Point.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt index 1f6933969..1263b06e7 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Point.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Point.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Point( val point: String, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt similarity index 70% rename from app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt index ef7cb3f7c..3d2e6549a 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/PointHistory.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointHistory.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class PointHistory( val gained: List = listOf(), diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt new file mode 100644 index 000000000..07973cf8b --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/PointUseResult.kt @@ -0,0 +1,8 @@ +package org.sopt.teamdateroad.domain.model + +data class PointUseResult( + val userPoint: Int, + val userFreeRemained: Int, + val userPurchaseCount: Long + +) diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt similarity index 77% rename from app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt index 166056676..e51889305 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Profile.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Profile.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class Profile( val name: String = "", diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt similarity index 52% rename from app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt index a30dca249..3fd5246f0 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/SignIn.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignIn.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class SignIn( val platform: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt similarity index 77% rename from app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt index c2804fe6c..b61ea5b02 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/SignUp.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/SignUp.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class SignUp( val userSignUpInfo: UserSignUpInfo = UserSignUpInfo(), diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt similarity index 66% rename from app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt index 8ab1469a0..58d82557b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/Timeline.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/Timeline.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model -import org.sopt.dateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.DateTagType data class Timeline( val timelineId: Int = 0, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt index a43e7e3c1..d55dd8495 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/TimelineDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/TimelineDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class TimelineDetail( val timelineId: Int = 0, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt similarity index 68% rename from app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt index 80562846c..be628637a 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/UsePoint.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UsePoint.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class UsePoint( val point: Int, diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt similarity index 72% rename from app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt index b8adea83f..f9dbfc0cc 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/UserPoint.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserPoint.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class UserPoint( val name: String = "", diff --git a/app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt similarity index 68% rename from app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt index d78a19561..c02db8d3a 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/model/UserSignUpInfo.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/model/UserSignUpInfo.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.model +package org.sopt.teamdateroad.domain.model data class UserSignUpInfo( val name: String = "", diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt similarity index 54% rename from app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt index 369bd0b17..83ce2096f 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/AdvertisementRepository.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AdvertisementRepository.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.domain.repository +package org.sopt.teamdateroad.domain.repository -import org.sopt.dateroad.domain.model.Advertisement -import org.sopt.dateroad.domain.model.AdvertisementDetail +import org.sopt.teamdateroad.domain.model.Advertisement +import org.sopt.teamdateroad.domain.model.AdvertisementDetail interface AdvertisementRepository { suspend fun getAdvertisementDetail(advertisementId: Int): Result diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt similarity index 62% rename from app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt index 2be2cc4da..d009d9709 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/AuthRepository.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/AuthRepository.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.repository +package org.sopt.teamdateroad.domain.repository -import org.sopt.dateroad.domain.model.Auth -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.model.SignIn -import org.sopt.dateroad.domain.model.SignUp +import org.sopt.teamdateroad.domain.model.Auth +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.model.SignIn +import org.sopt.teamdateroad.domain.model.SignUp interface AuthRepository { suspend fun deleteSignOut(): Result diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt new file mode 100644 index 000000000..d86864bbf --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/CourseRepository.kt @@ -0,0 +1,25 @@ +package org.sopt.teamdateroad.domain.repository + +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollCourseResult +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.SortByType + +interface CourseRepository { + suspend fun deleteCourse(courseId: Int): Result + + suspend fun deleteCourseLike(courseId: Int): Result + + suspend fun getCourseDetail(courseId: Int): Result + + suspend fun getFilteredCourses(country: RegionType?, city: Any?, cost: MoneyTagType?): Result> + + suspend fun getSortedCourses(sortedBy: SortByType): Result> + + suspend fun postCourse(enroll: Enroll): Result + + suspend fun postCourseLike(courseId: Int): Result +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt similarity index 60% rename from app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt index cc6c62b9b..0ee8b96b3 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/MyCourseRepository.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/MyCourseRepository.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.repository +package org.sopt.teamdateroad.domain.repository -import org.sopt.dateroad.domain.model.Course +import org.sopt.teamdateroad.domain.model.Course interface MyCourseRepository { suspend fun getMyCourseEnroll(): Result> diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt new file mode 100644 index 000000000..49557c9d4 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/ProfileRepository.kt @@ -0,0 +1,7 @@ +package org.sopt.teamdateroad.domain.repository + +import org.sopt.teamdateroad.domain.model.Profile + +interface ProfileRepository { + suspend fun getUsers(): Result +} diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt new file mode 100644 index 000000000..38e700e6f --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/TimelineRepository.kt @@ -0,0 +1,20 @@ +package org.sopt.teamdateroad.domain.repository + +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollTimelineResult +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.type.TimelineTimeType + +interface TimelineRepository { + suspend fun deleteTimeline(timelineId: Int): Result + + suspend fun getTimelineDetail(timelineId: Int): Result + + suspend fun getTimelines(timelineTimeType: TimelineTimeType): Result> + + suspend fun getNearestTimeline(): Result + + suspend fun postTimeline(enroll: Enroll): Result +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt index 9cbf7b8b1..b759c33e7 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/repository/UserInfoRepository.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserInfoRepository.kt @@ -1,11 +1,17 @@ -package org.sopt.dateroad.domain.repository +package org.sopt.teamdateroad.domain.repository interface UserInfoRepository { fun setAccessToken(accessToken: String) + fun getAccessToken(): String + fun setRefreshToken(refreshToken: String) + fun getRefreshToken(): String + fun setNickname(nickname: String) + fun getNickname(): String + fun clear() } diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt new file mode 100644 index 000000000..b95e06975 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/repository/UserPointRepository.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.domain.repository + +import org.sopt.teamdateroad.domain.model.PointHistory +import org.sopt.teamdateroad.domain.model.PointUseResult +import org.sopt.teamdateroad.domain.model.UsePoint +import org.sopt.teamdateroad.domain.model.UserPoint + +interface UserPointRepository { + suspend fun getUserPoint(): Result + + suspend fun getPointHistory(): Result + + suspend fun postUsePoint(courseId: Int, usePoint: UsePoint): Result +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt index c444bff04..fec93e23d 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/AdvertisementTagType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/AdvertisementTagType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Advertisement +import org.sopt.teamdateroad.domain.util.Advertisement enum class AdvertisementTagType( val title: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt index 8668ae3f5..2bf0b406c 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/GyeonggiAreaType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/GyeonggiAreaType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Gyeonggi +import org.sopt.teamdateroad.domain.util.Gyeonggi enum class GyeonggiAreaType( val title: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt index 1fb0a468a..f243dc694 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/IncheonAreaType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/IncheonAreaType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Incheon +import org.sopt.teamdateroad.domain.util.Incheon enum class IncheonAreaType( val title: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt index f812171a7..1e6d3c19b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/MoneyTagType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/MoneyTagType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Cost +import org.sopt.teamdateroad.domain.util.Cost enum class MoneyTagType( val title: String, diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt index 44ce5ebce..0390d5d1d 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/MonthType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/MonthType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.data.dataremote.util.Month +import org.sopt.teamdateroad.domain.util.Month enum class MonthType(val title: String) { JANUARY(title = Month.JANUARY), diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt similarity index 69% rename from app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt index 17fcb5f1b..ba2d0530f 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/RegionType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/RegionType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Region +import org.sopt.teamdateroad.domain.util.Region enum class RegionType( val title: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt index c45000de2..37f7eb9a3 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/SeoulAreaType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/SeoulAreaType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type -import org.sopt.dateroad.domain.util.Seoul +import org.sopt.teamdateroad.domain.util.Seoul enum class SeoulAreaType( val title: String diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt similarity index 54% rename from app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt index 3915a46fe..4f87c7b27 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/SortByType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/SortByType.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type enum class SortByType { POPULAR, diff --git a/app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt b/app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt similarity index 56% rename from app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt index cd901aae7..411790055 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/type/TimelineTimeType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/type/TimelineTimeType.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.domain.type +package org.sopt.teamdateroad.domain.type enum class TimelineTimeType { FUTURE, diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt index df7c3e148..43162b580 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/ClearUserInfoUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/ClearUserInfoUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class ClearUserInfoUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt similarity index 73% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt index d2e3361d5..d8aa127c1 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseLikeUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseLikeUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.repository.CourseRepository @Singleton class DeleteCourseLikeUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt similarity index 72% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt index 6549d2bf5..84b061466 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteCourseUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteCourseUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.repository.CourseRepository @Singleton class DeleteCourseUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt similarity index 70% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt index 52080e688..3f28f6550 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteSignOutUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteSignOutUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class DeleteSignOutUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt similarity index 57% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt index a45704842..4128a4e39 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteTimelineUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteTimelineUseCase.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.repository.TimelineRepository @Singleton class DeleteTimelineUseCase @Inject constructor( private val timelineRepository: TimelineRepository ) { - suspend operator fun invoke(timelineId: Int): Result = runCatching { timelineRepository.deleteTimeline(timelineId = timelineId) } + suspend operator fun invoke(timelineId: Int): Result = timelineRepository.deleteTimeline(timelineId = timelineId) } diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt similarity index 72% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt index 2681c713b..10837a7a8 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/DeleteWithdrawUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/DeleteWithdrawUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class DeleteWithdrawUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt similarity index 68% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt index 6b86d00be..d98bba2b7 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAccessTokenUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAccessTokenUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class GetAccessTokenUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt index a0037af5b..6224f5b11 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementDetailUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementDetailUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.AdvertisementDetail -import org.sopt.dateroad.domain.repository.AdvertisementRepository +import org.sopt.teamdateroad.domain.model.AdvertisementDetail +import org.sopt.teamdateroad.domain.repository.AdvertisementRepository @Singleton class GetAdvertisementDetailUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt similarity index 64% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt index 2c90e0732..59b34312f 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetAdvertisementsUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetAdvertisementsUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Advertisement -import org.sopt.dateroad.domain.repository.AdvertisementRepository +import org.sopt.teamdateroad.domain.model.Advertisement +import org.sopt.teamdateroad.domain.repository.AdvertisementRepository @Singleton class GetAdvertisementsUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt similarity index 71% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt index afafc5015..4f89fc567 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetCourseDetailUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetCourseDetailUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.repository.CourseRepository @Singleton class GetCourseDetailUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt index 520dcd3e0..36c421072 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetFilteredCourses.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetFilteredCourses.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.repository.CourseRepository -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType @Singleton class GetFilteredCourses @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt index 28b7bc99f..8d3a6a10b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseEnrollUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseEnrollUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.repository.MyCourseRepository +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.repository.MyCourseRepository @Singleton class GetMyCourseEnrollUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt index 9d08a4402..feff904ed 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetMyCourseReadUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetMyCourseReadUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.repository.MyCourseRepository +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.repository.MyCourseRepository @Singleton class GetMyCourseReadUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt similarity index 59% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt index 1e2a4df28..a141ac94c 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNearestTimelineUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNearestTimelineUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.repository.TimelineRepository class GetNearestTimelineUseCase @Inject constructor( private val timelineRepository: TimelineRepository diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt similarity index 71% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt index b83c58449..8f7d57088 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameCheckUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameCheckUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class GetNicknameCheckUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt similarity index 68% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt index 57809d2f7..27a35c18e 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetNicknameUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetNicknameUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class GetNicknameUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt similarity index 62% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt index 509d13bc6..4f1a87d1b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetPointHistoryUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetPointHistoryUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.PointHistory -import org.sopt.dateroad.domain.repository.UserPointRepository +import org.sopt.teamdateroad.domain.model.PointHistory +import org.sopt.teamdateroad.domain.repository.UserPointRepository @Singleton class GetPointHistoryUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt similarity index 68% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt index 3a97408de..d72c5986b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetRefreshTokenUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetRefreshTokenUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class GetRefreshTokenUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt similarity index 59% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt index 6df3b1413..f0fb655f7 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetSortedCoursesUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetSortedCoursesUseCase.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.repository.CourseRepository -import org.sopt.dateroad.domain.type.SortByType +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.repository.CourseRepository +import org.sopt.teamdateroad.domain.type.SortByType @Singleton class GetSortedCoursesUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt similarity index 62% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt index 24f8cf8bd..26c389c57 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelineDetailUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelineDetailUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.repository.TimelineRepository class GetTimelineDetailUseCase @Inject constructor( private val timelineRepository: TimelineRepository diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt similarity index 57% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt index 7e4796225..6ad25025a 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetTimelinesUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetTimelinesUseCase.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.domain.repository.TimelineRepository -import org.sopt.dateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.domain.repository.TimelineRepository +import org.sopt.teamdateroad.domain.type.TimelineTimeType class GetTimelinesUseCase @Inject constructor( private val timelineRepository: TimelineRepository diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt index 36124f117..7898a847f 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/GetUserPointUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserPointUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.domain.repository.UserPointRepository +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.domain.repository.UserPointRepository class GetUserPointUseCase @Inject constructor( private val userPointRepository: UserPointRepository diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt new file mode 100644 index 000000000..6fd64e85a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/GetUserUseCase.kt @@ -0,0 +1,13 @@ +package org.sopt.teamdateroad.domain.usecase + +import javax.inject.Inject +import javax.inject.Singleton +import org.sopt.teamdateroad.domain.model.Profile +import org.sopt.teamdateroad.domain.repository.ProfileRepository + +@Singleton +class GetUserUseCase @Inject constructor( + private val profileRepository: ProfileRepository +) { + suspend operator fun invoke(): Result = profileRepository.getUsers() +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt similarity index 50% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt index 9f565bc02..fc520f899 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PatchEditProfileUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PatchEditProfileUseCase.kt @@ -1,14 +1,13 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class PatchEditProfileUseCase @Inject constructor( private val authRepository: AuthRepository ) { - suspend operator fun invoke(editProfile: EditProfile): Result = - authRepository.patchEditProfile(editProfile = editProfile) + suspend operator fun invoke(editProfile: EditProfile): Result = authRepository.patchEditProfile(editProfile = editProfile) } diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt new file mode 100644 index 000000000..23782a45e --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseLikeUseCase.kt @@ -0,0 +1,12 @@ +package org.sopt.teamdateroad.domain.usecase + +import javax.inject.Inject +import javax.inject.Singleton +import org.sopt.teamdateroad.domain.repository.CourseRepository + +@Singleton +class PostCourseLikeUseCase @Inject constructor( + private val courseRepository: CourseRepository +) { + suspend operator fun invoke(courseId: Int): Result = courseRepository.postCourseLike(courseId = courseId) +} diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt new file mode 100644 index 000000000..aa0d22ad2 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostCourseUseCase.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.domain.usecase + +import javax.inject.Inject +import javax.inject.Singleton +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollCourseResult +import org.sopt.teamdateroad.domain.repository.CourseRepository + +@Singleton +class PostCourseUseCase @Inject constructor( + private val courseRepository: CourseRepository +) { + suspend operator fun invoke(enroll: Enroll): Result = courseRepository.postCourse(enroll = enroll) +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt similarity index 62% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt index 7db32724c..076e08653 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignInUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignInUseCase.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Auth -import org.sopt.dateroad.domain.model.SignIn -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.model.Auth +import org.sopt.teamdateroad.domain.model.SignIn +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class PostSignInUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt index f5ba86e99..b3cce3091 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostSignUpUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostSignUpUseCase.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.Auth -import org.sopt.dateroad.domain.model.SignUp -import org.sopt.dateroad.domain.repository.AuthRepository +import org.sopt.teamdateroad.domain.model.Auth +import org.sopt.teamdateroad.domain.model.SignUp +import org.sopt.teamdateroad.domain.repository.AuthRepository @Singleton class PostSignUpUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt new file mode 100644 index 000000000..5cfc0ed3a --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostTimelineUseCase.kt @@ -0,0 +1,14 @@ +package org.sopt.teamdateroad.domain.usecase + +import javax.inject.Inject +import javax.inject.Singleton +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.EnrollTimelineResult +import org.sopt.teamdateroad.domain.repository.TimelineRepository + +@Singleton +class PostTimelineUseCase @Inject constructor( + private val timelineRepository: TimelineRepository +) { + suspend operator fun invoke(enroll: Enroll): Result = timelineRepository.postTimeline(enroll = enroll) +} diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt similarity index 56% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt index da2f2945c..b3d028901 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/PostUsePointUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/PostUsePointUseCase.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.model.UsePoint -import org.sopt.dateroad.domain.repository.UserPointRepository +import org.sopt.teamdateroad.domain.model.PointUseResult +import org.sopt.teamdateroad.domain.model.UsePoint +import org.sopt.teamdateroad.domain.repository.UserPointRepository @Singleton class PostUsePointUseCase @Inject constructor( private val userPointRepository: UserPointRepository ) { - suspend operator fun invoke(courseId: Int, usePoint: UsePoint): Result = runCatching { + suspend operator fun invoke(courseId: Int, usePoint: UsePoint): Result = userPointRepository.postUsePoint(courseId = courseId, usePoint = usePoint) - } } diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt similarity index 72% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt index 51ef3b2f4..d321b529e 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetAccessTokenUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetAccessTokenUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class SetAccessTokenUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt similarity index 71% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt index 7bf17e500..41fe02a3d 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetNicknameUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetNicknameUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class SetNicknameUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt similarity index 72% rename from app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt index 7fd376a0f..e52b23480 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/usecase/SetRefreshTokenUseCase.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/usecase/SetRefreshTokenUseCase.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.domain.usecase +package org.sopt.teamdateroad.domain.usecase import javax.inject.Inject import javax.inject.Singleton -import org.sopt.dateroad.domain.repository.UserInfoRepository +import org.sopt.teamdateroad.domain.repository.UserInfoRepository @Singleton class SetRefreshTokenUseCase @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt similarity index 98% rename from app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt rename to app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt index c346cf10d..c6a91c23b 100644 --- a/app/src/main/java/org/sopt/dateroad/domain/util/Constraints.kt +++ b/app/src/main/java/org/sopt/teamdateroad/domain/util/Constraints.kt @@ -1,4 +1,11 @@ -package org.sopt.dateroad.domain.util +package org.sopt.teamdateroad.domain.util + +object Advertisement { + const val EDITOR = "에디터 픽" + const val AD = "광고" + const val ABOUT = "ABOUT" + const val HOT = "이달의 HOT" +} object Cost { const val EXCESS_100000_TITLE = "10만원 초과" @@ -7,29 +14,6 @@ object Cost { const val LESS_THAN_30000_TITLE = "3만원 이하" } -object Region { - const val SEOUL = "서울" - const val GYEONGGI = "경기" - const val INCHEON = "인천" -} - -object Seoul { - const val SEOUL_ENTIRE = "서울 전체" - const val GANGNAM_SEOCHO = "강남/서초" - const val JAMSIL_SONGPA_GANGDONG = "잠실/송파/강동" - const val KONDAE_SEONGSU_SEONGDONG = "건대/성수/성동" - const val GWANGIN_JUNGBANG = "광진/중랑" - const val JONGNO_JUNGRO = "종로/중구" - const val EUNPYEONG_SEODAEMUN = "은평/서대문" - const val HONGDAE_HAPJEONG_MAPO = "홍대/합정/마포" - const val YEONGDEUNGPO_YEOUIDO = "영등포/여의도" - const val YONGSAN_ITAEWON_HANNAM = "용산/이태원/한남" - const val YANGCHEON_GANGSEO_GURO = "양천/강서/구로" - const val DONGDAEMUN_SEONGBUK = "동대문/성북" - const val NOWON_DOBONG_GANGBUK = "노원/도봉/강북" - const val GWANAK_DONGJAK_GEUMCHEON = "관악/동작/금천" -} - object Gyeonggi { const val GYEONGGI_ENTIRE = "경기 전체" const val SEONGNAM = "성남" @@ -54,13 +38,6 @@ object Incheon { const val INCHEON_ENTIRE = "인천 전체" } -object Advertisement { - const val EDITOR = "에디터 픽" - const val AD = "광고" - const val ABOUT = "ABOUT" - const val HOT = "이달의 HOT" -} - object Month { const val JANUARY = "January" const val FEBRUARY = "February" @@ -75,3 +52,26 @@ object Month { const val NOVEMBER = "November" const val DECEMBER = "December" } + +object Region { + const val SEOUL = "서울" + const val GYEONGGI = "경기" + const val INCHEON = "인천" +} + +object Seoul { + const val SEOUL_ENTIRE = "서울 전체" + const val GANGNAM_SEOCHO = "강남/서초" + const val JAMSIL_SONGPA_GANGDONG = "잠실/송파/강동" + const val KONDAE_SEONGSU_SEONGDONG = "건대/성수/성동" + const val GWANGIN_JUNGBANG = "광진/중랑" + const val JONGNO_JUNGRO = "종로/중구" + const val EUNPYEONG_SEODAEMUN = "은평/서대문" + const val HONGDAE_HAPJEONG_MAPO = "홍대/합정/마포" + const val YEONGDEUNGPO_YEOUIDO = "영등포/여의도" + const val YONGSAN_ITAEWON_HANNAM = "용산/이태원/한남" + const val YANGCHEON_GANGSEO_GURO = "양천/강서/구로" + const val DONGDAEMUN_SEONGBUK = "동대문/성북" + const val NOWON_DOBONG_GANGBUK = "노원/도봉/강북" + const val GWANAK_DONGJAK_GEUMCHEON = "관악/동작/금천" +} diff --git a/app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt index ae3bf7df3..10c7493b1 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/model/RouteModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/model/RouteModel.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.model +package org.sopt.teamdateroad.presentation.model sealed interface Route diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt index eae9dd39d..8381bd1cb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/ChipType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ChipType.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.Black -import org.sopt.dateroad.ui.theme.Gray100 -import org.sopt.dateroad.ui.theme.Gray400 -import org.sopt.dateroad.ui.theme.Purple600 -import org.sopt.dateroad.ui.theme.White -import org.sopt.dateroad.ui.theme.defaultDateRoadTypography +import org.sopt.teamdateroad.ui.theme.Black +import org.sopt.teamdateroad.ui.theme.Gray100 +import org.sopt.teamdateroad.ui.theme.Gray400 +import org.sopt.teamdateroad.ui.theme.Purple600 +import org.sopt.teamdateroad.ui.theme.White +import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography enum class ChipType( val selectedBackgroundColor: Color, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt index d854a9404..ec032a949 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/CourseDetailUnopenedDetailType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/CourseDetailUnopenedDetailType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class CourseDetailUnopenedDetailType( @StringRes val descriptionStringRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt index d9465328f..9d0c0dcf8 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateChipGroupType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateChipGroupType.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes import androidx.compose.ui.text.TextStyle -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.defaultDateRoadTypography +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography enum class DateChipGroupType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt index 111163c8f..3c6eb962f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateRoadRegionBottomSheetType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateRoadRegionBottomSheetType.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type enum class DateRoadRegionBottomSheetType { ENROLL, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt index 8b4df2dad..a5ae1f61b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/DateTagType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/DateTagType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class DateTagType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt index 1e9be1de7..edb08246e 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/EmptyViewType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EmptyViewType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class EmptyViewType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt index e9e63bc7e..3ae23dbb3 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollScreenType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollScreenType.kt @@ -1,6 +1,6 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type -import org.sopt.dateroad.presentation.util.EnrollScreen +import org.sopt.teamdateroad.presentation.util.EnrollScreen enum class EnrollScreenType( val position: Int diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt similarity index 77% rename from app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt index c4402e875..cf2f1889f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/EnrollType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/EnrollType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class EnrollType( @StringRes val topBarTitleRes: Int diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt index 185b15872..a278eaccb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/MainNavigationBarItemType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MainNavigationBarItemType.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.compose.runtime.Composable -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.model.Route +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.model.Route enum class MainNavigationBarItemType( @DrawableRes val iconRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt similarity index 77% rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt index 5008d21a0..41276a7ca 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyCourseType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyCourseType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class MyCourseType( @StringRes val topBarTitleRes: Int diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt index 744dd66fd..7eb7dc7c7 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPageMenuType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPageMenuType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class MyPageMenuType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt index 73ce9226b..9701b5a7e 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/MyPagePointInfoType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/MyPagePointInfoType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class MyPagePointInfoType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt index aedc1cb3f..5bbe4820c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/OnboardingType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OnboardingType.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class OnboardingType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt index 208a77263..f58c25dc2 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class OneButtonDialogType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt index 212578e54..bf97509ba 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/OneButtonDialogWithDescriptionType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/OneButtonDialogWithDescriptionType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class OneButtonDialogWithDescriptionType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt index db8d9ee7a..0e74b7052 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/PlaceCardType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PlaceCardType.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class PlaceCardType( @DrawableRes val iconRes: Int? = null, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt similarity index 60% rename from app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt index e96d753ba..150e2b4a4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/PointHistoryTabType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointHistoryTabType.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.util.PointHistoryTab.GAINED_HISTORY_POSITION -import org.sopt.dateroad.presentation.util.PointHistoryTab.USED_HISTORY_POSITION +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.util.PointHistoryTab.GAINED_HISTORY_POSITION +import org.sopt.teamdateroad.presentation.util.PointHistoryTab.USED_HISTORY_POSITION enum class PointHistoryTabType( val position: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt index 3957832d3..739b2271f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/PointSystemType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/PointSystemType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class PointSystemType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt similarity index 62% rename from app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt index bd11b143f..a0e5681ef 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/ProfileType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/ProfileType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class ProfileType( @StringRes val topAppBarTitleRes: Int, @@ -9,10 +9,10 @@ enum class ProfileType( ) { ENROLL( topAppBarTitleRes = R.string.profile_enroll_top_bar_title, - buttonTextRes = R.string.enroll_profile_button + buttonTextRes = R.string.profile_enroll_button ), EDIT( topAppBarTitleRes = R.string.profile_edit_top_bar_title, - buttonTextRes = R.string.edit_profile_button + buttonTextRes = R.string.profile_edit_button ) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt similarity index 96% rename from app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt index 15a74ea6e..438b1c95d 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/TagType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TagType.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.TextStyle -import org.sopt.dateroad.ui.theme.defaultDateRoadColors -import org.sopt.dateroad.ui.theme.defaultDateRoadTypography +import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors +import org.sopt.teamdateroad.ui.theme.defaultDateRoadTypography enum class TagType( val backgroundColor: Color, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt index 3ba2fd80a..e8ba9b8ff 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/TimelineType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TimelineType.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.ColorRes import androidx.compose.ui.graphics.Color -import org.sopt.dateroad.ui.theme.defaultDateRoadColors +import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors enum class TimelineType( val index: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt index b91457d5f..7fb5209c4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class TwoButtonDialogType( @StringRes val titleRes: Int, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt index 0c135f678..7741e9dfb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/type/TwoButtonDialogWithDescriptionType.kt @@ -1,7 +1,7 @@ -package org.sopt.dateroad.presentation.type +package org.sopt.teamdateroad.presentation.type import androidx.annotation.StringRes -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R enum class TwoButtonDialogWithDescriptionType( @StringRes val titleRes: Int, @@ -39,12 +39,6 @@ enum class TwoButtonDialogWithDescriptionType( confirmButtonTextRes = R.string.dialog_delete, dismissButtonTextRes = R.string.dialog_cancel ), - DELETE_PAST( - titleRes = R.string.two_button_dialog_with_description_delete_past_title, - descriptionRes = R.string.dialog_delete_schedule, - confirmButtonTextRes = R.string.dialog_delete, - dismissButtonTextRes = R.string.dialog_cancel - ), WITHDRAWAL( titleRes = R.string.two_button_dialog_with_description_withdrawal_title, descriptionRes = R.string.two_button_dialog_with_description_withdrawal_description, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt similarity index 59% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt index 76196a92b..2628199aa 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementContract.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.ui.advertisement +package org.sopt.teamdateroad.presentation.ui.advertisement -import org.sopt.dateroad.domain.model.AdvertisementDetail -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.AdvertisementDetail +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class AdvertisementContract { data class AdvertisementUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt index acea7706c..84eca842e 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.advertisement +package org.sopt.teamdateroad.presentation.ui.advertisement import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -20,14 +20,14 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.PagerState -import org.sopt.dateroad.presentation.ui.advertisement.component.AdvertisementDetail -import org.sopt.dateroad.presentation.ui.component.pager.DateRoadImagePager -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.advertisement.component.AdvertisementDetail +import org.sopt.teamdateroad.presentation.ui.component.pager.DateRoadImagePager +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun AdvertisementRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt index 6a09f4d93..9b5354799 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/AdvertisementViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/AdvertisementViewModel.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.presentation.ui.advertisement +package org.sopt.teamdateroad.presentation.ui.advertisement import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.usecase.GetAdvertisementDetailUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.usecase.GetAdvertisementDetailUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class AdvertisementViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt index 743c61994..f29871401 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/component/AdvertisementDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.advertisement.component +package org.sopt.teamdateroad.presentation.ui.advertisement.component import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -8,9 +8,9 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun AdvertisementDetail( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt index 377ac9365..e099e4643 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/advertisement/navigation/AdvertisementNavigation.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.advertisement.navigation +package org.sopt.teamdateroad.presentation.ui.advertisement.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import org.sopt.dateroad.presentation.ui.advertisement.AdvertisementRoute +import org.sopt.teamdateroad.presentation.ui.advertisement.AdvertisementRoute fun NavController.navigationAdvertisement(advertisementId: Int) { this.navigate(route = AdvertisementRoute.route(advertisementId = advertisementId)) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt index d03d95fba..d69fde67a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBasicBottomSheet.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.bottomsheet +package org.sopt.teamdateroad.presentation.ui.component.bottomsheet import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -19,9 +19,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt index b2708ae9a..31cb5dee4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadBottomSheet.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.bottomsheet +package org.sopt.teamdateroad.presentation.ui.component.bottomsheet import android.annotation.SuppressLint import androidx.compose.foundation.layout.Column @@ -25,11 +25,10 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @SuppressLint("CoroutineCreationDuringComposition") @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterialApi::class) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt index 843d6adee..770fd3037 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadPickerBottomSheet.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.bottomsheet +package org.sopt.teamdateroad.presentation.ui.component.bottomsheet import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -18,9 +18,9 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker -import org.sopt.dateroad.presentation.ui.component.numberpicker.DateRoadNumberPicker -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker +import org.sopt.teamdateroad.presentation.ui.component.numberpicker.DateRoadNumberPicker +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt index a8a38b251..5a36e582c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/DateRoadRegionBottomSheet.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.bottomsheet +package org.sopt.teamdateroad.presentation.ui.component.bottomsheet import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement @@ -32,16 +32,16 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.type.GyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.type.SeoulAreaType -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.type.DateRoadRegionBottomSheetType -import org.sopt.dateroad.presentation.ui.component.chip.DateRoadTextChip -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.SeoulAreaType +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.DateRoadRegionBottomSheetType +import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadTextChip +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalMaterial3Api::class, ExperimentalLayoutApi::class) @Composable diff --git a/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt new file mode 100644 index 000000000..8ccae52f2 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/bottomsheet/model/Picker.kt @@ -0,0 +1,9 @@ +package org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model + +import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.PickerState + +data class Picker( + val items: List, + val startIndex: Int = 0, + val pickerState: PickerState = PickerState() +) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt index 31f21f391..85afa5946 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadAreaButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadAreaButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -12,9 +12,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadAreaButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt index 7d3c01def..148ec5fdb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadBasicButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadBasicButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth @@ -7,8 +7,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadBasicButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt index 3e5cbccb2..1363f5289 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -12,7 +12,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.util.modifier.noRippleDebounceClickable +import org.sopt.teamdateroad.presentation.util.modifier.noRippleDebounceClickable @Composable fun DateRoadButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt index a0cd64162..2a17c8a13 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadFilledButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadFilledButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.Column import androidx.compose.material3.Text @@ -10,8 +10,8 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadFilledButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt index f45a94264..7b562d4a9 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadImageButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadImageButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.Column import androidx.compose.material3.Icon @@ -9,9 +9,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadImageButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt index 9b92a774b..150f2f0bf 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadKakaoLoginButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Row @@ -20,9 +20,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.em import androidx.compose.ui.unit.sp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadKakaoLoginButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt index 13a005d44..87a9b3f0b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadOutlinedButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text @@ -10,8 +10,8 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadOutlinedButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt index 02fb905c2..047fd9dcf 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/button/DateRoadTextButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/button/DateRoadTextButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.button +package org.sopt.teamdateroad.presentation.ui.component.button import androidx.compose.foundation.layout.Column import androidx.compose.material3.Text @@ -9,8 +9,8 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadTextButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt index 53f8de4e8..fc1f9c1eb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadCourseCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadCourseCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.card +package org.sopt.teamdateroad.presentation.ui.component.card import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -24,12 +24,12 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadCourseCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt index ba0028ef4..263fc0d86 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/card/DateRoadPlaceCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/card/DateRoadPlaceCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.card +package org.sopt.teamdateroad.presentation.ui.component.card import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -20,12 +20,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.presentation.type.PlaceCardType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.presentation.type.PlaceCardType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadPlaceCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt index 301a3bc96..ca53c8808 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadChip.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadChip.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.chip +package org.sopt.teamdateroad.presentation.ui.component.chip import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -8,8 +8,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable @Composable fun DateRoadChip( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt index 3bd5426b6..4491bbee6 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadImageChip.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadImageChip.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.chip +package org.sopt.teamdateroad.presentation.ui.component.chip import androidx.annotation.DrawableRes import androidx.annotation.StringRes @@ -15,8 +15,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.DateTagType @Composable fun DateRoadImageChip( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt similarity index 93% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt index 625ce0239..351cc774a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chip/DateRoadTextChip.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chip/DateRoadTextChip.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.chip +package org.sopt.teamdateroad.presentation.ui.component.chip import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -9,7 +9,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.ChipType @Composable fun DateRoadTextChip( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt index 32967c01f..ab62d948a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/chipgroup/DateRoadDateChipGroup.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.chipgroup +package org.sopt.teamdateroad.presentation.ui.component.chipgroup import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -17,12 +17,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.type.DateChipGroupType -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.ui.component.chip.DateRoadImageChip -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.DateChipGroupType +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadImageChip +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalLayoutApi::class) @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt index f693d21d1..dd6f3311d 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadDialog.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadDialog.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dialog +package org.sopt.teamdateroad.presentation.ui.component.dialog import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -16,10 +16,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog -import org.sopt.dateroad.presentation.type.OneButtonDialogType -import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.type.TwoButtonDialogType -import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.type.OneButtonDialogType +import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType @Composable fun DateRoadDialog( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt index c5b3e6488..84a68d14d 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialog.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dialog +package org.sopt.teamdateroad.presentation.ui.component.dialog import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -15,9 +15,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.OneButtonDialogType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.OneButtonDialogType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadOneButtonDialog( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt index 33682f027..ce5bb7787 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadOneButtonDialogWithDescription.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dialog +package org.sopt.teamdateroad.presentation.ui.component.dialog import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -15,9 +15,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadOneButtonDialogWithDescription( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt index 6ea966795..155d76357 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialog.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dialog +package org.sopt.teamdateroad.presentation.ui.component.dialog import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -17,9 +17,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.TwoButtonDialogType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadTwoButtonDialog( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt index d003950b5..f65b8db16 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dialog/DateRoadTwoButtonDialogWithDescription.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dialog +package org.sopt.teamdateroad.presentation.ui.component.dialog import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -17,9 +17,9 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadTwoButtonDialogWithDescription( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt index d0ecbca77..adfc59cda 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/dotsindicator/DotsIndicator.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.dotsindicator +package org.sopt.teamdateroad.presentation.ui.component.dotsindicator import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -11,7 +11,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DotsIndicator(totalDots: Int, selectedIndex: Int, modifier: Modifier = Modifier, indicatorSize: Dp) { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt index 979a8fc18..09c42f23a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/DateRoadNumberPicker.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.numberpicker +package org.sopt.teamdateroad.presentation.ui.component.numberpicker import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.gestures.snapping.rememberSnapFlingBehavior @@ -31,10 +31,10 @@ import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.map -import org.sopt.dateroad.presentation.ui.component.numberpicker.state.PickerState -import org.sopt.dateroad.presentation.ui.component.numberpicker.state.rememberPickerState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.PickerState +import org.sopt.teamdateroad.presentation.ui.component.numberpicker.state.rememberPickerState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt index 7c3fc7ed6..f096c833b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/numberpicker/state/PickerState.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/numberpicker/state/PickerState.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.numberpicker.state +package org.sopt.teamdateroad.presentation.ui.component.numberpicker.state import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt index de6c7eccd..e0ab66cce 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/pager/DateRoadImagePager.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/pager/DateRoadImagePager.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.pager +package org.sopt.teamdateroad.presentation.ui.component.pager import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.aspectRatio @@ -16,10 +16,10 @@ import coil.request.ImageRequest import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag @OptIn(ExperimentalPagerApi::class) @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt index 549358653..3a18300ca 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/partialcolortext/PartialColorText.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/partialcolortext/PartialColorText.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.partialcolortext +package org.sopt.teamdateroad.presentation.ui.component.partialcolortext import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt index d806a4aac..1eb2ba990 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tabbar/DateRoadTabBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.tabbar +package org.sopt.teamdateroad.presentation.ui.component.tabbar import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.FastOutSlowInEasing @@ -30,9 +30,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme enum class SubComposeID { HEIGHT, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt index 0847a5142..e779e5f3f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadImageTag.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadImageTag.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.tag +package org.sopt.teamdateroad.presentation.ui.component.tag import androidx.annotation.DrawableRes import androidx.compose.foundation.Image @@ -14,10 +14,10 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @Composable fun DateRoadImageTag( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt index 1fbdb95ee..96de7b588 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadPointTag.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadPointTag.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.tag +package org.sopt.teamdateroad.presentation.ui.component.tag import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -21,10 +21,10 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadPointTag( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt index a0d9e888c..a132a2131 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTag.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTag.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.tag +package org.sopt.teamdateroad.presentation.ui.component.tag import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.type.TagType @Composable fun DateRoadTag( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt index 02356d1a4..cdf360daa 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/tag/DateRoadTextTag.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/tag/DateRoadTextTag.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.presentation.ui.component.tag +package org.sopt.teamdateroad.presentation.ui.component.tag import androidx.compose.foundation.layout.Column import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @Composable fun DateRoadTextTag( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt index 164d68086..01d428505 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadBasicTextField.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.textfield +package org.sopt.teamdateroad.presentation.ui.component.textfield import androidx.annotation.DrawableRes import androidx.compose.foundation.background @@ -31,10 +31,10 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadBasicTextField( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt index bb49dfe59..5cf959306 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextArea.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextArea.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.textfield +package org.sopt.teamdateroad.presentation.ui.component.textfield import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -24,9 +24,9 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadTextArea( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt similarity index 95% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt index bf7289e18..14f9350b4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/DateRoadTextFieldWithButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.textfield +package org.sopt.teamdateroad.presentation.ui.component.textfield import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -26,11 +26,11 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadTextFieldWithButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt index 153372e1f..f753ddcc2 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/textfield/model/TextFieldValidateResult.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.textfield.model +package org.sopt.teamdateroad.presentation.ui.component.textfield.model sealed class TextFieldValidateResult { data object Basic : TextFieldValidateResult() diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt index c81f763f9..527d14b49 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadBasicTopBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.topbar +package org.sopt.teamdateroad.presentation.ui.component.topbar import androidx.annotation.DrawableRes import androidx.compose.foundation.background @@ -23,10 +23,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadBasicTopBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt index b5208f8f2..3465d1cf8 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadLeftTitleTopBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.topbar +package org.sopt.teamdateroad.presentation.ui.component.topbar import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -13,8 +13,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadLeftTitleTopBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt index afdd33eca..48416b9db 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/topbar/DateRoadScrollResponsiveTopBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.topbar +package org.sopt.teamdateroad.presentation.ui.component.topbar import androidx.annotation.DrawableRes import androidx.compose.foundation.background @@ -10,9 +10,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadScrollResponsiveTopBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt index aa87d367a..05d3b708a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DataRoadIdeView.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DataRoadIdeView.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.component.view +package org.sopt.teamdateroad.presentation.ui.component.view import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadIdleView( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt index 8238daa2b..459f5bc19 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadEmptyView.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadEmptyView.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.view +package org.sopt.teamdateroad.presentation.ui.component.view import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement @@ -15,9 +15,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadEmptyView( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt index e01d78e6c..bf2991f7c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadErrorView.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadErrorView.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.view +package org.sopt.teamdateroad.presentation.ui.component.view import androidx.activity.compose.LocalOnBackPressedDispatcherOwner import androidx.compose.foundation.Image @@ -17,9 +17,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadErrorView() { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt index a44f24255..3b088a724 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadLoadingView.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadLoadingView.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.view +package org.sopt.teamdateroad.presentation.ui.component.view import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -16,10 +16,10 @@ import com.airbnb.lottie.compose.LottieCompositionSpec import com.airbnb.lottie.compose.LottieConstants import com.airbnb.lottie.compose.rememberLottieAnimatable import com.airbnb.lottie.compose.rememberLottieComposition -import org.sopt.dateroad.presentation.util.LoadingView.CLIPMAX -import org.sopt.dateroad.presentation.util.LoadingView.CLIPMIN -import org.sopt.dateroad.presentation.util.LoadingView.LOTTIE -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.util.LoadingView.CLIP_MAX +import org.sopt.teamdateroad.presentation.util.LoadingView.CLIP_MIN +import org.sopt.teamdateroad.presentation.util.LoadingView.LOTTIE +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadLoadingView() { @@ -31,7 +31,7 @@ fun DateRoadLoadingView() { LaunchedEffect(composition) { lottieAnimatable.animate( composition = composition, - clipSpec = LottieClipSpec.Frame(CLIPMIN, CLIPMAX), + clipSpec = LottieClipSpec.Frame(CLIP_MIN, CLIP_MAX), initialProgress = 0f, iteration = LottieConstants.IterateForever ) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt similarity index 96% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt index 3364e6d20..13e65bb87 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/component/view/DateRoadWebView.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/component/view/DateRoadWebView.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.component.view +package org.sopt.teamdateroad.presentation.ui.component.view import android.webkit.WebViewClient import androidx.activity.compose.BackHandler diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt index b7dc018d2..0b0c80710 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailContract.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.coursedetail +package org.sopt.teamdateroad.presentation.ui.coursedetail -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class CourseDetailContract { data class CourseDetailUiState( @@ -23,7 +23,8 @@ class CourseDetailContract { val currentImagePage: Int = 0, val usePointLoadState: LoadState = LoadState.Idle, val deleteLoadState: LoadState = LoadState.Idle, - var isWebViewOpened: Boolean = false + var isWebViewOpened: Boolean = false, + var hasPointReadDialogOpened: Boolean = false ) : UiState sealed interface CourseDetailSideEffect : UiSideEffect { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt index 351966d45..a8c22b973 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail +package org.sopt.teamdateroad.presentation.ui.coursedetail import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -26,30 +26,38 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.PagerState -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.presentation.type.CourseDetailUnopenedDetailType -import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription -import org.sopt.dateroad.presentation.ui.component.pager.DateRoadImagePager -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView -import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailBasicInfo -import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailBottomBar -import org.sopt.dateroad.presentation.ui.coursedetail.component.CourseDetailUnopenedDetail -import org.sopt.dateroad.presentation.ui.coursedetail.component.courseDetailOpenedDetail -import org.sopt.dateroad.presentation.util.ViewPath.COURSE_DETAIL -import org.sopt.dateroad.presentation.util.WebViewUrl.REPORT_URL -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.presentation.type.CourseDetailUnopenedDetailType +import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription +import org.sopt.teamdateroad.presentation.ui.component.pager.DateRoadImagePager +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadScrollResponsiveTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView +import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailBasicInfo +import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailBottomBar +import org.sopt.teamdateroad.presentation.ui.coursedetail.component.CourseDetailUnopenedDetail +import org.sopt.teamdateroad.presentation.ui.coursedetail.component.courseDetailOpenedDetail +import org.sopt.teamdateroad.presentation.util.CourseDetail.POINT_LACK +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_BACK +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_PURCHASE +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_ID +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_TITLE +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.PURCHASE_SUCCESS +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.VIEW_COURSE_DETAILS +import org.sopt.teamdateroad.presentation.util.ViewPath.COURSE_DETAIL +import org.sopt.teamdateroad.presentation.util.WebViewUrl.REPORT_URL +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailRoute( @@ -75,6 +83,20 @@ fun CourseDetailRoute( viewModel.fetchCourseDetail(courseId = courseId) } + LaunchedEffect(uiState.loadState, lifecycleOwner) { + if (uiState.loadState == LoadState.Success) { + with(uiState.courseDetail) { + AmplitudeUtils.trackEventWithProperties( + eventName = VIEW_COURSE_DETAILS, + mapOf( + COURSE_LIST_ID to courseId, + COURSE_LIST_TITLE to title + ) + ) + } + } + } + when (uiState.loadState) { LoadState.Idle -> DateRoadIdleView() @@ -111,7 +133,16 @@ fun CourseDetailRoute( onReportCourseBottomSheet = { viewModel.setEvent(CourseDetailContract.CourseDetailEvent.OnReportCourseBottomSheet) }, dismissReportCourseBottomSheet = { viewModel.setEvent(CourseDetailContract.CourseDetailEvent.DismissReportCourseBottomSheet) }, enrollSchedule = { viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.NavigateToEnroll(enrollType = EnrollType.TIMELINE, viewPath = COURSE_DETAIL, id = courseId)) }, - onTopBarIconClicked = { viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.PopBackStack) }, + onTopBarIconClicked = { + viewModel.setSideEffect(CourseDetailContract.CourseDetailSideEffect.PopBackStack) + AmplitudeUtils.trackEventWithProperties( + eventName = CLICK_COURSE_BACK, + properties = mapOf( + CLICK_COURSE_PURCHASE to uiState.hasPointReadDialogOpened, + PURCHASE_SUCCESS to uiState.courseDetail.isAccess + ) + ) + }, openCourseDetail = { viewModel.postUsePoint(courseId = courseId) }, onReportButtonClicked = { viewModel.setEvent(CourseDetailContract.CourseDetailEvent.OnReportWebViewClicked) @@ -270,7 +301,7 @@ fun CourseDetailScreen( onDismissRequest = { dismissDialogLookedByPoint() }, onClickConfirm = { dismissDialogLookedByPoint() - if (courseDetailUiState.courseDetail.totalPoint < 50) { + if (courseDetailUiState.courseDetail.totalPoint < POINT_LACK) { onDialogPointLack() } else { openCourseDetail() diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt index ecb9a3cf5..d922ec447 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/CourseDetailViewModel.kt @@ -1,18 +1,24 @@ -package org.sopt.dateroad.presentation.ui.coursedetail +package org.sopt.teamdateroad.presentation.ui.coursedetail import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.model.UsePoint -import org.sopt.dateroad.domain.usecase.DeleteCourseLikeUseCase -import org.sopt.dateroad.domain.usecase.DeleteCourseUseCase -import org.sopt.dateroad.domain.usecase.GetCourseDetailUseCase -import org.sopt.dateroad.domain.usecase.PostCourseLikeUseCase -import org.sopt.dateroad.domain.usecase.PostUsePointUseCase -import org.sopt.dateroad.presentation.util.Point -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.UsePoint +import org.sopt.teamdateroad.domain.usecase.DeleteCourseLikeUseCase +import org.sopt.teamdateroad.domain.usecase.DeleteCourseUseCase +import org.sopt.teamdateroad.domain.usecase.GetCourseDetailUseCase +import org.sopt.teamdateroad.domain.usecase.PostCourseLikeUseCase +import org.sopt.teamdateroad.domain.usecase.PostUsePointUseCase +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.CLICK_COURSE_LIKES +import org.sopt.teamdateroad.presentation.util.CourseDetailAmplitude.COURSE_LIST_LIKE +import org.sopt.teamdateroad.presentation.util.Point +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_FREE_REMAINED +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_PURCHASE_COUNT +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class CourseDetailViewModel @Inject constructor( @@ -34,7 +40,7 @@ class CourseDetailViewModel @Inject constructor( is CourseDetailContract.CourseDetailEvent.DismissDialogDeleteCourse -> setState { copy(isDeleteCourseDialogOpen = false) } is CourseDetailContract.CourseDetailEvent.OnDialogReportCourse -> setState { copy(isReportCourseDialogOpen = true) } is CourseDetailContract.CourseDetailEvent.DismissDialogReportCourse -> setState { copy(isReportCourseDialogOpen = false) } - is CourseDetailContract.CourseDetailEvent.OnDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = true) } + is CourseDetailContract.CourseDetailEvent.OnDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = true, hasPointReadDialogOpened = true) } is CourseDetailContract.CourseDetailEvent.DismissDialogLookedByPoint -> setState { copy(isPointReadDialogOpen = false) } is CourseDetailContract.CourseDetailEvent.OnLikeButtonClicked -> setState { copy(isLikedButtonChecked = !isLikedButtonChecked) } is CourseDetailContract.CourseDetailEvent.OnDeleteCourseBottomSheet -> setState { copy(isDeleteCourseBottomSheetOpen = true) } @@ -56,6 +62,7 @@ class CourseDetailViewModel @Inject constructor( setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail)) deleteCourseLikeUseCase(courseId = courseId).onSuccess { setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail.copy(isUserLiked = false, like = currentState.courseDetail.like - 1))) + AmplitudeUtils.trackEventWithProperty(eventName = CLICK_COURSE_LIKES, propertyName = COURSE_LIST_LIKE, propertyValue = currentState.courseDetail.isUserLiked) }.onFailure { setEvent(CourseDetailContract.CourseDetailEvent.DeleteCourseLike(courseDetail = currentState.courseDetail)) } @@ -80,6 +87,7 @@ class CourseDetailViewModel @Inject constructor( ) postCourseLikeUseCase(courseId = courseId).onSuccess { setEvent(CourseDetailContract.CourseDetailEvent.PostCourseLike(courseDetail = currentState.courseDetail.copy(isUserLiked = true, like = currentState.courseDetail.like + 1))) + AmplitudeUtils.trackEventWithProperty(eventName = CLICK_COURSE_LIKES, propertyName = COURSE_LIST_LIKE, propertyValue = currentState.courseDetail.isUserLiked) }.onFailure { setEvent(CourseDetailContract.CourseDetailEvent.PostCourseLike(courseDetail = currentState.courseDetail)) } @@ -89,8 +97,11 @@ class CourseDetailViewModel @Inject constructor( fun postUsePoint(courseId: Int) { viewModelScope.launch { setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Loading, isAccess = currentState.courseDetail.isAccess)) - postUsePointUseCase(courseId = courseId, usePoint = UsePoint(Point.POINT, Point.POINT_USED, Point.POINT_USED_DESCRIPTION)).onSuccess { + postUsePointUseCase(courseId = courseId, usePoint = UsePoint(Point.POINT, Point.POINT_USED, Point.POINT_USED_DESCRIPTION)).onSuccess { result -> setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Success, isAccess = true)) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = result.userPoint) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_FREE_REMAINED, propertyValue = result.userFreeRemained) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_PURCHASE_COUNT, propertyValue = result.userPurchaseCount.toInt()) }.onFailure { setEvent(CourseDetailContract.CourseDetailEvent.PostUsePoint(usePointLoadState = LoadState.Error, isAccess = currentState.courseDetail.isAccess)) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt index adb335cc3..fc236fd04 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBasicInfo.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -8,7 +8,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailBasicInfo( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt index d5750d661..554195a31 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailBottomBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -20,10 +20,10 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailBottomBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt index 254bd7478..cbba74976 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailCost.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Spacer @@ -12,8 +12,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailCost( @@ -22,7 +22,7 @@ fun CourseDetailCost( Spacer(modifier = Modifier.height(14.dp)) Text( modifier = Modifier.padding(horizontal = 16.dp), - text = stringResource(id = R.string.course_total_cost_string), + text = stringResource(id = R.string.course_detail_total_cost_string), style = DateRoadTheme.typography.titleBold18, color = DateRoadTheme.colors.black ) diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt index b5b7430fc..56fa387fe 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailInfoBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Row @@ -12,8 +12,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailInfoBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt index 53d808d52..4a46c9412 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailOpenedDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -7,9 +7,9 @@ import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.ui.theme.DateRoadTheme fun LazyListScope.courseDetailOpenedDetail( description: String, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt index f0b01c965..2c2fbd362 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTag.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -13,11 +13,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.ui.component.chip.DateRoadImageChip -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadImageChip +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailTag( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt index 0cbdb6b1d..9141bf5e4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailTimeline.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height @@ -8,11 +8,11 @@ import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.presentation.type.PlaceCardType -import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.presentation.type.PlaceCardType +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard +import org.sopt.teamdateroad.ui.theme.DateRoadTheme fun LazyListScope.courseDetailTimeline( startAt: String, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt index 1c288ea63..4274c68d4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/component/CourseDetailUnopenedDetail.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.component +package org.sopt.teamdateroad.presentation.ui.coursedetail.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -17,10 +17,10 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.CourseDetailUnopenedDetailType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.CourseDetailUnopenedDetailType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun CourseDetailUnopenedDetail( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt index a01666ff6..aa054abbf 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/coursedetail/navigation/CourseDetailNavigation.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.presentation.ui.coursedetail.navigation +package org.sopt.teamdateroad.presentation.ui.coursedetail.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.coursedetail.CourseDetailRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.coursedetail.CourseDetailRoute fun NavController.navigationCourseDetail(courseId: Int) { this.navigate(route = CourseDetailRoute.route(courseId = courseId)) @@ -36,5 +36,6 @@ object CourseDetailRoute { private const val ROUTE = "courseDetail" const val ID = "id" const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ID}" + fun route(courseId: Int) = "$ROUTE/$courseId" } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt similarity index 65% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt index c9e34e5dd..e1a6261ab 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollContract.kt @@ -1,19 +1,32 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll -import org.sopt.dateroad.domain.model.CourseDetail -import org.sopt.dateroad.domain.model.Enroll -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.presentation.type.EnrollScreenType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.util.TimePicker -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.CourseDetail +import org.sopt.teamdateroad.domain.model.Enroll +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.presentation.type.EnrollScreenType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.util.DatePicker.DAY_END +import org.sopt.teamdateroad.presentation.util.DatePicker.DAY_START +import org.sopt.teamdateroad.presentation.util.DatePicker.MONTH_END +import org.sopt.teamdateroad.presentation.util.DatePicker.MONTH_START +import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_END +import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_START +import org.sopt.teamdateroad.presentation.util.DatePicker.YEAR_START_INDEX +import org.sopt.teamdateroad.presentation.util.DurationPicker.DURATION_END +import org.sopt.teamdateroad.presentation.util.DurationPicker.DURATION_START +import org.sopt.teamdateroad.presentation.util.TimePicker +import org.sopt.teamdateroad.presentation.util.TimePicker.HOUR_END +import org.sopt.teamdateroad.presentation.util.TimePicker.HOUR_START +import org.sopt.teamdateroad.presentation.util.TimePicker.MINUTE_END +import org.sopt.teamdateroad.presentation.util.TimePicker.MINUTE_START +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class EnrollContract { data class EnrollUiState( @@ -27,15 +40,15 @@ class EnrollContract { val dateValidateState: TextFieldValidateResult = TextFieldValidateResult.Basic, val isDatePickerBottomSheetOpen: Boolean = false, val datePickers: List = listOf( - Picker(items = (2000..2024).map { it.toString() }, startIndex = 24), - Picker(items = (1..12).map { it.toString() }), - Picker(items = (1..31).map { it.toString() }) + Picker(items = (YEAR_START..YEAR_END).map { it.toString() }, startIndex = YEAR_START_INDEX), + Picker(items = (MONTH_START..MONTH_END).map { it.toString() }), + Picker(items = (DAY_START..DAY_END).map { it.toString() }) ), val isTimePickerBottomSheetOpen: Boolean = false, val timePickers: List = listOf( Picker(items = listOf(TimePicker.AM, TimePicker.PM)), - Picker(items = (1..12).map { it.toString() }), - Picker(items = (0..59).map { it.toString().padStart(2, '0') }) + Picker(items = (HOUR_START..HOUR_END).map { it.toString() }), + Picker(items = (MINUTE_START..MINUTE_END).map { it.toString().padStart(2, '0') }) ), val isRegionBottomSheetOpen: Boolean = false, val onRegionBottomSheetRegionSelected: RegionType? = RegionType.SEOUL, @@ -43,7 +56,7 @@ class EnrollContract { val place: Place = Place(), val isPlaceEditable: Boolean = true, val isDurationBottomSheetOpen: Boolean = false, - val durationPicker: List = listOf(Picker(items = (1..12).map { (it * 0.5).toString() })), + val durationPicker: List = listOf(Picker(items = (DURATION_START..DURATION_END).map { (it * 0.5).toString() })), val isEnrollSuccessDialogOpen: Boolean = false ) : UiState diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt index ab73e0405..ff31161b4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollFirstScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollFirstScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -12,17 +12,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.type.GyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType -import org.sopt.dateroad.domain.type.SeoulAreaType -import org.sopt.dateroad.presentation.type.DateChipGroupType -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName -import org.sopt.dateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup -import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType +import org.sopt.teamdateroad.domain.type.SeoulAreaType +import org.sopt.teamdateroad.presentation.type.DateChipGroupType +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName +import org.sopt.teamdateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup +import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @Composable fun EnrollFirstScreen( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt index 52dda626a..fa56b1f6c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll import android.net.Uri import android.os.Build @@ -31,68 +31,70 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import java.time.LocalDate import java.time.format.DateTimeFormatter -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.presentation.type.DateRoadRegionBottomSheetType -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.EnrollScreenType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.type.OneButtonDialogType -import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialog -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.enroll.component.EnrollPhotos -import org.sopt.dateroad.presentation.util.DatePicker -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_BRING_COURSE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE1_BACK -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE2_BACK -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_COURSE3_BACK -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE1_BACK -import org.sopt.dateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE2_BACK -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_BOOL -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_NUM -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_COST -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_DATE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_IMAGE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_LOCATION -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_START_TIME -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_TAGS -import org.sopt.dateroad.presentation.util.EnrollAmplitude.COURSE_TITLE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_AREA -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_COURSE_NUM -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DATE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_LOCATION -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_TIME -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_LOCATION -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_SPEND_TIME -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TAG_NUM -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TIME -import org.sopt.dateroad.presentation.util.EnrollAmplitude.DATE_TITLE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.LOCATION_NUM -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE2 -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE2 -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_COURSE1 -import org.sopt.dateroad.presentation.util.EnrollAmplitude.VIEW_PATH -import org.sopt.dateroad.presentation.util.EnrollScreen.MAX_ITEMS -import org.sopt.dateroad.presentation.util.EnrollScreen.TITLE_MIN_LENGTH -import org.sopt.dateroad.presentation.util.TimePicker -import org.sopt.dateroad.presentation.util.TimelineAmplitude.CLICK_ADD_SCHEDULE -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.presentation.type.DateRoadRegionBottomSheetType +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.EnrollScreenType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.type.OneButtonDialogType +import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialog +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.enroll.component.EnrollPhotos +import org.sopt.teamdateroad.presentation.util.DatePicker +import org.sopt.teamdateroad.presentation.util.DatePicker.SEPARATOR +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_BRING_COURSE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE1_BACK +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE2_BACK +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_COURSE3_BACK +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE1_BACK +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.CLICK_SCHEDULE2_BACK +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_BOOL +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_CONTENT_NUM +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_COST +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_DATE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_IMAGE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_LOCATION +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_START_TIME +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_TAGS +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.COURSE_TITLE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_AREA +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_COURSE_NUM +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DATE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_LOCATION +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_DETAIL_TIME +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_LOCATION +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_SPEND_TIME +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TAG_NUM +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TIME +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.DATE_TITLE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.LOCATION_NUM +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_BRING_COURSE2 +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_ADD_SCHEDULE2 +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_COURSE1 +import org.sopt.teamdateroad.presentation.util.EnrollAmplitude.VIEW_PATH +import org.sopt.teamdateroad.presentation.util.EnrollScreen.MAX_ITEMS +import org.sopt.teamdateroad.presentation.util.EnrollScreen.TITLE_MIN_LENGTH +import org.sopt.teamdateroad.presentation.util.GalleryLauncher.INPUT +import org.sopt.teamdateroad.presentation.util.TimePicker +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.CLICK_ADD_SCHEDULE +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun EnrollRoute( @@ -258,7 +260,7 @@ fun EnrollRoute( onDurationBottomSheetDismissRequest = { viewModel.setEvent(EnrollContract.EnrollEvent.OnDurationBottomSheetDismissRequest) }, onPhotoButtonClick = { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - getGalleryLauncher.launch("image/*") + getGalleryLauncher.launch(INPUT) } else { getPhotoPickerLauncher.launch( PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly) @@ -389,21 +391,23 @@ fun EnrollScreen( leftIconResource = R.drawable.ic_top_bar_back_white, onLeftIconClick = onTopBarBackButtonClick, buttonContent = { - Row { - DateRoadFilledButton( - isEnabled = true, - textContent = stringResource(id = R.string.top_bar_button_text_load), - onClick = onTopBarLoadButtonClick, - textStyle = DateRoadTheme.typography.bodyMed13, - enabledBackgroundColor = DateRoadTheme.colors.purple600, - enabledTextColor = DateRoadTheme.colors.white, - disabledBackgroundColor = DateRoadTheme.colors.gray200, - disabledTextColor = DateRoadTheme.colors.gray400, - cornerRadius = 20.dp, - paddingHorizontal = 10.dp, - paddingVertical = 5.dp - ) - Spacer(modifier = Modifier.width(16.dp)) + if (enrollUiState.page == EnrollScreenType.FIRST) { + Row { + DateRoadFilledButton( + isEnabled = true, + textContent = stringResource(id = R.string.top_bar_button_text_load), + onClick = onTopBarLoadButtonClick, + textStyle = DateRoadTheme.typography.bodyMed13, + enabledBackgroundColor = DateRoadTheme.colors.purple600, + enabledTextColor = DateRoadTheme.colors.white, + disabledBackgroundColor = DateRoadTheme.colors.gray200, + disabledTextColor = DateRoadTheme.colors.gray400, + cornerRadius = 20.dp, + paddingHorizontal = 10.dp, + paddingVertical = 5.dp + ) + Spacer(modifier = Modifier.width(16.dp)) + } } } ) @@ -463,7 +467,7 @@ fun EnrollScreen( buttonText = stringResource(id = R.string.apply), onButtonClick = { onDatePickerBottomSheetButtonClick( - enrollUiState.datePickers.joinToString(separator = ".") { it.pickerState.selectedItem.padStart(2, '0') } + enrollUiState.datePickers.joinToString(separator = SEPARATOR) { it.pickerState.selectedItem.padStart(2, '0') } ) }, onDismissRequest = onDatePickerBottomSheetDismissRequest, @@ -497,7 +501,7 @@ fun EnrollScreen( }, titleText = stringResource(id = R.string.region_bottom_sheet_title), buttonText = stringResource(id = R.string.apply), - onButtonClick = { regoion, area -> onRegionBottomSheetButtonClick(regoion, area) }, + onButtonClick = { region, area -> onRegionBottomSheetButtonClick(region, area) }, onDismissRequest = onRegionBottomSheetDismissRequest ) @@ -534,7 +538,7 @@ fun EnrollScreen( } fun formatTime(time: List): String { - val period = if (time[0] == TimePicker.AM) "AM" else "PM" + val period = if (time[0] == TimePicker.AM) TimePicker.AM_ENG else TimePicker.PM_ENG val hour = time[1].padStart(2, '0') val minute = time[2].padStart(2, '0') return "$hour:$minute $period" diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt index 348bfb0a4..c5c1e7d60 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollSecondScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollSecondScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll import android.annotation.SuppressLint import androidx.compose.animation.core.animateFloatAsState @@ -33,17 +33,17 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.zIndex import kotlinx.coroutines.Job import kotlinx.coroutines.launch -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.presentation.type.PlaceCardType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton -import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard -import org.sopt.dateroad.presentation.ui.enroll.component.EnrollPlaceInsertBar -import org.sopt.dateroad.presentation.util.Time -import org.sopt.dateroad.presentation.util.draganddrop.rememberDragAndDropListState -import org.sopt.dateroad.presentation.util.mutablelist.move -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.presentation.type.PlaceCardType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard +import org.sopt.teamdateroad.presentation.ui.enroll.component.EnrollPlaceInsertBar +import org.sopt.teamdateroad.presentation.util.Time +import org.sopt.teamdateroad.presentation.util.draganddrop.rememberDragAndDropListState +import org.sopt.teamdateroad.presentation.util.mutablelist.move +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @SuppressLint("UnrememberedMutableState", "UnnecessaryComposedModifier") @Composable diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt index 55ba14310..58415bbb0 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollThirdScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollThirdScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer @@ -13,11 +13,11 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField -import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadTextArea -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField +import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadTextArea +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @Composable fun EnrollThirdScreen( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt index 29cb0e857..5b8489e9e 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/EnrollViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/EnrollViewModel.kt @@ -1,20 +1,24 @@ -package org.sopt.dateroad.presentation.ui.enroll +package org.sopt.teamdateroad.presentation.ui.enroll import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.data.dataremote.util.Date.NEAREST_DATE_START_OUTPUT_FORMAT -import org.sopt.dateroad.data.mapper.toEntity.toEnroll -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.usecase.GetCourseDetailUseCase -import org.sopt.dateroad.domain.usecase.GetTimelineDetailUseCase -import org.sopt.dateroad.domain.usecase.PostCourseUseCase -import org.sopt.dateroad.domain.usecase.PostTimelineUseCase -import org.sopt.dateroad.presentation.type.EnrollScreenType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.data.dataremote.util.Date.NEAREST_DATE_START_OUTPUT_FORMAT +import org.sopt.teamdateroad.data.mapper.toEntity.toEnroll +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.usecase.GetCourseDetailUseCase +import org.sopt.teamdateroad.domain.usecase.GetTimelineDetailUseCase +import org.sopt.teamdateroad.domain.usecase.PostCourseUseCase +import org.sopt.teamdateroad.domain.usecase.PostTimelineUseCase +import org.sopt.teamdateroad.presentation.type.EnrollScreenType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.DATE_SCHEDULE_NUM +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_COURSE_COUNT +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class EnrollViewModel @Inject constructor( @@ -142,8 +146,10 @@ class EnrollViewModel @Inject constructor( private fun postCourse() { viewModelScope.launch { setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Loading)) - postCourseUseCase(enroll = currentState.enroll).onSuccess { + postCourseUseCase(enroll = currentState.enroll).onSuccess { result -> setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Success)) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = result.userPoint) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_COURSE_COUNT, propertyValue = result.userCourseCount.toInt()) }.onFailure { setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Error)) } @@ -153,8 +159,9 @@ class EnrollViewModel @Inject constructor( private fun postTimeline() { viewModelScope.launch { setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Loading)) - postTimelineUseCase(enroll = currentState.enroll).onSuccess { + postTimelineUseCase(enroll = currentState.enroll).onSuccess { result -> setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Success)) + AmplitudeUtils.updateIntUserProperty(propertyName = DATE_SCHEDULE_NUM, propertyValue = result.dateScheduleNum.toInt()) }.onFailure { setEvent(EnrollContract.EnrollEvent.Enroll(loadState = LoadState.Error)) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt index 75388a6ce..fabe70332 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollAddPhotoButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll.component +package org.sopt.teamdateroad.presentation.ui.enroll.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -21,10 +21,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun EnrollAddPhotoButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt index edb1c05ef..f2151a220 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotoPreviewCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll.component +package org.sopt.teamdateroad.presentation.ui.enroll.component import android.content.Context import androidx.compose.foundation.Image @@ -21,10 +21,10 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun EnrollPhotoPreviewCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt index 991d0d8fe..2faba1b98 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPhotos.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPhotos.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll.component +package org.sopt.teamdateroad.presentation.ui.enroll.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -17,12 +17,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun EnrollPhotos( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt index abd621824..86200b3eb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/component/EnrollPlaceInsertBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll.component +package org.sopt.teamdateroad.presentation.ui.enroll.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -22,14 +22,14 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet -import org.sopt.dateroad.presentation.ui.component.bottomsheet.model.Picker -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadBasicTextField -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadPickerBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.model.Picker +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadBasicTextField +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun EnrollPlaceInsertBar( @@ -96,7 +96,7 @@ fun EnrollPlaceInsertBarPreview() { var title by remember { mutableStateOf("") } var duration by remember { mutableStateOf("") } var isBottomSheetOpen by rememberSaveable { mutableStateOf(false) } - var pickerItems by remember { + val pickerItems by remember { mutableStateOf(listOf(Picker(items = (1..12).map { (it * 0.5).toString() }))) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt index e7138d309..3712c26bb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/enroll/navigation/EnrollNavigation.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.enroll.navigation +package org.sopt.teamdateroad.presentation.ui.enroll.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController @@ -6,10 +6,10 @@ import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.ui.enroll.EnrollRoute -import org.sopt.dateroad.presentation.ui.mycourse.navigation.MyCourseRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.ui.enroll.EnrollRoute +import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.MyCourseRoute fun NavController.navigationEnroll(enrollType: EnrollType, viewPath: String, courseId: Int? = null) { navigate( @@ -58,5 +58,6 @@ object EnrollRoute { const val VIEW_PATH = "viewPath" const val TIMELINE_ID = "timelineId" const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ENROLL_TYPE}/{$VIEW_PATH}/{$TIMELINE_ID}" + fun route(enrollType: EnrollType, viewPath: String, courseId: Int?) = "$ROUTE/${enrollType.name}/$viewPath/$courseId" } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt index a60308d06..24afdf18a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeContract.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.presentation.ui.home +package org.sopt.teamdateroad.presentation.ui.home -import org.sopt.dateroad.domain.model.Advertisement -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Advertisement +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class HomeContract { data class HomeUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt index d14c96047..9e33fdb16 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.home +package org.sopt.teamdateroad.presentation.ui.home import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -36,28 +36,39 @@ import com.google.accompanist.pager.PagerState import com.google.accompanist.pager.rememberPagerState import kotlinx.coroutines.delay import kotlinx.coroutines.launch -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.type.SortByType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MainNavigationBarItemType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton -import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard -import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.home.component.DateRoadHomeTopBar -import org.sopt.dateroad.presentation.ui.home.component.HomeAdvertisement -import org.sopt.dateroad.presentation.ui.home.component.HomeHotCourseCard -import org.sopt.dateroad.presentation.ui.home.component.HomeTimeLineCard -import org.sopt.dateroad.presentation.util.ViewPath.HOME -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.type.SortByType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard +import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.home.component.DateRoadHomeTopBar +import org.sopt.teamdateroad.presentation.ui.home.component.HomeAdvertisement +import org.sopt.teamdateroad.presentation.ui.home.component.HomeHotCourseCard +import org.sopt.teamdateroad.presentation.ui.home.component.HomeTimeLineCard +import org.sopt.teamdateroad.presentation.util.Home.ADVERTISEMENT_DELAY +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_COST +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_ID +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_LOCATION +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.COURSE_LIST_TITLE +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.HOT +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.NEW +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.USER_NAME +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.USER_POINT +import org.sopt.teamdateroad.presentation.util.HomeAmplitude.VIEW_MAIN +import org.sopt.teamdateroad.presentation.util.ViewPath.HOME +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalPagerApi::class) @Composable @@ -84,7 +95,7 @@ fun HomeRoute( viewModel.fetchUserPoint() while (true) { - delay(4000) + delay(ADVERTISEMENT_DELAY) coroutineScope.launch { if (uiState.advertisements.isNotEmpty()) { val nextPage = (pagerState.currentPage + 1) % uiState.advertisements.size @@ -108,6 +119,26 @@ fun HomeRoute( } } + LaunchedEffect(uiState.loadState, lifecycleOwner) { + if (uiState.loadState == LoadState.Success) { + AmplitudeUtils.trackEventWithProperties( + eventName = VIEW_MAIN, + mapOf( + USER_NAME to uiState.userPoint.name, + USER_POINT to uiState.userPoint.point, + COURSE_LIST_ID to + HOT + uiState.topLikedCourses.map { it.courseId }.joinToString() + NEW + uiState.latestCourses.map { it.courseId }.joinToString(), + COURSE_LIST_TITLE to + HOT + uiState.topLikedCourses.joinToString { it.title } + NEW + uiState.latestCourses.joinToString { it.title }, + COURSE_LIST_LOCATION to + HOT + uiState.topLikedCourses.joinToString { it.city } + NEW + uiState.latestCourses.joinToString { it.city }, + COURSE_LIST_COST to + HOT + uiState.topLikedCourses.joinToString { it.cost } + NEW + uiState.latestCourses.joinToString { it.cost } + ) + ) + } + } + when (uiState.loadState) { LoadState.Idle -> DateRoadIdleView() @@ -207,7 +238,7 @@ fun HomeScreen( color = DateRoadTheme.colors.gray400 ) DateRoadTextButton( - textContent = stringResource(id = R.string.button_more), + textContent = stringResource(id = R.string.more), textStyle = DateRoadTheme.typography.bodyBold13, textColor = DateRoadTheme.colors.purple600, paddingHorizontal = 20.dp, @@ -279,7 +310,7 @@ fun HomeScreen( modifier = Modifier.padding(horizontal = 16.dp) ) DateRoadTextButton( - textContent = stringResource(id = R.string.button_more), + textContent = stringResource(id = R.string.more), textStyle = DateRoadTheme.typography.bodyBold13, textColor = DateRoadTheme.colors.purple600, paddingHorizontal = 20.dp, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt index fd988fda9..502b2939b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/HomeViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/HomeViewModel.kt @@ -1,18 +1,18 @@ -package org.sopt.dateroad.presentation.ui.home +package org.sopt.teamdateroad.presentation.ui.home import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.domain.type.SortByType -import org.sopt.dateroad.domain.usecase.GetAdvertisementsUseCase -import org.sopt.dateroad.domain.usecase.GetNearestTimelineUseCase -import org.sopt.dateroad.domain.usecase.GetSortedCoursesUseCase -import org.sopt.dateroad.domain.usecase.GetUserPointUseCase -import org.sopt.dateroad.domain.usecase.SetNicknameUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.domain.type.SortByType +import org.sopt.teamdateroad.domain.usecase.GetAdvertisementsUseCase +import org.sopt.teamdateroad.domain.usecase.GetNearestTimelineUseCase +import org.sopt.teamdateroad.domain.usecase.GetSortedCoursesUseCase +import org.sopt.teamdateroad.domain.usecase.GetUserPointUseCase +import org.sopt.teamdateroad.domain.usecase.SetNicknameUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class HomeViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt index 9e34a2dde..981ea815b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeAdvertisement.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeAdvertisement.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.home.component +package org.sopt.teamdateroad.presentation.ui.home.component import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -14,8 +14,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.domain.model.Advertisement -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.domain.model.Advertisement +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable @Composable fun HomeAdvertisement( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt index 074287cd2..bd839809a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeHotCourseCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeHotCourseCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.home.component +package org.sopt.teamdateroad.presentation.ui.home.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -23,12 +23,12 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun HomeHotCourseCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt similarity index 94% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt index 65c8aaeb1..4cf3c75b4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTimeLineCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTimeLineCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.home.component +package org.sopt.teamdateroad.presentation.ui.home.component import androidx.compose.foundation.Canvas import androidx.compose.foundation.Image @@ -27,12 +27,12 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.NearestTimeline -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.NearestTimeline +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun HomeTimeLineCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt index f9f6d0ed1..f94162d5c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/component/HomeTopBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/component/HomeTopBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.home.component +package org.sopt.teamdateroad.presentation.ui.home.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -14,9 +14,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadPointTag -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadPointTag +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadHomeTopBar( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt index 0f4d121f2..f46fe1536 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/home/navigation/HomeNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/home/navigation/HomeNavigation.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.presentation.ui.home.navigation +package org.sopt.teamdateroad.presentation.ui.home.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MainNavigationBarItemType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.home.HomeRoute +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.home.HomeRoute fun NavController.navigationHome(navOptions: NavOptions) { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt index 26833292f..e7c4d71b3 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookContract.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.presentation.ui.look +package org.sopt.teamdateroad.presentation.ui.look -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class LookContract { data class LookUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt index abf4ea273..b29c0234a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.look +package org.sopt.teamdateroad.presentation.ui.look import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -29,30 +29,30 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.type.GyeonggiAreaType -import org.sopt.dateroad.domain.type.IncheonAreaType -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.type.SeoulAreaType -import org.sopt.dateroad.presentation.type.ChipType -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet -import org.sopt.dateroad.presentation.ui.component.button.DateRoadAreaButton -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.presentation.ui.component.chip.DateRoadTextChip -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.look.component.LookCourseCard -import org.sopt.dateroad.presentation.util.Default -import org.sopt.dateroad.presentation.util.ViewPath.LOOK -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.type.GyeonggiAreaType +import org.sopt.teamdateroad.domain.type.IncheonAreaType +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.type.SeoulAreaType +import org.sopt.teamdateroad.presentation.type.ChipType +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadRegionBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadAreaButton +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.presentation.ui.component.chip.DateRoadTextChip +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.look.component.LookCourseCard +import org.sopt.teamdateroad.presentation.util.Default +import org.sopt.teamdateroad.presentation.util.ViewPath.LOOK +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun LookRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt index 343e88292..2886aa5a8 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/LookViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/LookViewModel.kt @@ -1,14 +1,14 @@ -package org.sopt.dateroad.presentation.ui.look +package org.sopt.teamdateroad.presentation.ui.look import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.type.MoneyTagType -import org.sopt.dateroad.domain.type.RegionType -import org.sopt.dateroad.domain.usecase.GetFilteredCourses -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.type.MoneyTagType +import org.sopt.teamdateroad.domain.type.RegionType +import org.sopt.teamdateroad.domain.usecase.GetFilteredCourses +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class LookViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt index 2941cd549..8e81ef989 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/component/LookCourseCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/component/LookCourseCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.look.component +package org.sopt.teamdateroad.presentation.ui.look.component import android.content.Context import androidx.compose.foundation.Image @@ -30,13 +30,13 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun LookCourseCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt similarity index 75% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt index 4e6dabf23..4dff2a0a4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/look/navigation/LookNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/look/navigation/LookNavigation.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.look.navigation +package org.sopt.teamdateroad.presentation.ui.look.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.look.LookRoute +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.look.LookRoute fun NavController.navigationLook(navOptions: NavOptions) { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt index ac3a89586..732683c34 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseContract.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.mycourse +package org.sopt.teamdateroad.presentation.ui.mycourse -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class MyCourseContract { data class MyCourseUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt index c17f294db..428fa0b31 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.mycourse +package org.sopt.teamdateroad.presentation.ui.mycourse import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -18,24 +18,24 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.util.MyCourseAmplitude.CLICK_PURCHASED_BACK -import org.sopt.dateroad.presentation.util.MyCourseAmplitude.VIEW_PURCHASED_COURSE -import org.sopt.dateroad.presentation.util.ViewPath.MY_COURSE_READ -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.util.MyCourseAmplitude.CLICK_PURCHASED_BACK +import org.sopt.teamdateroad.presentation.util.MyCourseAmplitude.VIEW_PURCHASED_COURSE +import org.sopt.teamdateroad.presentation.util.ViewPath.MY_COURSE_READ +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun MyCourseRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt index 1085a8995..5c80c3d14 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/MyCourseViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/MyCourseViewModel.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.mycourse +package org.sopt.teamdateroad.presentation.ui.mycourse import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.usecase.GetMyCourseEnrollUseCase -import org.sopt.dateroad.domain.usecase.GetMyCourseReadUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.usecase.GetMyCourseEnrollUseCase +import org.sopt.teamdateroad.domain.usecase.GetMyCourseReadUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class MyCourseViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt index 3be4c91fc..255f58a17 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mycourse/navigation/MyCourseNavigation.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.mycourse.navigation +package org.sopt.teamdateroad.presentation.ui.mycourse.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController @@ -6,10 +6,10 @@ import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.ui.mycourse.MyCourseRoute -import org.sopt.dateroad.presentation.ui.mycourse.navigation.MyCourseRoute.ROUTE_WITH_ARGUMENT +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.ui.mycourse.MyCourseRoute +import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.MyCourseRoute.ROUTE_WITH_ARGUMENT fun NavController.navigateMyCourses(myCourseType: MyCourseType) { this.navigate(route = MyCourseRoute.route(myCourseType = myCourseType)) @@ -41,5 +41,6 @@ object MyCourseRoute { private const val ROUTE = "myCourses" const val ARGUMENT = "myCourseType" const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ARGUMENT}" + fun route(myCourseType: MyCourseType) = "$ROUTE/${myCourseType.name}" } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt index 564b78bab..1a90a8013 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageContract.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.ui.mypage +package org.sopt.teamdateroad.presentation.ui.mypage -import org.sopt.dateroad.domain.model.Profile -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Profile +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class MyPageContract { data class MyPageUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt index 8bcdf071f..e508e97a3 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.mypage +package org.sopt.teamdateroad.presentation.ui.mypage import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -36,41 +36,42 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import coil.compose.AsyncImage import coil.request.ImageRequest -import org.sopt.dateroad.R -import org.sopt.dateroad.data.dataremote.util.Point -import org.sopt.dateroad.domain.model.Profile -import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.type.MyPageMenuType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.type.TwoButtonDialogType -import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadTextButton -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView -import org.sopt.dateroad.presentation.ui.mypage.component.MyPageButton -import org.sopt.dateroad.presentation.ui.mypage.component.MyPagePointBox -import org.sopt.dateroad.presentation.util.WebViewUrl.ASK_URL -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.data.dataremote.util.Point +import org.sopt.teamdateroad.domain.model.Profile +import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.type.MyPageMenuType +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadTextButton +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView +import org.sopt.teamdateroad.presentation.ui.mypage.component.MyPageButton +import org.sopt.teamdateroad.presentation.ui.mypage.component.MyPagePointBox +import org.sopt.teamdateroad.presentation.util.WebViewUrl.ASK_URL +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun MyPageRoute( padding: PaddingValues, viewModel: MyPageViewModel = hiltViewModel(), - navigateToEditProfile: () -> Unit, navigateToPointHistory: () -> Unit, navigateToMyCourse: (MyCourseType) -> Unit, navigateToPointGuide: () -> Unit, - navigateToSignIn: () -> Unit + navigateToSignIn: () -> Unit, + navigateToProfile: (ProfileType) -> Unit ) { val uiState by viewModel.uiState.collectAsStateWithLifecycle() val lifecycleOwner = LocalLifecycleOwner.current @@ -83,7 +84,7 @@ fun MyPageRoute( viewModel.sideEffect.flowWithLifecycle(lifecycle = lifecycleOwner.lifecycle) .collect { myPageSideEffect -> when (myPageSideEffect) { - is MyPageContract.MyPageSideEffect.NavigateToEditProfile -> navigateToEditProfile() + is MyPageContract.MyPageSideEffect.NavigateToEditProfile -> navigateToProfile(ProfileType.EDIT) is MyPageContract.MyPageSideEffect.NavigateToPointHistory -> navigateToPointHistory() is MyPageContract.MyPageSideEffect.NavigateToMyCourse -> navigateToMyCourse(MyCourseType.ENROLL) is MyPageContract.MyPageSideEffect.NavigateToPointGuide -> navigateToPointGuide() diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt index 1b6606715..cd36726c5 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/MyPageViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/MyPageViewModel.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.presentation.ui.mypage +package org.sopt.teamdateroad.presentation.ui.mypage import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.usecase.ClearUserInfoUseCase -import org.sopt.dateroad.domain.usecase.DeleteSignOutUseCase -import org.sopt.dateroad.domain.usecase.DeleteWithdrawUseCase -import org.sopt.dateroad.domain.usecase.GetUserUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.usecase.ClearUserInfoUseCase +import org.sopt.teamdateroad.domain.usecase.DeleteSignOutUseCase +import org.sopt.teamdateroad.domain.usecase.DeleteWithdrawUseCase +import org.sopt.teamdateroad.domain.usecase.GetUserUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class MyPageViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt index 4e0ca7056..3e295d85b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPageButton.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPageButton.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.mypage.component +package org.sopt.teamdateroad.presentation.ui.mypage.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -18,9 +18,9 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.MyPageMenuType -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.MyPageMenuType +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun MyPageButton( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt index 131640b68..9610fa876 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/component/MyPagePointBox.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/component/MyPagePointBox.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.mypage.component +package org.sopt.teamdateroad.presentation.ui.mypage.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -20,10 +20,10 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.data.dataremote.util.Point.POINT -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.data.dataremote.util.Point.POINT +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun MyPagePointBox( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt similarity index 71% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt index 5c97d553c..193366fec 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/mypage/navigation/MyPageNavigation.kt @@ -1,13 +1,14 @@ -package org.sopt.dateroad.presentation.ui.mypage.navigation +package org.sopt.teamdateroad.presentation.ui.mypage.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.ui.mypage.MyPageRoute +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.mypage.MyPageRoute fun NavController.navigationMyPage(navOptions: NavOptions) { navigate( @@ -22,7 +23,7 @@ fun NavGraphBuilder.myPageNavGraph( navigateToMyCourse: (MyCourseType) -> Unit, navigateToPointGuide: () -> Unit, navigateToSignIn: () -> Unit, - navigateToEditProfile: () -> Unit + navigateToProfile: (ProfileType) -> Unit ) { composable(route = MainNavigationBarRoute.MyPage::class.simpleName.orEmpty()) { MyPageRoute( @@ -31,7 +32,7 @@ fun NavGraphBuilder.myPageNavGraph( navigateToMyCourse = navigateToMyCourse, navigateToPointGuide = navigateToPointGuide, navigateToSignIn = navigateToSignIn, - navigateToEditProfile = navigateToEditProfile + navigateToProfile = navigateToProfile ) } } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt index 19e5129ed..3d5b41f61 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainActivity.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainActivity.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.navigator +package org.sopt.teamdateroad.presentation.ui.navigator import android.os.Bundle import androidx.activity.ComponentActivity @@ -11,8 +11,8 @@ import androidx.compose.runtime.setValue import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.delay -import org.sopt.dateroad.presentation.ui.splash.SplashScreen -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.presentation.ui.splash.SplashScreen +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @AndroidEntryPoint class MainActivity : ComponentActivity() { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt similarity index 69% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt index c84f5a165..a58b06a0b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainNavigator.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainNavigator.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.navigator +package org.sopt.teamdateroad.presentation.ui.navigator import androidx.compose.runtime.Composable import androidx.compose.runtime.remember @@ -9,30 +9,30 @@ import androidx.navigation.NavOptions import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import androidx.navigation.navOptions -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.model.Route -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.MainNavigationBarItemType -import org.sopt.dateroad.presentation.type.MyCourseType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.advertisement.navigation.navigationAdvertisement -import org.sopt.dateroad.presentation.ui.coursedetail.navigation.navigationCourseDetail -import org.sopt.dateroad.presentation.ui.enroll.navigation.navigationEnroll -import org.sopt.dateroad.presentation.ui.home.navigation.navigationHome -import org.sopt.dateroad.presentation.ui.look.navigation.navigationLook -import org.sopt.dateroad.presentation.ui.mycourse.navigation.navigateMyCourses -import org.sopt.dateroad.presentation.ui.mypage.navigation.navigationMyPage -import org.sopt.dateroad.presentation.ui.onboarding.navigation.navigationOnboarding -import org.sopt.dateroad.presentation.ui.past.navigation.navigationPast -import org.sopt.dateroad.presentation.ui.pointguide.navigation.navigationPointGuide -import org.sopt.dateroad.presentation.ui.pointhistory.navigation.navigationPointHistory -import org.sopt.dateroad.presentation.ui.profile.navigation.navigationEditProfile -import org.sopt.dateroad.presentation.ui.profile.navigation.navigationEnrollProfile -import org.sopt.dateroad.presentation.ui.read.navigation.navigationRead -import org.sopt.dateroad.presentation.ui.signin.navigation.SignInRoute -import org.sopt.dateroad.presentation.ui.signin.navigation.navigationSignIn -import org.sopt.dateroad.presentation.ui.timeline.navigation.navigationTimeline -import org.sopt.dateroad.presentation.ui.timelinedetail.navigation.navigateToTimelineDetail +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.model.Route +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType +import org.sopt.teamdateroad.presentation.type.MyCourseType +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.advertisement.navigation.navigationAdvertisement +import org.sopt.teamdateroad.presentation.ui.coursedetail.navigation.navigationCourseDetail +import org.sopt.teamdateroad.presentation.ui.enroll.navigation.navigationEnroll +import org.sopt.teamdateroad.presentation.ui.home.navigation.navigationHome +import org.sopt.teamdateroad.presentation.ui.look.navigation.navigationLook +import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.navigateMyCourses +import org.sopt.teamdateroad.presentation.ui.mypage.navigation.navigationMyPage +import org.sopt.teamdateroad.presentation.ui.onboarding.navigation.navigationOnboarding +import org.sopt.teamdateroad.presentation.ui.past.navigation.navigationPast +import org.sopt.teamdateroad.presentation.ui.pointguide.navigation.navigationPointGuide +import org.sopt.teamdateroad.presentation.ui.pointhistory.navigation.navigationPointHistory +import org.sopt.teamdateroad.presentation.ui.profile.navigation.navigationProfile +import org.sopt.teamdateroad.presentation.ui.read.navigation.navigationRead +import org.sopt.teamdateroad.presentation.ui.signin.navigation.SignInRoute +import org.sopt.teamdateroad.presentation.ui.signin.navigation.navigationSignIn +import org.sopt.teamdateroad.presentation.ui.timeline.navigation.navigationTimeline +import org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation.navigateToTimelineDetail class MainNavigator( val navHostController: NavHostController @@ -78,8 +78,8 @@ class MainNavigator( navHostController.navigationEnroll(enrollType = enrollType, viewPath = viewPath, courseId = courseId) } - fun navigateToMyPage(navOptions: NavOptions? = null) { - navHostController.navigationMyPage( + fun navigateToHome(navOptions: NavOptions? = null) { + navHostController.navigationHome( navOptions ?: navOptions { popUpTo(navHostController.graph.findStartDestination().id) { inclusive = true @@ -89,8 +89,12 @@ class MainNavigator( ) } - fun navigateToHome(navOptions: NavOptions? = null) { - navHostController.navigationHome( + fun navigateToMyCourse(myCourseType: MyCourseType) { + navHostController.navigateMyCourses(myCourseType = myCourseType) + } + + fun navigateToMyPage(navOptions: NavOptions? = null) { + navHostController.navigationMyPage( navOptions ?: navOptions { popUpTo(navHostController.graph.findStartDestination().id) { inclusive = true @@ -100,10 +104,6 @@ class MainNavigator( ) } - fun navigateToMyCourse(myCourseType: MyCourseType) { - navHostController.navigateMyCourses(myCourseType = myCourseType) - } - fun navigateToOnboarding() { navHostController.navigationOnboarding() } @@ -120,12 +120,8 @@ class MainNavigator( navHostController.navigationPointHistory() } - fun navigateToEnrollProfile() { - navHostController.navigationEnrollProfile() - } - - fun navigateToEditProfile() { - navHostController.navigationEditProfile() + fun navigateToProfile(profileType: ProfileType) { + navHostController.navigationProfile(profileType = profileType) } fun navigateToSignIn() { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt similarity index 77% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt index 9e78684d2..826f07c48 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/MainScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/MainScreen.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.navigator +package org.sopt.teamdateroad.presentation.ui.navigator import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview -import org.sopt.dateroad.presentation.type.MainNavigationBarItemType -import org.sopt.dateroad.presentation.ui.navigator.component.MainBottomBar -import org.sopt.dateroad.presentation.ui.navigator.component.MainNavHost -import org.sopt.dateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType +import org.sopt.teamdateroad.presentation.ui.navigator.component.MainBottomBar +import org.sopt.teamdateroad.presentation.ui.navigator.component.MainNavHost +import org.sopt.teamdateroad.ui.theme.DATEROADTheme @Composable fun MainScreen( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt index a37d40f36..1bebc23ae 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainBottomBar.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainBottomBar.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.navigator.component +package org.sopt.teamdateroad.presentation.ui.navigator.component import android.content.Context import androidx.compose.animation.AnimatedVisibility @@ -21,13 +21,13 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.MainNavigationBarItemType -import org.sopt.dateroad.ui.theme.Black -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme -import org.sopt.dateroad.ui.theme.Gray200 -import org.sopt.dateroad.ui.theme.Gray300 -import org.sopt.dateroad.ui.theme.White +import org.sopt.teamdateroad.presentation.type.MainNavigationBarItemType +import org.sopt.teamdateroad.ui.theme.Black +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.Gray200 +import org.sopt.teamdateroad.ui.theme.Gray300 +import org.sopt.teamdateroad.ui.theme.White @Composable fun CustomNavigationBarItem( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt similarity index 65% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt index d2ea98f24..1226133da 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/navigator/component/MainNavHost.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/navigator/component/MainNavHost.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.navigator.component +package org.sopt.teamdateroad.presentation.ui.navigator.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -7,26 +7,26 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.navigation.compose.NavHost -import org.sopt.dateroad.presentation.type.ProfileType -import org.sopt.dateroad.presentation.ui.advertisement.navigation.advertisementGraph -import org.sopt.dateroad.presentation.ui.coursedetail.navigation.courseDetailGraph -import org.sopt.dateroad.presentation.ui.enroll.navigation.enrollNavGraph -import org.sopt.dateroad.presentation.ui.home.navigation.homeNavGraph -import org.sopt.dateroad.presentation.ui.look.navigation.lookNavGraph -import org.sopt.dateroad.presentation.ui.mycourse.navigation.myCoursesNavGraph -import org.sopt.dateroad.presentation.ui.mypage.navigation.myPageNavGraph -import org.sopt.dateroad.presentation.ui.navigator.MainNavigator -import org.sopt.dateroad.presentation.ui.onboarding.navigation.onboardingNavGraph -import org.sopt.dateroad.presentation.ui.past.navigation.pastNavGraph -import org.sopt.dateroad.presentation.ui.pointguide.navigation.pointGuideGraph -import org.sopt.dateroad.presentation.ui.pointhistory.navigation.pointHistoryGraph -import org.sopt.dateroad.presentation.ui.profile.navigation.editProfileNavGraph -import org.sopt.dateroad.presentation.ui.profile.navigation.enrollProfileNavGraph -import org.sopt.dateroad.presentation.ui.read.navigation.readNavGraph -import org.sopt.dateroad.presentation.ui.signin.navigation.signInGraph -import org.sopt.dateroad.presentation.ui.timeline.navigation.timelineNavGraph -import org.sopt.dateroad.presentation.ui.timelinedetail.navigation.timelineDetailGraph -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.ui.advertisement.navigation.advertisementGraph +import org.sopt.teamdateroad.presentation.ui.coursedetail.navigation.courseDetailGraph +import org.sopt.teamdateroad.presentation.ui.enroll.navigation.enrollNavGraph +import org.sopt.teamdateroad.presentation.ui.home.navigation.homeNavGraph +import org.sopt.teamdateroad.presentation.ui.look.navigation.lookNavGraph +import org.sopt.teamdateroad.presentation.ui.mycourse.navigation.myCoursesNavGraph +import org.sopt.teamdateroad.presentation.ui.mypage.navigation.myPageNavGraph +import org.sopt.teamdateroad.presentation.ui.navigator.MainNavigator +import org.sopt.teamdateroad.presentation.ui.onboarding.navigation.onboardingNavGraph +import org.sopt.teamdateroad.presentation.ui.past.navigation.pastNavGraph +import org.sopt.teamdateroad.presentation.ui.pointguide.navigation.pointGuideGraph +import org.sopt.teamdateroad.presentation.ui.pointhistory.navigation.pointHistoryGraph +import org.sopt.teamdateroad.presentation.ui.profile.navigation.profileNavGraph +import org.sopt.teamdateroad.presentation.ui.read.navigation.readNavGraph +import org.sopt.teamdateroad.presentation.ui.signin.navigation.signInGraph +import org.sopt.teamdateroad.presentation.ui.timeline.navigation.timelineNavGraph +import org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation.timelineDetailGraph +import org.sopt.teamdateroad.presentation.util.ViewPath.HOME +import org.sopt.teamdateroad.presentation.util.ViewPath.TIMELINE +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun MainNavHost( @@ -87,11 +87,11 @@ fun MainNavHost( navigateToMyCourse = navigator::navigateToMyCourse, navigateToPointGuide = navigator::navigateToPointGuide, navigateToSignIn = navigator::navigateToSignIn, - navigateToEditProfile = navigator::navigateToEditProfile + navigateToProfile = navigator::navigateToProfile ) onboardingNavGraph( - navigateToEnrollProfile = navigator::navigateToEnrollProfile, + navigateToProfile = navigator::navigateToProfile, navigateToSignIn = navigator::navigateToSignIn ) @@ -111,16 +111,9 @@ fun MainNavHost( popBackStack = navigator::popBackStackIfNotHome ) - enrollProfileNavGraph( + profileNavGraph( navigateToHome = navigator::navigateToHome, navigateToMyPage = navigator::navigateToMyPage, - profileType = ProfileType.ENROLL, - popBackStack = navigator::popBackStackIfNotHome - ) - editProfileNavGraph( - navigateToHome = navigator::navigateToHome, - navigateToMyPage = navigator::navigateToMyPage, - profileType = ProfileType.EDIT, popBackStack = navigator::popBackStackIfNotHome ) @@ -142,8 +135,17 @@ fun MainNavHost( navigateToTimelineDetail = navigator::navigateToTimelineDetail ) + val previousRoute = navigator.navHostController.previousBackStackEntry?.destination?.route ?: "Unknown" + + val previousView = when (previousRoute) { + HOME -> "홈" + TIMELINE -> "데이트 일정" + else -> "Unknown" + } + timelineDetailGraph( - popBackStack = navigator::popBackStackIfNotHome + popBackStack = navigator::popBackStackIfNotHome, + viewPath = previousView ) } } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt similarity index 55% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt index e5387a838..1845675b7 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingContract.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.ui.onboarding +package org.sopt.teamdateroad.presentation.ui.onboarding -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState class OnBoardingContract { class OnBoardingUiState : UiState diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt index 6acf7bac9..984f7165a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnBoardingViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnBoardingViewModel.kt @@ -1,8 +1,8 @@ -package org.sopt.dateroad.presentation.ui.onboarding +package org.sopt.teamdateroad.presentation.ui.onboarding import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject -import org.sopt.dateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel @HiltViewModel class OnBoardingViewModel @Inject constructor() : BaseViewModel() { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt index 945cafdeb..a289ce50d 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/OnboardingScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/OnboardingScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.onboarding +package org.sopt.teamdateroad.presentation.ui.onboarding import androidx.activity.compose.BackHandler import androidx.compose.foundation.Image @@ -29,18 +29,22 @@ import com.google.accompanist.pager.PagerState import com.google.accompanist.pager.rememberPagerState import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.OnboardingType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.presentation.ui.component.dotsindicator.DotsIndicator -import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.OnboardingType +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.presentation.ui.component.dotsindicator.DotsIndicator +import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText +import org.sopt.teamdateroad.presentation.util.Onboarding.FIRST +import org.sopt.teamdateroad.presentation.util.Onboarding.FIRST_PAGE_KEYWORD +import org.sopt.teamdateroad.presentation.util.Onboarding.KEYWORD +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalPagerApi::class) @Composable fun OnboardingRoute( viewModel: OnBoardingViewModel = hiltViewModel(), - navigateToProfile: () -> Unit, + navigateToProfile: (ProfileType) -> Unit, navigateToSignIn: () -> Unit ) { val lifecycleOwner = LocalLifecycleOwner.current @@ -49,7 +53,7 @@ fun OnboardingRoute( BackHandler { when (pagerState.currentPage) { - 0 -> viewModel.setSideEffect(OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn) + FIRST -> viewModel.setSideEffect(OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn) else -> { coroutineScope.launch { @@ -63,7 +67,7 @@ fun OnboardingRoute( viewModel.sideEffect.flowWithLifecycle(lifecycle = lifecycleOwner.lifecycle) .collect { onBoardingSideEffect -> when (onBoardingSideEffect) { - is OnBoardingContract.OnBoardingSideEffect.NavigateToProfile -> navigateToProfile() + is OnBoardingContract.OnBoardingSideEffect.NavigateToProfile -> navigateToProfile(ProfileType.ENROLL) is OnBoardingContract.OnBoardingSideEffect.NavigateToSignIn -> navigateToSignIn() } } @@ -109,7 +113,11 @@ fun OnboardingScreen( Text( text = PartialColorText( stringResource(id = onboardingType.titleRes), - keywords = if (page == 0) { listOf("포인트", "데이트 코스", "100", "다양한") } else listOf("100 포인트", "다양한"), + keywords = if (page == FIRST) { + FIRST_PAGE_KEYWORD + } else { + KEYWORD + }, color = DateRoadTheme.colors.purple600 ), style = DateRoadTheme.typography.titleExtra24, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt index df9c2ebd5..b60b2e473 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/onboarding/navigation/OnboardingNavigation.kt @@ -1,9 +1,10 @@ -package org.sopt.dateroad.presentation.ui.onboarding.navigation +package org.sopt.teamdateroad.presentation.ui.onboarding.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.ui.onboarding.OnboardingRoute +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.onboarding.OnboardingRoute fun NavController.navigationOnboarding() { navigate( @@ -12,12 +13,12 @@ fun NavController.navigationOnboarding() { } fun NavGraphBuilder.onboardingNavGraph( - navigateToEnrollProfile: () -> Unit, + navigateToProfile: (ProfileType) -> Unit, navigateToSignIn: () -> Unit ) { composable(route = OnboardingRoute.ROUTE) { OnboardingRoute( - navigateToProfile = navigateToEnrollProfile, + navigateToProfile = navigateToProfile, navigateToSignIn = navigateToSignIn ) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt similarity index 57% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt index cdaeeb93b..3d3f4e692 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastContract.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.past +package org.sopt.teamdateroad.presentation.ui.past -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class PastContract { data class PastUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt index 2966406ae..e5c6ff3fc 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.past +package org.sopt.teamdateroad.presentation.ui.past import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -18,19 +18,19 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.type.TimelineTimeType -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.past.component.PastCard -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.past.component.PastCard +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun PastRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt index e95affac0..365576053 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/PastViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/PastViewModel.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.past +package org.sopt.teamdateroad.presentation.ui.past import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.type.TimelineTimeType -import org.sopt.dateroad.domain.usecase.GetTimelinesUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.domain.usecase.GetTimelinesUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class PastViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt similarity index 90% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt index 3ee936984..9cbf163cb 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/component/PastCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/component/PastCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.past.component +package org.sopt.teamdateroad.presentation.ui.past.component import androidx.compose.foundation.Canvas import androidx.compose.foundation.background @@ -26,15 +26,15 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme -import org.sopt.dateroad.ui.theme.defaultDateRoadColors +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors @Composable fun PastCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt index daeb2da69..b08a9734b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/past/navigation/PastNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/past/navigation/PastNavigation.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.past.navigation +package org.sopt.teamdateroad.presentation.ui.past.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.past.PastRoute +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.past.PastRoute fun NavController.navigationPast() { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt similarity index 85% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt index a2955e179..7491c0fd2 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/PointGuideScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/PointGuideScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.pointguide +package org.sopt.teamdateroad.presentation.ui.pointguide import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -15,12 +15,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.MyPagePointInfoType -import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.pointguide.component.DateRoadMyPagePointInfo -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.MyPagePointInfoType +import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.pointguide.component.DateRoadMyPagePointInfo +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun ProfileGuideRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt similarity index 91% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt index 566653044..dcaaceede 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/component/DateRoadMyPagePointInfo.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.pointguide.component +package org.sopt.teamdateroad.presentation.ui.pointguide.component import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -21,8 +21,8 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.presentation.type.MyPagePointInfoType -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.presentation.type.MyPagePointInfoType +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun DateRoadMyPagePointInfo(myPagePointInfoType: MyPagePointInfoType) { @@ -32,7 +32,7 @@ fun DateRoadMyPagePointInfo(myPagePointInfoType: MyPagePointInfoType) { .clip(RoundedCornerShape(14.dp)) .background(DateRoadTheme.colors.gray100) .padding(14.dp), - verticalAlignment = Alignment.CenterVertically // Aligns items vertically centered + verticalAlignment = Alignment.CenterVertically ) { Image( painter = painterResource(id = myPagePointInfoType.imageRes), diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt index 287d676c6..bd25e068b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointguide/navigation/PointGuideNavigation.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.ui.pointguide.navigation +package org.sopt.teamdateroad.presentation.ui.pointguide.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.ui.pointguide.ProfileGuideRoute +import org.sopt.teamdateroad.presentation.ui.pointguide.ProfileGuideRoute fun NavController.navigationPointGuide() { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt index 5b8b92df1..07d07ae4c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryContract.kt @@ -1,12 +1,12 @@ -package org.sopt.dateroad.presentation.ui.pointhistory +package org.sopt.teamdateroad.presentation.ui.pointhistory -import org.sopt.dateroad.domain.model.PointHistory -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.presentation.type.PointHistoryTabType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.PointHistory +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.presentation.type.PointHistoryTabType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class PointHistoryContract { data class PointHistoryUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt index ca89cc52e..0768afcac 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.pointhistory +package org.sopt.teamdateroad.presentation.ui.pointhistory import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -21,24 +21,24 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Point -import org.sopt.dateroad.domain.model.PointHistory -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.PointHistoryTabType -import org.sopt.dateroad.presentation.ui.component.tabbar.DateRoadTabBar -import org.sopt.dateroad.presentation.ui.component.tabbar.DateRoadTabTitle -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.pointhistory.component.PointHistoryCard -import org.sopt.dateroad.presentation.ui.pointhistory.component.PointHistoryPointBox -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Point +import org.sopt.teamdateroad.domain.model.PointHistory +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.PointHistoryTabType +import org.sopt.teamdateroad.presentation.ui.component.tabbar.DateRoadTabBar +import org.sopt.teamdateroad.presentation.ui.component.tabbar.DateRoadTabTitle +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.pointhistory.component.PointHistoryCard +import org.sopt.teamdateroad.presentation.ui.pointhistory.component.PointHistoryPointBox +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun PointHistoryRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt index 4335d27c2..8ca13b37a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/PointHistoryViewModel.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.pointhistory +package org.sopt.teamdateroad.presentation.ui.pointhistory import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.usecase.GetPointHistoryUseCase -import org.sopt.dateroad.domain.usecase.GetUserPointUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.usecase.GetPointHistoryUseCase +import org.sopt.teamdateroad.domain.usecase.GetUserPointUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class PointHistoryViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt similarity index 88% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt index 72deb40cd..aab1bcd77 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.pointhistory.component +package org.sopt.teamdateroad.presentation.ui.pointhistory.component import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -10,9 +10,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.domain.model.Point -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.domain.model.Point +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun PointHistoryCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt index ab6c75536..7e0e16466 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/component/PointHistoryPointBox.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.pointhistory.component +package org.sopt.teamdateroad.presentation.ui.pointhistory.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column @@ -15,9 +15,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.UserPoint -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.UserPoint +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun PointHistoryPointBox( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt index 3f92c96d8..3ab626bb6 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/pointhistory/navigation/PointHistoryNavigation.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.ui.pointhistory.navigation +package org.sopt.teamdateroad.presentation.ui.pointhistory.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.ui.pointhistory.PointHistoryRoute +import org.sopt.teamdateroad.presentation.ui.pointhistory.PointHistoryRoute fun NavController.navigationPointHistory() { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt index 6f02740a6..6d2dae6ab 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileContract.kt @@ -1,14 +1,14 @@ -package org.sopt.dateroad.presentation.ui.profile +package org.sopt.teamdateroad.presentation.ui.profile -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.model.Profile -import org.sopt.dateroad.domain.model.SignUp -import org.sopt.dateroad.presentation.type.ProfileType -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.model.Profile +import org.sopt.teamdateroad.domain.model.SignUp +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class ProfileContract { data class ProfileUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt similarity index 80% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt index bb961fe0e..56b6cdf00 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.profile +package org.sopt.teamdateroad.presentation.ui.profile import android.annotation.SuppressLint import android.net.Uri @@ -35,26 +35,33 @@ import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import coil.compose.rememberAsyncImagePainter -import org.sopt.dateroad.R -import org.sopt.dateroad.data.mapper.todata.toEditProfile -import org.sopt.dateroad.presentation.type.DateChipGroupType -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName -import org.sopt.dateroad.presentation.type.ProfileType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet -import org.sopt.dateroad.presentation.ui.component.button.DateRoadBasicButton -import org.sopt.dateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup -import org.sopt.dateroad.presentation.ui.component.textfield.DateRoadTextFieldWithButton -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.util.Pattern.NICKNAME_REGEX -import org.sopt.dateroad.presentation.util.UserPropertyAmplitude.USER_NAME -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.data.mapper.todata.toEditProfile +import org.sopt.teamdateroad.presentation.type.DateChipGroupType +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadBasicButton +import org.sopt.teamdateroad.presentation.ui.component.chipgroup.DateRoadDateChipGroup +import org.sopt.teamdateroad.presentation.ui.component.textfield.DateRoadTextFieldWithButton +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.util.GalleryLauncher.DELETE_IMAGE +import org.sopt.teamdateroad.presentation.util.GalleryLauncher.INPUT +import org.sopt.teamdateroad.presentation.util.Pattern.NICKNAME_REGEX +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_COURSE_COUNT +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_FREE_REMAINED +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_NAME +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_POINT +import org.sopt.teamdateroad.presentation.util.UserPropertyAmplitude.USER_PURCHASE_COUNT +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @SuppressLint("StateFlowValueCalledInComposition") @Composable @@ -69,13 +76,17 @@ fun ProfileRoute( val lifecycleOwner = LocalLifecycleOwner.current val getGalleryLauncher = rememberLauncherForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? -> - viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = uri.toString())) - viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = uri.toString())) + uri?.let { + viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = it.toString())) + viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = it.toString())) + } } val getPhotoPickerLauncher = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri: Uri? -> - viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = uri.toString())) - viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = uri.toString())) + uri?.let { + viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = it.toString())) + viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = it.toString())) + } } LaunchedEffect(Unit) { @@ -112,12 +123,12 @@ fun ProfileRoute( }, selectPhoto = { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - getGalleryLauncher.launch("image/*") + getGalleryLauncher.launch(input = INPUT) } else { getPhotoPickerLauncher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) } }, - deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = "")) }, + deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetSignUpImage(image = DELETE_IMAGE)) }, popUpBackStack = { Unit } ) @@ -127,6 +138,11 @@ fun ProfileRoute( LoadState.Success -> { navigationToHome() AmplitudeUtils.updateStringUserProperty(propertyName = USER_NAME, propertyValue = uiState.signUp.userSignUpInfo.name) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_POINT, propertyValue = 0) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_FREE_REMAINED, propertyValue = 3) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_PURCHASE_COUNT, propertyValue = 0) + AmplitudeUtils.updateIntUserProperty(propertyName = USER_COURSE_COUNT, propertyValue = 0) + AmplitudeUtils.updateIntUserProperty(propertyName = DATE_SCHEDULE_NUM, propertyValue = 0) } LoadState.Error -> DateRoadErrorView() @@ -150,12 +166,12 @@ fun ProfileRoute( }, selectPhoto = { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - getGalleryLauncher.launch("image/*") + getGalleryLauncher.launch(INPUT) } else { getPhotoPickerLauncher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) } }, - deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = "")) }, + deletePhoto = { viewModel.setEvent(ProfileContract.ProfileEvent.SetEditProfileImage(image = DELETE_IMAGE)) }, popUpBackStack = { popBackStack() } ) } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt index b11224d7e..41558573c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/profile/ProfileViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/ProfileViewModel.kt @@ -1,23 +1,23 @@ -package org.sopt.dateroad.presentation.ui.profile +package org.sopt.teamdateroad.presentation.ui.profile import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.data.mapper.todata.toEditProfile -import org.sopt.dateroad.domain.model.EditProfile -import org.sopt.dateroad.domain.model.SignUp -import org.sopt.dateroad.domain.usecase.GetNicknameCheckUseCase -import org.sopt.dateroad.domain.usecase.GetUserUseCase -import org.sopt.dateroad.domain.usecase.PatchEditProfileUseCase -import org.sopt.dateroad.domain.usecase.PostSignUpUseCase -import org.sopt.dateroad.domain.usecase.SetAccessTokenUseCase -import org.sopt.dateroad.domain.usecase.SetRefreshTokenUseCase -import org.sopt.dateroad.presentation.type.ProfileType -import org.sopt.dateroad.presentation.ui.component.textfield.model.TextFieldValidateResult -import org.sopt.dateroad.presentation.util.Token -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.data.mapper.todata.toEditProfile +import org.sopt.teamdateroad.domain.model.EditProfile +import org.sopt.teamdateroad.domain.model.SignUp +import org.sopt.teamdateroad.domain.usecase.GetNicknameCheckUseCase +import org.sopt.teamdateroad.domain.usecase.GetUserUseCase +import org.sopt.teamdateroad.domain.usecase.PatchEditProfileUseCase +import org.sopt.teamdateroad.domain.usecase.PostSignUpUseCase +import org.sopt.teamdateroad.domain.usecase.SetAccessTokenUseCase +import org.sopt.teamdateroad.domain.usecase.SetRefreshTokenUseCase +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.component.textfield.model.TextFieldValidateResult +import org.sopt.teamdateroad.presentation.util.Token +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class ProfileViewModel @Inject constructor( @@ -75,7 +75,7 @@ class ProfileViewModel @Inject constructor( signUp = currentState.signUp.copy(userSignUpInfo = currentState.signUp.userSignUpInfo.copy(name = event.name)), isNicknameButtonEnabled = event.name.length in MIN_NICKNAME_LENGTH..MAX_NICKNAME_LENGTH, nicknameValidateResult = when { - event.name.length < 2 -> TextFieldValidateResult.ValidationError + event.name.length < MIN_NICKNAME_LENGTH -> TextFieldValidateResult.ValidationError else -> TextFieldValidateResult.Basic } ) @@ -84,7 +84,7 @@ class ProfileViewModel @Inject constructor( editProfile = currentState.editProfile.copy(name = event.name), isNicknameButtonEnabled = event.name.length in MIN_NICKNAME_LENGTH..MAX_NICKNAME_LENGTH, nicknameValidateResult = when { - event.name.length < 2 -> TextFieldValidateResult.ValidationError + event.name.length < MIN_NICKNAME_LENGTH -> TextFieldValidateResult.ValidationError else -> TextFieldValidateResult.Basic } ) diff --git a/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt new file mode 100644 index 000000000..3e0be2b64 --- /dev/null +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/profile/navigation/ProfileNavigation.kt @@ -0,0 +1,52 @@ +package org.sopt.teamdateroad.presentation.ui.profile.navigation + +import androidx.navigation.NavController +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavType +import androidx.navigation.compose.composable +import androidx.navigation.navArgument +import org.sopt.teamdateroad.presentation.type.ProfileType +import org.sopt.teamdateroad.presentation.ui.profile.ProfileRoute +import org.sopt.teamdateroad.presentation.ui.profile.navigation.ProfileRoute.ROUTE_WITH_ARGUMENT + +fun NavController.navigationProfile(profileType: ProfileType) { + navigate( + route = ProfileRoute.route(profileType = profileType) + ) +} + +fun NavGraphBuilder.profileNavGraph( + navigateToHome: () -> Unit, + navigateToMyPage: () -> Unit, + popBackStack: () -> Unit + +) { + composable( + route = ROUTE_WITH_ARGUMENT, + arguments = listOf( + navArgument(ProfileRoute.ARGUMENT) { + type = NavType.StringType + } + ) + ) { backStackEntry -> + val profileType = backStackEntry.arguments?.getString(ProfileRoute.ARGUMENT)?.let { + ProfileType.valueOf(it) + } ?: ProfileType.EDIT + + ProfileRoute( + navigationToHome = navigateToHome, + navigationToMyPage = navigateToMyPage, + profileType = profileType, + popBackStack = popBackStack + + ) + } +} + +object ProfileRoute { + const val ROUTE = "Profile" + const val ARGUMENT = "profileType" + const val ROUTE_WITH_ARGUMENT = "$ROUTE/{$ARGUMENT}" + + fun route(profileType: ProfileType) = "$ROUTE/${profileType.name}" +} diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt similarity index 63% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt index 720c7ed08..ef6677f2b 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadContract.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.ui.read +package org.sopt.teamdateroad.presentation.ui.read -import org.sopt.dateroad.domain.model.Course -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Course +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class ReadContract { data class ReadUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt index 97ee380ec..e817e799c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.read +package org.sopt.teamdateroad.presentation.ui.read import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -27,20 +27,20 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.component.card.DateRoadCourseCard -import org.sopt.dateroad.presentation.ui.component.partialcolortext.PartialColorText -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.util.ViewPath.MY_COURSE_READ -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadCourseCard +import org.sopt.teamdateroad.presentation.ui.component.partialcolortext.PartialColorText +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.util.ViewPath.MY_COURSE_READ +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun ReadRoute( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt index 5555f7e63..fb3c0c7e4 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/ReadViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/ReadViewModel.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.read +package org.sopt.teamdateroad.presentation.ui.read import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.usecase.GetMyCourseReadUseCase -import org.sopt.dateroad.domain.usecase.GetNicknameUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.usecase.GetMyCourseReadUseCase +import org.sopt.teamdateroad.domain.usecase.GetNicknameUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class ReadViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt similarity index 76% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt index d25c3fded..3b8bd856a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/read/navigation/ReadNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/read/navigation/ReadNavigation.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.read.navigation +package org.sopt.teamdateroad.presentation.ui.read.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.ui.read.ReadRoute +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.ui.read.ReadRoute fun NavController.navigationRead(navOptions: NavOptions) { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt similarity index 65% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt index 5e4960ffa..905e21198 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInContract.kt @@ -1,15 +1,15 @@ -package org.sopt.dateroad.presentation.ui.signin +package org.sopt.teamdateroad.presentation.ui.signin -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class SignInContract { data class SignInUiState( val loadState: LoadState = LoadState.Idle, val authTokenLoadState: LoadState = LoadState.Idle, - var isWebViewOpened: Boolean = false + val isWebViewOpened: Boolean = false ) : UiState sealed interface SignInSideEffect : UiSideEffect { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt similarity index 86% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt index 1e22079cb..3ecca34a2 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.signin +package org.sopt.teamdateroad.presentation.ui.signin import android.content.Context import androidx.compose.foundation.Image @@ -23,15 +23,16 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import com.kakao.sdk.auth.model.OAuthToken import com.kakao.sdk.user.UserApiClient -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.SignIn -import org.sopt.dateroad.presentation.ui.component.button.DateRoadKakaoLoginButton -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadWebView -import org.sopt.dateroad.presentation.util.WebViewUrl.PRIVACY_POLICY_URL -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.SignIn +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadKakaoLoginButton +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadWebView +import org.sopt.teamdateroad.presentation.util.SignIn.PLATFORM +import org.sopt.teamdateroad.presentation.util.WebViewUrl.PRIVACY_POLICY_URL +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DateRoadTheme fun setLayoutLoginKakaoClickListener(context: Context, callback: (OAuthToken?, Throwable?) -> Unit) { if (UserApiClient.instance.isKakaoTalkLoginAvailable(context)) { @@ -51,7 +52,7 @@ fun SignInRoute( val lifecycleOwner = LocalLifecycleOwner.current val context = LocalContext.current - val callback: (OAuthToken?, Throwable?) -> Unit = { oAuthToken, message -> + val callback: (OAuthToken?, Throwable?) -> Unit = { oAuthToken, _ -> if (oAuthToken != null) { viewModel.setKakaoAccessToken(oAuthToken.accessToken) } @@ -73,7 +74,7 @@ fun SignInRoute( LaunchedEffect(uiState.authTokenLoadState) { when (uiState.authTokenLoadState) { - LoadState.Success -> viewModel.postSignIn(signIn = SignIn("KAKAO")) + LoadState.Success -> viewModel.postSignIn(signIn = SignIn(PLATFORM)) else -> Unit } } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt similarity index 78% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt index 491c9b909..87606e4a3 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/SignInViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/SignInViewModel.kt @@ -1,18 +1,18 @@ -package org.sopt.dateroad.presentation.ui.signin +package org.sopt.teamdateroad.presentation.ui.signin import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.model.SignIn -import org.sopt.dateroad.domain.usecase.GetAccessTokenUseCase -import org.sopt.dateroad.domain.usecase.GetRefreshTokenUseCase -import org.sopt.dateroad.domain.usecase.PostSignInUseCase -import org.sopt.dateroad.domain.usecase.SetAccessTokenUseCase -import org.sopt.dateroad.domain.usecase.SetRefreshTokenUseCase -import org.sopt.dateroad.presentation.util.Token -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.SignIn +import org.sopt.teamdateroad.domain.usecase.GetAccessTokenUseCase +import org.sopt.teamdateroad.domain.usecase.GetRefreshTokenUseCase +import org.sopt.teamdateroad.domain.usecase.PostSignInUseCase +import org.sopt.teamdateroad.domain.usecase.SetAccessTokenUseCase +import org.sopt.teamdateroad.domain.usecase.SetRefreshTokenUseCase +import org.sopt.teamdateroad.presentation.util.Token +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class SignInViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt index 9bd2c3ee8..4b89dc6d9 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/signin/navigation/SignInNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/signin/navigation/SignInNavigation.kt @@ -1,9 +1,9 @@ -package org.sopt.dateroad.presentation.ui.signin.navigation +package org.sopt.teamdateroad.presentation.ui.signin.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.ui.signin.SignInRoute +import org.sopt.teamdateroad.presentation.ui.signin.SignInRoute fun NavController.navigationSignIn() { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt index 8085b3790..7f679d29c 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/splash/SplashScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/splash/SplashScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.splash +package org.sopt.teamdateroad.presentation.ui.splash import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -10,8 +10,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview -import org.sopt.dateroad.R -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun SplashScreen() { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt similarity index 67% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt index 0a593cb3f..d9ef96eb1 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineContract.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.timeline +package org.sopt.teamdateroad.presentation.ui.timeline -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class TimelineContract { data class TimelineUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt similarity index 81% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt index 7f893c44c..a66917bd5 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.timeline +package org.sopt.teamdateroad.presentation.ui.timeline import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -24,30 +24,30 @@ import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState import com.google.accompanist.pager.rememberPagerState -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.type.TimelineTimeType -import org.sopt.dateroad.presentation.type.EmptyViewType -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.OneButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.component.button.DateRoadFilledButton -import org.sopt.dateroad.presentation.ui.component.button.DateRoadImageButton -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription -import org.sopt.dateroad.presentation.ui.component.dotsindicator.DotsIndicator -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadEmptyView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.ui.timeline.component.TimelineCard -import org.sopt.dateroad.presentation.util.TimelineAmplitude.COUNT_DATE_SCHEDULE -import org.sopt.dateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM -import org.sopt.dateroad.presentation.util.TimelineAmplitude.VIEW_DATE_SCHEDULE -import org.sopt.dateroad.presentation.util.ViewPath.TIMELINE -import org.sopt.dateroad.presentation.util.amplitude.AmplitudeUtils -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.presentation.type.EmptyViewType +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.OneButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadFilledButton +import org.sopt.teamdateroad.presentation.ui.component.button.DateRoadImageButton +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadOneButtonDialogWithDescription +import org.sopt.teamdateroad.presentation.ui.component.dotsindicator.DotsIndicator +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadLeftTitleTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadEmptyView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.ui.timeline.component.TimelineCard +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.COUNT_DATE_SCHEDULE +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DATE_SCHEDULE_NUM +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.VIEW_DATE_SCHEDULE +import org.sopt.teamdateroad.presentation.util.ViewPath.TIMELINE +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @OptIn(ExperimentalPagerApi::class) @Composable @@ -185,7 +185,7 @@ fun TimelineScreen( ) { DateRoadFilledButton( isEnabled = true, - textContent = stringResource(id = R.string.button_past_date), + textContent = stringResource(id = R.string.timeline_past_date), onClick = onPastButtonClick, textStyle = DateRoadTheme.typography.bodyBold15, enabledBackgroundColor = DateRoadTheme.colors.gray100, diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt similarity index 84% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt index c43346e9f..bd326c80f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/TimelineViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/TimelineViewModel.kt @@ -1,13 +1,13 @@ -package org.sopt.dateroad.presentation.ui.timeline +package org.sopt.teamdateroad.presentation.ui.timeline import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.type.TimelineTimeType -import org.sopt.dateroad.domain.usecase.GetTimelinesUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.type.TimelineTimeType +import org.sopt.teamdateroad.domain.usecase.GetTimelinesUseCase +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class TimelineViewModel @Inject constructor( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt index 429c500a9..6c43fbf71 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/component/TimelineCard.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/component/TimelineCard.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.timeline.component +package org.sopt.teamdateroad.presentation.ui.timeline.component import androidx.compose.foundation.Canvas import androidx.compose.foundation.background @@ -29,16 +29,16 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Timeline -import org.sopt.dateroad.presentation.type.DateTagType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.ui.theme.DateRoadTheme -import org.sopt.dateroad.ui.theme.defaultDateRoadColors +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Timeline +import org.sopt.teamdateroad.presentation.type.DateTagType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.ui.theme.defaultDateRoadColors @Composable fun TimelineCard( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt index dce874073..da1a4517d 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timeline/navigation/TimelineNavigation.kt @@ -1,14 +1,14 @@ -package org.sopt.dateroad.presentation.ui.timeline.navigation +package org.sopt.teamdateroad.presentation.ui.timeline.navigation import androidx.compose.foundation.layout.PaddingValues import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions import androidx.navigation.compose.composable -import org.sopt.dateroad.presentation.model.MainNavigationBarRoute -import org.sopt.dateroad.presentation.type.EnrollType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.timeline.TimelineRoute +import org.sopt.teamdateroad.presentation.model.MainNavigationBarRoute +import org.sopt.teamdateroad.presentation.type.EnrollType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.timeline.TimelineRoute fun NavController.navigationTimeline(navOptions: NavOptions) { navigate( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt similarity index 79% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt index aab51df94..020e09973 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailContract.kt @@ -1,11 +1,11 @@ -package org.sopt.dateroad.presentation.ui.timelinedetail +package org.sopt.teamdateroad.presentation.ui.timelinedetail import android.content.Context -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.presentation.util.base.UiEvent -import org.sopt.dateroad.presentation.util.base.UiSideEffect -import org.sopt.dateroad.presentation.util.base.UiState -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.presentation.util.base.UiEvent +import org.sopt.teamdateroad.presentation.util.base.UiSideEffect +import org.sopt.teamdateroad.presentation.util.base.UiState +import org.sopt.teamdateroad.presentation.util.view.LoadState class TimelineDetailContract { data class TimelineDetailUiState( diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt index b2f88b626..c05bf898f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailScreen.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.timelinedetail +package org.sopt.teamdateroad.presentation.ui.timelinedetail import androidx.compose.foundation.Image import androidx.compose.foundation.background @@ -35,35 +35,45 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle -import org.sopt.dateroad.R -import org.sopt.dateroad.domain.model.Place -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName -import org.sopt.dateroad.presentation.type.PlaceCardType -import org.sopt.dateroad.presentation.type.TagType -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.type.TwoButtonDialogType -import org.sopt.dateroad.presentation.type.TwoButtonDialogWithDescriptionType -import org.sopt.dateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet -import org.sopt.dateroad.presentation.ui.component.card.DateRoadPlaceCard -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog -import org.sopt.dateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadImageTag -import org.sopt.dateroad.presentation.ui.component.tag.DateRoadTextTag -import org.sopt.dateroad.presentation.ui.component.topbar.DateRoadBasicTopBar -import org.sopt.dateroad.presentation.ui.component.view.DateRoadErrorView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadIdleView -import org.sopt.dateroad.presentation.ui.component.view.DateRoadLoadingView -import org.sopt.dateroad.presentation.util.modifier.noRippleClickable -import org.sopt.dateroad.presentation.util.view.LoadState -import org.sopt.dateroad.ui.theme.DATEROADTheme -import org.sopt.dateroad.ui.theme.DateRoadTheme +import org.sopt.teamdateroad.R +import org.sopt.teamdateroad.domain.model.Place +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.presentation.type.DateTagType.Companion.getDateTagTypeByName +import org.sopt.teamdateroad.presentation.type.PlaceCardType +import org.sopt.teamdateroad.presentation.type.TagType +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogType +import org.sopt.teamdateroad.presentation.type.TwoButtonDialogWithDescriptionType +import org.sopt.teamdateroad.presentation.ui.component.bottomsheet.DateRoadBasicBottomSheet +import org.sopt.teamdateroad.presentation.ui.component.card.DateRoadPlaceCard +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialog +import org.sopt.teamdateroad.presentation.ui.component.dialog.DateRoadTwoButtonDialogWithDescription +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadImageTag +import org.sopt.teamdateroad.presentation.ui.component.tag.DateRoadTextTag +import org.sopt.teamdateroad.presentation.ui.component.topbar.DateRoadBasicTopBar +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadErrorView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadIdleView +import org.sopt.teamdateroad.presentation.ui.component.view.DateRoadLoadingView +import org.sopt.teamdateroad.presentation.util.TimelineAmplitude.DURATION +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_CLOSE_KAKAO +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_KAKAO_SHARE +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.CLICK_OPEN_KAKAO +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.DATE_COURSE_NUM +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.DATE_TOTAL_DURATION +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.VIEW_PATH +import org.sopt.teamdateroad.presentation.util.TimelineDetailAmplitude.VIEW_SCHEDULE_DETAILS +import org.sopt.teamdateroad.presentation.util.amplitude.AmplitudeUtils +import org.sopt.teamdateroad.presentation.util.modifier.noRippleClickable +import org.sopt.teamdateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.ui.theme.DATEROADTheme +import org.sopt.teamdateroad.ui.theme.DateRoadTheme @Composable fun TimelineDetailRoute( popBackStack: () -> Unit, timelineId: Int, - timelineType: TimelineType + timelineType: TimelineType, + previousView: String ) { val viewModel: TimelineDetailViewModel = hiltViewModel() val uiState by viewModel.uiState.collectAsStateWithLifecycle() @@ -83,6 +93,16 @@ fun TimelineDetailRoute( } } + LaunchedEffect(uiState.loadState, lifecycleOwner) { + if (uiState.loadState == LoadState.Success) { + AmplitudeUtils.trackEventWithProperty( + eventName = VIEW_SCHEDULE_DETAILS, + propertyName = VIEW_PATH, + propertyValue = previousView + ) + } + } + when (uiState.loadState) { LoadState.Idle -> DateRoadIdleView() @@ -94,7 +114,18 @@ fun TimelineDetailRoute( timelineType = timelineType, onTopBarItemClick = popBackStack, onButtonClick = { viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteBottomSheet(true)) }, - showKakaoClicked = { viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(true)) }, + showKakaoClicked = { + viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(true)) + AmplitudeUtils.trackEventWithProperties( + eventName = CLICK_KAKAO_SHARE, + mapOf( + DATE_COURSE_NUM to uiState.timelineDetail.places.size, + DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place -> + durationToInt(place.duration) + } + ) + ) + }, setShowKakaoDialog = { showKakaoDialog -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowKakaoDialog(showKakaoDialog)) }, setShowDeleteBottomSheet = { showDeleteBottomSheet -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteBottomSheet(showDeleteBottomSheet)) }, setShowDeleteDialog = { showDeleteDialog -> viewModel.setEvent(TimelineDetailContract.TimelineDetailEvent.SetShowDeleteDialog(showDeleteDialog)) }, @@ -169,7 +200,7 @@ fun TimelineDetailScreen( style = DateRoadTheme.typography.bodyMed15, color = DateRoadTheme.colors.black ) - if (uiState.timelineDetail.dDay != "") { + if (uiState.timelineDetail.dDay.isNotEmpty()) { DateRoadTextTag( textContent = uiState.timelineDetail.dDay, tagContentType = TagType.TIMELINE_D_DAY @@ -287,9 +318,29 @@ fun TimelineDetailScreen( onDismissRequest = { setShowKakaoDialog(false) }, onClickConfirm = { setShowKakaoDialog(false) + AmplitudeUtils.trackEventWithProperties( + eventName = CLICK_OPEN_KAKAO, + mapOf( + DATE_COURSE_NUM to uiState.timelineDetail.places.size, + DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place -> + durationToInt(place.duration) + } + ) + ) onKakaoShareConfirm() }, - onClickDismiss = { setShowKakaoDialog(false) } + onClickDismiss = { + setShowKakaoDialog(false) + AmplitudeUtils.trackEventWithProperties( + eventName = CLICK_CLOSE_KAKAO, + mapOf( + DATE_COURSE_NUM to uiState.timelineDetail.places.size, + DATE_TOTAL_DURATION to uiState.timelineDetail.places.sumOf { place -> + durationToInt(place.duration) + } + ) + ) + } ) } @@ -360,3 +411,7 @@ fun TimelineDetailScreenPreview() { ) } } + +fun durationToInt(duration: String): Int { + return duration.replace(DURATION, "").trim().toIntOrNull() ?: 0 +} diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt similarity index 82% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt index 2b8e85004..71efd6fbd 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/TimelineDetailViewModel.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.timelinedetail +package org.sopt.teamdateroad.presentation.ui.timelinedetail import android.content.Context import androidx.lifecycle.viewModelScope @@ -8,12 +8,15 @@ import com.kakao.sdk.share.WebSharerClient import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject import kotlinx.coroutines.launch -import org.sopt.dateroad.domain.model.TimelineDetail -import org.sopt.dateroad.domain.usecase.DeleteTimelineUseCase -import org.sopt.dateroad.domain.usecase.GetNicknameUseCase -import org.sopt.dateroad.domain.usecase.GetTimelineDetailUseCase -import org.sopt.dateroad.presentation.util.base.BaseViewModel -import org.sopt.dateroad.presentation.util.view.LoadState +import org.sopt.teamdateroad.domain.model.TimelineDetail +import org.sopt.teamdateroad.domain.usecase.DeleteTimelineUseCase +import org.sopt.teamdateroad.domain.usecase.GetNicknameUseCase +import org.sopt.teamdateroad.domain.usecase.GetTimelineDetailUseCase +import org.sopt.teamdateroad.presentation.util.ShareKakao.START_AT +import org.sopt.teamdateroad.presentation.util.ShareKakao.TEMPLATE_ID +import org.sopt.teamdateroad.presentation.util.ShareKakao.USER_NAME +import org.sopt.teamdateroad.presentation.util.base.BaseViewModel +import org.sopt.teamdateroad.presentation.util.view.LoadState @HiltViewModel class TimelineDetailViewModel @Inject constructor( @@ -62,8 +65,8 @@ class TimelineDetailViewModel @Inject constructor( val templateId = 109999 val templateArgs = mutableMapOf() - templateArgs["userName"] = getNickNameUseCase() - templateArgs["startAt"] = timelineDetail.startAt + templateArgs[USER_NAME] = getNickNameUseCase() + templateArgs[START_AT] = timelineDetail.startAt timelineDetail.places.forEachIndexed { index, place -> if (index < 5) { @@ -73,13 +76,13 @@ class TimelineDetailViewModel @Inject constructor( } if (ShareClient.instance.isKakaoTalkSharingAvailable(context)) { - ShareClient.instance.shareCustom(context, templateId.toLong(), templateArgs) { sharingResult, error -> + ShareClient.instance.shareCustom(context, TEMPLATE_ID, templateArgs) { sharingResult, error -> if (sharingResult != null) { context.startActivity(sharingResult.intent) } } } else { - val sharerUrl = WebSharerClient.instance.makeCustomUrl(templateId.toLong(), templateArgs) + val sharerUrl = WebSharerClient.instance.makeCustomUrl(TEMPLATE_ID, templateArgs) try { KakaoCustomTabsClient.openWithDefault(context, sharerUrl) } catch (e: UnsupportedOperationException) { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt similarity index 83% rename from app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt index dfc9c1efa..c88e8b6b7 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/ui/timelinedetail/navigation/TimelineDetailNavigation.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.ui.timelinedetail.navigation +package org.sopt.teamdateroad.presentation.ui.timelinedetail.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder @@ -6,14 +6,15 @@ import androidx.navigation.NavOptions import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import org.sopt.dateroad.presentation.type.TimelineType -import org.sopt.dateroad.presentation.ui.timelinedetail.TimelineDetailRoute +import org.sopt.teamdateroad.presentation.type.TimelineType +import org.sopt.teamdateroad.presentation.ui.timelinedetail.TimelineDetailRoute fun NavController.navigateToTimelineDetail(timelineType: TimelineType, timelineId: Int, navOptions: NavOptions? = null) { navigate(TimelineDetailRoutes.route(timelineType, timelineId), navOptions) } fun NavGraphBuilder.timelineDetailGraph( + viewPath: String, popBackStack: () -> Unit ) { composable( @@ -29,7 +30,8 @@ fun NavGraphBuilder.timelineDetailGraph( TimelineDetailRoute( popBackStack = popBackStack, timelineId = timelineId, - timelineType = timelineType + timelineType = timelineType, + previousView = viewPath ) } } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt similarity index 58% rename from app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt index c6894b405..c6984b880 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/Constraints.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/Constraints.kt @@ -1,71 +1,41 @@ -package org.sopt.dateroad.presentation.util +package org.sopt.teamdateroad.presentation.util -object PointHistoryTab { - const val GAINED_HISTORY_POSITION = 0 - const val USED_HISTORY_POSITION = 1 -} - -object EnrollScreen { - const val FIRST = 1 - const val SECOND = 2 - const val THIRD = 3 - const val MAX_ITEMS = 10 - const val TITLE_MIN_LENGTH = 5 -} - -object TimePicker { - const val AM = "오전" - const val PM = "오후" +object CourseDetail { + const val POINT_LACK = 50 } -object TotalCostZero { - const val ZERO_COST = "무지출" +object CourseDetailAmplitude { + const val VIEW_COURSE_DETAILS = "view_course_details" + const val CLICK_COURSE_BACK = "click_course_back" + const val CLICK_COURSE_LIKES = "click_course_likes" + const val COURSE_LIST_ID = "course_list_id" + const val COURSE_LIST_TITLE = "course_list_title" + const val CLICK_COURSE_PURCHASE = "click_course_purchase" + const val PURCHASE_SUCCESS = "purchase_success" + const val COURSE_LIST_LIKE = "course_list_like" } object DatePicker { const val DATE_PATTERN = "yyyy.MM.dd" -} - -object WebViewUrl { - const val PRIVACY_POLICY_URL = "https://www.notion.so/hooooooni/04da4aa279ca4b599193784091a52859" - const val REPORT_URL = "https://tally.so/r/w4L1a5" - const val ASK_URL = "https://dateroad.notion.site/1055d2f7bfe94b3fa6c03709448def21?pvs=4" + const val YEAR_START = 2000 + const val YEAR_END = 2024 + const val YEAR_START_INDEX = 24 + const val MONTH_START = 1 + const val MONTH_END = 12 + const val DAY_START = 1 + const val DAY_END = 31 + const val SEPARATOR = "." } object Default { const val REGION = "지역" + const val DRAGGED_DISTANCE = 0f + const val CLICKABLE_DELAY = 500L } -object Point { - const val POINT = 50 - const val POINT_USED = "POINT_USED" - const val POINT_USED_DESCRIPTION = "코스 열람하기" -} - -object Token { - const val BEARER = "Bearer " -} - -object Time { - const val TIME = " 시간" -} -object LoadingView { - const val LOTTIE = "loading.json" - const val CLIPMIN = 0 - const val CLIPMAX = 1200 -} - -object Pattern { - private const val NICKNAME_PATTERN = "^[ㄱ-ㅎ가-힣a-zA-Z0-9]*$" - val NICKNAME_REGEX = Regex(NICKNAME_PATTERN) -} - -object ViewPath { - const val HOME = "홈" - const val TIMELINE = "데이트 일정" - const val MY_COURSE_READ = "내가 열람한 코스" - const val COURSE_DETAIL = "코스 상세" - const val LOOK = "코스 둘러보기" +object DurationPicker { + const val DURATION_START = 1 + const val DURATION_END = 12 } object EnrollAmplitude { @@ -103,16 +73,113 @@ object EnrollAmplitude { const val COURSE_COST = "course_cost" } +object EnrollScreen { + const val FIRST = 1 + const val SECOND = 2 + const val THIRD = 3 + const val MAX_ITEMS = 10 + const val TITLE_MIN_LENGTH = 5 +} + +object GalleryLauncher { + const val INPUT = "image/*" + const val DELETE_IMAGE = "" +} + +object Home { + const val ADVERTISEMENT_DELAY = 4000L +} + +object HomeAmplitude { + const val VIEW_MAIN = "view_main" + const val USER_NAME = "user_name" + const val USER_POINT = "user_point" + const val COURSE_LIST_ID = "course_list_id" + const val COURSE_LIST_TITLE = "course_list_title" + const val COURSE_LIST_LOCATION = "course_list_location" + const val COURSE_LIST_COST = "course_list_cost" + const val HOT = "Hot: " + const val NEW = " / New: " +} + +object LoadingView { + const val LOTTIE = "loading.json" + const val CLIP_MIN = 0 + const val CLIP_MAX = 1200 +} + object MyCourseAmplitude { const val VIEW_PURCHASED_COURSE = "view_purchased_course" const val CLICK_PURCHASED_BACK = "click_purchased_back" } +object Onboarding { + const val FIRST = 0 + val FIRST_PAGE_KEYWORD = listOf("포인트", "데이트 코스", "100", "다양한") + val KEYWORD = listOf("100 포인트", "다양한") +} + +object Pattern { + private const val NICKNAME_PATTERN = "^[ㄱ-ㅎ가-힣a-zA-Z0-9]*$" + val NICKNAME_REGEX = Regex(NICKNAME_PATTERN) +} + +object Point { + const val POINT = 50 + const val POINT_USED = "POINT_USED" + const val POINT_USED_DESCRIPTION = "코스 열람하기" +} + +object PointHistoryTab { + const val GAINED_HISTORY_POSITION = 0 + const val USED_HISTORY_POSITION = 1 +} + +object ShareKakao { + const val TEMPLATE_ID = 109999L + const val USER_NAME = "userName" + const val START_AT = "startAt" +} + +object SignIn { + const val PLATFORM = "KAKAO" +} + +object Time { + const val TIME = " 시간" +} + object TimelineAmplitude { const val VIEW_DATE_SCHEDULE = "view_date_schedule" const val COUNT_DATE_SCHEDULE = "count_date_schedule" const val CLICK_ADD_SCHEDULE = "click_add_schedule" const val DATE_SCHEDULE_NUM = "date_schedule_num" + const val DURATION = "시간" +} + +object TimelineDetailAmplitude { + const val VIEW_SCHEDULE_DETAILS = "view_schedule_details" + const val CLICK_KAKAO_SHARE = "click_kakao_share" + const val CLICK_CLOSE_KAKAO = "click_close_kakao" + const val CLICK_OPEN_KAKAO = "click_open_kakao" + const val VIEW_PATH = "view_path" + const val DATE_COURSE_NUM = "date_course_num" + const val DATE_TOTAL_DURATION = "date_total_duration" +} + +object TimePicker { + const val AM = "오전" + const val PM = "오후" + const val AM_ENG = "AM" + const val PM_ENG = "PM" + const val HOUR_START = 1 + const val HOUR_END = 12 + const val MINUTE_START = 0 + const val MINUTE_END = 59 +} + +object Token { + const val BEARER = "Bearer " } object UserPropertyAmplitude { @@ -121,5 +188,19 @@ object UserPropertyAmplitude { const val USER_FREE_REMAINED = "user_free_remained" const val USER_PURCHASE_COUNT = "user_purchase_count" const val USER_COURSE_COUNT = "user_course_count" - const val USER_SCHEDULE_NUM = "user_schedule_num" + const val DATE_SCHEDULE_NUM = "date_schedule_num" +} + +object ViewPath { + const val HOME = "홈" + const val TIMELINE = "데이트 일정" + const val MY_COURSE_READ = "내가 열람한 코스" + const val COURSE_DETAIL = "코스 상세" + const val LOOK = "코스 둘러보기" +} + +object WebViewUrl { + const val PRIVACY_POLICY_URL = "https://www.notion.so/hooooooni/04da4aa279ca4b599193784091a52859" + const val REPORT_URL = "https://tally.so/r/w4L1a5" + const val ASK_URL = "https://dateroad.notion.site/1055d2f7bfe94b3fa6c03709448def21?pvs=4" } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt index 3cbe4630e..666329db8 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/amplitude/AmplitudeUtils.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/amplitude/AmplitudeUtils.kt @@ -1,10 +1,10 @@ -package org.sopt.dateroad.presentation.util.amplitude +package org.sopt.teamdateroad.presentation.util.amplitude import android.content.Context import com.amplitude.android.Amplitude import com.amplitude.android.Configuration import com.amplitude.core.events.Identify -import org.sopt.dateroad.BuildConfig +import org.sopt.teamdateroad.BuildConfig object AmplitudeUtils { private lateinit var amplitude: Amplitude diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt similarity index 92% rename from app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt index f56743741..ea513903a 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/base/BaseViewModel.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/base/BaseViewModel.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.util.base +package org.sopt.teamdateroad.presentation.util.base import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -38,7 +38,7 @@ abstract class BaseViewModel Unit ) { - private var draggedDistance by mutableFloatStateOf(0f) + private var draggedDistance by mutableFloatStateOf(DRAGGED_DISTANCE) private var initiallyDraggedElement by mutableStateOf(null) var currentIndexOfDraggedItem by mutableStateOf(null) private val initialOffsets: Pair? get() = initiallyDraggedElement?.let { Pair(it.offset, it.offsetEnd) } - val elementDisplacement: Float? - get() = currentIndexOfDraggedItem - ?.let { lazyListState.getVisibleItemInfoFor(absoluteIndex = it) } - ?.let { item -> (initiallyDraggedElement?.offset ?: 0f).toFloat() + draggedDistance - item.offset } private val currentElement: LazyListItemInfo? get() = currentIndexOfDraggedItem?.let { diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt similarity index 87% rename from app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt index b5fc809cd..d327d6734 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/lazylist/LazyListExt.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/lazylist/LazyListExt.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.util.lazylist +package org.sopt.teamdateroad.presentation.util.lazylist import androidx.compose.foundation.lazy.LazyListItemInfo import androidx.compose.foundation.lazy.LazyListState diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt similarity index 89% rename from app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt index 8287b1c08..9c0a8b380 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/modifier/ModifierExt.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/modifier/ModifierExt.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.util.modifier +package org.sopt.teamdateroad.presentation.util.modifier import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource @@ -15,6 +15,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch +import org.sopt.teamdateroad.presentation.util.Default.CLICKABLE_DELAY inline fun Modifier.noRippleClickable( crossinline onClick: () -> Unit = {} @@ -39,7 +40,7 @@ fun Modifier.noRippleDebounceClickable( clickable = false CoroutineScope(Dispatchers.Main).launch { onClick() - delay(500) + delay(CLICKABLE_DELAY) clickable = true } } diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt similarity index 74% rename from app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt index 33d1b73b8..d1e68f168 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/mutablelist/MutableListExt.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/mutablelist/MutableListExt.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.util.mutablelist +package org.sopt.teamdateroad.presentation.util.mutablelist fun MutableList.move(from: Int, to: Int): MutableList { if (from == to) return this diff --git a/app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt b/app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt similarity index 57% rename from app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt rename to app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt index e02e0f0bf..10e74c71f 100644 --- a/app/src/main/java/org/sopt/dateroad/presentation/util/view/LoadState.kt +++ b/app/src/main/java/org/sopt/teamdateroad/presentation/util/view/LoadState.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.presentation.util.view +package org.sopt.teamdateroad.presentation.util.view enum class LoadState { Idle, diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt similarity index 96% rename from app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt index f9007a194..adb1ba2d1 100644 --- a/app/src/main/java/org/sopt/dateroad/ui/theme/Color.kt +++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.ui.theme +package org.sopt.teamdateroad.ui.theme import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf @@ -48,6 +48,8 @@ data class DateRoadColors( val purple500: Color, val purple600: Color, val purple700: Color, + + // Sub val pink100: Color, val pink200: Color, val pink300: Color, @@ -82,6 +84,8 @@ val defaultDateRoadColors = DateRoadColors( purple500 = Purple500, purple600 = Purple600, purple700 = Purple700, + + // Sub pink100 = Pink100, pink200 = Pink200, pink300 = Pink300, @@ -102,6 +106,8 @@ val defaultDateRoadColors = DateRoadColors( // Notif alertRed = AlertRed, + + // Kakao kakaoYellow = KakaoYellow ) diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt similarity index 97% rename from app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt index 29fadb183..1f64dd9fc 100644 --- a/app/src/main/java/org/sopt/dateroad/ui/theme/Theme.kt +++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.ui.theme +package org.sopt.teamdateroad.ui.theme import android.app.Activity import androidx.compose.material3.MaterialTheme diff --git a/app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt similarity index 96% rename from app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt rename to app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt index 160ca1240..0dad377dc 100644 --- a/app/src/main/java/org/sopt/dateroad/ui/theme/Type.kt +++ b/app/src/main/java/org/sopt/teamdateroad/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad.ui.theme +package org.sopt.teamdateroad.ui.theme import androidx.compose.runtime.Immutable import androidx.compose.runtime.staticCompositionLocalOf @@ -6,11 +6,10 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.sp -import org.sopt.dateroad.R +import org.sopt.teamdateroad.R val SuitBold = FontFamily(Font(R.font.suit_bold)) val SuitExtraBold = FontFamily(Font(R.font.suit_extrabold)) -val SuitExtraLight = FontFamily(Font(R.font.suit_extralight)) val SuitMedium = FontFamily(Font(R.font.suit_medium)) val SuitRegular = FontFamily(Font(R.font.suit_regular)) val SuitSemiBold = FontFamily(Font(R.font.suit_semibold)) diff --git a/app/src/main/res/font/suit_extralight.ttf b/app/src/main/res/font/suit_extralight.ttf deleted file mode 100644 index c43b9a50b..000000000 Binary files a/app/src/main/res/font/suit_extralight.ttf and /dev/null differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f92ef7c9..4ed1bb58e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -11,8 +11,9 @@ 완료 적용하기 %s시간 + 더보기 - + 취소 확인 확인했어요 @@ -90,23 +91,13 @@ 5만원 이하 3만원 이하 - - 데이트 코스를 등록하면\n 포인트를 얻을 수 있어요 - 내 데이트를 자랑하고 포인트를 받아보세요 - 처음 3번 무료로\n데이트 코스를 열람할 수 있어요 - 무료 찬스로 데이트를 열람하세요 - 쌓인 포인트로\n다양한 데이트 코스를 둘러보세요 - 다른 커플의 데이트, 궁금하지 않으세요? - 모인 포인트는 데이트 장소를\n예약할 때 현금처럼 사용 가능해요 - 추후 만들어질 기능을 기대해주세요 - 데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요 최초 3회 무료 찬스로\n다른 사람의 데이트 코스를 구경하세요! (이후에는 50포인트로 코스를 열람할 수 있어요) 데이트 코스를 등록하면\n100 포인트를 얻을 수 있어요 내 연인과 함께한 데이트 코스를 자랑하고\n포인트를 받아보세요 - + 쌓인 포인트로\n다양한 데이트 코스를 둘러보세요 모인 포인트는 데이트 장소를 예약할 때\n현금처럼 사용 가능해요 (추후 제공될 기능이에요) @@ -176,8 +167,7 @@ 삭제된 코스는 복구하실 수 없어요 신고된 게시물은 운영원칙에 따라 조치할 예정이에요 - - + 포인트 내역 코스 등록하기 일정 등록하기 @@ -195,28 +185,21 @@ 카카오 로그인 카카오톡으로 공유하기 - + %1$d자 / %2$d자 이상 - + %1$s\님의 포인트 %1$d P 포인트 내역 보기 - + 지역을 선택해주세요 적용하기 글 삭제 데이트 일정 설정 - - 내가 등록한 코스 - 포인트 제도 소개 - 문의하기 - 로그아웃 - 탈퇴하기 - - + 나의 데이트 성향 (%1$d/%2$d) 데이트코스와 어울리는 태그를 선택해 주세요 (%1$d/%2$d) @@ -230,7 +213,7 @@ 코스 정보가 궁금하신가요? 코스 타임라인 내 일정에 추가하기 - 전체 비용 + 전체 비용 태그 데이트 코스 설정 글 삭제 @@ -238,22 +221,13 @@ 신고하기 무지출 - + 다가오는 데이트 일정이 없어요 일정을 등록하러 가볼까요? %1$s월 %2$s일 D-%s %s 시작 - - 프로필 등록하기 - 프로필 변경하기 - - - - 프로필 생성하기 - 다음 - 이미지를 삽입해 주세요\n(최소 1장, 최대 10장) 장소명을 입력해주세요 @@ -277,8 +251,37 @@ 데이트 예상 총 비용을 숫자로만 입력해 주세요 완료 - - 지난 데이트 보기 + + %s님, 오늘은\n이런 데이트 코스 어떠세요? + 후기 보장 HOT 데이트 코스 둘러보기 + 새로 올라왔어요 + 가장 최근에 올라온 코스 보러가기 + %d P + %d/%d + + + 내가 등록한 코스 + 포인트 제도 소개 + 문의하기 + 로그아웃 + 탈퇴하기 + + + 프로필 생성하기 + 다음 + + + 포인트 제도 소개 + 데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요. + 포인트는 데이트 코스를 등록하면 얻을 수 있어요. + 데이트 코스를 등록하면\n 포인트를 얻을 수 있어요 + 내 데이트를 자랑하고 포인트를 받아보세요 + 처음 3번 무료로\n데이트 코스를 열람할 수 있어요 + 무료 찬스로 데이트를 열람하세요 + 쌓인 포인트로\n다양한 데이트 코스를 둘러보세요 + 다른 커플의 데이트, 궁금하지 않으세요? + 모인 포인트는 데이트 장소를\n예약할 때 현금처럼 사용 가능해요 + 추후 만들어질 기능을 기대해주세요 내 프로필 @@ -294,32 +297,20 @@ 취소 사진 등록 사진 삭제 - - - 포인트 제도 소개 - 데이트로드는 포인트로\n데이트 코스를 열람할 수 있어요. - 포인트는 데이트 코스를 등록하면 얻을 수 있어요. - - - 데이트 코스 올리고 100P 받기 + 프로필 등록하기 + 프로필 변경하기 %s님이 지금까지\n열람한 데이트 코스\n%d개 %s님,\n아직 열람한\n데이트 코스가 없어요 열람한 코스로 데이트를 짜보세요 - 더보기 - - - %s님, 오늘은\n이런 데이트 코스 어떠세요? - 후기 보장 HOT 데이트 코스 둘러보기 - 새로 올라왔어요 - 가장 최근에 올라온 코스 보러가기 - %d P - %d/%d + + 지난 데이트 보기 데이트 일정 설정 글 삭제 + 데이트 코스 올리고 100P 받기 \ No newline at end of file diff --git a/app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt b/app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt similarity index 91% rename from app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt rename to app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt index de092c029..0e0575736 100644 --- a/app/src/test/java/org/sopt/dateroad/ExampleUnitTest.kt +++ b/app/src/test/java/org/sopt/teamdateroad/ExampleUnitTest.kt @@ -1,4 +1,4 @@ -package org.sopt.dateroad +package org.sopt.teamdateroad import junit.framework.TestCase.assertEquals import org.junit.Test diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c77c5d0b4..68b89ace6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ compileSdk = "34" minSdk = "28" targetSdk = "34" -versionCode = "1" +versionCode = "3" versionName = "1.0.0" jvmTarget = "1.8" kotlinCompilerExtensionVersion = "1.5.13" @@ -31,6 +31,7 @@ pagingCommonAndroid = "3.3.2" googleServices = "4.4.2" firebaseCrashlytics = "3.0.2" firebaseBom = "33.3.0" +firebaseCrashlyticsBuildtools = "3.0.2" # Accompanist accompanistPager = "0.25.0" @@ -82,6 +83,7 @@ google-services = { group = "com.google.gms", name = "google-services", version. google-firebase-crashlytics-gradle = { group = "com.google.firebase", name = "firebase-crashlytics-gradle", version.ref = "firebaseCrashlytics" } google-firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebaseBom" } google-firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics-ktx" } +firebase-crashlytics-buildtools = { group = "com.google.firebase", name = "firebase-crashlytics-buildtools", version.ref = "firebaseCrashlyticsBuildtools" } # Accompanist accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanistPager" } @@ -110,7 +112,6 @@ kakao-cert = { group = "com.kakao.sdk", name = "v2-cert", version.ref = "kakao" amplitude = { group = "com.amplitude", name = "analytics-android", version.ref = "amplitude" } lottie-compose = { module = "com.airbnb.android:lottie-compose", version.ref = "lottieCompose" } - [plugins] android-application = { id = "com.android.application", version.ref = "agp" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }