release: bump version to 1.4(p) (versionCode 14)
- Update versionCode 12 → 14, versionName 1.3(p) → 1.4(p) - Update pubspec.yaml version to 1.4.0+14 - Add CHANGELOG.md with full version history - Update README.md: version badge + changelog section - Desktop Contribute Dashboard rebuilt to match web version - Contributor Dashboard title, 3-tab nav (Contribute/Leaderboard/Achievements) - Two-column submit form, tier milestone progress bar - Desktop leaderboard with podium, filters, rank table (green points) - Desktop achievements 3-column badge grid - Inline Reward Shop with RP balance - Gamification feature module (EP, RP, leaderboard, achievements, shop) - Profile screen redesigned to match web app layout with animations - Home screen bottom sheet date filter chips - Updated API endpoints, login/event detail screens, theme colors - Added Gilroy font suite, responsive layout improvements Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,10 @@ import 'profile_screen.dart';
|
||||
import 'booking_screen.dart';
|
||||
import 'settings_screen.dart';
|
||||
import 'learn_more_screen.dart';
|
||||
import 'contribute_screen.dart';
|
||||
import '../core/app_decoration.dart';
|
||||
import '../features/gamification/providers/gamification_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class HomeDesktopScreen extends StatefulWidget {
|
||||
final bool skipSidebarEntranceAnimation;
|
||||
@@ -978,35 +981,9 @@ class _HomeDesktopScreenState extends State<HomeDesktopScreen> with SingleTicker
|
||||
case 3:
|
||||
return BookingScreen(onBook: () {}, image: '');
|
||||
case 4:
|
||||
// Contribute placeholder (kept simple)
|
||||
return SingleChildScrollView(
|
||||
padding: const EdgeInsets.all(28),
|
||||
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
||||
Text('Contribute', style: Theme.of(context).textTheme.headlineSmall?.copyWith(fontWeight: FontWeight.bold)),
|
||||
const SizedBox(height: 14),
|
||||
const Text('Submit events or contact the Eventify team.'),
|
||||
const SizedBox(height: 24),
|
||||
Card(
|
||||
elevation: 1,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(18),
|
||||
child: Column(children: [
|
||||
TextField(decoration: InputDecoration(labelText: 'Event title', border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)))),
|
||||
const SizedBox(height: 12),
|
||||
TextField(decoration: InputDecoration(labelText: 'Location', border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)))),
|
||||
const SizedBox(height: 12),
|
||||
TextField(maxLines: 4, decoration: InputDecoration(labelText: 'Description', border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)))),
|
||||
const SizedBox(height: 12),
|
||||
Row(children: [
|
||||
ElevatedButton(onPressed: () {}, child: const Text('Submit')),
|
||||
const SizedBox(width: 12),
|
||||
OutlinedButton(onPressed: () {}, child: const Text('Reset')),
|
||||
])
|
||||
]),
|
||||
),
|
||||
),
|
||||
]),
|
||||
return ChangeNotifierProvider(
|
||||
create: (_) => GamificationProvider(),
|
||||
child: const ContributeScreen(),
|
||||
);
|
||||
case 5:
|
||||
return const SettingsScreen();
|
||||
|
||||
Reference in New Issue
Block a user