diff --git a/TheNoiseClock/Features/Clock/Views/ClockView.swift b/TheNoiseClock/Features/Clock/Views/ClockView.swift index 3f6c2dc..4879f6a 100644 --- a/TheNoiseClock/Features/Clock/Views/ClockView.swift +++ b/TheNoiseClock/Features/Clock/Views/ClockView.swift @@ -13,7 +13,6 @@ struct ClockView: View { // MARK: - Properties @Bindable var viewModel: ClockViewModel - @State private var showFullScreenHint = false @State private var idleTimer: Timer? @State private var didHandleTouch = false @@ -35,21 +34,11 @@ struct ClockView: View { // Top overlay container ClockOverlayContainer(style: viewModel.style) - // Full screen hint overlay - if showFullScreenHint { - FullScreenHintView(isDisplayMode: viewModel.isDisplayMode) - } } } } - .ignoresSafeArea(.all, edges: viewModel.isDisplayMode ? .bottom : []) - .statusBarHidden(viewModel.isDisplayMode) - .overlay { - // Toolbar overlay - ClockToolbar( - isDisplayMode: viewModel.isDisplayMode - ) - } + .ignoresSafeArea() + .toolbar(.hidden, for: .navigationBar) .overlay { // Tab bar management overlay ClockTabBarManager(isDisplayMode: viewModel.isDisplayMode) @@ -95,15 +84,11 @@ struct ClockView: View { private func enterDisplayModeFromIdle() { guard !viewModel.isDisplayMode else { return } viewModel.toggleDisplayMode() - DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { - showFullScreenHint = true - } } private func handleUserInteraction() { if viewModel.isDisplayMode { viewModel.toggleDisplayMode() - showFullScreenHint = false } resetIdleTimer() } diff --git a/TheNoiseClock/Features/Clock/Views/Components/FullScreenHintView.swift b/TheNoiseClock/Features/Clock/Views/Components/FullScreenHintView.swift deleted file mode 100644 index 372e41a..0000000 --- a/TheNoiseClock/Features/Clock/Views/Components/FullScreenHintView.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// FullScreenHintView.swift -// TheNoiseClock -// -// Created by Matt Bruce on 9/10/25. -// - -import SwiftUI - -/// Component that shows a subtle hint for how to exit full-screen mode -struct FullScreenHintView: View { - - // MARK: - Properties - let isDisplayMode: Bool - @State private var hintOpacity: Double = 0.0 - - // MARK: - Body - var body: some View { - if isDisplayMode { - VStack { - Spacer() - - HStack { - Image(systemName: "hand.point.up.left") - .font(.title2) - .foregroundColor(.white.opacity(0.7)) - - Text("Long press to exit full screen") - .font(.headline) - .foregroundColor(.white.opacity(0.7)) - - Image(systemName: "hand.point.up.left") - .font(.title2) - .foregroundColor(.white.opacity(0.7)) - } - .padding(.horizontal, 20) - .padding(.vertical, 12) - .background( - RoundedRectangle(cornerRadius: 20) - .fill(.black.opacity(0.6)) - .blur(radius: 1) - ) - .opacity(hintOpacity) - - Spacer() - .frame(height: 100) // Space above tab bar area - } - .transition(.opacity.combined(with: .scale(scale: 0.9))) - .onAppear { - withAnimation(.easeInOut(duration: 0.5)) { - hintOpacity = 1.0 - } - - // Auto-hide after 3 seconds - DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { - withAnimation(.easeInOut(duration: 0.5)) { - hintOpacity = 0.0 - } - } - } - } - } - -} - -// MARK: - Preview -#Preview { - ZStack { - Color.black.ignoresSafeArea() - - FullScreenHintView(isDisplayMode: true) - } -}