**Eventify Frontend** is the official Flutter mobile and desktop application counterpart of the [Eventify Dashboard (React)](https://code.bshtech.net/Sicherhaven/mvnew.eventifyplus.com). Built with performance and elegance in mind, it delivers a dynamic native experience offering the same powerful features as its web counterpart.
Whether you're an attendee looking for the next big conference or an administrator managing your personal agenda, Eventify has you covered. The application seamlessly adapts its UI between mobile and desktop form-factors.
- **📱 Fully Responsive Dual-Layouts:** Distinct, optimized UI layouts for both Mobile and Desktop screens (`DesktopLoginScreen` vs `LoginScreen`, `HomeDesktopScreen` vs `HomeScreen`) utilizing a strict breakpoint system.
- **🌗 Native Theming & Dark Mode:** Integrated `ThemeManager` supporting real-time reactive toggles between fully customized Light and Dark modes.
- **📅 Interactive Calendars & Booking:** Effortlessly browse and manage your events and tickets using integrated calendar views (`table_calendar`).
- **📍 Location Services:** Precise event mapping and real-time location detection powered by cutting-edge geo-packages (`geocoding` & `geolocator`).
- **📸 Media Integration:** Instantly share moments or update your profile via secure native image picking (`image_picker`).
- **💾 Fast & Reliable Local Storage:** Lightning-fast offline-ready credential and preference caching using `shared_preferences`.
- **🎨 Sleek UI/UX:** A pixel-perfect interface translated beautifully into a responsive application, complete with deep profile management, customized settings, and ticket overview screens.
- **🚀 Polished Details:** Brand-aligned custom launcher icons (`flutter_launcher_icons`) and native splash screens (`flutter_native_splash`) built right in.
The app uses an initialization check in `main.dart` that intercepts the launch view to determine if the user has an existing cached session (`email` stored via `SharedPreferences`).
- If authenticated: Safely navigates the user to the `HomeScreen` / `HomeDesktopScreen`.
- If unauthenticated: Routes the user to the `LoginScreen` / `DesktopLoginScreen`.