Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a89ad19
Fix: ์‚ฌ์ง„ ๋™๋ด‰ํ•˜๊ธฐ ๋ถ€๋ถ„ ์‚ญ์ œ ์ง„ํ–‰
ksiomng Mar 25, 2025
b46c6b7
Fix: ํ•„์š”์—†๋Š” ํŒŒ์ผ์‚ญ์ œ, ์‚ฌ์ง„ ๋™๋ด‰ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์ •
ksiomng Mar 25, 2025
6185d6b
Fix: ํ•„์š”์—†๋Š” ๋™๋ด‰๋ถ€๋ถ„ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๊ณ  ํ•„์š”ํ•œ ํŒŒ์ผ๋งŒ ์ด๋™
ksiomng Mar 25, 2025
2f38203
Fix: ํ•„์š”์—†๋Š” ๋ทฐ ๋จผ์ € ์‚ญ์ œ
ksiomng Mar 25, 2025
62873a1
Fix: ์ปค์Šคํ…€ ํƒญ ๋ทฐ๋ชจ๋ธ์—์„œ ํ•„์š”์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ, ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ด๋ฆ„ ์ˆ˜์ •
ksiomng Mar 25, 2025
aec367d
Fix: ImportLetterViewModel ์— ํ•„์š”์—†๋Š” ์ฝ”๋“œ๋“ค ์ „๋ถ€ ์ œ๊ฑฐ, ์ •๋ฆฌ
ksiomng Mar 25, 2025
455ac6f
Fix: ImportLetterUseCase, @Injected ์ฃผ์ž… ์‚ญ์ œ
ksiomng Mar 25, 2025
8d4d818
Design: ํƒญ๋ฐ” ์ด๋ฏธ์ง€๋ณ€๊ฒฝ
ksiomng Mar 25, 2025
60d9eef
Design: ํƒญ๋ฐ” ์•„์ด์ฝ˜ ์„ ํƒ๋˜์—ˆ์„ ๋•Œ ์ƒ‰์ƒ ๋ณ€๊ฒฝ
ksiomng Mar 25, 2025
bc3b593
Design: ๋ชจ๋‹ฌ๋กœ ์‹œ์ž‘ํ•˜๋Š”๊ฑฐ๋ผ ๋ฐฑ๋ฒ„ํŠผ์ด ์—†์–ด์„œ ๋งŒ๋“ค์–ด์คŒ
ksiomng Mar 25, 2025
881211b
Fix: ๊ธฐ์กด ํฌํ† ํ”ผ์ปค ์—†์• ๊ณ ์ƒˆ๋กœ ํƒญ๋ฐ”์—์„œ ๋งŒ๋“ค์–ด์คŒ
ksiomng Mar 25, 2025
c9813ed
Fix: ImagePickerViewModel ํ•„์š”ํ•œ ๊ณณ์—์„œ๋งŒ ์‚ฌ์šฉ
ksiomng Mar 25, 2025
7036340
Fix: ํŒŒ์ผ์ •๋ฆฌ
ksiomng Mar 25, 2025
d8dae96
Fix: ์ž˜๋ชป์ฃผ์„์ฒ˜๋ฆฌํ•œ๊ฑฐ ใ…Žใ…Ž
ksiomng Mar 25, 2025
c8a0a62
Fix: ๋ชจ๋ธ, ๋ทฐ, ๋ทฐ๋ชจ๋ธ ์ •๋ฆฌ
ksiomng Mar 25, 2025
1c3a5bb
Fix: private๋กœ ๋ณ€๊ฒฝ
ksiomng Mar 25, 2025
06d6b6a
Fix: ๋ฏธ๋ฆฌ๋ณด๊ธฐ์—์„œ postScript ์“ธ ๋•Œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ๋”œ๋ ˆ์ด ๋˜๋Š”๋ฌธ์ œ ํ•ด๊ฒฐ
ksiomng Mar 26, 2025
1423f40
Fix: ์˜ต์…”๋„ ์•„๋‹ˆ๋ผ ์ˆ˜์ •
ksiomng Mar 26, 2025
170cd6f
Fix: ์‚ฌ์ง„ ์‚ญ์ œ๋˜๋Š” ๋กœ์ง์ด ์ด์ƒํ•ด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ
ksiomng Mar 26, 2025
b0746b7
Feat: ์ฃผ์„์ถ”๊ฐ€, ์ฝ”๋“œ ์ •๋ฆฌ
ksiomng Mar 26, 2025
74ddc92
Fix: ViewModel index๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์„œ ์ˆ˜์ •
ksiomng Mar 26, 2025
ca832ae
Fix: ๋ทฐ ๋ถ„๋ฆฌ์ค‘
ksiomng Mar 26, 2025
2d73044
Revert "Fix: ๋ทฐ ๋ถ„๋ฆฌ์ค‘"
ksiomng Mar 27, 2025
5d3d8f1
Fix: ๋ทฐ ๋ถ„๋ฆฌ
ksiomng Mar 27, 2025
24bd71f
Fix: ๋ทฐ๋ชจ๋ธ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ
ksiomng Mar 27, 2025
d567657
Fix: ๋ทฐ์™€ ๋ทฐ๋ชจ๋ธ ํ•œ๋ฒˆ ๋” ์ •๋ฆฌ
ksiomng Mar 27, 2025
993b4d7
Fix: geometry ๊ฒฝ๊ณ ๋ฌธ์„ ๊ณ ์น˜๊ธฐ์œ„ํ•ด ๊ฐ™์ด ์‚ฌ์šฉํ•ด์•ผํ•  ์ฝ”๋“œ๋ฅผ ์˜ฎ๊ฒจ์คŒ
ksiomng Mar 27, 2025
4d7470b
Fix: ํŽ˜์ด์ง€ ๊ณ„์‚ฐ์„ ์Šคํฌ๋กค offset์œผ๋กœ ํ•ด์„œ ๊ฐ€๊นŒ์šด ํŽ˜์ด์ง€์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•จ
ksiomng Mar 27, 2025
70ac8e8
Fix: offset์ด ๋ณ€๊ฒฝ๋ ๋•Œ ํŽ˜์ด์ง€๊ฐ€ center๋กœ ์˜ฌ์ˆ˜์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •
ksiomng Mar 27, 2025
8a32122
Fix: ํŽ˜์ด์ง€ ์ด๋™์ด ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์›Œ์„œ ๋‹ค๋ฅธ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์ •
ksiomng Mar 27, 2025
a450142
Fix: index out of range ๋œจ๋Š”๊ฑฐ ํ•ด๊ฒฐ
ksiomng Mar 27, 2025
fea478c
Fix: ๋ฏธ๋ฆฌ ์„ ์–ธํ•ด๋†“์€ ์ˆ˜ ์‚ฌ์šฉ
ksiomng Mar 27, 2025
358f861
Refactor: ์ฝ”๋“œ ๋ฐ ํŒŒ์ผ ์ •๋ฆฌ
ksiomng Mar 27, 2025
25c1ce6
Refactor: ์ค„๋ฐ”๊ฟˆ ๋ฐ ์ฝ”๋“œ ์ˆœ์„œ ์ •๋ฆฌ
ksiomng Mar 27, 2025
e0d54c3
Fix: ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”๋†“๊ณ  ์ ์šฉ์„ ์•ˆ์‹œ์ผœ์„œ ์ˆ˜์ •
ksiomng Mar 27, 2025
e538df0
Fix: ํ•„์š”์—†๋Š” ๋ทฐ ์‚ญ์ œ, ์ด๋ฏธ์ง€ ์‚ญ์ œํ•  ๋•Œ ์•Œ๋Ÿฟ์ถ”๊ฐ€
ksiomng Apr 7, 2025
d0b48cd
Feat: ์‚ฌ์ง„ ๋™๋ด‰ + ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ–ˆ์„ ๋•Œ ์ฒดํฌํ‘œ์‹œ
ksiomng Apr 7, 2025
49060c4
Fix: ํ‚ค๋ณด๋“œ ์œ„์—์žˆ๋Š” ๋ฒ„ํŠผ์ด ์œ„์น˜๊ฐ€ ํ‚ค๋ณด๋“œ ์‚ฌ์ด์ฆˆ๋งˆ๋‹ค ๋‹ฌ๋ผ์ ธ์•ผํ•ด์„œ ์ˆ˜์ •
ksiomng Apr 7, 2025
4780967
Design: ๋ฒ„ํŠผ 2๊ฐœ ์ƒ‰์ƒ ๋ณ€๊ฒฝ
ksiomng Apr 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 4 additions & 88 deletions Kabinett.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions Kabinett/Application/DIContainer/Keys/UseCaseKeys.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,3 @@ struct WriteLetterUseCaseKey: InjectionKey {
struct LetterBoxUseCaseKey: InjectionKey {
typealias Value = LetterBoxUseCase
}

struct ImportLetterUseCaseKey: InjectionKey {
typealias Value = ImportLetterUseCase
}
8 changes: 0 additions & 8 deletions Kabinett/Application/KabinettApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -152,14 +152,6 @@ struct KabinettApp: App {
authManager: authManager
)
}
Module(ImportLetterUseCaseKey.self) {
DefaultImportLetterUseCase(
authManager: authManager,
writerManager: firestoreWriterManager,
letterManager: firestoreLetterWriteManager,
letterStorageManager: firestorageLetterManager
)
}
}
}
}
117 changes: 0 additions & 117 deletions Kabinett/Data/DefaultUseCases/DefaultImportLetterUseCase.swift

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,30 +1 @@
//
// ImportLetterUseCase.swift
// Kabinett
//
// Created by JIHYE SEOK on 8/12/24.
//

import Foundation
import Combine

protocol ImportLetterUseCase {
func saveLetter(postScript: String?,
envelope: String,
stamp: String,
fromUserId: String?,
fromUserName: String,
fromUserKabinettNumber: Int?,
toUserId: String?,
toUserName: String,
toUserKabinettNumber: Int?,
photoContents: [Data],
date: Date,
isRead: Bool
) async -> Result<Bool, any Error>
func findWriter(by query: String) async -> [Writer]
func getCurrentWriter() -> AnyPublisher<Writer, Never>

func loadEnvelopes() async -> Result<[String], any Error>
func loadStamps() async -> Result<[String], any Error>
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ struct CustomTabBar: View {
}) {
Image(uiImage: image)
.renderingMode(.template)
.foregroundStyle(viewModel.selectedTab == tag ? Color.primary600 : Color.primary300)
.foregroundStyle(viewModel.selectedTab == tag ? Color.primary900 : Color.primary300)
}
}

Expand Down
42 changes: 5 additions & 37 deletions Kabinett/Presentation/Commons/CustomTabView/CustomTabView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,16 @@ struct CustomTabView: View {
@StateObject private var customTabViewModel = CustomTabViewModel()
@StateObject private var profileViewModel: ProfileViewModel
@StateObject private var envelopeStampSelectionViewModel: EnvelopeStampSelectionViewModel
@StateObject private var imagePickerViewModel: ImagePickerViewModel
@State private var letterWriteViewModel = LetterWriteModel()
@State private var letterWriteModel = LetterWriteModel()

init() {
@Injected(LetterBoxUseCaseKey.self) var letterBoxUseCase: LetterBoxUseCase
@Injected(ProfileUseCaseKey.self) var profileUseCase: ProfileUseCase
@Injected(WriteLetterUseCaseKey.self) var writeLetterUseCase: WriteLetterUseCase
@Injected(ImportLetterUseCaseKey.self) var importLetterUseCase: ImportLetterUseCase

self._customTabViewModel = StateObject(wrappedValue: CustomTabViewModel())
self._profileViewModel = StateObject(wrappedValue: ProfileViewModel(profileUseCase: profileUseCase))
self._envelopeStampSelectionViewModel = StateObject(wrappedValue: EnvelopeStampSelectionViewModel(useCase: writeLetterUseCase))
self._imagePickerViewModel = StateObject(wrappedValue: ImagePickerViewModel(componentsUseCase: importLetterUseCase))
}

var body: some View {
Expand Down Expand Up @@ -54,43 +51,14 @@ struct CustomTabView: View {
.onChange(of: customTabViewModel.selectedTab) { oldValue, newValue in
if newValue == 1 {
withAnimation {
customTabViewModel.showOptions = true
customTabViewModel.showWriteView = true
}
customTabViewModel.selectedTab = oldValue
}
}
.overlay(
Group {
if customTabViewModel.showOptions {
OptionOverlay(
customTabViewModel: customTabViewModel,
imageViewModel: imagePickerViewModel
)
}
}
)
.overlay(
ImportDialog(
viewModel: customTabViewModel,
envelopeStampSelectionViewModel: envelopeStampSelectionViewModel
)
)
.overlay(
ImagePickerView(
imageViewModel: imagePickerViewModel,
customViewModel: customTabViewModel,
envelopeStampSelectionViewModel: envelopeStampSelectionViewModel
)
)
.fullScreenCover(isPresented: $customTabViewModel.showCamera) {
CameraView(imagePickerViewModel: imagePickerViewModel)
}
.sheet(isPresented: $customTabViewModel.showWriteLetterView) {
ContentWriteView(
letterContent: $letterWriteViewModel,
imageViewModel: imagePickerViewModel,
customTabViewModel: customTabViewModel
)
.sheet(isPresented: $customTabViewModel.showWriteView) {
UserSelectionView(letter: $letterWriteModel.writeLetter, customViewModel: customTabViewModel)
.presentationDetents([.height(300), .large])
}
}
}
31 changes: 0 additions & 31 deletions Kabinett/Presentation/Commons/CustomTabView/ImportDialog.swift

This file was deleted.

24 changes: 0 additions & 24 deletions Kabinett/Presentation/Commons/CustomTabView/OptionGuideView.swift

This file was deleted.

Loading