Added a lot
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
+449
-12
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:spannable_grid/spannable_grid.dart';
|
import 'package:spannable_grid/spannable_grid.dart';
|
||||||
|
import 'package:percent_indicator/percent_indicator.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
@@ -13,7 +14,12 @@ class MyApp extends StatelessWidget {
|
|||||||
title: 'Fitness Homie',
|
title: 'Fitness Homie',
|
||||||
theme: ThemeData(
|
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'),
|
home: const MyHomePage(title: 'Fitness Homie'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -28,12 +34,422 @@ class MyHomePage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _MyHomePageState extends State<MyHomePage> {
|
class _MyHomePageState extends State<MyHomePage> {
|
||||||
int _counter = 0;
|
int _selectedIndex = 1;
|
||||||
int _selectedIndex = 0;
|
int counter = 0;
|
||||||
int itemount = 0;
|
bool _value = false;
|
||||||
|
int _completed_tasks = 10;
|
||||||
|
List<Widget> tasks = [];
|
||||||
|
final tasks_progress = [];
|
||||||
|
int _total_tasks = 15;
|
||||||
|
|
||||||
final screens = [
|
final screens = [];
|
||||||
Center(child: Text('Targets')),
|
|
||||||
|
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,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
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,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void create_home_page() {
|
||||||
|
setState(() {
|
||||||
|
screens.add(
|
||||||
SpannableGrid(
|
SpannableGrid(
|
||||||
cells: [
|
cells: [
|
||||||
SpannableGridCellData(
|
SpannableGridCellData(
|
||||||
@@ -85,8 +501,9 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
spacing: 10,
|
spacing: 10,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Center(child: Text('Profile')),
|
);
|
||||||
];
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void _onItemTapped(int index) {
|
void _onItemTapped(int index) {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -96,21 +513,41 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
create_targets_page();
|
||||||
|
create_home_page();
|
||||||
|
create_profile_page();
|
||||||
|
return Container(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
title: Text(widget.title),
|
title: Text(widget.title),
|
||||||
|
flexibleSpace: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
gradient: LinearGradient(
|
||||||
|
colors: [Colors.deepPurple, Colors.deepPurpleAccent],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: Center(
|
||||||
|
child: screens[_selectedIndex],
|
||||||
),
|
),
|
||||||
body: screens[_selectedIndex],
|
|
||||||
bottomNavigationBar: BottomNavigationBar(
|
bottomNavigationBar: BottomNavigationBar(
|
||||||
items: const [
|
items: const [
|
||||||
BottomNavigationBarItem(
|
BottomNavigationBarItem(
|
||||||
label: "Targets", icon: Icon(Icons.track_changes)),
|
label: "Targets", icon: Icon(Icons.track_changes)),
|
||||||
BottomNavigationBarItem(label: "Home", icon: Icon(Icons.home)),
|
BottomNavigationBarItem(label: "Home", icon: Icon(Icons.home)),
|
||||||
BottomNavigationBarItem(label: "Profile", icon: Icon(Icons.person))
|
BottomNavigationBarItem(
|
||||||
|
label: "Profile", icon: Icon(Icons.person))
|
||||||
],
|
],
|
||||||
currentIndex: _selectedIndex,
|
currentIndex: _selectedIndex,
|
||||||
onTap: _onItemTapped,
|
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 FlutterMacOS
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
import flutter_local_notifications
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
|
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
||||||
}
|
}
|
||||||
|
|||||||
+106
@@ -1,6 +1,13 @@
|
|||||||
# Generated by pub
|
# Generated by pub
|
||||||
# See https://dart.dev/tools/pub/glossary#lockfile
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||||
packages:
|
packages:
|
||||||
|
args:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: args
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.1"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -43,6 +50,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.5"
|
version: "1.0.5"
|
||||||
|
dbus:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: dbus
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.7.8"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -50,6 +64,20 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
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:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -62,6 +90,27 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
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:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -102,6 +151,41 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.2"
|
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:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -156,6 +240,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.12"
|
version: "0.4.12"
|
||||||
|
timezone:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: timezone
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.9.0"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -163,5 +254,20 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
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:
|
sdks:
|
||||||
dart: ">=2.18.4 <3.0.0"
|
dart: ">=2.18.4 <3.0.0"
|
||||||
|
flutter: ">=2.12.0"
|
||||||
|
|||||||
+5
-1
@@ -22,6 +22,7 @@ version: 1.0.0+1
|
|||||||
environment:
|
environment:
|
||||||
sdk: '>=2.18.4 <3.0.0'
|
sdk: '>=2.18.4 <3.0.0'
|
||||||
|
|
||||||
|
|
||||||
# Dependencies specify other packages that your package needs in order to work.
|
# Dependencies specify other packages that your package needs in order to work.
|
||||||
# To automatically upgrade your package dependencies to the latest versions
|
# To automatically upgrade your package dependencies to the latest versions
|
||||||
# consider running `flutter pub upgrade --major-versions`. Alternatively,
|
# consider running `flutter pub upgrade --major-versions`. Alternatively,
|
||||||
@@ -37,6 +38,8 @@ dependencies:
|
|||||||
# The following adds the Cupertino Icons font to your application.
|
# The following adds the Cupertino Icons font to your application.
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
# Use with the CupertinoIcons class for iOS style icons.
|
||||||
cupertino_icons: ^1.0.2
|
cupertino_icons: ^1.0.2
|
||||||
|
flutter_local_notifications: ^12.0.3+1
|
||||||
|
percent_indicator: ^4.2.2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
@@ -54,7 +57,8 @@ dev_dependencies:
|
|||||||
|
|
||||||
# The following section is specific to Flutter packages.
|
# The following section is specific to Flutter packages.
|
||||||
flutter:
|
flutter:
|
||||||
|
assets:
|
||||||
|
- blank-profile.jpg
|
||||||
# The following line ensures that the Material Icons font is
|
# The following line ensures that the Material Icons font is
|
||||||
# included with your application, so that you can use the icons in
|
# included with your application, so that you can use the icons in
|
||||||
# the material Icons class.
|
# the material Icons class.
|
||||||
|
|||||||
Reference in New Issue
Block a user