Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
PaperChase
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
h703249754
PaperChase
Commits
1f7c3937
Commit
1f7c3937
authored
Apr 22, 2025
by
Adam Bruck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
seperate chats
parent
1c1fd278
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
257 additions
and
194 deletions
+257
-194
Podfile.lock
ios/Podfile.lock
+10
-10
project.pbxproj
ios/Runner.xcodeproj/project.pbxproj
+3
-3
book_detail_page.dart
lib/book_detail_page.dart
+59
-3
main.dart
lib/main.dart
+18
-11
mybooks.dart
lib/mybooks.dart
+0
-89
profile.dart
lib/profile.dart
+11
-4
GeneratedPluginRegistrant.swift
my_app/macos/Flutter/GeneratedPluginRegistrant.swift
+10
-0
Flutter-Generated.xcconfig
my_app/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
+11
-0
flutter_export_environment.sh
my_app/macos/Flutter/ephemeral/flutter_export_environment.sh
+12
-0
pubspec.lock
my_app/pubspec.lock
+37
-37
generated_plugin_registrant.cc
my_app/windows/flutter/generated_plugin_registrant.cc
+11
-0
generated_plugin_registrant.h
my_app/windows/flutter/generated_plugin_registrant.h
+15
-0
generated_plugins.cmake
my_app/windows/flutter/generated_plugins.cmake
+23
-0
pubspec.lock
pubspec.lock
+37
-37
No files found.
ios/Podfile.lock
View file @
1f7c3937
...
...
@@ -1442,12 +1442,12 @@ SPEC CHECKSUMS:
abseil: d121da9ef7e2ff4cab7666e76c5a3e0915ae08c3
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
BoringSSL-GRPC: ca6a8e5d04812fce8ffd6437810c2d46f925eaeb
cloud_firestore:
e61acbf808607d2c88ee32b00cd3aec027b38b3c
cloud_firestore:
56e7bb3888f09698dc061d38d02d87d4fd80e2cb
Firebase: d80354ed7f6df5f9aca55e9eb47cc4b634735eaf
firebase_app_check:
cb20bddfd2664003e55c1dc29545cd4a6512ee34
firebase_auth:
9ebbd83276bf977dea1c74dfc199acf9d2a2f42f
firebase_core:
8d552814f6c01ccde5d88939fced4ec26f2f5510
firebase_storage:
4ed3dade149f74651bdae3536b68d403c364591c
firebase_app_check:
41ab298dc5440c44fba8b12a8f949062c049f3fa
firebase_auth:
3d848b9b866b201e5c8e0c06d8b2cec272fd8825
firebase_core:
ac395f994af4e28f6a38b59e05a88ca57abeb874
firebase_storage:
b31bacb1f1d7abeb753d9195e97eb5d2180e1d6f
FirebaseAppCheck: f6648d6d2b321ecf94cf72f6737fc68d4fddc010
FirebaseAppCheckInterop: 9226f7217b43e99dfa0bc9f674ad8108cef89feb
FirebaseAuth: ad59a1a7b161e75f74c39f70179d2482d40e2737
...
...
@@ -1460,19 +1460,19 @@ SPEC CHECKSUMS:
FirebaseSharedSwift: 574e6a5602afe4397a55c8d4f767382d620285de
FirebaseStorage: 8eede00081a6ce904eaa8d2daa66f1e053e8e6ea
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_native_splash:
6cad9122ea0fad137d23137dd14b937f3e90b145
flutter_native_splash:
f71420956eb811e6d310720fee915f1d42852e7a
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
"gRPC-C++": 2fa52b3141e7789a28a737f251e0c45b4cb20a87
gRPC-Core: a27c294d6149e1c39a7d173527119cfbc3375ce4
GTMSessionFetcher: 75b671f9e551e4c49153d4c4f8659ef4f559b970
image_picker_ios:
7fe1ff8e34c1790d6fff70a32484959f563a928a
image_picker_ios:
c560581cceedb403a6ff17f2f816d7fea1421fc1
leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
permission_handler_apple:
4ed2196e43d0651e8ff7ca3483a069d469701f2d
permission_handler_apple:
9878588469a2b0d0fc1e048d9f43605f92e6cec2
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
shared_preferences_foundation:
9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
url_launcher_ios:
694010445543906933d732453a59da0a173ae33d
shared_preferences_foundation:
fcdcbc04712aee1108ac7fda236f363274528f78
url_launcher_ios:
5334b05cef931de560670eeae103fd3e431ac3fe
PODFILE CHECKSUM: 251cb053df7158f337c0712f2ab29f4e0fa474ce
...
...
ios/Runner.xcodeproj/project.pbxproj
View file @
1f7c3937
...
...
@@ -492,7 +492,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
58Y2FXBP82
;
DEVELOPMENT_TEAM
=
XSDF676L98
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
(
...
...
@@ -675,7 +675,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
58Y2FXBP82
;
DEVELOPMENT_TEAM
=
XSDF676L98
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
(
...
...
@@ -698,7 +698,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
58Y2FXBP82
;
DEVELOPMENT_TEAM
=
XSDF676L98
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
LD_RUNPATH_SEARCH_PATHS
=
(
...
...
lib/book_detail_page.dart
View file @
1f7c3937
...
...
@@ -7,15 +7,19 @@ import 'NavBar.dart';
class
BookDetailsPage
extends
StatelessWidget
{
final
Map
<
String
,
dynamic
>
book
;
final
String
bookId
;
const
BookDetailsPage
({
super
.
key
,
required
this
.
book
});
const
BookDetailsPage
({
super
.
key
,
required
this
.
book
,
required
this
.
bookId
});
@override
Widget
build
(
BuildContext
context
)
{
final
bool
isDarkMode
=
Theme
.
of
(
context
).
brightness
==
Brightness
.
dark
;
final
currentUser
=
FirebaseAuth
.
instance
.
currentUser
;
final
isMyBook
=
currentUser
?.
uid
==
book
[
'userId'
];
final
title
=
book
[
'title'
]
??
'No title available'
;
final
author
=
book
[
'author'
]
??
'No author available'
;
final
isbn
=
book
[
'isbn'
]
??
'No ISBN available'
;
...
...
@@ -28,6 +32,7 @@ class BookDetailsPage extends StatelessWidget {
return
Scaffold
(
appBar:
AppBar
(
automaticallyImplyLeading:
true
,
iconTheme:
IconThemeData
(
color:
isDarkMode
?
kDarkBackground
:
kLightBackground
,
),
...
...
@@ -42,7 +47,7 @@ class BookDetailsPage extends StatelessWidget {
),
),
),
drawer:
const
NavBar
(),
body:
SingleChildScrollView
(
child:
Padding
(
padding:
const
EdgeInsets
.
all
(
16.0
),
...
...
@@ -68,7 +73,26 @@ class BookDetailsPage extends StatelessWidget {
style:
TextStyle
(
fontSize:
18
,
fontWeight:
FontWeight
.
bold
)),
Text
(
description
,
style:
const
TextStyle
(
fontSize:
16
)),
const
SizedBox
(
height:
24
),
if
(!
isMyBook
&&
currentUser
!=
null
)
if
(
isMyBook
&&
currentUser
!=
null
)
SizedBox
(
width:
double
.
infinity
,
child:
ElevatedButton
(
onPressed:
()
=>
_confirmAndDeleteBook
(
context
,
bookId
),
style:
ElevatedButton
.
styleFrom
(
backgroundColor:
Colors
.
red
,
padding:
const
EdgeInsets
.
symmetric
(
vertical:
16
),
shape:
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
circular
(
12
),
),
),
child:
const
Text
(
'Delete Book'
,
style:
TextStyle
(
fontSize:
18
,
color:
Colors
.
white
),
),
),
)
else
if
(!
isMyBook
&&
currentUser
!=
null
)
SizedBox
(
width:
double
.
infinity
,
child:
ElevatedButton
(
...
...
@@ -86,7 +110,9 @@ class BookDetailsPage extends StatelessWidget {
style:
TextStyle
(
fontSize:
18
,
color:
Colors
.
white
),
),
),
)
else
if
(
currentUser
==
null
)
Center
(
child:
TextButton
(
...
...
@@ -127,9 +153,14 @@ class BookDetailsPage extends StatelessWidget {
);
}
Future
<
void
>
_contactSeller
(
BuildContext
context
,
String
sellerId
,
String
bookTitle
)
async
{
final
currentUser
=
FirebaseAuth
.
instance
.
currentUser
;
if
(
currentUser
==
null
)
{
ScaffoldMessenger
.
of
(
context
).
showSnackBar
(
const
SnackBar
(
content:
Text
(
'Please log in to contact the seller'
)),
...
...
@@ -200,6 +231,31 @@ class BookDetailsPage extends StatelessWidget {
}
}
void
_confirmAndDeleteBook
(
BuildContext
context
,
String
bookId
)
async
{
final
shouldDelete
=
await
showDialog
<
bool
>(
context:
context
,
builder:
(
context
)
=>
AlertDialog
(
title:
const
Text
(
'Confirm Deletion'
),
content:
const
Text
(
'Are you sure you want to delete this book?'
),
actions:
[
TextButton
(
onPressed:
()
=>
Navigator
.
pop
(
context
,
false
),
child:
const
Text
(
'Cancel'
)),
TextButton
(
onPressed:
()
=>
Navigator
.
pop
(
context
,
true
),
child:
const
Text
(
'Delete'
)),
],
),
);
if
(
shouldDelete
==
true
)
{
await
FirebaseFirestore
.
instance
.
collection
(
'books'
).
doc
(
bookId
).
delete
();
if
(
context
.
mounted
)
{
Navigator
.
pop
(
context
);
ScaffoldMessenger
.
of
(
context
).
showSnackBar
(
const
SnackBar
(
content:
Text
(
'Book removed successfully'
)),
);
}
}
}
String
_formatPrice
(
dynamic
price
)
{
if
(
price
==
null
)
return
'0.00'
;
if
(
price
is
num
)
return
price
.
toStringAsFixed
(
2
);
...
...
lib/main.dart
View file @
1f7c3937
...
...
@@ -3,9 +3,6 @@ import 'package:flutter/material.dart';
import
'package:firebase_auth/firebase_auth.dart'
;
import
'package:firebase_core/firebase_core.dart'
;
import
'firebase_options.dart'
;
import
'package:http/http.dart'
as
http
;
import
'dart:convert'
;
import
'package:url_launcher/url_launcher.dart'
;
import
'login.dart'
;
import
'signup.dart'
;
import
'profile.dart'
;
...
...
@@ -14,7 +11,6 @@ import 'inbox.dart';
import
'package:firebase_app_check/firebase_app_check.dart'
;
import
'colors.dart'
;
import
'utils.dart'
;
import
'home.dart'
;
import
'package:shared_preferences/shared_preferences.dart'
;
import
'NavBar.dart'
;
import
'book_detail_page.dart'
;
...
...
@@ -185,7 +181,8 @@ class _HomePageState extends State<HomePage> {
}).
toList
();
setState
(()
{
_books
=
filteredBooks
.
map
((
doc
)
=>
doc
.
data
()).
toList
();
_books
=
filteredBooks
;
});
}
catch
(
e
)
{
print
(
"Error searching books:
$e
"
);
...
...
@@ -202,7 +199,8 @@ class _HomePageState extends State<HomePage> {
.
get
();
setState
(()
{
_books
=
snapshot
.
docs
.
map
((
doc
)
=>
doc
.
data
()).
toList
();
_books
=
snapshot
.
docs
;
});
}
catch
(
e
)
{
print
(
"Error fetching recent books:
$e
"
);
...
...
@@ -357,21 +355,30 @@ String _filterBy = 'Latest Posted'; // Default filter option
itemCount:
_books
.
length
,
itemBuilder:
(
context
,
index
)
{
final
book
=
_books
[
index
];
final
bookId
=
book
.
id
;
final
data
=
book
.
data
()
as
Map
<
String
,
dynamic
>;
final
title
=
book
[
'title'
]
??
"Unknown Title"
;
final
author
=
book
[
'author'
]
??
"No author available"
;
final
thumbnail
=
book
[
'imageUrl'
]
??
"https://via.placeholder.com/50"
;
final
title
=
book
.
data
()[
'title'
]
??
"Unknown Title"
;
final
author
=
book
.
data
()[
'author'
]
??
"No author available"
;
final
thumbnail
=
book
.
data
()[
'imageUrl'
]
??
"https://via.placeholder.com/50"
;
final
price
=
book
.
data
()[
'price'
];
return
ListTile
(
leading:
Image
.
network
(
thumbnail
,
width:
50
,
height:
50
,
fit:
BoxFit
.
cover
),
title:
Text
(
title
),
subtitle:
Text
(
author
),
subtitle:
Text
(
'
$author
-
\$
$price
'
),
onTap:
()
{
if
(
_isLoggedIn
)
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
BookDetailsPage
(
book:
book
),
// Pass book data
builder:
(
context
)
=>
BookDetailsPage
(
book:
book
.
data
()
as
Map
<
String
,
dynamic
>,
bookId:
bookId
),
// Pass book data
),
);
}
else
{
...
...
lib/mybooks.dart
deleted
100644 → 0
View file @
1c1fd278
import
'package:cloud_firestore/cloud_firestore.dart'
;
import
'package:firebase_auth/firebase_auth.dart'
;
import
'package:flutter/material.dart'
;
import
'colors.dart'
;
import
'book_detail_page.dart'
;
class
MyBooksPage
extends
StatelessWidget
{
@override
Widget
build
(
BuildContext
context
)
{
final
bool
isDarkMode
=
Theme
.
of
(
context
).
brightness
==
Brightness
.
dark
;
// Get current user ID
String
userId
=
FirebaseAuth
.
instance
.
currentUser
?.
uid
??
""
;
return
Scaffold
(
appBar:
AppBar
(
iconTheme:
IconThemeData
(
color:
isDarkMode
?
kDarkBackground
:
kLightBackground
,
),
title:
const
Text
(
"My Books"
,
style:
TextStyle
(
fontFamily:
'Impact'
,
// Ensure "Impact" is available in your fonts
fontSize:
24
,
// Adjust size as needed
fontStyle:
FontStyle
.
italic
,
fontWeight:
FontWeight
.
bold
,
color:
kPrimaryColor
,
),
),
foregroundColor:
isDarkMode
?
kDarkBackground
:
kLightBackground
,),
body:
StreamBuilder
<
QuerySnapshot
>(
stream:
FirebaseFirestore
.
instance
.
collection
(
'books'
)
.
where
(
'userId'
,
isEqualTo:
userId
)
// 🔹 Filter by logged-in user ID
.
snapshots
(),
builder:
(
context
,
snapshot
)
{
if
(!
snapshot
.
hasData
)
return
Center
(
child:
CircularProgressIndicator
());
var
books
=
snapshot
.
data
!.
docs
;
if
(
books
.
isEmpty
)
{
return
Center
(
child:
Text
(
"No books posted yet."
));
}
return
ListView
.
builder
(
itemCount:
books
.
length
,
itemBuilder:
(
context
,
index
)
{
var
book
=
books
[
index
].
data
()
as
Map
<
String
,
dynamic
>;
// Use data() to get the map
return
ListTile
(
leading:
book
[
'imageUrl'
]
!=
null
?
Image
.
network
(
book
[
'imageUrl'
],
width:
50
,
height:
50
,
fit:
BoxFit
.
cover
)
:
Icon
(
Icons
.
book
),
title:
Text
(
book
[
'title'
]),
subtitle:
Text
(
book
[
'author'
]),
onTap:
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
BookDetailsPage
(
book:
book
),
),
);
},
);
},
);
},
),
bottomNavigationBar:
BottomNavigationBar
(
backgroundColor:
isDarkMode
?
kLightBackground
:
kDarkBackground
,
selectedItemColor:
isDarkMode
?
kDarkBackground
:
kLightBackground
,
unselectedItemColor:
isDarkMode
?
kDarkBackground
:
kLightBackground
,
currentIndex:
0
,
// Highlight the "Inbox" tab
items:
const
[
BottomNavigationBarItem
(
icon:
Icon
(
Icons
.
home
),
label:
"Home"
),
BottomNavigationBarItem
(
icon:
Icon
(
Icons
.
add
),
label:
"Post"
),
BottomNavigationBarItem
(
icon:
Icon
(
Icons
.
mail
),
label:
"Inbox"
),
],
onTap:
(
index
)
{
if
(
index
==
0
)
{
Navigator
.
pushNamedAndRemoveUntil
(
context
,
'/'
,
(
route
)
=>
false
);
}
else
if
(
index
==
1
)
{
Navigator
.
pushNamed
(
context
,
'/post'
);
}
else
if
(
index
==
2
)
{
Navigator
.
pushNamed
(
context
,
'/inbox'
);
// Stay on the same page
}
},
),
);
}
}
lib/profile.dart
View file @
1f7c3937
...
...
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import
'package:firebase_auth/firebase_auth.dart'
;
import
'package:cloud_firestore/cloud_firestore.dart'
;
import
'package:image_picker/image_picker.dart'
;
import
'package:paperchase_app/book_detail_page.dart'
;
import
'package:permission_handler/permission_handler.dart'
;
import
'dart:io'
;
import
'colors.dart'
;
...
...
@@ -155,7 +156,9 @@ class ProfilePage extends StatelessWidget {
return
const
Center
(
child:
CircularProgressIndicator
());
}
final
books
=
booksSnapshot
.
data
?.
docs
??
[];
final
books
=
booksSnapshot
.
data
!.
docs
;
if
(
books
.
isEmpty
)
{
return
Text
(
...
...
@@ -182,6 +185,7 @@ class ProfilePage extends StatelessWidget {
physics:
const
NeverScrollableScrollPhysics
(),
itemCount:
books
.
length
,
itemBuilder:
(
context
,
index
)
{
final
doc
=
books
[
index
];
final
book
=
books
[
index
].
data
()
as
Map
<
String
,
dynamic
>;
return
Card
(
color:
isDarkMode
?
Colors
.
grey
[
900
]
:
Colors
.
white
,
...
...
@@ -204,11 +208,14 @@ class ProfilePage extends StatelessWidget {
fontWeight:
FontWeight
.
bold
,
),
),
onTap:
()
{
Navigator
.
push
Named
(
Navigator
.
push
(
context
,
'/book_details'
,
arguments:
books
[
index
].
id
,
MaterialPageRoute
(
builder:
(
context
)
=>
BookDetailsPage
(
book:
book
,
bookId:
doc
.
id
),
),
);
},
),
...
...
my_app/macos/Flutter/GeneratedPluginRegistrant.swift
0 → 100644
View file @
1f7c3937
//
// Generated file. Do not edit.
//
import
FlutterMacOS
import
Foundation
func
RegisterGeneratedPlugins
(
registry
:
FlutterPluginRegistry
)
{
}
my_app/macos/Flutter/ephemeral/Flutter-Generated.xcconfig
0 → 100644
View file @
1f7c3937
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/arbruck/Downloads/flutter
FLUTTER_APPLICATION_PATH=/Users/arbruck/Downloads/PaperChase/my_app
COCOAPODS_PARALLEL_CODE_SIGN=true
FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1
DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.dart_tool/package_config.json
my_app/macos/Flutter/ephemeral/flutter_export_environment.sh
0 → 100644
View file @
1f7c3937
#!/bin/sh
# This is a generated file; do not edit or check into version control.
export
"FLUTTER_ROOT=/Users/arbruck/Downloads/flutter"
export
"FLUTTER_APPLICATION_PATH=/Users/arbruck/Downloads/PaperChase/my_app"
export
"COCOAPODS_PARALLEL_CODE_SIGN=true"
export
"FLUTTER_BUILD_DIR=build"
export
"FLUTTER_BUILD_NAME=1.0.0"
export
"FLUTTER_BUILD_NUMBER=1"
export
"DART_OBFUSCATION=false"
export
"TRACK_WIDGET_CREATION=true"
export
"TREE_SHAKE_ICONS=false"
export
"PACKAGE_CONFIG=.dart_tool/package_config.json"
my_app/pubspec.lock
View file @
1f7c3937
...
...
@@ -5,42 +5,42 @@ packages:
dependency: transitive
description:
name: async
sha256:
"947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
sha256:
d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.dev"
source: hosted
version: "2.1
1
.0"
version: "2.1
2
.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "
6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66
"
sha256: "
8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea
"
url: "https://pub.dev"
source: hosted
version: "2.1.
1
"
version: "2.1.
2
"
characters:
dependency: transitive
description:
name: characters
sha256:
"04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256:
f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev"
source: hosted
version: "1.
3
.0"
version: "1.
4
.0"
clock:
dependency: transitive
description:
name: clock
sha256:
cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256:
fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
version: "1.1.
1
"
version: "1.1.
2
"
collection:
dependency: transitive
description:
name: collection
sha256:
a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
sha256:
"2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
version: "1.19.
0
"
version: "1.19.
1
"
cupertino_icons:
dependency: "direct main"
description:
...
...
@@ -53,10 +53,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "
511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78
"
sha256: "
6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc
"
url: "https://pub.dev"
source: hosted
version: "1.3.
1
"
version: "1.3.
2
"
flutter:
dependency: "direct main"
description: flutter
...
...
@@ -79,18 +79,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256:
"7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
sha256:
c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.dev"
source: hosted
version: "10.0.
7
"
version: "10.0.
8
"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256:
"9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
sha256:
f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
version: "3.0.
8
"
version: "3.0.
9
"
leak_tracker_testing:
dependency: transitive
description:
...
...
@@ -111,10 +111,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: d
2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: d
c58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev"
source: hosted
version: "0.12.1
6+1
"
version: "0.12.1
7
"
material_color_utilities:
dependency: transitive
description:
...
...
@@ -127,18 +127,18 @@ packages:
dependency: transitive
description:
name: meta
sha256:
bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256:
e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
version: "1.1
5
.0"
version: "1.1
6
.0"
path:
dependency: transitive
description:
name: path
sha256: "
087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af
"
sha256: "
75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5
"
url: "https://pub.dev"
source: hosted
version: "1.9.
0
"
version: "1.9.
1
"
sky_engine:
dependency: transitive
description: flutter
...
...
@@ -148,50 +148,50 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "
53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3
c"
sha256: "
254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7
c"
url: "https://pub.dev"
source: hosted
version: "1.10.
0
"
version: "1.10.
1
"
stack_trace:
dependency: transitive
description:
name: stack_trace
sha256: "
9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377
"
sha256: "
8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1
"
url: "https://pub.dev"
source: hosted
version: "1.12.
0
"
version: "1.12.
1
"
stream_channel:
dependency: transitive
description:
name: stream_channel
sha256:
ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
sha256:
"969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
version: "2.1.
2
"
version: "2.1.
4
"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "
688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c
3"
sha256: "
921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b4
3"
url: "https://pub.dev"
source: hosted
version: "1.
3.0
"
version: "1.
4.1
"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256:
a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
sha256:
"7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev"
source: hosted
version: "1.2.
1
"
version: "1.2.
2
"
test_api:
dependency: transitive
description:
name: test_api
sha256:
"664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
sha256:
fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev"
source: hosted
version: "0.7.
3
"
version: "0.7.
4
"
vector_math:
dependency: transitive
description:
...
...
@@ -204,10 +204,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256:
f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
sha256:
"0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
url: "https://pub.dev"
source: hosted
version: "14.3.
0
"
version: "14.3.
1
"
sdks:
dart: ">=3.
6.1
<4.0.0"
dart: ">=3.
7.0-0
<4.0.0"
flutter: ">=3.18.0-18.0.pre.54"
my_app/windows/flutter/generated_plugin_registrant.cc
0 → 100644
View file @
1f7c3937
//
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
void
RegisterPlugins
(
flutter
::
PluginRegistry
*
registry
)
{
}
my_app/windows/flutter/generated_plugin_registrant.h
0 → 100644
View file @
1f7c3937
//
// Generated file. Do not edit.
//
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_
#include <flutter/plugin_registry.h>
// Registers Flutter plugins.
void
RegisterPlugins
(
flutter
::
PluginRegistry
*
registry
);
#endif // GENERATED_PLUGIN_REGISTRANT_
my_app/windows/flutter/generated_plugins.cmake
0 → 100644
View file @
1f7c3937
#
# Generated file, do not edit.
#
list
(
APPEND FLUTTER_PLUGIN_LIST
)
list
(
APPEND FLUTTER_FFI_PLUGIN_LIST
)
set
(
PLUGIN_BUNDLED_LIBRARIES
)
foreach
(
plugin
${
FLUTTER_PLUGIN_LIST
}
)
add_subdirectory
(
flutter/ephemeral/.plugin_symlinks/
${
plugin
}
/windows plugins/
${
plugin
}
)
target_link_libraries
(
${
BINARY_NAME
}
PRIVATE
${
plugin
}
_plugin
)
list
(
APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:
${
plugin
}
_plugin>
)
list
(
APPEND PLUGIN_BUNDLED_LIBRARIES
${${
plugin
}
_bundled_libraries
}
)
endforeach
(
plugin
)
foreach
(
ffi_plugin
${
FLUTTER_FFI_PLUGIN_LIST
}
)
add_subdirectory
(
flutter/ephemeral/.plugin_symlinks/
${
ffi_plugin
}
/windows plugins/
${
ffi_plugin
}
)
list
(
APPEND PLUGIN_BUNDLED_LIBRARIES
${${
ffi_plugin
}
_bundled_libraries
}
)
endforeach
(
ffi_plugin
)
pubspec.lock
View file @
1f7c3937
...
...
@@ -45,26 +45,26 @@ packages:
dependency: transitive
description:
name: async
sha256:
"947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
sha256:
d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
url: "https://pub.dev"
source: hosted
version: "2.1
1
.0"
version: "2.1
2
.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "
6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66
"
sha256: "
8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea
"
url: "https://pub.dev"
source: hosted
version: "2.1.
1
"
version: "2.1.
2
"
characters:
dependency: transitive
description:
name: characters
sha256:
"04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256:
f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
url: "https://pub.dev"
source: hosted
version: "1.
3
.0"
version: "1.
4
.0"
checked_yaml:
dependency: transitive
description:
...
...
@@ -85,10 +85,10 @@ packages:
dependency: transitive
description:
name: clock
sha256:
cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256:
fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
version: "1.1.
1
"
version: "1.1.
2
"
cloud_firestore:
dependency: "direct main"
description:
...
...
@@ -117,10 +117,10 @@ packages:
dependency: transitive
description:
name: collection
sha256:
a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
sha256:
"2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
version: "1.19.
0
"
version: "1.19.
1
"
cross_file:
dependency: transitive
description:
...
...
@@ -157,10 +157,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "
511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78
"
sha256: "
6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc
"
url: "https://pub.dev"
source: hosted
version: "1.3.
1
"
version: "1.3.
2
"
ffi:
dependency: transitive
description:
...
...
@@ -524,18 +524,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256:
"7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
sha256:
c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.dev"
source: hosted
version: "10.0.
7
"
version: "10.0.
8
"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256:
"9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
sha256:
f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev"
source: hosted
version: "3.0.
8
"
version: "3.0.
9
"
leak_tracker_testing:
dependency: transitive
description:
...
...
@@ -556,10 +556,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: d
2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: d
c58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
url: "https://pub.dev"
source: hosted
version: "0.12.1
6+1
"
version: "0.12.1
7
"
material_color_utilities:
dependency: transitive
description:
...
...
@@ -572,10 +572,10 @@ packages:
dependency: transitive
description:
name: meta
sha256:
bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256:
e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
version: "1.1
5
.0"
version: "1.1
6
.0"
mime:
dependency: transitive
description:
...
...
@@ -596,10 +596,10 @@ packages:
dependency: transitive
description:
name: path
sha256: "
087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af
"
sha256: "
75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5
"
url: "https://pub.dev"
source: hosted
version: "1.9.
0
"
version: "1.9.
1
"
path_provider_linux:
dependency: transitive
description:
...
...
@@ -769,50 +769,50 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "
53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3
c"
sha256: "
254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7
c"
url: "https://pub.dev"
source: hosted
version: "1.10.
0
"
version: "1.10.
1
"
stack_trace:
dependency: transitive
description:
name: stack_trace
sha256: "
9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377
"
sha256: "
8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1
"
url: "https://pub.dev"
source: hosted
version: "1.12.
0
"
version: "1.12.
1
"
stream_channel:
dependency: transitive
description:
name: stream_channel
sha256:
ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
sha256:
"969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
version: "2.1.
2
"
version: "2.1.
4
"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "
688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c
3"
sha256: "
921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b4
3"
url: "https://pub.dev"
source: hosted
version: "1.
3.0
"
version: "1.
4.1
"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256:
a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
sha256:
"7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
url: "https://pub.dev"
source: hosted
version: "1.2.
1
"
version: "1.2.
2
"
test_api:
dependency: transitive
description:
name: test_api
sha256:
"664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
sha256:
fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev"
source: hosted
version: "0.7.
3
"
version: "0.7.
4
"
typed_data:
dependency: transitive
description:
...
...
@@ -905,10 +905,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256:
f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
sha256:
"0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
url: "https://pub.dev"
source: hosted
version: "14.3.
0
"
version: "14.3.
1
"
web:
dependency: transitive
description:
...
...
@@ -942,5 +942,5 @@ packages:
source: hosted
version: "3.1.3"
sdks:
dart: ">=3.
6.1
<4.0.0"
dart: ">=3.
7.0-0
<4.0.0"
flutter: ">=3.27.0"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment