-
Notifications
You must be signed in to change notification settings - Fork 0
[#150] ProfileView에 UI 요소를 추가한다 #161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
4a2a144
feat: 매 분기마다의 Todo의 생성 / 완료에 대해 맵을 보여주도록 구성
opficdev ed9d1a1
fix: 년 분기가 달라질 때 패딩값이 자동으로 수정되는 현상 해결
opficdev f59a692
feat: 분기 단위로 Todo 생성 / 완료 히트맵을 보여주도록 구성
opficdev 29afda9
fix: 분기 이동이 되지 않는 현상 수정
opficdev fe8d453
ui: 테두리로 구분하는 대신 채우기로 변경
opficdev c7e7c5c
feat: UserDefaults로 활동 설정값을 저장하여 영속성 보장
opficdev 5bab2b9
ui: 맵을 탭하면 해당 날짜에 해당하는 활동을 보여주도록 추가
opficdev 03e95fd
feat: 특정 활동을 탭하면 해당 활동의 상세 내용을 볼 수 있도록 추가
opficdev d442935
refactor: 비슷한 UI요소 컴포넌트화
opficdev 30718ba
chore: 디렉토리명 오타 수정
opficdev 968b077
ui: 년도가 상시 보이도록 추가
opficdev 57fd641
refactor: 터치성 개선
opficdev da05b51
ui: 투명도 애니메이션만 적용
opficdev 60ecf3f
ui: 상세 내용을 내비게이션해서 보여주도록 변경
opficdev b24d4c0
ui: TodoDetailContentView가 배경색을 가지도록 수정
opficdev b783d0b
refactor: 키워드 원문을 로그에서 보이지 않도록 하고, nil이 아닌 쿼리만 보이도록 개선
opficdev d3e575b
refactor: 계산 변수들은 State 밖으로 분리
opficdev ecd6a26
refactor: 오류 발생 시 얼럿을 띄우도록 개선
opficdev db2121e
refactor: monthMaxCount가 각 day 셀에 대해 반복적으로 계산되는 형태를 한번만 하도록 개선
opficdev 22a27db
refactor: Calendar 중복 생성 제거
opficdev 0fe1db6
refactor: 뷰에서 Presentation 책임 제거
opficdev a20eea8
fix: 활동이 있더라도 내림에 의해 0으로 계산되어 보이지 않는 형태 방지
opficdev 033e5fe
refactor: 동일 로직 메서드화
opficdev 31b211a
refactor: 중복 코드 최소화
opficdev c087c2b
refactor: 100개 단위로 페이지네이션 형태를 통해 모든 데이터 받아오기
opficdev 65a49d1
refactor: 캐시 제거 후 딕셔너리로 데이터르 변환해 날짜 조회 시 성능 개선
opficdev 49bfcb8
refactor: 좀 더 안전하도록 로직 수정
opficdev c1c6136
refactor: 불필요 메서드 제거
opficdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
DevLog/Domain/UseCase/UserData/Fetch/Todo/FetchTodosByDateRangeUseCase.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| // | ||
| // FetchTodosByDateRangeUseCase.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/1/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| protocol FetchTodosByDateRangeUseCase { | ||
| func execute(from startDate: Date, to endDate: Date) async throws -> [Todo] | ||
| } |
27 changes: 27 additions & 0 deletions
27
DevLog/Domain/UseCase/UserData/Fetch/Todo/FetchTodosByDateRangeUseCaseImpl.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| // | ||
| // FetchTodosByDateRangeUseCaseImpl.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/1/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| final class FetchTodosByDateRangeUseCaseImpl: FetchTodosByDateRangeUseCase { | ||
| private let repository: TodoRepository | ||
|
|
||
| init(_ repository: TodoRepository) { | ||
| self.repository = repository | ||
| } | ||
|
|
||
| func execute(from startDate: Date, to endDate: Date) async throws -> [Todo] { | ||
| let query = TodoQuery( | ||
| createdAtFrom: startDate, | ||
| createdAtTo: endDate, | ||
| pageSize: 100, | ||
| fetchAllPages: true | ||
| ) | ||
| let page = try await repository.fetchTodos(query, cursor: nil) | ||
| return page.items | ||
| } | ||
| } | ||
10 changes: 10 additions & 0 deletions
10
DevLog/Domain/UseCase/UserPreferences/Profile/FetchProfileHeatmapActivityTypesUseCase.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| // | ||
| // FetchProfileHeatmapActivityTypesUseCase.swift | ||
| // DevLog | ||
| // | ||
| // Created by 최윤진 on 3/2/26. | ||
| // | ||
|
|
||
| protocol FetchProfileHeatmapActivityTypesUseCase { | ||
| func execute() -> [String] | ||
| } |
18 changes: 18 additions & 0 deletions
18
.../Domain/UseCase/UserPreferences/Profile/FetchProfileHeatmapActivityTypesUseCaseImpl.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| // | ||
| // FetchProfileHeatmapActivityTypesUseCaseImpl.swift | ||
| // DevLog | ||
| // | ||
| // Created by 최윤진 on 3/2/26. | ||
| // | ||
|
|
||
| final class FetchProfileHeatmapActivityTypesUseCaseImpl: FetchProfileHeatmapActivityTypesUseCase { | ||
| private let repository: UserPreferencesRepository | ||
|
|
||
| init(_ repository: UserPreferencesRepository) { | ||
| self.repository = repository | ||
| } | ||
|
|
||
| func execute() -> [String] { | ||
| repository.profileHeatmapActivityTypes() | ||
| } | ||
| } |
10 changes: 10 additions & 0 deletions
10
DevLog/Domain/UseCase/UserPreferences/Profile/UpdateProfileHeatmapActivityTypesUseCase.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| // | ||
| // UpdateProfileHeatmapActivityTypesUseCase.swift | ||
| // DevLog | ||
| // | ||
| // Created by 최윤진 on 3/2/26. | ||
| // | ||
|
|
||
| protocol UpdateProfileHeatmapActivityTypesUseCase { | ||
| func execute(_ activityTypes: [String]) | ||
| } |
18 changes: 18 additions & 0 deletions
18
...Domain/UseCase/UserPreferences/Profile/UpdateProfileHeatmapActivityTypesUseCaseImpl.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| // | ||
| // UpdateProfileHeatmapActivityTypesUseCaseImpl.swift | ||
| // DevLog | ||
| // | ||
| // Created by 최윤진 on 3/2/26. | ||
| // | ||
|
|
||
| final class UpdateProfileHeatmapActivityTypesUseCaseImpl: UpdateProfileHeatmapActivityTypesUseCase { | ||
| private let repository: UserPreferencesRepository | ||
|
|
||
| init(_ repository: UserPreferencesRepository) { | ||
| self.repository = repository | ||
| } | ||
|
|
||
| func execute(_ activityTypes: [String]) { | ||
| repository.setProfileHeatmapActivityTypes(activityTypes) | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
DevLog/Presentation/Structure/Profile/ProfileActivityType.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| // | ||
| // ProfileActivityType.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/2/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| enum ProfileActivityType: String, CaseIterable, Hashable { | ||
| case created | ||
| case completed | ||
|
|
||
| var title: String { | ||
| switch self { | ||
| case .created: return "생성" | ||
| case .completed: return "완료" | ||
| } | ||
| } | ||
| } |
15 changes: 15 additions & 0 deletions
15
DevLog/Presentation/Structure/Profile/ProfileCompletionDay.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| // | ||
| // ProfileCompletionDay.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/2/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| struct ProfileCompletionDay: Hashable { | ||
| let date: Date | ||
| let createdCount: Int | ||
| let completedCount: Int | ||
| let isInMonth: Bool | ||
| } |
14 changes: 14 additions & 0 deletions
14
DevLog/Presentation/Structure/Profile/ProfileCompletionMonth.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| // | ||
| // ProfileCompletionMonth.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/2/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| struct ProfileCompletionMonth: Identifiable, Hashable { | ||
| var id: Date { monthStart } | ||
| let monthStart: Date | ||
| let weeks: [[ProfileCompletionDay]] | ||
| } |
15 changes: 15 additions & 0 deletions
15
DevLog/Presentation/Structure/Profile/ProfileCompletionQuarter.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| // | ||
| // ProfileCompletionQuarter.swift | ||
| // DevLog | ||
| // | ||
| // Created by opfic on 3/2/26. | ||
| // | ||
|
|
||
| import Foundation | ||
|
|
||
| struct ProfileCompletionQuarter: Identifiable, Hashable { | ||
| let quarterStart: Date | ||
| let months: [ProfileCompletionMonth] | ||
|
|
||
| var id: Date { quarterStart } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.