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>
This commit is contained in:
@@ -9,7 +9,7 @@ class EventsService {
|
||||
|
||||
/// Get event types (POST to /events/type-list/)
|
||||
Future<List<EventTypeModel>> getEventTypes() async {
|
||||
final res = await _api.post(ApiEndpoints.eventTypes);
|
||||
final res = await _api.post(ApiEndpoints.eventTypes, requiresAuth: false);
|
||||
final list = <EventTypeModel>[];
|
||||
final data = res['event_types'] ?? res['event_types'] ?? res;
|
||||
if (data is List) {
|
||||
@@ -27,7 +27,7 @@ class EventsService {
|
||||
/// Get events filtered by pincode (POST to /events/pincode-events/)
|
||||
/// Use pincode='all' to fetch all events.
|
||||
Future<List<EventModel>> getEventsByPincode(String pincode) async {
|
||||
final res = await _api.post(ApiEndpoints.eventsByPincode, body: {'pincode': pincode});
|
||||
final res = await _api.post(ApiEndpoints.eventsByPincode, body: {'pincode': pincode}, requiresAuth: false);
|
||||
final list = <EventModel>[];
|
||||
final events = res['events'] ?? res['data'] ?? [];
|
||||
if (events is List) {
|
||||
@@ -40,7 +40,7 @@ class EventsService {
|
||||
|
||||
/// Event details
|
||||
Future<EventModel> getEventDetails(int eventId) async {
|
||||
final res = await _api.post(ApiEndpoints.eventDetails, body: {'event_id': eventId});
|
||||
final res = await _api.post(ApiEndpoints.eventDetails, body: {'event_id': eventId}, requiresAuth: false);
|
||||
return EventModel.fromJson(Map<String, dynamic>.from(res));
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class EventsService {
|
||||
/// Accepts month string and year int.
|
||||
/// Returns Map with 'dates' (list of YYYY-MM-DD) and 'date_events' (list with counts).
|
||||
Future<Map<String, dynamic>> getEventsByMonthYear(String month, int year) async {
|
||||
final res = await _api.post(ApiEndpoints.eventsByMonth, body: {'month': month, 'year': year});
|
||||
final res = await _api.post(ApiEndpoints.eventsByMonth, body: {'month': month, 'year': year}, requiresAuth: false);
|
||||
// expected keys: dates, total_number_of_events, date_events
|
||||
return res;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user