This project is a multi-platform application built using SwiftUI. It is organized into three folders: iOS, macOS, and Shared.
- Shared components include reusable views, view models, and repositories that are not dependent on SwiftUI, allowing for efficient code sharing across platforms.
- Platform-specific UI components are separated, ensuring that macOS and iOS have tailored user interfaces. With a single codebase, the app behaves differently on each platform:
- macOS: Utilizes a sidebar navigation.
- iOS: Implements a bottom navigation bar.
- The project leverages NavigationPath to manage navigation history. On macOS, where native menu-specific stack history preservation is not provided, custom logic has been implemented to retain the last stack state for each menu. This means users can switch between menus and return to the previously navigated state for each menu independently.
- Multi-platform Support for macOS and iOS
- SwiftUI, Combine
- MVI Pattern

