Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
flutter
- cupertino widgets, no material

documentation
- docs/ directory
- includes documentation on how the app is structured

colors
- lib/theme
- defined as const that can be globally imported

routing
- gorouter
- lib/routes/router
- this is where we provide state management

modals
- lib/widgets/modals/dismissible_modal_popup.dart
- showCupertinoDialog or showCupertinoModalPopup
- state is provided around the modal directly
- kept next to relevant screen as 'name_modal.dart'

services
- lib/services
- any package or external service that needs to be called should be defined as a service

state
- docs/state.md
- provider
- lib/state
- favor provider over local state management
- this is where we call services, we never call services from widgets directly
- state is defined under routes or modals and therefore typically scoped
- use local state management only for self-contained widgets (animations, hiding widgets, etc...)

screens
- lib/screens
- folder structure follows routing structure
- modals live next to their respective screen, move modals up if they are shared

widgets
- lib/widgets
- anything that doesn't use provider

models
- lib/models
- models related specifically to services should live with the service
- models intended for the app, should be kept in the models folder
- docs/models.md - comprehensive documentation of all app models

db
- docs/db.md
- a service lib/services/db
- abstract class for db lib/services/db/db.dart
- abstract class for a db table lib/services/db/db.dart
- we instantiate the db and include the tables inside lib/services/db/app/db.dart
- we import and use table individually
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ if (keystorePropertiesFile.exists()) {

android {
// compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 35
compileSdkVersion 36
// ndkVersion flutter.ndkVersion
ndkVersion = "27.0.12077973"
ndkVersion = "28.2.13676358"

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
Expand Down
43 changes: 30 additions & 13 deletions assets/config/v4/communities.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/wallet.pay.brussels.png",
"url": "https://checkout.pay.brussels/topup",
"action": "topup",
"signature": true
"signature": true,
"featured": true
}
],
"config_location": "https://wallet.pay.brussels/config/community.json",
Expand Down Expand Up @@ -305,6 +306,14 @@
"url": "https://ipfs.internal.citizenwallet.xyz"
},
"plugins": [
{
"name": "Map",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/sfluv.svg",
"url": "https://app.sfluv.org/map",
"launch_mode": "webview",
"featured": true,
"signature": true
},
{
"name": "About",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/sfluv.svg",
Expand All @@ -328,6 +337,7 @@
"theme": {
"primary": "#eb6c6c"
},
"hidden": true,
"profile": {
"address": "0x05e2Fb34b4548990F96B3ba422eA3EF49D5dAa99",
"chain_id": 137
Expand Down Expand Up @@ -462,6 +472,7 @@
"theme": {
"primary": "#009393"
},
"hidden": true,
"profile": {
"address": "0x898C2737f2Cb52622711A89D85A1D5E0B881BDeA",
"chain_id": 137
Expand Down Expand Up @@ -515,11 +526,14 @@
},
{
"community": {
"name": "Breadchain Community Token",
"description": "BREAD is a digital community token and solidarity primitive developed by Breadchain Cooperative that generates yield for post-capitalist organizations",
"url": "https://breadchain.xyz/",
"name": "Bread Cooperative",
"description": "Financial tools today. Solidarity forever.",
"url": "https://bread.coop",
"alias": "bread",
"logo": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"logo": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"theme": {
"primary": "#ea6023"
},
"profile": {
"address": "0x6b3a1f4277391526413F583c23D5B9EF4d2fE986",
"chain_id": 100
Expand All @@ -536,7 +550,7 @@
"tokens": {
"100:0xa555d5344f6fb6c65da19e403cb4c1ec4a1a5ee3": {
"standard": "erc20",
"name": "Breadchain Community Token",
"name": "Bread Cooperative Community Token",
"address": "0xa555d5344f6fb6c65da19e403cb4c1ec4a1a5ee3",
"symbol": "BREAD",
"decimals": 18,
Expand Down Expand Up @@ -578,38 +592,39 @@
"plugins": [
{
"name": "Market",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://marketplace.citizenwallet.xyz/bread",
"launch_mode": "webview",
"signature": true
"signature": true,
"featured": true
},
{
"name": "Breadcon 2025 Faucet",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://faucet.citizenwallet.xyz/breadcon2025",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://hackatsuonvoting.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://grow-kesennuma.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Mutual Vend",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://mutual-vend.com",
"launch_mode": "webview",
"signature": true,
Expand Down Expand Up @@ -714,6 +729,7 @@
"theme": {
"primary": "#ff4c02"
},
"hidden": true,
"profile": {
"address": "0x13Dd4B3cD2f2Be3eb41cD0C3E2ce9F8d8C93A451",
"chain_id": 8453
Expand Down Expand Up @@ -951,7 +967,8 @@
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/myrt.png",
"url": "https://marketplace.citizenwallet.xyz/seldesalm",
"launch_mode": "webview",
"signature": true
"signature": true,
"featured": true
}
],
"config_location": "https://seldesalm.citizenwallet.xyz/config/community.json",
Expand Down
73 changes: 45 additions & 28 deletions assets/config/v4/communities.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/wallet.pay.brussels.png",
"url": "https://checkout.pay.brussels/topup",
"action": "topup",
"signature": true
"signature": true,
"featured": true
}
],
"config_location": "https://wallet.pay.brussels/config/community.json",
Expand Down Expand Up @@ -305,6 +306,14 @@
"url": "https://ipfs.internal.citizenwallet.xyz"
},
"plugins": [
{
"name": "Map",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/sfluv.svg",
"url": "https://app.sfluv.org/map",
"launch_mode": "webview",
"featured": true,
"signature": true
},
{
"name": "About",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/sfluv.svg",
Expand All @@ -328,6 +337,7 @@
"theme": {
"primary": "#eb6c6c"
},
"hidden": true,
"profile": {
"address": "0x05e2Fb34b4548990F96B3ba422eA3EF49D5dAa99",
"chain_id": 137
Expand Down Expand Up @@ -462,6 +472,7 @@
"theme": {
"primary": "#009393"
},
"hidden": true,
"profile": {
"address": "0x898C2737f2Cb52622711A89D85A1D5E0B881BDeA",
"chain_id": 137
Expand Down Expand Up @@ -515,11 +526,14 @@
},
{
"community": {
"name": "Breadchain Community Token",
"description": "BREAD is a digital community token and solidarity primitive developed by Breadchain Cooperative that generates yield for post-capitalist organizations",
"url": "https://breadchain.xyz/",
"name": "Bread Cooperative",
"description": "Financial tools today. Solidarity forever.",
"url": "https://bread.coop",
"alias": "bread",
"logo": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"logo": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"theme": {
"primary": "#ea6023"
},
"profile": {
"address": "0x6b3a1f4277391526413F583c23D5B9EF4d2fE986",
"chain_id": 100
Expand All @@ -536,7 +550,7 @@
"tokens": {
"100:0xa555d5344f6fb6c65da19e403cb4c1ec4a1a5ee3": {
"standard": "erc20",
"name": "Breadchain Community Token",
"name": "Bread Cooperative Community Token",
"address": "0xa555d5344f6fb6c65da19e403cb4c1ec4a1a5ee3",
"symbol": "BREAD",
"decimals": 18,
Expand Down Expand Up @@ -578,42 +592,43 @@
"plugins": [
{
"name": "Market",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://marketplace.citizenwallet.xyz/bread",
"launch_mode": "webview",
"signature": true
"signature": true,
"featured": true
},
{
"name": "Breadcon 2025 Faucet",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://faucet.citizenwallet.xyz/breadcon2025",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"url": "https://hackatsuonvoting.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://hackatsuonvoting.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"url": "https://grow-kesennuma.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
"name": "Japan Demo",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://grow-kesennuma.vercel.app",
"launch_mode": "webview",
"signature": true,
"hidden": true
},
{
"name": "Mutual Vend",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread.svg",
"url": "https://mutual-vend.com",
"launch_mode": "webview",
"signature": true,
"hidden": true
"name": "Mutual Vend",
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/bread2.png",
"url": "https://mutual-vend.com",
"launch_mode": "webview",
"signature": true,
"hidden": true
}
],
"config_location": "https://config.internal.citizenwallet.xyz/v4/bread.citizenwallet.xyz.json",
Expand Down Expand Up @@ -714,6 +729,7 @@
"theme": {
"primary": "#ff4c02"
},
"hidden": true,
"profile": {
"address": "0x13Dd4B3cD2f2Be3eb41cD0C3E2ce9F8d8C93A451",
"chain_id": 8453
Expand Down Expand Up @@ -951,7 +967,8 @@
"icon": "https://assets.citizenwallet.xyz/wallet-config/_images/myrt.png",
"url": "https://marketplace.citizenwallet.xyz/seldesalm",
"launch_mode": "webview",
"signature": true
"signature": true,
"featured": true
}
],
"config_location": "https://seldesalm.citizenwallet.xyz/config/community.json",
Expand Down
Loading
Loading