Initial commit

This commit is contained in:
2026-04-24 23:38:00 -05:00
commit 80f936febc
219 changed files with 6789 additions and 0 deletions
+121
View File
@@ -0,0 +1,121 @@
version.json,1774023044529,c95ddd69aeded8aa5928ad92b14b52c2b60af10f2c5311ce93300d30776abdc9
manifest.json,1774023045751,6b350b6fae5f0928f228a1a8fa5541437ae52fcfa589b631dd1aa092a07bf0a2
index.html,1774023016919,1e8409d1acfc0069bf2a5dcc53121099a7d16e34bdd60302bf0e269381d2672b
flutter.js,1774023016667,c86e9ec2a28b0fa50e6efcc196aec60be02c96a5b0bec888ea7e1c986d1b8c68
favicon.png,1774023045751,18f5974cf0a7a778cc393e3cb31725d0a85970c8df2b52688cacce7e4dc99342
flutter_service_worker.js,1774023046197,e1f4135191a080af3d1ba569557b5277252b9b9423a6be83c963274d08d39f5f
flutter_bootstrap.js,1774023016911,d79bdf362105b8d7bc557a93e5a77cff46db442e5093565e947b09fd3703b448
icons/Icon-maskable-192.png,1774023045752,3b3af8b09702ed3f063219466bd9e044dbd2703372b1402f6632920ba9c251de
icons/Icon-512.png,1774023045752,7fdb40ad7ef7200d89786b1266b41d441eea7872d4bdccaf8a954429aab62c5f
icons/Icon-192.png,1774023045752,2a485edb60e647cf0496f958c90c1ebdb3b9a82dc44260370b9094842fab3906
assets/FontManifest.json,1774023044625,aa5f29844b391234a4ed068470a2bfd87d8d692f700a8bbbf633e5e6b299b0a4
assets/AssetManifest.bin.json,1774023044625,37bf3a356d8f18ca6f6e9c7c2afcc25156b1d6d0bb8c01714d1964bd04035538
assets/AssetManifest.bin,1774023044625,acc1ae97e982a4a78bad626ce04d361a558ba85def9e8001383d36744f8a4345
assets/shaders/ink_sparkle.frag,1774023044695,5173811eeecee36d442b414b44ec54993cadd39e44568fb88a24dc7ff3dd1fca
assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,1774023045743,10aa1f084fa7612decf021fb5a8aefa4a7d2f427d7a02fa778962dd20b814c29
assets/shaders/stretch_effect.frag,1774023044696,5936632aca690916d8c46a627c9bac73438a20ac1a3d10464c93f7fff94eabec
assets/fonts/MaterialIcons-Regular.otf,1774023045750,624172cef54cae2e0155abebade4436fa4ed311dcd8b7e3c84124c69292f0e45
assets/assets/tarot_data.json,1774023044618,95ff61b27c3c39d3fa3f3c83efc2ac1ae2a89d587dacfe50ab1b238b06b16de6
icons/Icon-maskable-512.png,1774023045752,8d3ccbc9307d2a1ede82dddcd23c11d39a00be576296b9358903ee746206cde2
canvaskit/skwasm_heavy.js,1774023016654,b6844567b8a37fb14d5662b11016d44581d63cad3a8d81002ccda2df422f6b06
canvaskit/wimp.js,1774023016664,155c03184c816768553bdabac007c209b0b080d5e9c3689afc53a55e08337dcc
canvaskit/skwasm.js,1774023016664,ca9eea4a35f28735e5db9891a9761e61362eb920e207c9e92b44bf1b219411a4
canvaskit/canvaskit.js,1774023016664,fa4d7a33ccb6339247171eab8a5caddecbb0e5a4434ce9053f35363f2b6b189c
canvaskit/chromium/canvaskit.js,1774023016660,4d89e6a67e87c4b16ce2aeeeebc2d45679bd496a261052ee18267abad2c48a7e
assets/assets/sounds/flip.wav,1774023044618,3814a877bde34f604d9c838d867191ce56e2ef129275f546537cb48c573de03a
assets/assets/sounds/shuffle.wav,1774023044618,7c17243928dee690524bd5f6a3875d0e64f131b0e9e0aa54107457d649af01f2
assets/NOTICES,1774023044626,23d3f20f8391661f87df02bd041aa83c9992975c47a00a8f4d22759ed81da33c
assets/assets/images/card_back_alt2.jpg,1774023044595,8887d3927261069efd9f8a0302ebe72b23f106496700248362a101754af15aa2
canvaskit/chromium/canvaskit.js.symbols,1774023016661,fad634f436dacf6f2e95031bb3dfb9ea14ce3b23ef0eb187b08410be0cc0c062
canvaskit/canvaskit.js.symbols,1774023016665,30cc5832cc4b317fd5ae4a98032435683a12eec44a1bec4e7521af31c65ac9d5
canvaskit/skwasm.js.symbols,1774023016653,23638151571cf2adaf0c1266153adca2ef28efb980ee2c83baa913584c1b87b4
canvaskit/wimp.js.symbols,1774023016663,8ec1cc08331ded08213dc331ea5977eb101cb9e835c8db01780c1fb1964bff20
assets/assets/images/card_9.jpg,1774023044605,dd38ce59e649aafe866ab4840fa5fb76e7bb33fb1b514f9ab760b483f1ab5e46
canvaskit/skwasm_heavy.js.symbols,1774023016654,41ae7151488eb23c8699efea54e5b05c0b7d0f62cf66b9a35afe0b00a4e3538a
assets/assets/images/card_59.jpg,1774023044595,a07de58d5c6d6783493be554f1749180b6eb7da6e5577d911033822c8941dcc6
assets/assets/images/card_52.jpg,1774023044597,e3123e224012734edcdf28920433be99eda5b2de03cb1379388233609b04fc79
assets/assets/images/card_back_alt1.jpg,1774023044605,8f6aa665826f3aa587b4ecc341956e716953f3591d5ad456e7f0e81615f03d95
assets/assets/images/card_70.jpg,1774023044608,1c3403d6d6d326d0400a9c1e6e82b424d8e391b3473f95fd9901d19e4f5a562e
assets/assets/images/card_71.jpg,1774023044596,c56e5d23b3f3bcf41ac666085a91b0f6bc3c6485e0fcf9e41d22171843215c28
assets/assets/images/card_73.jpg,1774023044608,459d1a481325790bb25a9e2be57bfa6c4187b4e325e30c66036dccd4176bce5e
assets/assets/images/card_67.jpg,1774023044611,91c66b9594ad07699f225b11b829d49c4bc72e1e37c726a8258009741e97e315
assets/assets/images/card_58.jpg,1774023044609,29354ccfade5362659d4c03ea0559fe883df77a892d0f8ac5553d93703d1a47c
assets/assets/images/card_56.jpg,1774023044595,2c0cb78d5bf07e9ad41d46bc13ab31dd037dad4e4fc8c91e66c84e829b7a0f90
assets/assets/images/card_62.jpg,1774023044593,c2975033f30bd566cd1d88fa60c8b561d5cf147760cb63cc9720cc87054a3e6c
assets/assets/images/card_back_alt3.jpg,1774023044615,5e08996a2748cd7f6fccc15d79508a6f4a21243d752b79658c7826f7fd17158e
assets/assets/images/card_68.jpg,1774023044618,19b0e2915ea0c96df71a16d643ec981abe46dbcc6487963ab8f60b1e8a805cc8
assets/assets/images/card_65.jpg,1774023044617,4d90e67f2ed0fd1e988c75a62cce1882053b61de272ec9d4d61fd4531d5c611c
assets/assets/images/card_64.jpg,1774023044610,b8a7693927abb61e37b71505440c84d255a9810481d5608c808dbb305b6e7a8d
assets/assets/images/card_51.jpg,1774023044610,f7327b273673184ce1353a6126957b5a3a641f5e3210fadcb3493e92228f8ddd
assets/assets/images/card_72.jpg,1774023044597,e7c44b44b5c74f101d63c9ecaff4b7615c4a247f0ed0eb0c9487dc53e7432623
assets/assets/images/card_61.jpg,1774023044594,b04017152fa469c6f7d638a3bea7c4c16756a7e38e83589c80c5c9f1c47413e0
assets/assets/images/card_69.jpg,1774023044604,48c2dc84dc5b078de5074fc15d5486f84cd91a19c55d13d3d75e445bfe41306b
assets/assets/images/card_50.jpg,1774023044595,13be37a6fa6c2d14b5db73c57c4edf813a42a70dfc92878aebefc6bc846745db
assets/assets/images/card_53.jpg,1774023044601,1c05a9f7278b0136db2ebebef2aa0985f1c7e55e21d83eaed060c5afcb6a6591
assets/assets/images/card_60.jpg,1774023044597,894f6b78e0a08670e72e0cf1488b9eee08600486b9b10f7bc74d5ea2f096fea6
assets/assets/images/card_57.jpg,1774023044595,df20a19112d6a1d4813757bc6486735fbb05d9a1c6d7fe7cd86916e4bf12ad63
assets/assets/images/card_54.jpg,1774023044595,6a08de9461200b23897ece229d823a7294f831f2f2c1974227451f87eb415741
assets/assets/images/card_74.jpg,1774023044597,20d9f17ac90352f5f5fda319e25f737265307252bd47a61f8d5ac66750755a2e
assets/assets/images/card_63.jpg,1774023044609,d8e601b59a6d257b11acd5cec9b7b75cb92177c61ea563e33295bbf34f4cc58d
assets/assets/images/card_76.jpg,1774023044618,0e4528764515819df81cd61496a14312d1eaf1f8b45a7b9a9ab636de5c42421a
assets/assets/images/card_66.jpg,1774023044603,33b5f7dd0c49093985926a0ceeb9be8fdff1d65327cd856882bb6e3e181daf80
assets/assets/images/card_75.jpg,1774023044598,e9eb1b7852868fdbb109e5e2f41ac045e91bcbddbdc7b0675f0aa85bbb5bd1ec
assets/assets/images/card_77.jpg,1774023044594,9b95ecde8102f19e924e86f6d6df86dee1d1d35338cf15ba3d6bd7c835bcb007
assets/assets/images/card_55.jpg,1774023044597,ce30456f2d5b800149877565449ab0cc8d6445ddfd0dc4130d443585a7e3e754
assets/assets/images/card_49.jpg,1774023044594,c2a3db940b4bd177f06b3bc184b46fa8978d19f4a8f8eb7cb49c9176f8c030ca
assets/assets/images/card_8.jpg,1774023044606,f8114c7cb0b77c9d16ae556796a226fbf7ffba3c6a029619c04131e7c3b41c30
assets/assets/images/card_5.jpg,1774023044613,9c1145feb8aa49a6510ae80ad5edb6ff22f5a9b7348c89b755c6f4437f527299
assets/assets/images/card_7.jpg,1774023044594,1d793c0257a4e37df6a0ab9b73851e99668e2aa67f69808be44128851b859f85
assets/assets/images/card_47.jpg,1774023044593,7c6b88b9a9e9086ccff8160e386df8e1810c0dfd9027badffa441c6989071eeb
assets/assets/images/card_6.jpg,1774023044609,0021f889a282ef41ffda3e844a84ad46f02533066c1de22f0ece0df91f13623d
assets/assets/images/card_46.jpg,1774023044610,84e086eadd6022b89d66104d5a1cf79c9e42ec6d15d067f4192db8a5c7c28d2f
assets/assets/fonts/Metamorphous.ttf,1774023044618,13def149122dabee9dd205da6fe5010d7906556c0611dcb6adecbba279ea7fc4
assets/assets/images/card_44.jpg,1774023044617,4c5decf900095d668386a341c58335fa4822c86315463e676bf5ee666aacd704
assets/assets/images/card_45.jpg,1774023044595,941fbdd85175032ab9eb2fbf34a73dd2e673fb2a6857c584666a64042213c12a
assets/assets/images/card_43.jpg,1774023044617,a7ddc87040e562234e522516f85f515aade6a4659653616324175ea6f44295c4
main.dart.js,1774023044524,d586a252969abb98f3b5552519eac3aee4026a64c8ed0159087e95cdd04a9901
assets/assets/images/card_41.jpg,1774023044604,9f25c968d8a2c9397b6b8d25075779fc0d5f8d8708204502622eb92253373b29
assets/assets/images/card_42.jpg,1774023044595,e90294b094f11ac051aa68097c131e3feefe198d8943170dd8ef99eaf67538eb
assets/assets/images/card_48.jpg,1774023044594,32c3b4a05de257bedb149e767b2e3a551a9fd30157fff74b2b102fe6eee25cb8
assets/assets/images/card_26.jpg,1774023044612,43a167652fdb5a57669655fb9d5c299739ca57a2b50b6f715736341c843d35db
assets/assets/images/card_39.jpg,1774023044605,bd5c617faab2dd091b33a154ff8cbd8680254653ddc8656d460ab4bd49239669
assets/assets/images/card_40.jpg,1774023044594,a0ec12c34f04cc882ed4f78329dc9fa0e7cf357f28d6998c1b775f23a608c6c6
assets/assets/images/card_16.jpg,1774023044617,ac77751d3ee6b9d369cacf70e0e227db289d4cadc87e9e2e9afbfb7a7e3cfe22
assets/assets/images/card_38.jpg,1774023044614,d50ceeeb225287298cf2a4c6837bc840c6cfac5e6c63094348ea0db223cf72ec
assets/assets/images/card_36.jpg,1774023044597,e0165c7efa094d3e711b9e83431289e20aa81686a052397188cb4176e4e516d9
assets/assets/images/card_28.jpg,1774023044604,9effe7a9250d8825ad9f03ba4670d30487d9b5d62f646421c843589225df4742
assets/assets/images/card_29.jpg,1774023044612,de600e0a4517cf4f16e40e927d0f6c2010cca0f24425377281a3d34fdb159fa5
assets/assets/images/card_30.jpg,1774023044609,f79001e67f1d40f66a9df1d89da7cb9961ae2609564bc8f83953ec74f56daed5
assets/assets/images/card_34.jpg,1774023044609,121a9b659899e68eaa37e7fe1b8bf467b8a00b273048960641a922fbbe752fd5
assets/assets/images/card_37.jpg,1774023044609,9e70dacbc2cee9216a78595735e893bfbe1cdd63d590c74f570348027e98d057
assets/assets/images/card_25.jpg,1774023044618,3906e9f5286ba05d9ed613672af86ca9d26764b2621f4b3d858b2e770bc4f600
assets/assets/images/card_35.jpg,1774023044615,e9bc49453be33b2bac47eb0e7c0cc313af3c0ef37275eff8090ffb96280522d3
assets/assets/images/card_33.jpg,1774023044593,c5f1385a8ef777b8d40614c8ea08c322a81707282d3507e9fd084ccec7d98f55
assets/assets/images/card_15.jpg,1774023044598,45cb6503bdf556b3114bea0274bba7781155cbf1581a0bb3bc33d64b0b7ef08f
assets/assets/images/card_32.jpg,1774023044595,d9ca2310a471e8e48b7e1d4ebc5b617a0cba16fdb6bd2522757b06d3858ed7b2
assets/assets/images/card_31.jpg,1774023044604,8619e9adaba1137f2e90aa5aff5b77669c829862b53d796feea3cf64c3f6d635
assets/assets/images/card_22.jpg,1774023044611,9849b2a58cf8bc55419e80a67b0e990985d4f1e5f16a8d55009aa3543655ec7e
assets/assets/images/card_4.jpg,1774023044593,323ca357f0cd387c7c2423e6bc484256a35fc6215fc4d15b3505420c1332040f
assets/assets/images/card_27.jpg,1774023044597,c7f6763af0653d2373e22f1e8a997dc5e016d480a45a8c1b126e10463408742f
assets/assets/images/card_2.jpg,1774023044597,66d1827445728fd21d333956abd71acb149baf3c69112434c2a0cdc9022248b2
assets/assets/images/card_12.jpg,1774023044602,226eaced305eb46629b13ef7888d5ca0cf5f03f4a05757c601095d0b01eab4c8
assets/assets/images/card_3.jpg,1774023044597,0f29e33c721cdefca74f89b9fb9d16d9a4030a296d3bdd34772b2c5781da7e0c
assets/assets/images/card_21.jpg,1774023044604,f1385541c314553377920f145b65ed43d030133dbe865c8ebc1f9a3bcb339f6c
assets/assets/images/card_20.jpg,1774023044611,f7cff716542cb02eb16274e10333c9d63d1790e409ab193d550edd48ee16d90f
assets/assets/images/card_13.jpg,1774023044597,69b4f40adc3018b1cce1749c0d1d1b1d974aa8379e6bc7fd5a5e99f31d5746e5
assets/assets/images/card_18.jpg,1774023044610,e97312fc0160c6451e65ed62607fbfb2010a552fa6624a54830a380658f6ab23
assets/assets/images/card_19.jpg,1774023044615,9c0db24ff0124285806099fee15ba4f278d8e76955a5453abd930ef00e5bb0c1
assets/assets/images/card_17.jpg,1774023044594,5803090f2fdc6bdc214ce5795811ce93a005771796824335151b8ef6832e2061
assets/assets/images/card_11.jpg,1774023044597,933217d9f741bc086507235a4525aa95c0eb9568f46f02fefb144880b2834762
assets/assets/images/card_23.jpg,1774023044604,f180a8b43de2253afaee2309ebd799d64ea4bf3b2e34ec3940cc655205279e01
assets/assets/images/card_14.jpg,1774023044596,ce5de0acbce87e82428ef1f7a64e85309119857f2893bd3b6a4aadae718bd6a7
assets/assets/images/card_24.jpg,1774023044598,ef1536a108df0d1bec2e3a36f25528e993736707fefa065d80514e02cce869a6
assets/assets/images/card_10.jpg,1774023044604,d029838b525ff60d31209cacb96ecc75d24dcccb6a056e950fc73aff77702ad3
assets/assets/images/card_1.jpg,1774023044605,e72fcfc0ad6a9384de6b33d6d6c3e352c1f89a42ced47a0a69dcddd7276ea8c7
canvaskit/wimp.wasm,1774023016655,6127f7c1c275836a821d3fccd3a3ce1f5a0af8087517b8c6a36e36454bbb6ffe
assets/assets/images/card_0.jpg,1774023044598,0565224a71b3307525d5f03027197bb34ba8b54d8e71208fadb713cb8bc71eba
canvaskit/skwasm.wasm,1774023016662,a25a9b5a043100b8c64cc18884376cade9db49aa059f96e921626e5e8f52f880
assets/assets/images/card_back.jpg,1774023044611,6dc7943804a944b1553655947ca2c03913559106ac23d527af27ce0e1cc722f0
canvaskit/chromium/canvaskit.wasm,1774023016659,8a1823553245e2a17cede5414ed1de154bc7c6fca867354354d75f9335813580
canvaskit/skwasm_heavy.wasm,1774023016667,15a3e27603a0d34daa69a4a54b986656ef3ca38921ecaa59fbc7d3d464fa5a7c
canvaskit/canvaskit.wasm,1774023016657,33332b13159f4767d4e59659c988a49874324cc99fbac5cba6b4217411284533
+5
View File
@@ -0,0 +1,5 @@
{
"projects": {
"default": "pocket-oracle-1"
}
}
+56
View File
@@ -0,0 +1,56 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/
/coverage/
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
# Firebase Secrets (CRITICAL)
lib/firebase_options.dart
android/app/google-services.json
ios/Runner/GoogleService-Info.plist
# Web Secrets
web/index.html
# Local Environment
.env
+45
View File
@@ -0,0 +1,45 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: "ff37bef603469fb030f2b72995ab929ccfc227f0"
channel: "stable"
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: android
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: ios
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: linux
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: macos
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: web
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: windows
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
+21
View File
@@ -0,0 +1,21 @@
<img width="1638" height="1638" alt="app_icon (Edit)" src="https://github.com/user-attachments/assets/34f61a86-bfde-4233-b53e-38b3e861b31b" />
# 🌙 Pocket Oracle
A comprehensive, user-friendly Tarot reading application for Android and iOS.
## ✨ Features
- **Dynamic Spreads:** Choose from Daily Pull, 3-Card Spread, Horseshoe, and Celtic Cross.
- **Mystical UI:** Twinkling animated starfield background and smooth card-flip animations.
- **Encyclopedia:** Full library of 78 cards with search and suit-filtering logic.
- **Cloud Journal:** Save your readings to Firebase with personal notes.
- **Personalization:** Discover your Birth Card and choose custom deck backs.
- **Tactile Feedback:** Crisp haptic vibrations and high-quality card sounds.
## 🛠️ Tech Stack
- **Framework:** Flutter
- **Database/Auth:** Firebase (Firestore & Anonymous Auth)
- **State Management:** StatefulWidget / setState
- **Graphics:** Custom Painter & 3D FlipCard
+28
View File
@@ -0,0 +1,28 @@
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
+14
View File
@@ -0,0 +1,14 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
.cxx/
# Remember to never publicly share your keystore.
# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks
+47
View File
@@ -0,0 +1,47 @@
plugins {
id("com.android.application")
// START: FlutterFire Configuration
id("com.google.gms.google-services")
// END: FlutterFire Configuration
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
android {
namespace = "com.stnebula.tarot.tarot_app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.stnebula.tarot.tarot_app"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("debug")
}
}
}
flutter {
source = "../.."
}
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
+45
View File
@@ -0,0 +1,45 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="Pocket Oracle"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>
@@ -0,0 +1,5 @@
package com.stnebula.tarot.tarot_app
import io.flutter.embedding.android.FlutterActivity
class MainActivity : FlutterActivity()
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
+24
View File
@@ -0,0 +1,24 @@
allprojects {
repositories {
google()
mavenCentral()
}
}
val newBuildDir: Directory =
rootProject.layout.buildDirectory
.dir("../../build")
.get()
rootProject.layout.buildDirectory.value(newBuildDir)
subprojects {
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
project.layout.buildDirectory.value(newSubprojectBuildDir)
}
subprojects {
project.evaluationDependsOn(":app")
}
tasks.register<Delete>("clean") {
delete(rootProject.layout.buildDirectory)
}
+2
View File
@@ -0,0 +1,2 @@
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
+5
View File
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip
+29
View File
@@ -0,0 +1,29 @@
pluginManagement {
val flutterSdkPath =
run {
val properties = java.util.Properties()
file("local.properties").inputStream().use { properties.load(it) }
val flutterSdkPath = properties.getProperty("flutter.sdk")
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
flutterSdkPath
}
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
id("com.android.application") version "8.11.1" apply false
// START: FlutterFire Configuration
id("com.google.gms.google-services") version("4.3.15") apply false
// END: FlutterFire Configuration
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
}
include(":app")
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 972 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1008 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1024 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1006 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 966 KiB

Some files were not shown because too many files have changed in this diff Show More