178 lines
6.6 KiB
Dart
178 lines
6.6 KiB
Dart
import 'package:drift/drift.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'package:sendtrain/database.dart';
|
|
import 'package:sendtrain/models/activity_timer_model.dart';
|
|
import 'package:sendtrain/screens/activities_screen.dart';
|
|
import 'package:sendtrain/screens/sessions_screen.dart';
|
|
|
|
class SendTrain extends StatelessWidget {
|
|
const SendTrain({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: "Sendtrain",
|
|
theme: ThemeData.dark(useMaterial3: true),
|
|
home: const App());
|
|
}
|
|
}
|
|
|
|
class App extends StatefulWidget {
|
|
const App({super.key});
|
|
|
|
@override
|
|
State<App> createState() => _AppState();
|
|
}
|
|
|
|
class _AppState extends State<App> {
|
|
int currentPageIndex = 0;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
// appBar: AppBar(
|
|
// toolbarOpacity: 0,
|
|
// centerTitle: true,
|
|
// title: const Text('SENDTRAIN'),
|
|
// scrolledUnderElevation: 0,
|
|
// actions: <Widget>[
|
|
// IconButton(
|
|
// // highlightColor: Colors.deepPurple,
|
|
// icon: const Icon(Icons.settings),
|
|
// tooltip: 'Application Settings',
|
|
// onPressed: () {})
|
|
// ]),
|
|
body: Padding(
|
|
padding: const EdgeInsets.fromLTRB(0, 50, 0, 0),
|
|
child: <Widget>[
|
|
SessionsScreen(),
|
|
const ActivitiesScreen(),
|
|
Container(
|
|
alignment: Alignment.center,
|
|
child: const Text('In Progress...'),
|
|
),
|
|
Container(
|
|
alignment: Alignment.center,
|
|
child: const Text('In Progress...'),
|
|
),
|
|
Container(
|
|
alignment: Alignment.center,
|
|
child: const Text('In Progress...'),
|
|
),
|
|
][currentPageIndex]),
|
|
bottomNavigationBar: NavigationBar(
|
|
onDestinationSelected: (int index) {
|
|
setState(() {
|
|
currentPageIndex = index;
|
|
});
|
|
},
|
|
selectedIndex: currentPageIndex,
|
|
destinations: const <Widget>[
|
|
NavigationDestination(
|
|
icon: Icon(Icons.sports), label: "Sessions"),
|
|
NavigationDestination(
|
|
icon: Icon(Icons.landscape), label: "Activities"),
|
|
NavigationDestination(
|
|
icon: Icon(Icons.calendar_month_rounded), label: "Plan"),
|
|
NavigationDestination(
|
|
icon: Icon(Icons.group), label: "Team Send"),
|
|
NavigationDestination(
|
|
icon: Icon(Icons.analytics), label: "Progress")
|
|
]),
|
|
floatingActionButton: FloatingActionButton.extended(
|
|
onPressed: () {
|
|
// Add your onPressed code here!
|
|
},
|
|
label: const Text('New Session'),
|
|
icon: const Icon(Icons.add_chart),
|
|
backgroundColor: Colors.deepPurple,
|
|
));
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
// final database = AppDatabase();
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Projecting @ Climbers Rock',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.started,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Moonboard @ Boardroom',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.pending,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Moonboard @ Boardroom',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.completed,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Projecting @ Climbers Rock',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.completed,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Off-Wall Training',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.missed,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.sessions).insert(SessionsCompanion.insert(
|
|
// title: 'Off-Wall Training',
|
|
// content: 'Beta pully beta beta pinch one arm crimpy. Futuristic pinch, dyno dynamic drop knee climb. Climbing ondra slopey onsight beta ondra power endurance.',
|
|
// status: SessionStatus.completed,
|
|
// date: Value(DateTime.now())));
|
|
|
|
// database.into(database.activities).insert(ActivitiesCompanion.insert(
|
|
// title: "test activity",
|
|
// type: ActivityType.technical,
|
|
// description: "test training activity",
|
|
// category: ActivityCategories.fundamentals));
|
|
|
|
// database
|
|
// .into(database.sessionActivities)
|
|
// .insert(SessionActivitiesCompanion.insert(
|
|
// sessionId: 1,
|
|
// activityId: 1,
|
|
// results: Value("results json, will need to test"),
|
|
// achievements: Value("comma, seperated, items"),
|
|
// ));
|
|
|
|
// database.into(database.actions).insert(ActionsCompanion.insert(
|
|
// title: "test action title",
|
|
// description: "teste action description",
|
|
// set: "not sure how the json will work yet",
|
|
// ));
|
|
|
|
// database
|
|
// .into(database.activityActions)
|
|
// .insert(ActivityActionsCompanion.insert(
|
|
// activityId: 1,
|
|
// actionId: 1,
|
|
// ));
|
|
|
|
// database.into(database.mediaItems).insert(MediaItemsCompanion.insert(
|
|
// title: "test youtube media item",
|
|
// description: "this is a test youtube item",
|
|
// reference: "sZVAEy9UmoY",
|
|
// type: MediaType.youtube));
|
|
|
|
// database
|
|
// .into(database.objectMediaItems)
|
|
// .insert(ObjectMediaItemsCompanion.insert(objectId: 1, mediaId: 1));
|
|
|
|
runApp(
|
|
ChangeNotifierProvider(
|
|
create: (context) => ActivityTimerModel(),
|
|
child: const SendTrain(),
|
|
),
|
|
);
|
|
}
|