Added a lot
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
+510
-73
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:spannable_grid/spannable_grid.dart';
|
||||
import 'package:percent_indicator/percent_indicator.dart';
|
||||
|
||||
void main() {
|
||||
runApp(const MyApp());
|
||||
@@ -12,8 +13,13 @@ class MyApp extends StatelessWidget {
|
||||
return MaterialApp(
|
||||
title: 'Fitness Homie',
|
||||
theme: ThemeData(
|
||||
primarySwatch: Colors.blue,
|
||||
),
|
||||
primarySwatch: Colors.blue,
|
||||
appBarTheme: AppBarTheme(
|
||||
backgroundColor: Colors.transparent,
|
||||
elevation: 0.0,
|
||||
centerTitle: true,
|
||||
titleTextStyle: TextStyle(color: Colors.black, fontSize: 20),
|
||||
)),
|
||||
home: const MyHomePage(title: 'Fitness Homie'),
|
||||
);
|
||||
}
|
||||
@@ -28,65 +34,476 @@ class MyHomePage extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _MyHomePageState extends State<MyHomePage> {
|
||||
int _counter = 0;
|
||||
int _selectedIndex = 0;
|
||||
int itemount = 0;
|
||||
int _selectedIndex = 1;
|
||||
int counter = 0;
|
||||
bool _value = false;
|
||||
int _completed_tasks = 10;
|
||||
List<Widget> tasks = [];
|
||||
final tasks_progress = [];
|
||||
int _total_tasks = 15;
|
||||
|
||||
final screens = [
|
||||
Center(child: Text('Targets')),
|
||||
SpannableGrid(
|
||||
cells: [
|
||||
SpannableGridCellData(
|
||||
id: 1,
|
||||
column: 1,
|
||||
row: 1,
|
||||
columnSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
final screens = [];
|
||||
|
||||
void set_total_tasks() {
|
||||
_total_tasks = tasks.length;
|
||||
}
|
||||
|
||||
void onChanged(value) {
|
||||
setState(() {
|
||||
_value = value;
|
||||
if (value) {
|
||||
_completed_tasks += 1;
|
||||
} else {
|
||||
_completed_tasks -= 1;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void add_task(task_name, {goal = Null}) {
|
||||
setState(() {
|
||||
;
|
||||
Row task = Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
task_name,
|
||||
style: TextStyle(color: Colors.black, fontSize: 20),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
||||
if (goal == Null) {
|
||||
tasks_progress.add(false);
|
||||
task.children.add(Checkbox(value: this._value, onChanged: onChanged));
|
||||
} else {
|
||||
tasks_progress.add(0);
|
||||
task.children.add(CircularPercentIndicator(
|
||||
radius: 60.0,
|
||||
lineWidth: 5.0,
|
||||
percent: 1.0,
|
||||
center: new Text("${tasks_progress[tasks_progress.length]}"),
|
||||
progressColor: Colors.green,
|
||||
));
|
||||
// task.children.add();
|
||||
}
|
||||
Container t = Container(
|
||||
margin: EdgeInsets.fromLTRB(20, 20, 20, 0),
|
||||
padding: EdgeInsets.all(5),
|
||||
decoration: BoxDecoration(
|
||||
color: Color.fromRGBO(235, 235, 235, 1),
|
||||
borderRadius: BorderRadius.circular(8)),
|
||||
child: task,
|
||||
);
|
||||
tasks.add(task);
|
||||
});
|
||||
}
|
||||
|
||||
void onPressed() {
|
||||
setState(() {
|
||||
_total_tasks += 1;
|
||||
add_task("Name");
|
||||
});
|
||||
}
|
||||
|
||||
void create_profile_page() {
|
||||
setState(() {
|
||||
screens.add(
|
||||
Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Expanded(
|
||||
flex: 5,
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
height: 10,
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
colors: [Colors.deepPurple, Colors.deepPurpleAccent],
|
||||
),
|
||||
),
|
||||
child: Column(children: [
|
||||
SizedBox(
|
||||
height: 80.0,
|
||||
),
|
||||
CircleAvatar(
|
||||
radius: 65.0,
|
||||
foregroundImage: AssetImage("blank-profile.jpg"),
|
||||
backgroundColor: Colors.grey,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
Text('Dumitrana Mihnea',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 20.0,
|
||||
)),
|
||||
Text(
|
||||
'Boss',
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 15.0,
|
||||
),
|
||||
)
|
||||
]),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 5,
|
||||
child: Container(
|
||||
color: Colors.grey[200],
|
||||
child: Center(
|
||||
child: Card(
|
||||
margin: EdgeInsets.fromLTRB(0.0, 45.0, 0.0, 10.0),
|
||||
child: Container(
|
||||
width: 310.0,
|
||||
height: 290.0,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 60,
|
||||
),
|
||||
Text(
|
||||
"Information",
|
||||
style: TextStyle(
|
||||
fontSize: 17.0,
|
||||
fontWeight: FontWeight.w800,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.grey[300],
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Icon(
|
||||
Icons.fitness_center,
|
||||
color: Colors.blueAccent[400],
|
||||
size: 35,
|
||||
),
|
||||
SizedBox(
|
||||
width: 20.0,
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Body Type",
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"Burly",
|
||||
style: TextStyle(
|
||||
fontSize: 12.0,
|
||||
color: Colors.grey[400],
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.accessibility_new,
|
||||
color: Colors.yellowAccent[400],
|
||||
size: 35,
|
||||
),
|
||||
SizedBox(
|
||||
width: 20.0,
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Heigth",
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"1.86 meters",
|
||||
style: TextStyle(
|
||||
fontSize: 12.0,
|
||||
color: Colors.grey[400],
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 20.0,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.start,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.favorite,
|
||||
color: Colors.pinkAccent[400],
|
||||
size: 35,
|
||||
),
|
||||
SizedBox(
|
||||
width: 20.0,
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Vitals",
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"Cats, Basketball, Guitar",
|
||||
style: TextStyle(
|
||||
fontSize: 12.0,
|
||||
color: Colors.grey[400],
|
||||
),
|
||||
)
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
],
|
||||
)))),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
Positioned(
|
||||
top: MediaQuery.of(context).size.height * 0.45,
|
||||
left: 20.0,
|
||||
right: 20.0,
|
||||
child: Card(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(16.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
Container(
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
'Achievements',
|
||||
style: TextStyle(
|
||||
color: Colors.grey[400], fontSize: 14.0),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
Text(
|
||||
"$counter",
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
)
|
||||
],
|
||||
)),
|
||||
Container(
|
||||
child: Column(children: [
|
||||
Text(
|
||||
'Birthday',
|
||||
style: TextStyle(
|
||||
color: Colors.grey[400], fontSize: 14.0),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
Text(
|
||||
'April 7th',
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
)
|
||||
]),
|
||||
),
|
||||
Container(
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
'Age',
|
||||
style: TextStyle(
|
||||
color: Colors.grey[400], fontSize: 14.0),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5.0,
|
||||
),
|
||||
Text(
|
||||
'19 yrs',
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
),
|
||||
)
|
||||
],
|
||||
)),
|
||||
],
|
||||
),
|
||||
)))
|
||||
],
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 2,
|
||||
column: 1,
|
||||
row: 2,
|
||||
columnSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1))),
|
||||
SpannableGridCellData(
|
||||
id: 3,
|
||||
column: 1,
|
||||
row: 3,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
void create_targets_page() {
|
||||
setState(() {
|
||||
screens.add(
|
||||
SpannableGrid(
|
||||
gridSize: SpannableGridSize.parent,
|
||||
cells: [
|
||||
SpannableGridCellData(
|
||||
id: 1,
|
||||
column: 1,
|
||||
row: 1,
|
||||
child: Container(
|
||||
margin: EdgeInsets.fromLTRB(20, 20, 20, 0),
|
||||
padding: EdgeInsets.all(5),
|
||||
decoration: BoxDecoration(
|
||||
color: Color.fromRGBO(235, 235, 235, 1),
|
||||
borderRadius: BorderRadius.circular(8)),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
"Daily Tasks Completed $_completed_tasks/$_total_tasks",
|
||||
style: TextStyle(color: Colors.black, fontSize: 20),
|
||||
),
|
||||
],
|
||||
))),
|
||||
SpannableGridCellData(
|
||||
id: 2,
|
||||
column: 1,
|
||||
row: 2,
|
||||
child: Container(
|
||||
margin: EdgeInsets.fromLTRB(10, 0, 20, 10),
|
||||
decoration:
|
||||
BoxDecoration(borderRadius: BorderRadius.circular(16)),
|
||||
child: LinearPercentIndicator(
|
||||
alignment: MainAxisAlignment.center,
|
||||
width: MediaQuery.of(context).size.width * 0.8,
|
||||
lineHeight: 20.0,
|
||||
animation: true,
|
||||
animationDuration: 2500,
|
||||
percent: _completed_tasks / _total_tasks,
|
||||
backgroundColor: Color.fromRGBO(235, 235, 235, 1),
|
||||
progressColor: Colors.deepPurpleAccent,
|
||||
barRadius: Radius.circular(16),
|
||||
),
|
||||
),
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 3,
|
||||
column: 1,
|
||||
row: 3,
|
||||
rowSpan: 7,
|
||||
child: ListView(
|
||||
children: tasks,
|
||||
)),
|
||||
SpannableGridCellData(
|
||||
id: 4,
|
||||
column: 1,
|
||||
row: 10,
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(10),
|
||||
child: FloatingActionButton(
|
||||
onPressed: onPressed,
|
||||
child: Icon(Icons.add),
|
||||
foregroundColor: Colors.black,
|
||||
backgroundColor: Colors.white,
|
||||
)))
|
||||
],
|
||||
rows: 10,
|
||||
columns: 1,
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 4,
|
||||
column: 1,
|
||||
row: 4,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
void create_home_page() {
|
||||
setState(() {
|
||||
screens.add(
|
||||
SpannableGrid(
|
||||
cells: [
|
||||
SpannableGridCellData(
|
||||
id: 1,
|
||||
column: 1,
|
||||
row: 1,
|
||||
columnSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 2,
|
||||
column: 1,
|
||||
row: 2,
|
||||
columnSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1))),
|
||||
SpannableGridCellData(
|
||||
id: 3,
|
||||
column: 1,
|
||||
row: 3,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 4,
|
||||
column: 1,
|
||||
row: 4,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 5,
|
||||
column: 2,
|
||||
row: 3,
|
||||
rowSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
),
|
||||
],
|
||||
columns: 2,
|
||||
rows: 4,
|
||||
style: SpannableGridStyle(
|
||||
spacing: 10,
|
||||
),
|
||||
),
|
||||
SpannableGridCellData(
|
||||
id: 5,
|
||||
column: 2,
|
||||
row: 3,
|
||||
rowSpan: 2,
|
||||
child: Container(
|
||||
child: Center(child: Text("Text 1")),
|
||||
color: Color.fromRGBO(255, 255, 0, 1)),
|
||||
),
|
||||
],
|
||||
columns: 2,
|
||||
rows: 4,
|
||||
style: SpannableGridStyle(
|
||||
spacing: 10,
|
||||
),
|
||||
),
|
||||
Center(child: Text('Profile')),
|
||||
];
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
void _onItemTapped(int index) {
|
||||
setState(() {
|
||||
@@ -96,21 +513,41 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(widget.title),
|
||||
),
|
||||
body: screens[_selectedIndex],
|
||||
bottomNavigationBar: BottomNavigationBar(
|
||||
items: const [
|
||||
BottomNavigationBarItem(
|
||||
label: "Targets", icon: Icon(Icons.track_changes)),
|
||||
BottomNavigationBarItem(label: "Home", icon: Icon(Icons.home)),
|
||||
BottomNavigationBarItem(label: "Profile", icon: Icon(Icons.person))
|
||||
],
|
||||
currentIndex: _selectedIndex,
|
||||
onTap: _onItemTapped,
|
||||
),
|
||||
);
|
||||
create_targets_page();
|
||||
create_home_page();
|
||||
create_profile_page();
|
||||
return Container(
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent,
|
||||
appBar: AppBar(
|
||||
title: Text(widget.title),
|
||||
flexibleSpace: Container(
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
colors: [Colors.deepPurple, Colors.deepPurpleAccent],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Center(
|
||||
child: screens[_selectedIndex],
|
||||
),
|
||||
bottomNavigationBar: BottomNavigationBar(
|
||||
items: const [
|
||||
BottomNavigationBarItem(
|
||||
label: "Targets", icon: Icon(Icons.track_changes)),
|
||||
BottomNavigationBarItem(label: "Home", icon: Icon(Icons.home)),
|
||||
BottomNavigationBarItem(
|
||||
label: "Profile", icon: Icon(Icons.person))
|
||||
],
|
||||
currentIndex: _selectedIndex,
|
||||
onTap: _onItemTapped,
|
||||
),
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
colors: [Colors.deepPurple, Colors.deepPurpleAccent],
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
|
||||
final _localNotificationsPlugin = FlutterLocalNotificationsPlugin();
|
||||
final r = Random(4);
|
||||
|
||||
Future<void> setup() async {
|
||||
const androidSetting = AndroidInitializationSettings('@mipmap/ic_launcher');
|
||||
const initSettings = InitializationSettings(android: androidSetting);
|
||||
await _localNotificationsPlugin.initialize(initSettings).then((value) => {});
|
||||
}
|
||||
|
||||
Future<void> addNotification(title, body) async {
|
||||
const androidDetail =
|
||||
AndroidNotificationDetails("0", "Notifications", groupKey: "Key");
|
||||
|
||||
final id = r.nextInt(100000);
|
||||
final noticeDetail = const NotificationDetails(android: androidDetail);
|
||||
|
||||
await _localNotificationsPlugin.show(
|
||||
id,
|
||||
title,
|
||||
body,
|
||||
noticeDetail,
|
||||
);
|
||||
}
|
||||
@@ -5,6 +5,8 @@
|
||||
import FlutterMacOS
|
||||
import Foundation
|
||||
|
||||
import flutter_local_notifications
|
||||
|
||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||
}
|
||||
|
||||
+106
@@ -1,6 +1,13 @@
|
||||
# Generated by pub
|
||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||
packages:
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: args
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.3.1"
|
||||
async:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -43,6 +50,13 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
dbus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dbus
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.7.8"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -50,6 +64,20 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.3.1"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: ffi
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.4"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
@@ -62,6 +90,27 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
flutter_local_notifications:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_local_notifications
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "12.0.3+1"
|
||||
flutter_local_notifications_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_local_notifications_linux
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
flutter_local_notifications_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_local_notifications_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.0.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
@@ -102,6 +151,41 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.8.2"
|
||||
percent_indicator:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: percent_indicator
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.2.2"
|
||||
petitparser:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: petitparser
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "5.1.0"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: platform
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
plugin_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "4.2.4"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -156,6 +240,13 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.4.12"
|
||||
timezone:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: timezone
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.9.0"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -163,5 +254,20 @@ packages:
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xdg_directories
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.0+2"
|
||||
xml:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xml
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "6.1.0"
|
||||
sdks:
|
||||
dart: ">=2.18.4 <3.0.0"
|
||||
flutter: ">=2.12.0"
|
||||
|
||||
+5
-1
@@ -21,6 +21,7 @@ version: 1.0.0+1
|
||||
|
||||
environment:
|
||||
sdk: '>=2.18.4 <3.0.0'
|
||||
|
||||
|
||||
# Dependencies specify other packages that your package needs in order to work.
|
||||
# To automatically upgrade your package dependencies to the latest versions
|
||||
@@ -37,6 +38,8 @@ dependencies:
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.2
|
||||
flutter_local_notifications: ^12.0.3+1
|
||||
percent_indicator: ^4.2.2
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
@@ -54,7 +57,8 @@ dev_dependencies:
|
||||
|
||||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
|
||||
assets:
|
||||
- blank-profile.jpg
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
|
||||
Reference in New Issue
Block a user