diff --git a/outfoot/assets/data/1.svg b/outfoot/assets/data/1.svg
new file mode 100644
index 0000000..e8b32d1
--- /dev/null
+++ b/outfoot/assets/data/1.svg
@@ -0,0 +1,63616 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/10.svg b/outfoot/assets/data/10.svg
new file mode 100644
index 0000000..a1746fa
--- /dev/null
+++ b/outfoot/assets/data/10.svg
@@ -0,0 +1,30926 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/11.svg b/outfoot/assets/data/11.svg
new file mode 100644
index 0000000..dac6918
--- /dev/null
+++ b/outfoot/assets/data/11.svg
@@ -0,0 +1,29807 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/12.svg b/outfoot/assets/data/12.svg
new file mode 100644
index 0000000..4c38103
--- /dev/null
+++ b/outfoot/assets/data/12.svg
@@ -0,0 +1,56431 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/13.svg b/outfoot/assets/data/13.svg
new file mode 100644
index 0000000..4f3cde1
--- /dev/null
+++ b/outfoot/assets/data/13.svg
@@ -0,0 +1,45223 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/14.svg b/outfoot/assets/data/14.svg
new file mode 100644
index 0000000..caa5d71
--- /dev/null
+++ b/outfoot/assets/data/14.svg
@@ -0,0 +1,55449 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/15.svg b/outfoot/assets/data/15.svg
new file mode 100644
index 0000000..5862563
--- /dev/null
+++ b/outfoot/assets/data/15.svg
@@ -0,0 +1,84007 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/16.svg b/outfoot/assets/data/16.svg
new file mode 100644
index 0000000..b672b47
--- /dev/null
+++ b/outfoot/assets/data/16.svg
@@ -0,0 +1,77259 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/17.svg b/outfoot/assets/data/17.svg
new file mode 100644
index 0000000..ded2aa8
--- /dev/null
+++ b/outfoot/assets/data/17.svg
@@ -0,0 +1,44586 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/18.svg b/outfoot/assets/data/18.svg
new file mode 100644
index 0000000..7944abb
--- /dev/null
+++ b/outfoot/assets/data/18.svg
@@ -0,0 +1,40862 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/19.svg b/outfoot/assets/data/19.svg
new file mode 100644
index 0000000..e6bf0c9
--- /dev/null
+++ b/outfoot/assets/data/19.svg
@@ -0,0 +1,670 @@
+
+
+
diff --git a/outfoot/assets/data/2.svg b/outfoot/assets/data/2.svg
new file mode 100644
index 0000000..0d8cc4d
--- /dev/null
+++ b/outfoot/assets/data/2.svg
@@ -0,0 +1,32905 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/20.svg b/outfoot/assets/data/20.svg
new file mode 100644
index 0000000..7680fd3
--- /dev/null
+++ b/outfoot/assets/data/20.svg
@@ -0,0 +1,626 @@
+
+
+
diff --git a/outfoot/assets/data/21.svg b/outfoot/assets/data/21.svg
new file mode 100644
index 0000000..bc659ec
--- /dev/null
+++ b/outfoot/assets/data/21.svg
@@ -0,0 +1,117 @@
+
+
+
diff --git a/outfoot/assets/data/22.svg b/outfoot/assets/data/22.svg
new file mode 100644
index 0000000..945f563
--- /dev/null
+++ b/outfoot/assets/data/22.svg
@@ -0,0 +1,712 @@
+
+
+
diff --git a/outfoot/assets/data/23.svg b/outfoot/assets/data/23.svg
new file mode 100644
index 0000000..66ed5c8
--- /dev/null
+++ b/outfoot/assets/data/23.svg
@@ -0,0 +1,2202 @@
+
+
+
diff --git a/outfoot/assets/data/24.svg b/outfoot/assets/data/24.svg
new file mode 100644
index 0000000..9851a05
--- /dev/null
+++ b/outfoot/assets/data/24.svg
@@ -0,0 +1,603 @@
+
+
+
diff --git a/outfoot/assets/data/25.svg b/outfoot/assets/data/25.svg
new file mode 100644
index 0000000..306dbde
--- /dev/null
+++ b/outfoot/assets/data/25.svg
@@ -0,0 +1,957 @@
+
+
+
diff --git a/outfoot/assets/data/26.svg b/outfoot/assets/data/26.svg
new file mode 100644
index 0000000..b380246
--- /dev/null
+++ b/outfoot/assets/data/26.svg
@@ -0,0 +1,987 @@
+
+
+
diff --git a/outfoot/assets/data/3.svg b/outfoot/assets/data/3.svg
new file mode 100644
index 0000000..f186fb5
--- /dev/null
+++ b/outfoot/assets/data/3.svg
@@ -0,0 +1,30447 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/4.svg b/outfoot/assets/data/4.svg
new file mode 100644
index 0000000..d7cd307
--- /dev/null
+++ b/outfoot/assets/data/4.svg
@@ -0,0 +1,40614 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/5.svg b/outfoot/assets/data/5.svg
new file mode 100644
index 0000000..9e2def6
--- /dev/null
+++ b/outfoot/assets/data/5.svg
@@ -0,0 +1,38645 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/6.svg b/outfoot/assets/data/6.svg
new file mode 100644
index 0000000..09f3904
--- /dev/null
+++ b/outfoot/assets/data/6.svg
@@ -0,0 +1,49371 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/7.svg b/outfoot/assets/data/7.svg
new file mode 100644
index 0000000..944b574
--- /dev/null
+++ b/outfoot/assets/data/7.svg
@@ -0,0 +1,53395 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/8.svg b/outfoot/assets/data/8.svg
new file mode 100644
index 0000000..6d56154
--- /dev/null
+++ b/outfoot/assets/data/8.svg
@@ -0,0 +1,566 @@
+
\ No newline at end of file
diff --git a/outfoot/assets/data/9.svg b/outfoot/assets/data/9.svg
new file mode 100644
index 0000000..8988cfb
--- /dev/null
+++ b/outfoot/assets/data/9.svg
@@ -0,0 +1,22324 @@
+
\ No newline at end of file
diff --git a/outfoot/lib/screens/checkpage_foot.dart b/outfoot/lib/screens/checkpage_foot.dart
index e283f83..b2438a2 100644
--- a/outfoot/lib/screens/checkpage_foot.dart
+++ b/outfoot/lib/screens/checkpage_foot.dart
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:path_drawing/path_drawing.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import '/widgets/custom_floating_action_button.dart';
+import 'package:outfoot/widgets/custom_floating_action_button.dart';
import 'package:outfoot/colors/colors.dart';
import 'package:outfoot/api/view_single_api.dart';
import 'package:outfoot/models/view_single_model.dart';
@@ -72,22 +72,15 @@ class DashedCirclePainter extends CustomPainter {
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
-class CheckPageFoot extends StatefulWidget {
- final String token; // API 인증 토큰
- final String checkPageId; // 조회할 체크 페이지 ID
- final String goalImagePath;
- CheckPageFoot({
- required this.token,
- required this.checkPageId,
- this.goalImagePath = 'default_image_path',
- });
+class CheckPageFoot extends StatefulWidget {
+ const CheckPageFoot({Key? key}) : super(key: key);
@override
_CheckPageFootState createState() => _CheckPageFootState();
}
-final Data = CheckpageData("24.12.26", "하루에 물 2리터 마시기", "건강한 이너뷰티");
+final Data = CheckpageData("24.12.27", "하루에 물 2리터 마시기", "건강한 이너뷰티");
class _CheckPageFootState extends State {
ViewGoal? goal; // API에서 불러온 데이터를 저장할 변수
@@ -101,7 +94,6 @@ class _CheckPageFootState extends State {
Future _fetchGoal() async {
final api = ViewSingleApi(dio: Dio());
- final fetchedGoal = await api.getGoal(widget.token, widget.checkPageId);
token = dotenv.env['TOKEN'];
if (token == null) {
@@ -109,6 +101,8 @@ class _CheckPageFootState extends State {
return;
}
+ final fetchedGoal = await api.getGoal(token!, '1');
+
setState(() {
goal = fetchedGoal; // 불러온 데이터를 상태에 저장
});
@@ -196,22 +190,21 @@ class _CheckPageFootState extends State {
crossAxisSpacing: 10.75.w,
),
itemBuilder: (context, index) {
- if (goal != null &&
- index < goal!.confirmResponses.length) {
+ if (index < 26) { // 26개는 배경과 아이콘
return Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
- color: mainBrownColor2,
+ color: Color(0xFFDFC4B6),
),
child: Padding(
padding: EdgeInsets.all(7.18.w),
- child: Image.network(
- goal!.confirmResponses[index].imageUrl,
+ child: SvgPicture.asset(
+ 'assets/paw.svg',
fit: BoxFit.contain,
),
),
);
- } else {
+ } else { // 나머지는 점선 동그라미
return DashedCircle(
size: 24.57.w,
color: mainBrownColor,
@@ -223,30 +216,42 @@ class _CheckPageFootState extends State {
Spacer(),
],
),
- Positioned(
- top: 60.h,
- left: 300.w,
- child: FloatingActionButton(
- onPressed: () {
- Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => CheckPageImage(
- token: token!,
- checkPageId: '1',
- ),
+ // 플로팅 액션 버튼
+ Padding(
+ padding:
+ EdgeInsets.only(right: 20.w, left: 275.w, top: 578.h),
+ child: customFloatingActionButton(
+ 'assets/floating_action.svg',
+ onPressed: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) =>
+ Upload(), // 이동할 페이지
+ ),
+ );
+ },
),
- );
- },
- backgroundColor: Colors.transparent,
- elevation: 0,
- child: SvgPicture.asset(
- 'assets/shuffle_icon.svg',
- width: 24.w,
- height: 24.h,
- ),
- ),
- ),
+ ),
+ Positioned(
+ top: 60.h,
+ left: 300.w,
+ child: GestureDetector(
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => CheckPageImage(),
+ ),
+ );
+ },
+ child: SvgPicture.asset(
+ 'assets/shuffle_icon.svg',
+ width: 24.w,
+ height: 24.h,
+ ),
+ ),
+),
],
),
),
diff --git a/outfoot/lib/screens/checkpage_image.dart b/outfoot/lib/screens/checkpage_image.dart
index 9f337ce..2167f2a 100644
--- a/outfoot/lib/screens/checkpage_image.dart
+++ b/outfoot/lib/screens/checkpage_image.dart
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:path_drawing/path_drawing.dart';
import 'package:flutter_svg/flutter_svg.dart';
-import '/widgets/custom_floating_action_button.dart';
+import 'package:outfoot/widgets/custom_floating_action_button.dart';
import 'package:outfoot/colors/colors.dart';
import 'package:outfoot/api/view_single_api.dart';
import 'package:outfoot/models/view_single_model.dart';
@@ -73,10 +73,7 @@ class DashedCirclePainter extends CustomPainter {
}
class CheckPageImage extends StatefulWidget {
- final String token; // API 인증 토큰
- final String checkPageId; // 조회할 체크 페이지 ID
-
- CheckPageImage({required this.token, required this.checkPageId});
+ const CheckPageImage({Key? key}) : super(key: key);
@override
_CheckPageImageState createState() => _CheckPageImageState();
@@ -84,7 +81,6 @@ class CheckPageImage extends StatefulWidget {
class _CheckPageImageState extends State {
ViewGoal? goal; // API에서 불러온 데이터를 저장할 변수
- String? token;
@override
void initState() {
@@ -93,18 +89,18 @@ class _CheckPageImageState extends State {
}
Future _fetchGoal() async {
- final api = ViewSingleApi(dio: Dio());
- final fetchedGoal = await api.getGoal(widget.token, widget.checkPageId);
+ const String defaultToken = 'default_token';
+ const String defaultCheckPageId = '1';
- token = dotenv.env['TOKEN'];
- if (token == null) {
- debugPrint("Error: TOKEN is not defined in .env");
- return;
+ final api = ViewSingleApi(dio: Dio());
+ try {
+ final fetchedGoal = await api.getGoal(defaultToken, defaultCheckPageId);
+ setState(() {
+ goal = fetchedGoal; // 불러온 데이터를 상태에 저장
+ });
+ } catch (e) {
+ debugPrint("Error fetching goal data: $e");
}
-
- setState(() {
- goal = fetchedGoal; // 불러온 데이터를 상태에 저장
- });
}
@override
@@ -185,93 +181,54 @@ class _CheckPageImageState extends State {
letterSpacing: -0.24,
),
),
- SizedBox(height: 22.42.h),
- Container(
- padding: EdgeInsets.only(
- left: 16.95.w,
- right: 16.95.w,
- top: 17.35.h,
- bottom: 35.23.h),
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(10.r),
- ),
- child: GridView.builder(
- shrinkWrap: true,
- itemCount: 30,
- gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
- crossAxisCount: 5,
- mainAxisSpacing: 10.63.h,
- crossAxisSpacing: 10.75.w,
- ),
- itemBuilder: (context, index) {
- if (goal != null &&
- index < goal!.confirmResponses.length) {
- // 이미지 URL을 불러온 데이터의 confirmResponses에서 가져오기
- return Container(
- decoration: BoxDecoration(
- shape: BoxShape.circle,
- color: mainBrownColor2,
- ),
- child: Padding(
- padding: EdgeInsets.all(7.18.w),
- child: Image.network(
- goal!.confirmResponses[index]
- .imageUrl, // 동적으로 이미지 URL 표시 fit: BoxFit.contain,
- ),
- ),
- );
- } else {
- return DashedCircle(
- size: 24.57.w,
- color: mainBrownColor,
- );
- }
- },
- ),
- ),
- Spacer(),
+ SizedBox(height: 40), // 이미지 그리드 상단 여백
+Container(
+ padding: EdgeInsets.only(
+ left: 16.95.w,
+ right: 16.95.w,
+ top: 17.35.h,
+ bottom: 35.23.h,
+ ),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.circular(10.r),
+ ),
+ child: GridView.builder(
+ shrinkWrap: true,
+ itemCount: 30, // 총 30개로 변경
+ gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
+ crossAxisCount: 5,
+ mainAxisSpacing: 10.63.h,
+ crossAxisSpacing: 10.75.w,
+ ),
+ itemBuilder: (context, index) {
+ if (index < 26) { // 이미지가 있는 경우
+ return Container(
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ color: Colors.white,
+ ),
+ child: Padding(
+ padding: EdgeInsets.all(7.18.w),
+ child: Image.asset(
+ 'assets/data/${index + 1}.svg', // 이미지 경로
+ fit: BoxFit.contain,
+ ),
+ ),
+ );
+ } else { // 나머지 빈칸은 점선 원으로 표시
+ return DashedCircle(
+ size: 24.57.w,
+ color: mainBrownColor,
+ );
+ }
+ },
+),
+
+),
+
],
),
- Positioned(
- bottom: 12.h,
- right: 20.w,
- child: customFloatingActionButton(
- 'assets/floating_action.svg',
- onPressed: () {
- Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => Upload(), // 이동할 페이지
- ),
- );
- },
- ),
- ),
- Positioned(
- top: 60.h,
- left: 300.w,
- child: FloatingActionButton(
- onPressed: () {
- Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => CheckPageFoot(
- token: token!,
- checkPageId: '1',
- ), // 이동할 페이지
- ),
- );
- },
- backgroundColor: Colors.transparent,
- elevation: 0,
- child: SvgPicture.asset(
- 'assets/shuffle_icon.svg',
- width: 24.w,
- height: 24.h,
- ),
- ),
- ),
],
),
),
diff --git a/outfoot/lib/screens/home_page.dart b/outfoot/lib/screens/home_page.dart
index 6c887e6..0c020f4 100644
--- a/outfoot/lib/screens/home_page.dart
+++ b/outfoot/lib/screens/home_page.dart
@@ -11,6 +11,7 @@ import 'package:outfoot/services/data/homepage_data.dart';
// 이동 페이지 import
import 'package:outfoot/screens/make_goal/make_personal_goal.dart';
+import 'package:outfoot/screens/checkpage_foot.dart';
class DashedLinePainter extends CustomPainter {
@override
@@ -36,12 +37,6 @@ class DashedLinePainter extends CustomPainter {
}
}
-final List dataList = [
- HomepageData("2024-01-01", "OUTFOOT FE 모각코"),
- HomepageData("2024-01-01", "OUTFOOT BE 모각코"),
- HomepageData("2024-01-01", "OUTFOOT 배포"),
-];
-
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
@@ -148,6 +143,8 @@ class _HomePageState extends State {
),
),
SizedBox(height: 24.h),
+
+ // 첫 번째 카드 (완성도 99%)
Padding(
padding: EdgeInsets.only(left: 20.w),
child: Container(
@@ -159,36 +156,48 @@ class _HomePageState extends State {
borderRadius: BorderRadius.circular(10.r),
),
child: ProgressCard(
- startDate: '2024-01-01',
- title: 'OUTFOOT 백엔드 모각코',
- progressPercentage: 78,
+ startDate: '2024-03-01',
+ title: 'OUTFOOT 모각코',
+ progressPercentage: 99, // 완성도 99% 수정
assetPath: 'assets/lock_icon.svg',
),
),
),
- SizedBox(height: 8.h),
+ SizedBox(height: 8.h),
Padding(
padding: EdgeInsets.only(left: 20.sp),
- child: Container(
- width: 330.w,
- height: 113.h,
- padding: EdgeInsets.all(16.0.sp),
- decoration: BoxDecoration(
- color: lightColor2,
- borderRadius: BorderRadius.circular(10.r),
- ),
- child: ProgressCard(
- startDate: '2024-01-01',
- title: 'OUTFOOT 백엔드 모각코',
- progressPercentage: 78,
- assetPath: '',
+ child: GestureDetector( // 클릭 이벤트 추가
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) => CheckPageFoot(), // 이동할 페이지
+ ),
+ );
+ },
+ child: Container(
+ width: 330.w,
+ height: 113.h,
+ padding: EdgeInsets.all(16.0.sp),
+ decoration: BoxDecoration(
+ color: lightColor2,
+ borderRadius: BorderRadius.circular(10.r),
+ ),
+ child: ProgressCard(
+ startDate: '2024-12-01',
+ title: '하루에 물 2리터 마시기기 ',
+ progressPercentage: 78,
+ assetPath: '',
+ ),
+ ),
+ ),
),
- ),
- ),
- SizedBox(height: 8.h),
+
+
+ // 플로팅 액션 버튼
Padding(
padding:
- EdgeInsets.only(right: 20.w, left: 275.w, top: 100.h),
+ EdgeInsets.only(right: 20.w, left: 275.w, top: 250.h),
child: customFloatingActionButton(
'assets/floating_action.svg',
onPressed: () {
@@ -202,25 +211,6 @@ class _HomePageState extends State {
},
),
),
- SizedBox(height: 8.h),
- Padding(
- padding: EdgeInsets.only(left: 20),
- child: Container(
- width: 330,
- height: 113,
- padding: EdgeInsets.all(16.0),
- decoration: BoxDecoration(
- color: lightColor2,
- borderRadius: BorderRadius.circular(10),
- ),
- child: ProgressCard(
- startDate: dataList[2].date,
- title: dataList[2].title,
- progressPercentage: 78,
- assetPath: '',
- ),
- ),
- ),
],
),
),
diff --git a/outfoot/lib/screens/navigation_bar/bottom_navigation_bar.dart b/outfoot/lib/screens/navigation_bar/bottom_navigation_bar.dart
index 50401c6..067f70f 100644
--- a/outfoot/lib/screens/navigation_bar/bottom_navigation_bar.dart
+++ b/outfoot/lib/screens/navigation_bar/bottom_navigation_bar.dart
@@ -39,10 +39,10 @@ class _CustomBottomNavigationBarState extends State {
context,
MaterialPageRoute(
builder: (context) => CheckPageFoot(
- token:
- 'eyJhbGciOiJIUzM4NCJ9.eyJ1c2VybmFtZSI6ImZmOTdmYTc1LTE1ODMtNGMxNi04ZjZmLWJjZTQyM2RlMDYxMCIsIm5pY2tuYW1lIjoi7KCV7ISc7JewIiwiaWF0IjoxNzM1MDkzMDA0LCJleHAiOjE3MzUxMDAyMDR9.6XdQxmfXW8Gn2a9L9u1iqTuaV47eoASnrYxz8Cj5x24OqZJ6mgSvOgBDgct6jxV0',
- checkPageId: '1',
- goalImagePath: 'default_image_path',
+ // token:
+ // 'eyJhbGciOiJIUzM4NCJ9.eyJ1c2VybmFtZSI6ImZmOTdmYTc1LTE1ODMtNGMxNi04ZjZmLWJjZTQyM2RlMDYxMCIsIm5pY2tuYW1lIjoi7KCV7ISc7JewIiwiaWF0IjoxNzM1MDkzMDA0LCJleHAiOjE3MzUxMDAyMDR9.6XdQxmfXW8Gn2a9L9u1iqTuaV47eoASnrYxz8Cj5x24OqZJ6mgSvOgBDgct6jxV0',
+ // checkPageId: '1',
+ // goalImagePath: 'default_image_path',
)), // 둘러보기 페이지
);
break;
diff --git a/outfoot/pubspec.lock b/outfoot/pubspec.lock
index 0b5475f..e6597d1 100644
--- a/outfoot/pubspec.lock
+++ b/outfoot/pubspec.lock
@@ -1,6 +1,14 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.6.0"
async:
dependency: transitive
description:
@@ -21,10 +29,10 @@ packages:
dependency: "direct main"
description:
name: carousel_slider
- sha256: d7256dca1ca9a4c9389126d57d70ce5d5e8fe25e7c81075b364f8a09dcba86ad
+ sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42"
url: "https://pub.dev"
source: hosted
- version: "4.2.0"
+ version: "4.2.1"
characters:
dependency: transitive
description:
@@ -53,10 +61,10 @@ packages:
dependency: transitive
description:
name: cross_file
- sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e
+ sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
- version: "0.3.3+8"
+ version: "0.3.4+2"
cupertino_icons:
dependency: "direct main"
description:
@@ -77,10 +85,10 @@ packages:
dependency: transitive
description:
name: dio_web_adapter
- sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac"
+ sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8"
url: "https://pub.dev"
source: hosted
- version: "1.0.1"
+ version: "2.0.0"
fake_async:
dependency: transitive
description:
@@ -93,10 +101,10 @@ packages:
dependency: transitive
description:
name: ffi
- sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
+ sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev"
source: hosted
- version: "2.1.0"
+ version: "2.1.3"
file:
dependency: transitive
description:
@@ -109,18 +117,18 @@ packages:
dependency: transitive
description:
name: file_selector_linux
- sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
+ sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
url: "https://pub.dev"
source: hosted
- version: "0.9.2+1"
+ version: "0.9.3+2"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
- sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385
+ sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc"
url: "https://pub.dev"
source: hosted
- version: "0.9.4"
+ version: "0.9.4+2"
file_selector_platform_interface:
dependency: transitive
description:
@@ -133,10 +141,10 @@ packages:
dependency: transitive
description:
name: file_selector_windows
- sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69"
+ sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4"
url: "https://pub.dev"
source: hosted
- version: "0.9.3+2"
+ version: "0.9.3+3"
flutter:
dependency: "direct main"
description: flutter
@@ -154,18 +162,18 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
+ sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c"
url: "https://pub.dev"
source: hosted
- version: "2.0.3"
+ version: "4.0.0"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f"
+ sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda"
url: "https://pub.dev"
source: hosted
- version: "2.0.19"
+ version: "2.0.22"
flutter_screenutil:
dependency: "direct main"
description:
@@ -178,10 +186,10 @@ packages:
dependency: "direct main"
description:
name: flutter_svg
- sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2"
+ sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123"
url: "https://pub.dev"
source: hosted
- version: "1.1.6"
+ version: "2.0.16"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -196,10 +204,10 @@ packages:
dependency: "direct main"
description:
name: http
- sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
+ sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
url: "https://pub.dev"
source: hosted
- version: "0.13.6"
+ version: "1.2.2"
http_parser:
dependency: transitive
description:
@@ -212,34 +220,34 @@ packages:
dependency: "direct main"
description:
name: image_picker
- sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c
+ sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
url: "https://pub.dev"
source: hosted
- version: "0.8.9"
+ version: "1.1.2"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
- sha256: "844c6da4e4f2829dffdab97816bca09d0e0977e8dcef7450864aba4e07967a58"
+ sha256: "8c5abf0dcc24fe6e8e0b4a5c0b51a5cf30cefdf6407a3213dae61edc75a70f56"
url: "https://pub.dev"
source: hosted
- version: "0.8.9+6"
+ version: "0.8.12+12"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
- sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0"
+ sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83"
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "3.0.6"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
- sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3
+ sha256: "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b"
url: "https://pub.dev"
source: hosted
- version: "0.8.9+1"
+ version: "0.8.12+1"
image_picker_linux:
dependency: transitive
description:
@@ -260,10 +268,10 @@ packages:
dependency: transitive
description:
name: image_picker_platform_interface
- sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b
+ sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80"
url: "https://pub.dev"
source: hosted
- version: "2.9.3"
+ version: "2.10.0"
image_picker_windows:
dependency: transitive
description:
@@ -300,42 +308,42 @@ packages:
dependency: transitive
description:
name: lints
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+ sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235"
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "4.0.0"
matcher:
dependency: transitive
description:
name: matcher
- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
- version: "0.12.16"
+ version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev"
source: hosted
- version: "0.5.0"
+ version: "0.8.0"
meta:
dependency: transitive
description:
name: meta
- sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
+ sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev"
source: hosted
- version: "1.10.0"
+ version: "1.12.0"
mime:
dependency: transitive
description:
name: mime
- sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a"
+ sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.dev"
source: hosted
- version: "1.0.6"
+ version: "2.0.0"
nested:
dependency: transitive
description:
@@ -348,10 +356,10 @@ packages:
dependency: transitive
description:
name: path
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
- version: "1.8.3"
+ version: "1.9.0"
path_drawing:
dependency: "direct main"
description:
@@ -364,10 +372,10 @@ packages:
dependency: transitive
description:
name: path_parsing
- sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
+ sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.dev"
source: hosted
- version: "1.0.1"
+ version: "1.1.0"
path_provider_linux:
dependency: transitive
description:
@@ -428,34 +436,34 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
- sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
+ sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82"
url: "https://pub.dev"
source: hosted
- version: "2.2.3"
+ version: "2.3.3"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
- sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2"
+ sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e"
url: "https://pub.dev"
source: hosted
- version: "2.2.2"
+ version: "2.3.2"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
- sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
+ sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
url: "https://pub.dev"
source: hosted
- version: "2.3.5"
+ version: "2.5.4"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
- sha256: "2ba0510d3017f91655b7543e9ee46d48619de2a2af38e5c790423f7007c7ccc1"
+ sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "2.4.1"
shared_preferences_platform_interface:
dependency: transitive
description:
@@ -468,18 +476,18 @@ packages:
dependency: transitive
description:
name: shared_preferences_web
- sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21"
+ sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e
url: "https://pub.dev"
source: hosted
- version: "2.2.2"
+ version: "2.4.2"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
- sha256: "398084b47b7f92110683cac45c6dc4aae853db47e470e5ddcd52cab7f7196ab2"
+ sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "2.4.1"
sky_engine:
dependency: transitive
description: flutter
@@ -529,10 +537,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
+ sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev"
source: hosted
- version: "0.6.1"
+ version: "0.7.0"
typed_data:
dependency: transitive
description:
@@ -541,6 +549,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.2"
+ vector_graphics:
+ dependency: transitive
+ description:
+ name: vector_graphics
+ sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.15"
+ vector_graphics_codec:
+ dependency: transitive
+ description:
+ name: vector_graphics_codec
+ sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.12"
+ vector_graphics_compiler:
+ dependency: transitive
+ description:
+ name: vector_graphics_compiler
+ sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.16"
vector_math:
dependency: transitive
description:
@@ -558,21 +590,21 @@ packages:
source: hosted
version: "14.2.1"
web:
- dependency: transitive
+ dependency: "direct main"
description:
name: web
- sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
+ sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
url: "https://pub.dev"
source: hosted
- version: "0.3.0"
+ version: "1.1.0"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
- sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
+ sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
url: "https://pub.dev"
source: hosted
- version: "1.0.4"
+ version: "1.1.0"
xml:
dependency: transitive
description:
@@ -582,5 +614,5 @@ packages:
source: hosted
version: "6.5.0"
sdks:
- dart: ">=3.2.3 <4.0.0"
- flutter: ">=3.16.0"
+ dart: ">=3.4.0 <4.0.0"
+ flutter: ">=3.22.0"
diff --git a/outfoot/pubspec.yaml b/outfoot/pubspec.yaml
index 791d030..b9a3271 100644
--- a/outfoot/pubspec.yaml
+++ b/outfoot/pubspec.yaml
@@ -32,12 +32,12 @@ environment:
dependencies:
flutter:
sdk: flutter
- image_picker: ^0.8.7+4
- carousel_slider: 4.2.0
+ image_picker: ^1.1.2
+ carousel_slider: ^4.2.1
dio: ^5.0.0
path_drawing: ^1.0.1
- flutter_svg: ^1.0.3
- http: ^0.13.4
+ flutter_svg: ^2.0.16
+ http: ^1.2.2
provider: ^6.1.2
shared_preferences: ^2.0.15
flutter_screenutil: ^5.9.3
@@ -47,6 +47,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
flutter_dotenv: ^5.2.1
+ web: ^1.1.0
dev_dependencies:
flutter_test:
@@ -57,7 +58,7 @@ dev_dependencies:
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
- flutter_lints: ^2.0.0
+ flutter_lints: ^4.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
@@ -70,6 +71,7 @@ flutter:
# the material Icons class.
uses-material-design: true
assets:
+ - assets/data/
- assets/shuffle_icon.svg
- assets/floating_action.svg
- assets/paw.svg