From 524e1ff2ada5c86482e7d617b650a8044fcccbd8 Mon Sep 17 00:00:00 2001 From: opficdev <162981733+opficdev@users.noreply.github.com> Date: Wed, 3 Jun 2026 00:40:35 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20MainView=20=ED=83=AD=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=EC=98=B5=EC=85=94=EB=84=90=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/Main/MainView.swift | 23 ++++++++----------- .../Sources/Root/RootView.swift | 4 +--- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/Application/DevLogPresentation/Sources/Main/MainView.swift b/Application/DevLogPresentation/Sources/Main/MainView.swift index 9e206315..59222a13 100644 --- a/Application/DevLogPresentation/Sources/Main/MainView.swift +++ b/Application/DevLogPresentation/Sources/Main/MainView.swift @@ -17,13 +17,13 @@ struct MainView: View { @State private var todayViewCoordinator: TodayViewCoordinator @State private var pushNotificationListViewCoordinator: PushNotificationListViewCoordinator @State private var profileViewCoordinator: ProfileViewCoordinator - @Binding var selectedTab: MainTab? + @Binding var selectedTab: MainTab private let windowEvent: TodoEditorWindowEvent init( container: DIContainer, windowEvent: TodoEditorWindowEvent, - selectedTab: Binding + selectedTab: Binding ) { self._coordinator = State(initialValue: MainViewCoordinator(container: container)) self._todoWindowCoordinator = State(initialValue: TodoWindowCoordinator(container: container)) @@ -39,12 +39,10 @@ struct MainView: View { var body: some View { Group { - if let selectedTab { - if isCompactLayout { - tabView - } else { - sidebarView(for: selectedTab) - } + if isCompactLayout { + tabView + } else { + sidebarView(for: selectedTab) } } .onAppear { @@ -53,7 +51,6 @@ struct MainView: View { todoWindowCoordinator.bindWindowEvent(windowEvent) } .onChange(of: selectedTab, initial: true) { _, newValue in - guard let newValue else { return } coordinator.viewModel.send(.selectedTabChanged(newValue)) if newValue == .home { homeViewCoordinator.fetchData() @@ -81,26 +78,26 @@ struct MainView: View { .tabItem { tabLabel(.home) } - .tag(MainTab.home as MainTab?) + .tag(MainTab.home) todayView .tabItem { tabLabel(.today) } - .tag(MainTab.today as MainTab?) + .tag(MainTab.today) notificationView .tabItem { tabLabel(.notification) } .badge(coordinator.viewModel.state.unreadPushCount) - .tag(MainTab.notification as MainTab?) + .tag(MainTab.notification) profileView .tabItem { tabLabel(.profile) } - .tag(MainTab.profile as MainTab?) + .tag(MainTab.profile) } } diff --git a/Application/DevLogPresentation/Sources/Root/RootView.swift b/Application/DevLogPresentation/Sources/Root/RootView.swift index 2b3879db..3fe332cd 100644 --- a/Application/DevLogPresentation/Sources/Root/RootView.swift +++ b/Application/DevLogPresentation/Sources/Root/RootView.swift @@ -14,7 +14,7 @@ public struct RootView: View { @Environment(\.diContainer) var container: DIContainer @State var viewModel: RootViewModel @State private var selectedRoute: Route? - @State private var selectedMainTab: MainTab? + @State private var selectedMainTab = MainTab.home private let widgetURLTab: (URL) -> MainTab? private let windowEvent: TodoEditorWindowEvent private let pushNotificationTodoIdPublisher: AnyPublisher @@ -65,8 +65,6 @@ public struct RootView: View { guard let value else { return } if value { selectedMainTab = .home - } else { - selectedMainTab = nil } } .onOpenURL { url in