From 1bb3558015349710f990b0b11bd3364b1a8d41e7 Mon Sep 17 00:00:00 2001 From: Seonkyu_Kim Date: Tue, 4 Feb 2025 18:03:47 +0900 Subject: [PATCH] =?UTF-8?q?[=E2=9C=A8]=20=EB=A9=94=EC=9D=B8=EC=9D=98=20?= =?UTF-8?q?=EC=9C=84/=EC=95=84=EB=9E=98=20=EB=B0=94=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 13 +++ .idea/indexLayout.xml | 8 ++ .idea/vcs.xml | 6 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 132156 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ .../1. View/1. Intro & Login/LoginView.swift | 57 ----------- .../NavigationView.swift | 11 ++- .../IntroView.swift | 5 +- .../1. View/11. Intro & Login/LoginView.swift | 93 ++++++++++++++++++ .../12. Main/121. Button/BoxBtnView.swift | 39 ++++++++ .../12. Main/121. Button/CircleBtnView.swift | 56 +++++++++++ .../12. Main/121. Button/SimpleBtnView.swift | 45 +++++++++ AcaMate/1. View/12. Main/BottomView.swift | 79 +++++++++++++++ AcaMate/1. View/12. Main/MainView.swift | 34 +++++++ AcaMate/1. View/12. Main/TopView.swift | 43 ++++++++ AcaMate/2. Common/SwiftUI_Prefix.swift | 1 + AcaMate/5. Modifier/View.swift | 13 ++- .../BottomBar/Calendar.imageset/Calendar.png | Bin 0 -> 636 bytes .../BottomBar/Calendar.imageset/Contents.json | 12 +++ .../BottomBar/Chatting.imageset/Chatting.png | Bin 0 -> 543 bytes .../BottomBar/Chatting.imageset/Contents.json | 12 +++ .../Image Folder/BottomBar/Contents.json | 9 ++ .../BottomBar/Etc.imageset/Contents.json | 12 +++ .../BottomBar/Etc.imageset/Etc.png | Bin 0 -> 635 bytes .../BottomBar/Home.imageset/Contents.json | 12 +++ .../BottomBar/Home.imageset/Home.png | Bin 0 -> 604 bytes .../Management.imageset/Contents.json | 12 +++ .../Management.imageset/Management.png | Bin 0 -> 577 bytes .../TopBar/Back.imageset/Back.png | Bin 0 -> 587 bytes .../TopBar/Back.imageset/Contents.json | 12 +++ .../Image Folder/TopBar/Contents.json | 9 ++ .../TopBar/Edit.imageset/Contents.json | 12 +++ .../TopBar/Edit.imageset/Edit.png | Bin 0 -> 684 bytes .../TopBar/Face.imageset/Contents.json | 12 +++ .../TopBar/Face.imageset/Face.png | Bin 0 -> 2268 bytes .../TopBar/Market.imageset/Contents.json | 12 +++ .../TopBar/Market.imageset/Market.png | Bin 0 -> 535 bytes .../TopBar/Person.imageset/Contents.json | 12 +++ .../TopBar/Person.imageset/Person.png | Bin 0 -> 1260 bytes .../TopBar/Plus.imageset/Contents.json | 12 +++ .../TopBar/Plus.imageset/Plus.png | Bin 0 -> 261 bytes .../TopBar/Save.imageset/Contents.json | 12 +++ .../TopBar/Save.imageset/Save.png | Bin 0 -> 844 bytes .../TopBar/Setting.imageset/Contents.json | 12 +++ .../TopBar/Setting.imageset/Setting.png | Bin 0 -> 2374 bytes .../Images/BottomBar/Calendar.png | Bin 0 -> 636 bytes .../Images/BottomBar/Chatting.png | Bin 0 -> 543 bytes AcaMate/6. Resources/Images/BottomBar/Etc.png | Bin 0 -> 635 bytes .../6. Resources/Images/BottomBar/Home.png | Bin 0 -> 604 bytes .../Images/BottomBar/Management.png | Bin 0 -> 577 bytes AcaMate/6. Resources/Images/TopBar/Back.png | Bin 0 -> 587 bytes AcaMate/6. Resources/Images/TopBar/Edit.png | Bin 0 -> 684 bytes AcaMate/6. Resources/Images/TopBar/Face.png | Bin 0 -> 2268 bytes AcaMate/6. Resources/Images/TopBar/Market.png | Bin 0 -> 535 bytes AcaMate/6. Resources/Images/TopBar/Person.png | Bin 0 -> 1260 bytes AcaMate/6. Resources/Images/TopBar/Plus.png | Bin 0 -> 261 bytes AcaMate/6. Resources/Images/TopBar/Save.png | Bin 0 -> 844 bytes .../6. Resources/Images/TopBar/Setting.png | Bin 0 -> 2374 bytes 58 files changed, 618 insertions(+), 65 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/indexLayout.xml create mode 100644 .idea/vcs.xml create mode 100644 AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 AcaMate.xcodeproj/xcuserdata/tanine.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist delete mode 100644 AcaMate/1. View/1. Intro & Login/LoginView.swift rename AcaMate/1. View/{0. Common => 10. Common}/NavigationView.swift (85%) rename AcaMate/1. View/{1. Intro & Login => 11. Intro & Login}/IntroView.swift (97%) create mode 100644 AcaMate/1. View/11. Intro & Login/LoginView.swift create mode 100644 AcaMate/1. View/12. Main/121. Button/BoxBtnView.swift create mode 100644 AcaMate/1. View/12. Main/121. Button/CircleBtnView.swift create mode 100644 AcaMate/1. View/12. Main/121. Button/SimpleBtnView.swift create mode 100644 AcaMate/1. View/12. Main/BottomView.swift create mode 100644 AcaMate/1. View/12. Main/MainView.swift create mode 100644 AcaMate/1. View/12. Main/TopView.swift create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Calendar.imageset/Calendar.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Calendar.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Chatting.imageset/Chatting.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Chatting.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Etc.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Etc.imageset/Etc.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Home.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Management.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Back.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Edit.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Face.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Face.imageset/Face.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Market.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Market.imageset/Market.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Person.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Plus.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Plus.imageset/Plus.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Save.png create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Setting.imageset/Contents.json create mode 100644 AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Setting.imageset/Setting.png create mode 100644 AcaMate/6. Resources/Images/BottomBar/Calendar.png create mode 100644 AcaMate/6. Resources/Images/BottomBar/Chatting.png create mode 100644 AcaMate/6. Resources/Images/BottomBar/Etc.png create mode 100644 AcaMate/6. Resources/Images/BottomBar/Home.png create mode 100644 AcaMate/6. Resources/Images/BottomBar/Management.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Back.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Edit.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Face.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Market.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Person.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Plus.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Save.png create mode 100644 AcaMate/6. Resources/Images/TopBar/Setting.png diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..dad9b10 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/projectSettingsUpdater.xml +/.idea.AcaMate_iOS.iml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/indexLayout.xml b/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate b/AcaMate.xcodeproj/project.xcworkspace/xcuserdata/tanine.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..eee7cfb991baafc189cd602fbd05b364940f44d4 GIT binary patch literal 132156 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 + + diff --git a/AcaMate/1. View/1. Intro & Login/LoginView.swift b/AcaMate/1. View/1. Intro & Login/LoginView.swift deleted file mode 100644 index 96535fa..0000000 --- a/AcaMate/1. View/1. Intro & Login/LoginView.swift +++ /dev/null @@ -1,57 +0,0 @@ -// -// LoginView.swift -// AcaMate -// -// Created by Sean Kim on 12/1/24. -// - -import SwiftUI - -struct LoginView: View { - @EnvironmentObject var alertController: AlertController - @Binding var naviState : NaviState - - var body: some View { - VStack(spacing: 0) { - Image("Team_Icon") - .resizable() - .frame(width: 200, height: 200) - .background(.white) - .border(.black) - .padding(.bottom, 84) - Button { - - } label: { - HStack(spacing: 12) { - Image("Kakao_Icon") - .resizable() - .frame(width: 32, height: 32) - Text("카카오 계정으로 시작하기") - .font(.nps(font: .regular, size: 16)) - .foregroundStyle(Color(.Text.black)) - } - .padding(12) - .background { - RoundedRectangle(cornerRadius: 12) - .foregroundStyle(Color(.Other.yellow)) - } - } - - Button { - alertController.alertData = SetAlertData().setTest() - alertController.showAlert.toggle() -// naviState.set(act: .MOVE,path: .Intro) - - } label: { - Text("111111111") - } - .padding() - } - .fullView(.Normal.normal) - - } -} - -//#Preview { -// LoginView() -//} diff --git a/AcaMate/1. View/0. Common/NavigationView.swift b/AcaMate/1. View/10. Common/NavigationView.swift similarity index 85% rename from AcaMate/1. View/0. Common/NavigationView.swift rename to AcaMate/1. View/10. Common/NavigationView.swift index 9024bc6..85a8ffb 100644 --- a/AcaMate/1. View/0. Common/NavigationView.swift +++ b/AcaMate/1. View/10. Common/NavigationView.swift @@ -9,7 +9,7 @@ import SwiftUI import Combine - +/// 이거 위에 다른 뷰들이 위젯 느낌으로 계속 갈아 끼워지는거 struct NavigationView: View { @State private var naviState : NaviState = .init(act: .NONE, path: .Intro) @State private var history: [PathName] = [.Intro] @@ -25,7 +25,7 @@ struct NavigationView: View { case .Login : LoginView(naviState: $naviState) case .Main: - EmptyView() + MainView(naviState: $naviState) } } .onChange(of: naviState) { old, new in @@ -41,30 +41,33 @@ struct NavigationView: View { case .MOVE: moveHistory(path: new.path) } - // LOG printLog("\(old.path) => \(new.path)") showHistory() } - .fullView(.Normal.normal) + .fullDrawView(.Normal.normal) .setAlert() .setNetwork() } + /// 경로에 한 단계 추가 private func addHistory(path: PathName) { history.append(path) } + /// 가장 가까운 경로 삭제 private func popHistory() { history.removeLast() naviState.set(act: .NONE, path: history.last ?? .NONE) } + /// 경로 기록 전체 삭제 private func resetHistory(path: PathName) { history.removeAll() addHistory(path: path) } + /// 경로의 최상단 지우고, 새로 이동하는 경로로 설정 private func moveHistory(path: PathName) { if path == .NONE { naviState.set(act: .RESET, path: history.first ?? .Main) diff --git a/AcaMate/1. View/1. Intro & Login/IntroView.swift b/AcaMate/1. View/11. Intro & Login/IntroView.swift similarity index 97% rename from AcaMate/1. View/1. Intro & Login/IntroView.swift rename to AcaMate/1. View/11. Intro & Login/IntroView.swift index 4d21e43..ab09092 100644 --- a/AcaMate/1. View/1. Intro & Login/IntroView.swift +++ b/AcaMate/1. View/11. Intro & Login/IntroView.swift @@ -67,8 +67,6 @@ struct IntroView: View { } } .store(in: &cancellables) - - } } @@ -78,7 +76,8 @@ struct IntroView: View { .sink { action in if action == "updateNow" { exit(1) - //MARK: - TODO (앱스토어 이동 로직 넣을 것) + // MARK: TO-DO + // (앱스토어 이동 로직 넣을 것) } else { naviState.set(act: .RESET, path: .Login) } diff --git a/AcaMate/1. View/11. Intro & Login/LoginView.swift b/AcaMate/1. View/11. Intro & Login/LoginView.swift new file mode 100644 index 0000000..18c277f --- /dev/null +++ b/AcaMate/1. View/11. Intro & Login/LoginView.swift @@ -0,0 +1,93 @@ +// +// LoginView.swift +// AcaMate +// +// Created by Sean Kim on 12/1/24. +// + +import SwiftUI + +struct LoginView: View { + @EnvironmentObject var alertController: AlertController + @Binding var naviState : NaviState + + var body: some View { + VStack(spacing: 0) { + Image("Team_Icon") + .resizable() + .frame(maxWidth: 200, maxHeight: 200) + .frame(width: 200, height: 200) + .background(.white) + .border(.black) + .padding(.bottom, 84) + /// 앱 아이콘 이미지 + + VStack(spacing: 16) { + Button { + // MARK: TO-DO + // 카카오 로그인 연동 + naviState.set(act: .MOVE, path: .Main) + } label: { + HStack(spacing: 24) { + Image("Kakao_Icon") + .resizable() + .frame(width: 32, height: 32) + Text("카카오 계정으로 시작하기") + .font(.nps(font: .regular, size: 16)) + .foregroundStyle(Color(.Text.black)) + } + .frame(maxWidth: .infinity) + .padding(12) + .background { + RoundedRectangle(cornerRadius: 12) + .foregroundStyle(Color(.Other.yellow)) + } + } + .frame(maxWidth: .infinity) + /// KAKAO 로그인 버튼 + + Button { + // MARK: TO-DO + // 애플 로그인 연동 + } label: { + HStack(spacing: 24) { + Image(systemName: "apple.logo") + .resizable() + .accentColor(Color(.Text.white)) + .frame(width: 32, height: 32) + + Text("애플 계정으로 시작하기") + .font(.nps(font: .regular, size: 16)) + .foregroundStyle(Color(.Text.white)) + } + .frame(maxWidth: .infinity) + .padding(12) + .background { + RoundedRectangle(cornerRadius: 12) + .foregroundStyle(Color(.Text.black)) + } + } + .frame(maxWidth: .infinity) + /// APPLE 로그인 버튼 + } + .padding([.leading,.trailing], 28) + /// 버튼 조합 + + // 삭제 +// Button { +// alertController.alertData = SetAlertData().setTest() +// alertController.showAlert.toggle() +// // naviState.set(act: .MOVE,path: .Intro) +// +// } label: { +// Text("111111111") +// } + + } + .fullDrawView(.Normal.normal) + } +} + +//#Preview { +// LoginView() +//} diff --git a/AcaMate/1. View/12. Main/121. Button/BoxBtnView.swift b/AcaMate/1. View/12. Main/121. Button/BoxBtnView.swift new file mode 100644 index 0000000..10747fb --- /dev/null +++ b/AcaMate/1. View/12. Main/121. Button/BoxBtnView.swift @@ -0,0 +1,39 @@ +// +// BoxBtnView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI + +struct BoxBtnView: View { + let width: CGFloat + let height: CGFloat + let action: VOID_TO_VOID? + + @ViewBuilder let content: Content + + var body: some View { + Button{ + guard let action = action else { return } + action() + } label: { + content +// if let image = image { +// image +// .resizable() +// .frame(width: width, height: height) +// } + } + } +} + +#Preview { + BoxBtnView(width: 40, height: 40, action: nil){ + VStack { + Text("Test1") + Text("Test2") + } + } +} diff --git a/AcaMate/1. View/12. Main/121. Button/CircleBtnView.swift b/AcaMate/1. View/12. Main/121. Button/CircleBtnView.swift new file mode 100644 index 0000000..80ce92b --- /dev/null +++ b/AcaMate/1. View/12. Main/121. Button/CircleBtnView.swift @@ -0,0 +1,56 @@ +// +// ButtonView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI + + + +struct CircleBtnView: View { + let title: String? + let image: Image + @Binding var isSelected: Bool + let isReverse: Bool + + let action: VOID_TO_VOID? + + var backColor: Color {isReverse ? Color(.Second.light) : Color(.Normal.normal)} + var tintColor: Color {isSelected ? Color(.Second.normal) : Color(.Disable.normal)} + + var body: some View { + Button{ + guard let action = action else {return} + action() + } label: { + VStack(alignment: .center, spacing: 0) { + self.image + .resizable() + .renderingMode(.template) + .foregroundStyle(self.tintColor) + .frame(width: 24, height: 24) + if let title = self.title { + Text("\(title)") + .font(.nps(font: .bold, size: 6)) + .tint(self.tintColor) + } + } + .padding() + .background { + if isReverse { + Circle() + .accentColor(self.backColor) + .frame(width: 48, height: 48) + .innerShadow(shape: Circle(), color: Color(.Text.black).opacity(0.75), blur: 8, x: 0, y: 4) + } else { + Circle() + .accentColor(self.backColor) + .frame(width: 48, height: 48) + .shadow(color: Color(.Text.black).opacity(0.75), radius: 8, x: 4, y: 8) + } + } + } + } +} diff --git a/AcaMate/1. View/12. Main/121. Button/SimpleBtnView.swift b/AcaMate/1. View/12. Main/121. Button/SimpleBtnView.swift new file mode 100644 index 0000000..dae991c --- /dev/null +++ b/AcaMate/1. View/12. Main/121. Button/SimpleBtnView.swift @@ -0,0 +1,45 @@ +// +// SimpleBtnView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI + +struct SimpleBtnView: View { + let title: String? + let image: Image? + let font: Font? + let width: CGFloat + let height: CGFloat + + let action: VOID_TO_VOID? + + + var body: some View { + Button{ + guard let action = action else { return } + action() + } label: { + if let title = title, let font = font { + Text("\(title)") + .font(font) + .tint(Color(.Second.dark)) + .frame(width: width, height: height) + } + else if let image = image { + image + .resizable() + .frame(width: width, height: height) + } + } + } +} + +#Preview { + SimpleBtnView(title: "체크 합니다", image: Image(.BottomBar.home), + font: .nps(font: .bold, size: 12), + width: 40, height: 40, + action: nil) +} diff --git a/AcaMate/1. View/12. Main/BottomView.swift b/AcaMate/1. View/12. Main/BottomView.swift new file mode 100644 index 0000000..72c9e42 --- /dev/null +++ b/AcaMate/1. View/12. Main/BottomView.swift @@ -0,0 +1,79 @@ +// +// BottomView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI + +struct BottomView: View { + @State private var isHomeSelected: Bool = true + @State private var isManagementSelected: Bool = false + @State private var isChattingSelected: Bool = false + @State private var isCalendarSelected: Bool = false + @State private var isEtcSelected: Bool = false + + var body: some View { + HStack(spacing: 0){ + Spacer(minLength: 1) + CircleBtnView(title: "홈", image: Image(.BottomBar.home), + isSelected: $isHomeSelected, isReverse: false, + action: { + btnAllFalse() + isHomeSelected.toggle() + }) + Spacer(minLength: 1) + + CircleBtnView(title: "학습 관리", image: Image(.BottomBar.management), + isSelected: $isManagementSelected, isReverse: false, + action: { + btnAllFalse() + isManagementSelected.toggle() + }) + Spacer(minLength: 1) + CircleBtnView(title: "채팅", image: Image(.BottomBar.chatting), + isSelected: $isChattingSelected, isReverse: false, + action: { + btnAllFalse() + isChattingSelected.toggle() + }) + Spacer(minLength: 1) + CircleBtnView(title: "일정", image: Image(.BottomBar.calendar), + isSelected: $isCalendarSelected, isReverse: false, + action: { + btnAllFalse() + isCalendarSelected.toggle() + }) + Spacer(minLength: 1) + CircleBtnView(title: "더보기", image: Image(.BottomBar.etc), + isSelected: $isEtcSelected, isReverse: false, + action: { + btnAllFalse() + isEtcSelected.toggle() + }) + Spacer(minLength: 1) + } + .padding([.top],12) + .background { + Rectangle() + .foregroundStyle(Color(.Normal.dark)) + .ignoresSafeArea(edges: .bottom) + } + .frame(maxWidth: .infinity) + + + } + + private func btnAllFalse() { + isHomeSelected = false + isManagementSelected = false + isChattingSelected = false + isCalendarSelected = false + isEtcSelected = false + } +} + +#Preview { + BottomView() +} diff --git a/AcaMate/1. View/12. Main/MainView.swift b/AcaMate/1. View/12. Main/MainView.swift new file mode 100644 index 0000000..42b7453 --- /dev/null +++ b/AcaMate/1. View/12. Main/MainView.swift @@ -0,0 +1,34 @@ +// +// MainView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI +import Combine + +struct MainView: View { + @EnvironmentObject var alertController: AlertController + @State var cancellables: Set = [] + @Binding var naviState : NaviState + + var body: some View { + VStack(spacing: 0) { + TopView(titleName: "Name") + + Spacer() + + BottomView() + .frame(maxWidth: .infinity) + +// .backgroundStyle(Color(.Normal.dark)) +// .safeAreaInset(edge: .bottom, spacing: 0) { +// Color(.Normal.dark) +//// .frame(height: 0) +// } + } +// .fullDrawView(Color(.Normal.dark)) + } +} + diff --git a/AcaMate/1. View/12. Main/TopView.swift b/AcaMate/1. View/12. Main/TopView.swift new file mode 100644 index 0000000..aee8b74 --- /dev/null +++ b/AcaMate/1. View/12. Main/TopView.swift @@ -0,0 +1,43 @@ +// +// TopView.swift +// AcaMate +// +// Created by TAnine on 2/4/25. +// + +import SwiftUI + +struct TopView: View { + @State var titleName: String = "" + + var body: some View { + HStack(alignment: .center, spacing: 0) { + SimpleBtnView(title: nil, image: Image(.TopBar.face), font: nil, width: 40, height: 40, action: { + + }) + .padding(EdgeInsets(top: 12, leading: 24, bottom: 12, trailing: 12)) + + Text("\(titleName)") + .tint(Color(.Text.disabled)) + .font(.nps(font: .bold, size: 20)) + Spacer() + + SimpleBtnView(title: nil, image: Image(.TopBar.face), font: nil, width: 40, height: 40, action: { + + }) + .hidden() + + } + .background { + Rectangle() + .foregroundStyle(Color(.Other.cell)) + .ignoresSafeArea(edges: .top) + } + .frame(maxWidth: .infinity) + + } +} + +#Preview { + TopView(titleName: "Name") +} diff --git a/AcaMate/2. Common/SwiftUI_Prefix.swift b/AcaMate/2. Common/SwiftUI_Prefix.swift index b84cff5..2c388b4 100644 --- a/AcaMate/2. Common/SwiftUI_Prefix.swift +++ b/AcaMate/2. Common/SwiftUI_Prefix.swift @@ -16,6 +16,7 @@ public let API_URL: String = "https://acamate.ipstein.myds.me" // MARK: - TYPEALIAS typealias VOID_TO_VOID = () -> () + // MARK: - VARIABLE public var APPSTORE_URL = "https://itunes.apple.com/app/" public var KEYBOARD_UP_HEIGHT: CGFloat = 46.0 diff --git a/AcaMate/5. Modifier/View.swift b/AcaMate/5. Modifier/View.swift index 89b8997..f5a7b1c 100644 --- a/AcaMate/5. Modifier/View.swift +++ b/AcaMate/5. Modifier/View.swift @@ -46,7 +46,8 @@ struct AlertModifier: ViewModifier { } extension View { - func fullView(_ backColor: Color) -> some View { + /// View에 전체적으로 색 입히기 + func fullDrawView(_ backColor: Color) -> some View { return self .frame(maxWidth: .infinity, maxHeight: .infinity) .background(backColor) @@ -68,4 +69,14 @@ extension View { .navigationBarBackButtonHidden(true) .toolbar(.hidden, for: .navigationBar) } + + func innerShadow (shape: S, color: Color, lineWidth: CGFloat = 6, blur: CGFloat, x: CGFloat, y: CGFloat) -> some View { + return self.overlay { + shape + .stroke(color, lineWidth: lineWidth) + .offset(x: x, y: y) + .blur(radius: blur) + .mask(shape.fill(LinearGradient(gradient: Gradient(colors: [.black, .clear]), startPoint: .topLeading, endPoint: .bottomTrailing))) + } + } } diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Calendar.imageset/Calendar.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Calendar.imageset/Calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..17b4f334b9ac1f44126d17a46a1a885bfa2fb3c8 GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG z^}^ATGdm2e1vW5jd!SmuX=0Gf{9bAH{HFcIXD7Qw%vry2 z?M}Jhvflo?Ch0i2m52HQH~_ zoj-iQ=hCOA;gR~nqPKrrTgk2eq*m@=ZGU-QT9f=Y; zcj#05xy@T%YnHKo+5KO4a#>69a`X2sy8a7`c`r3?>6!WO!xS+>YE_^V;o%x1H7lWLYNTwPUMsMjG|^J`5dP&j69Nbq<0Fx6+j zi;C^U9vvuVbSIcR40}a1T*~Jt!Cw-%fd9+}VW!uw;Jx@0+np-zZHHo?S z-~Cr>HD=%RG_bz&V-nBj#INetI)LEC+?{M6q>bK4KRH-bm>flpeKcQv@kp2Q8^JFe zG7fi?FC@HK;IevYV3d_Iue(A8!}HFrU_P#sweYJwI$e+*CB83DL zm6Tp-HJeSDylDG>o1W06E9S*{%WQKi`M9SheqrxDhs*6s=JD}KN&mtT}=6dwOM@x4Bu@byLMO=lv67G}MR$v)>Gb)LP5 z_f^gM=Rz-1cQ&fuum5Htm2u*q&x!6v1~w)MjsyjTA0ow^wz756(aUw!f&2!DM8;c@ z*T2e5#Qg*gI56akFoJ1jMjjRefdkU64Z=YB!c6I-`**ciIx;}T(G_0!A>#eO{h52O zn#MkhwAWFbd?JsZteDZ7t!oibGJUGy?w>__i*(I*9x3W{6?Heh{5{w6lZf%v^uASR z^wyv0eLvqWO#A-PD<^XPZPQeBQuhxyQ@Ca_(^0wOSuz@}7GaAWRvy{d#Jp7GI2YHH zD4Eq|3q&4AY-L(1b-bxDs4uyad8yp->?(VW){c%2t2fdMZnhju-70DTj86tnS3j3^ HP6^(Qm z9eaFzgT#ZRw8wW(J`}Ub-R;!vX}5F!-aC&alD3zr%P;%zBzD1OmVM$p$LF@b;=h0O z{@SHSe@>qpK9Q@d_+1XOaz(%gm1A;Kc)t6EPh!mSieIt8LeqTO*_EeLHgZ4TeJB3F zS>) zdEl9-FHG4ttKMDCt`59YC&jid_p8dq&*ywi_Gt(SqJh}tdd9CMyEiV&?D-2!D-52l KelF{r5}E*z&m?aE literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Contents.json new file mode 100644 index 0000000..92754fa --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Home.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Home.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Home.imageset/Home.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b2daaa41f12d1c5dec774ff1f29abec1bb854f GIT binary patch literal 604 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG zND4m>eaJeJmFf7SirJAZpRX ze&LPcksF?xW)7{YC2BzxEQ{D5aKtn!2h8*+ai1o!B;ota)|utoD(ZS!c;)?{$w#<$ zfIy!?knrKSTfcstVf*>^nVKZ;{b$)L8>4u>RLtLY)_>cLdpZB_Zr#-TF&7gnBPd;td{at?Dwo~U8=PmWrr8O+dlV_ZCm3-k5Lkh>g0M^$iP7vP!P-3NkZnUHL{%eRKDWla>B!vVv0cwf@Jx zd9r8jg5t?eNvh9N72-WDZTpLg($$|CYpS>vsn1_pVL^WDl?#fd3Sai& zy6Ca)6X&b){G6Z6ZJu0(zIlIs#l5us{a0>_uU7VqzHb&gKjzq-oL^mU`@C~|qsb&E zEtThIqLV`V^D_3urGNSFd0m#B$wJ^jBLg2xfkFc_qYTFm0oNB+=cYcJ9yAXk@W6qA zohiirXqQN>*3Vy8tl9lh)Ptp=MpWz;ySyjwQjH#xRwWRyI;#K6Be=09Ipz#7F)(<# L`njxgN@xNAL)!G` literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Contents.json new file mode 100644 index 0000000..2061f1b --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Management.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Management.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/BottomBar/Management.imageset/Management.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb724b8d44988b63568847251baa44562bf2faf GIT binary patch literal 577 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG zND44jV`u`}lpSOoMVt@{{B= z4e^G14SG{=B(&tkF3^?^n#g6&v6sO$=~;5hYr!23*>6@w-m)mWq|&$cx%rmBw_#`F zJw@6%fK~v(t7B6x=f3xukopoRCRKl?89 zvI=I*w$QHL#rU3is(|~W{JSUgo`yWXY%{s&kpSl-_PaB-yHC*LOPArzY*{eaW8Pi% z!kBcRMu#(x(*JJOdaMzrAGW%0vB@u`y+13aFaM-b6&~&Mp|R%en)>BuEWF-b-4ne? zmw8M0?b(Y}j|VnYE{brKQSERDJsP-&KO|KK9QX_ckLADJH1zJ-|I7#^;OXk;vd$@? F2>?0y_4EJ$ literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Back.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Back.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e5fa4f30a1df0a87db3ae7f5c3980a31f49c97 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG z;)ZR zLTqdGZCifuJUXV$vNKowZ(|j6>D5aoQeD08{^ZbI?0VU@RbXP(|1)Q1T7Ity*Nb_< z9x~%6r-J7s6$qNTD^L4X>Fq#%n^j!%S}dX*=h)=Py}SP4W92^vxhJd_^yj4BQ<%v7 zw|Vm!ZWY#+wFiHCt~`3J{Z?;&d%i;mYlm0!V(nKQLeGDvGB{=yvWXvN6?iVAp(1le zGa$oahVcS{LIZV&g^v=hH98$TxQ3~Ngeo|cK{UPIbe%4)%uqg1 X(|I?2UE3UB+%tH(`njxgN@xNAX2beT literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Contents.json new file mode 100644 index 0000000..7731df3 --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Back.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Back.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Contents.json new file mode 100644 index 0000000..6e96565 --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "provides-namespace" : true + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Contents.json new file mode 100644 index 0000000..39f0462 --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Edit.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Edit.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Edit.imageset/Edit.png new file mode 100644 index 0000000000000000000000000000000000000000..45cec8cdd4e32d1ba4fecc54f797256f25234f0a GIT binary patch literal 684 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

D+NoIx^$`iRD*iGsbB zcN2xa6%s=4nxq|B6kB3G&yV6s64ZX!yZGG;w8lMpxf=Z9ySm;_VIbc0{0sV(hR~E zI0M`tG#%k6c)iy7%OQ?d)&|~9j2jr;12UVtZ*h11z8CDhaq0i}HzET6ocxuvQ;-p8 zIK!JLf#tVXcZYGAN!jms7Q=Z>Nr9D7lf%Q&f#Kie?8_y^wkroniGk>=EwwAe`YuBr)m#t|g`|Kz499=x~sPy)Ke}8XUp`Mfw=eV+| zZ}ltRBGD&1e>d%2ah7o@msQI*&mz}<+gz1Pi1wBOEp{@LIw%NnkU zmb`b~#Jl4A)Ecwmz}ZY*?-w{fzPauFtxq@OcCU*pzp|~tOXtN@-tJo>0TWsGZb}Ti z9Tw0CWMl@;HtPb~=Puu0XslK_d%50~qysazG&P8@EKvZ3!nSXv?cY~-?%(%++q=VD zK>`yHQlJ3hVuA=g+dt2AX?^4TLr6+MLF-Vqk8#D@JfSV^ACo|QPgg&ebxsLQ0J;g_ Ai2wiq literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Contents.json new file mode 100644 index 0000000..d2ba7bf --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Person.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Person.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Person.imageset/Person.png new file mode 100644 index 0000000000000000000000000000000000000000..11d4da1e0766f32b46d449a6498030dcbcc2c0e9 GIT binary patch literal 1260 zcmVy}7n~|WNDyjna7ng*fsG(l;ga-50#cnz;v4P-p%{d7`{upx8vsEN1VIo4 zK@bGNHwaT?Z7HY%>O~@~0Z@exRgyPFFd)P}BHhwTbz8rM5lo4x2=wEXpn@^|$)eQq zj7Pw(F5&t#gerk&e!6_AjO1Mq;C7-V9OI?{Iup$x?^ppu&P z5t9^nK*e+|OB@cs10q;QP_vtz8)$ya|3I)k)bGL4Cb5}V`f?EfFm7%W1I`bN#Mn_<0iMs z6GM_QMAvQZT_ny0;%B&;dSV8zLtapY=_k@3y&`cxgMdLMV!F`Y>O0AnXIb1e*4vfHz;W*Yv zy*HBcn#}zS%3Og=HmrAtiS#td+|4>~ydrRnms)IfX>oU$_hWJ*v+O@x*^>Blq!&TM z%8(MJyV2SC1{~wBSdHm!){<|F$*kExdvl6a^FcJ=RVWA|?af{E<_GQFx!3>v!a3wp zy#^D&kKB5zbF&CvDHmQH#l1WCd-E60|HmSI3Sj3dCbkHu?^~UnHh9FlC(SeI_Gh1* z|BG#mcllH2Oct?6CH%Uz752b0Q*HYs!JF+6Qu>?wXYJkpFG$!5+&^Bt-JM#|oCJmy=BJe*u0?3}W;>IE6 z?2RE^-Q2oqUFcd1bixL$3?In_CUFe--ED!n`fU(EiRvuWs3ySR%wzR_vupPSodQc# z9M=f2l6EecE!-wP`?hKqz1(K8`A29x?=bn|j&zgXL_K3@`O#@@LP8TPuoj3tnY#J? z5{QvbHY4mrFa@5*um%g&%-Rt$PA}iua?R?s<0-r}&E2TaNOpv1%rNuq1H83BMfBQT zGbHX=C$Q3+AAtxo0_z~1#p==m!5fIopb>~bBM^Z`AOej*1QG;65ClOG1VIp9Ii3LX W9MgVG`73?^0000H`D@FL0~Isum~z~r@%(R7-M#ho{}2EFE|Vjq!6CxJ#l+g!Xy=-Vvw&dxi#gcGLdfu5KTx;j*C0zjJ%>^)<+h9{`Yb#Xt)Voz5;mvv4F FO#oAJOn3kQ literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Contents.json b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Contents.json new file mode 100644 index 0000000..f69137d --- /dev/null +++ b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Save.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Save.png b/AcaMate/6. Resources/Assets.xcassets/Image Folder/TopBar/Save.imageset/Save.png new file mode 100644 index 0000000000000000000000000000000000000000..d0934d320715159cd9bf4c91fa3079ea00dac480 GIT binary patch literal 844 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 literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/BottomBar/Calendar.png b/AcaMate/6. Resources/Images/BottomBar/Calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..17b4f334b9ac1f44126d17a46a1a885bfa2fb3c8 GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG z^}^ATGdm2e1vW5jd!SmuX=0Gf{9bAH{HFcIXD7Qw%vry2 z?M}Jhvflo?Ch0i2m52HQH~_ zoj-iQ=hCOA;gR~nqPKrrTgk2eq*m@=ZGU-QT9f=Y; zcj#05xy@T%YnHKo+5KO4a#>69a`X2sy8a7`c`r3?>6!WO!xS+>YE_^V;o%x1H7lWLYNTwPUMsMjG|^J`5dP&j69Nbq<0Fx6+j zi;C^U9vvuVbSIcR40}a1T*~Jt!Cw-%fd9+}VW!uw;Jx@0+np-zZHHo?S z-~Cr>HD=%RG_bz&V-nBj#INetI)LEC+?{M6q>bK4KRH-bm>flpeKcQv@kp2Q8^JFe zG7fi?FC@HK;IevYV3d_Iue(A8!}HFrU_P#sweYJwI$e+*CB83DL zm6Tp-HJeSDylDG>o1W06E9S*{%WQKi`M9SheqrxDhs*6s=JD}KN&mtT}=6dwOM@x4Bu@byLMO=lv67G}MR$v)>Gb)LP5 z_f^gM=Rz-1cQ&fuum5Htm2u*q&x!6v1~w)MjsyjTA0ow^wz756(aUw!f&2!DM8;c@ z*T2e5#Qg*gI56akFoJ1jMjjRefdkU64Z=YB!c6I-`**ciIx;}T(G_0!A>#eO{h52O zn#MkhwAWFbd?JsZteDZ7t!oibGJUGy?w>__i*(I*9x3W{6?Heh{5{w6lZf%v^uASR z^wyv0eLvqWO#A-PD<^XPZPQeBQuhxyQ@Ca_(^0wOSuz@}7GaAWRvy{d#Jp7GI2YHH zD4Eq|3q&4AY-L(1b-bxDs4uyad8yp->?(VW){c%2t2fdMZnhju-70DTj86tnS3j3^ HP6^(Qm z9eaFzgT#ZRw8wW(J`}Ub-R;!vX}5F!-aC&alD3zr%P;%zBzD1OmVM$p$LF@b;=h0O z{@SHSe@>qpK9Q@d_+1XOaz(%gm1A;Kc)t6EPh!mSieIt8LeqTO*_EeLHgZ4TeJB3F zS>) zdEl9-FHG4ttKMDCt`59YC&jid_p8dq&*ywi_Gt(SqJh}tdd9CMyEiV&?D-2!D-52l KelF{r5}E*z&m?aE literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/BottomBar/Home.png b/AcaMate/6. Resources/Images/BottomBar/Home.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b2daaa41f12d1c5dec774ff1f29abec1bb854f GIT binary patch literal 604 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG zND4m>eaJeJmFf7SirJAZpRX ze&LPcksF?xW)7{YC2BzxEQ{D5aKtn!2h8*+ai1o!B;ota)|utoD(ZS!c;)?{$w#<$ zfIy!?knrKSTfcstVf*>^nVKZ;{b$)L8>4u>RLtLY)_>cLdpZB_Zr#-TF&7gnBPd;td{at?Dwo~U8=PmWrr8O+dlV_ZCm3-k5Lkh>g0M^$iP7vP!P-3NkZnUHL{%eRKDWla>B!vVv0cwf@Jx zd9r8jg5t?eNvh9N72-WDZTpLg($$|CYpS>vsn1_pVL^WDl?#fd3Sai& zy6Ca)6X&b){G6Z6ZJu0(zIlIs#l5us{a0>_uU7VqzHb&gKjzq-oL^mU`@C~|qsb&E zEtThIqLV`V^D_3urGNSFd0m#B$wJ^jBLg2xfkFc_qYTFm0oNB+=cYcJ9yAXk@W6qA zohiirXqQN>*3Vy8tl9lh)Ptp=MpWz;ySyjwQjH#xRwWRyI;#K6Be=09Ipz#7F)(<# L`njxgN@xNAL)!G` literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/BottomBar/Management.png b/AcaMate/6. Resources/Images/BottomBar/Management.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb724b8d44988b63568847251baa44562bf2faf GIT binary patch literal 577 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG zND44jV`u`}lpSOoMVt@{{B= z4e^G14SG{=B(&tkF3^?^n#g6&v6sO$=~;5hYr!23*>6@w-m)mWq|&$cx%rmBw_#`F zJw@6%fK~v(t7B6x=f3xukopoRCRKl?89 zvI=I*w$QHL#rU3is(|~W{JSUgo`yWXY%{s&kpSl-_PaB-yHC*LOPArzY*{eaW8Pi% z!kBcRMu#(x(*JJOdaMzrAGW%0vB@u`y+13aFaM-b6&~&Mp|R%en)>BuEWF-b-4ne? zmw8M0?b(Y}j|VnYE{brKQSERDJsP-&KO|KK9QX_ckLADJH1zJ-|I7#^;OXk;vd$@? F2>?0y_4EJ$ literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/TopBar/Back.png b/AcaMate/6. Resources/Images/TopBar/Back.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e5fa4f30a1df0a87db3ae7f5c3980a31f49c97 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ79h;%I?XTvD9BhG z;)ZR zLTqdGZCifuJUXV$vNKowZ(|j6>D5aoQeD08{^ZbI?0VU@RbXP(|1)Q1T7Ity*Nb_< z9x~%6r-J7s6$qNTD^L4X>Fq#%n^j!%S}dX*=h)=Py}SP4W92^vxhJd_^yj4BQ<%v7 zw|Vm!ZWY#+wFiHCt~`3J{Z?;&d%i;mYlm0!V(nKQLeGDvGB{=yvWXvN6?iVAp(1le zGa$oahVcS{LIZV&g^v=hH98$TxQ3~Ngeo|cK{UPIbe%4)%uqg1 X(|I?2UE3UB+%tH(`njxgN@xNAX2beT literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/TopBar/Edit.png b/AcaMate/6. Resources/Images/TopBar/Edit.png new file mode 100644 index 0000000000000000000000000000000000000000..45cec8cdd4e32d1ba4fecc54f797256f25234f0a GIT binary patch literal 684 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

D+NoIx^$`iRD*iGsbB zcN2xa6%s=4nxq|B6kB3G&yV6s64ZX!yZGG;w8lMpxf=Z9ySm;_VIbc0{0sV(hR~E zI0M`tG#%k6c)iy7%OQ?d)&|~9j2jr;12UVtZ*h11z8CDhaq0i}HzET6ocxuvQ;-p8 zIK!JLf#tVXcZYGAN!jms7Q=Z>Nr9D7lf%Q&f#Kie?8_y^wkroniGk>=EwwAe`YuBr)m#t|g`|Kz499=x~sPy)Ke}8XUp`Mfw=eV+| zZ}ltRBGD&1e>d%2ah7o@msQI*&mz}<+gz1Pi1wBOEp{@LIw%NnkU zmb`b~#Jl4A)Ecwmz}ZY*?-w{fzPauFtxq@OcCU*pzp|~tOXtN@-tJo>0TWsGZb}Ti z9Tw0CWMl@;HtPb~=Puu0XslK_d%50~qysazG&P8@EKvZ3!nSXv?cY~-?%(%++q=VD zK>`yHQlJ3hVuA=g+dt2AX?^4TLr6+MLF-Vqk8#D@JfSV^ACo|QPgg&ebxsLQ0J;g_ Ai2wiq literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/TopBar/Person.png b/AcaMate/6. Resources/Images/TopBar/Person.png new file mode 100644 index 0000000000000000000000000000000000000000..11d4da1e0766f32b46d449a6498030dcbcc2c0e9 GIT binary patch literal 1260 zcmVy}7n~|WNDyjna7ng*fsG(l;ga-50#cnz;v4P-p%{d7`{upx8vsEN1VIo4 zK@bGNHwaT?Z7HY%>O~@~0Z@exRgyPFFd)P}BHhwTbz8rM5lo4x2=wEXpn@^|$)eQq zj7Pw(F5&t#gerk&e!6_AjO1Mq;C7-V9OI?{Iup$x?^ppu&P z5t9^nK*e+|OB@cs10q;QP_vtz8)$ya|3I)k)bGL4Cb5}V`f?EfFm7%W1I`bN#Mn_<0iMs z6GM_QMAvQZT_ny0;%B&;dSV8zLtapY=_k@3y&`cxgMdLMV!F`Y>O0AnXIb1e*4vfHz;W*Yv zy*HBcn#}zS%3Og=HmrAtiS#td+|4>~ydrRnms)IfX>oU$_hWJ*v+O@x*^>Blq!&TM z%8(MJyV2SC1{~wBSdHm!){<|F$*kExdvl6a^FcJ=RVWA|?af{E<_GQFx!3>v!a3wp zy#^D&kKB5zbF&CvDHmQH#l1WCd-E60|HmSI3Sj3dCbkHu?^~UnHh9FlC(SeI_Gh1* z|BG#mcllH2Oct?6CH%Uz752b0Q*HYs!JF+6Qu>?wXYJkpFG$!5+&^Bt-JM#|oCJmy=BJe*u0?3}W;>IE6 z?2RE^-Q2oqUFcd1bixL$3?In_CUFe--ED!n`fU(EiRvuWs3ySR%wzR_vupPSodQc# z9M=f2l6EecE!-wP`?hKqz1(K8`A29x?=bn|j&zgXL_K3@`O#@@LP8TPuoj3tnY#J? z5{QvbHY4mrFa@5*um%g&%-Rt$PA}iua?R?s<0-r}&E2TaNOpv1%rNuq1H83BMfBQT zGbHX=C$Q3+AAtxo0_z~1#p==m!5fIopb>~bBM^Z`AOej*1QG;65ClOG1VIp9Ii3LX W9MgVG`73?^0000H`D@FL0~Isum~z~r@%(R7-M#ho{}2EFE|Vjq!6CxJ#l+g!Xy=-Vvw&dxi#gcGLdfu5KTx;j*C0zjJ%>^)<+h9{`Yb#Xt)Voz5;mvv4F FO#oAJOn3kQ literal 0 HcmV?d00001 diff --git a/AcaMate/6. Resources/Images/TopBar/Save.png b/AcaMate/6. Resources/Images/TopBar/Save.png new file mode 100644 index 0000000000000000000000000000000000000000..d0934d320715159cd9bf4c91fa3079ea00dac480 GIT binary patch literal 844 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 literal 0 HcmV?d00001