Files
Eventify-frontend/lib/core/constants.dart
Sicherhaven bc6fde1b90 feat: rebuild desktop UI to match Figma + website, hero slider improvements
- Desktop sidebar (262px, blue gradient, white pill nav), topbar (search + bell + avatar), responsive shell rewritten
- Desktop homepage: immersive hero with Ken Burns animation, pill category chips, date badge cards matching mvnew.eventifyplus.com/home
- Desktop calendar: 60/40 two-column layout with white background
- Desktop profile: full-width banner + 3-column event grids
- Desktop learn more: hero image + about/venue columns + gallery strip
- Desktop settings/contribute: polished to match design system
- Mobile hero slider: RepaintBoundary, animated dots with 44px tap targets, 5s auto-scroll, 8s post-swipe delay, shimmer loading, dynamic event type badge, human-readable dates
- Guest access: requiresAuth false on read endpoints
- Location fix: show place names instead of lat/lng coordinates
- Version 1.6.1+17

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 13:28:19 +05:30

32 lines
1.0 KiB
Dart

import 'package:flutter/material.dart';
class AppConstants {
// Layout — breakpoints
static const double desktopBreakpoint = 820;
static const double wideDesktopBreakpoint = 1200;
static const double tabletBreakpoint = 600;
// Desktop sidebar
static const double sidebarExpandedWidth = 262;
static const double topBarHeight = 64;
static const double desktopHorizontalPadding = 24;
// Padding & Radius
static const double defaultPadding = 16;
static const double cardRadius = 14;
// Animation Durations
static const Duration fastAnimation = Duration(milliseconds: 200);
static const Duration normalAnimation = Duration(milliseconds: 350);
static const Duration slowAnimation = Duration(milliseconds: 600);
// Colors
static const Color primaryColor = Color(0xFF2563EB); // Blue-600
static const Color backgroundColor = Color(0xFFF9FAFB);
static const Color textPrimary = Color(0xFF111827);
static const Color textSecondary = Color(0xFF6B7280);
// API
static const int apiTimeoutSeconds = 30;
}