From 2f02e65ab65c3c0dff262d8d0e567bcec658aaf3 Mon Sep 17 00:00:00 2001 From: Chad Curtis Date: Thu, 19 Feb 2026 06:18:02 -0600 Subject: [PATCH] Add Android Capacitor build system - Install Capacitor dependencies (@capacitor/cli, @capacitor/core, @capacitor/android, @capacitor/app, @capacitor/status-bar, sharp) - Create capacitor.config.ts with app configuration - Update .gitignore to exclude Android build outputs and keystore files - Generate icon-512.png from logo.svg - Add scripts for icon generation, APK building, and keystore creation - Initialize Capacitor Android platform - Configure build.gradle with signing support - Generate Android app icons in all required densities - Add npm scripts: 'icons' and 'build:apk' --- .gitignore | 10 + android/.gitignore | 101 ++ android/app/.gitignore | 2 + android/app/build.gradle | 71 ++ android/app/capacitor.build.gradle | 19 + android/app/proguard-rules.pro | 21 + .../myapp/ExampleInstrumentedTest.java | 26 + android/app/src/main/AndroidManifest.xml | 41 + .../main/java/com/mew/app/MainActivity.java | 5 + .../main/res/drawable-land-hdpi/splash.png | Bin 0 -> 7705 bytes .../main/res/drawable-land-mdpi/splash.png | Bin 0 -> 4040 bytes .../main/res/drawable-land-xhdpi/splash.png | Bin 0 -> 9251 bytes .../main/res/drawable-land-xxhdpi/splash.png | Bin 0 -> 13984 bytes .../main/res/drawable-land-xxxhdpi/splash.png | Bin 0 -> 17683 bytes .../main/res/drawable-port-hdpi/splash.png | Bin 0 -> 7934 bytes .../main/res/drawable-port-mdpi/splash.png | Bin 0 -> 4096 bytes .../main/res/drawable-port-xhdpi/splash.png | Bin 0 -> 9875 bytes .../main/res/drawable-port-xxhdpi/splash.png | Bin 0 -> 13346 bytes .../main/res/drawable-port-xxxhdpi/splash.png | Bin 0 -> 17489 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 ++++ android/app/src/main/res/drawable/splash.png | Bin 0 -> 4040 bytes .../app/src/main/res/layout/activity_main.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2616 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 1705 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2616 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1699 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 1129 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1699 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3609 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 2305 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 3609 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 5630 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 3556 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 5630 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 7895 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 4918 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 7895 bytes .../res/values/ic_launcher_background.xml | 4 + android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 22 + android/app/src/main/res/xml/file_paths.xml | 5 + .../getcapacitor/myapp/ExampleUnitTest.java | 18 + android/build.gradle | 29 + android/capacitor.settings.gradle | 3 + android/gradle.properties | 22 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + android/gradlew | 251 +++++ android/gradlew.bat | 94 ++ android/settings.gradle | 5 + android/variables.gradle | 16 + capacitor.config.ts | 19 + package-lock.json | 935 ++++++++++++++++++ package.json | 7 +- public/icon-512.png | Bin 0 -> 17129 bytes scripts/build-apk.sh | 88 ++ scripts/create-keystore.sh | 90 ++ scripts/generate-icons.sh | 70 ++ 61 files changed, 2213 insertions(+), 1 deletion(-) create mode 100644 android/.gitignore create mode 100644 android/app/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/capacitor.build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/com/mew/app/MainActivity.java create mode 100644 android/app/src/main/res/drawable-land-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/splash.png create mode 100644 android/app/src/main/res/layout/activity_main.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java create mode 100644 android/build.gradle create mode 100644 android/capacitor.settings.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 android/variables.gradle create mode 100644 capacitor.config.ts create mode 100644 public/icon-512.png create mode 100755 scripts/build-apk.sh create mode 100755 scripts/create-keystore.sh create mode 100755 scripts/generate-icons.sh diff --git a/.gitignore b/.gitignore index b350e1cf..4365cbf2 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,13 @@ yarn.lock .env .env.* !.env.example + +# Android build outputs and sensitive files +*.aab +resources/ +android/app/my-upload-key.keystore +android/key.properties +android/local.properties +android/build/ +android/.gradle/ +android/*/build/ diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 00000000..48354a3d --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,101 @@ +# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore + +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +# Android Profiling +*.hprof + +# Cordova plugins for Capacitor +capacitor-cordova-android-plugins + +# Copied web assets +app/src/main/assets/public + +# Generated Config files +app/src/main/assets/capacitor.config.json +app/src/main/assets/capacitor.plugins.json +app/src/main/res/xml/config.xml diff --git a/android/app/.gitignore b/android/app/.gitignore new file mode 100644 index 00000000..043df802 --- /dev/null +++ b/android/app/.gitignore @@ -0,0 +1,2 @@ +/build/* +!/build/.npmkeep diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 00000000..a1928f8f --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,71 @@ +apply plugin: 'com.android.application' + +def keystorePropertiesFile = rootProject.file("key.properties") +def keystoreProperties = new Properties() +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + +android { + namespace = "com.mew.app" + compileSdk = rootProject.ext.compileSdkVersion + defaultConfig { + applicationId "com.mew.app" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + aaptOptions { + // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. + // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 + ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' + } + } + signingConfigs { + release { + if (keystorePropertiesFile.exists()) { + keyAlias keystoreProperties['keyAlias'] + keyPassword keystoreProperties['keyPassword'] + storeFile file(keystoreProperties['storeFile']) + storePassword keystoreProperties['storePassword'] + } + } + } + buildTypes { + release { + signingConfig signingConfigs.release + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +repositories { + flatDir{ + dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" + implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" + implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" + implementation project(':capacitor-android') + testImplementation "junit:junit:$junitVersion" + androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" + implementation project(':capacitor-cordova-android-plugins') +} + +apply from: 'capacitor.build.gradle' + +try { + def servicesJSON = file('google-services.json') + if (servicesJSON.text) { + apply plugin: 'com.google.gms.google-services' + } +} catch(Exception e) { + logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") +} diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle new file mode 100644 index 00000000..bbfb44fa --- /dev/null +++ b/android/app/capacitor.build.gradle @@ -0,0 +1,19 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_21 + targetCompatibility JavaVersion.VERSION_21 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + + +} + + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 00000000..f1b42451 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java new file mode 100644 index 00000000..f2c2217e --- /dev/null +++ b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import android.content.Context; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.getcapacitor.app", appContext.getPackageName()); + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..b06ddbfd --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/com/mew/app/MainActivity.java b/android/app/src/main/java/com/mew/app/MainActivity.java new file mode 100644 index 00000000..46efe487 --- /dev/null +++ b/android/app/src/main/java/com/mew/app/MainActivity.java @@ -0,0 +1,5 @@ +package com.mew.app; + +import com.getcapacitor.BridgeActivity; + +public class MainActivity extends BridgeActivity {} diff --git a/android/app/src/main/res/drawable-land-hdpi/splash.png b/android/app/src/main/res/drawable-land-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e31573b4fc93e60d171f4046c0220e1463075d9e GIT binary patch literal 7705 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 wKmFJ0_JHhk1&0B>;%YXATM literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-mdpi/splash.png b/android/app/src/main/res/drawable-land-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xhdpi/splash.png b/android/app/src/main/res/drawable-land-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..807725501bdd92e94e51e7b2b0006f69e0083a0b GIT binary patch literal 9251 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..14c6c8fe39fcd51a0414866ad28cbe8ff3acb060 GIT binary patch literal 13984 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®q@N z14_H8ofW)l{|J8q+a)eH)I0r)>WXdzV%7J>PA~6_J)KLT90iYa^K=Wz7D!OybzqSru=f4?|KFl;Y)gP_H6V4x`~kZ6fE(xM1&;?72-TZNk+0 zr+Crr5yl%Iy@vfmt3eYFl!jIvPGFz^8Ek+2`48O1_pCX3xNWh-zBa{rIcc%+=|XVj zANYTg&s}TKb#OztQrCW(Xk?V^i{`q~%HtcveTxq(_HKeC9GzrtguMT4Nvs@KakPTA z9>*8bBZmLz`lK5=l)=b|=dT3a5ag^a1^znZyx5QKfUb1b9yacArRp%3@QWo(hrsCU z-K!-=jDmv!zb7XT>)r|-Z0Ry}lk2;dk-ECqMwr_nKN#x*X6~B5hVIN>6$1HwBz3Of z=Pk){AL5*=d90f17_qZEJLm;Q%WMdX=*N&!ki@E&cy7?>{1ssAH(tACtp*r@d^til z)x(1#6(kPD+joSF&J3sxJU@{-sWCS+pZq{Gsx=?z4wP;>?)1yHv0?X?VP{}cX4~aH zxeBPKw_rgW8rvewS1W2#^y+c>-183iMbJCqc38RN_o~__9-n|jcd&oA`m7*&Fqqpc z;Tev*0LS-ZK47Sq1unfvP1S43uA12P?PJmI8BeTYPr~R*tYUm^0;U%Hmu?bSZHEK6 zPjsW=E67Kq-&trmf;)UkmRABH2U)V)-eRT$j(%G12lLMsThSsU10iP#{)ZnvjzN$d z*K%P3`}oqyvpWP~venr>3viH8^`)Ma*=B31hw*Q+tqE>i2y7w!(o^lI^Yss^=tHW( z;cnCT(%B1gLz+TRGW9roFjI1EQTu-u`(f#RmZ8;FSN(bsC1J;+(i_R6mrW=yYx$cy z#%QKVrEx~kVMg~yo?^N28Wnk6x%L;J8i|*|ANEiNjq(Vhzuzl3ikpA*G!Z}kLAzAI z9qnySo%D|AuJj12%h;Otqjs(>LPj?rNdeU8so>P(C>XMzlho94ZD#w=cCOOU;=3&^ zsqAG!i{~lY271D|m>ztPV`)X@FO_;`wPjppYNQpM+ncvtz1lZjN>!Q^*I}T%uP78Z7tbV2$q3W_)14=kLFyJ z1GqL6T>ClgeZorL!}xP4f%OB_EsmJ`uw7dGWNV9OLlhb|UMpVhc{4@Bhh`tO!ZqzD zhusd<=K^ah!L@gQ?6dOpI-ge^e>S5W9eII57Zu16eU?GRbgKTeVk9yS{iK|O(zLR> zheb?;jwGCHS80NCn=jKxgJ>}qu4l%5NPihjzazGv#J?Jcyl;<#IW&x4mm>nrW8>}C z3U@aeD~)*F(0o^2{GnKVm$Jr#aZE ztl~TOkM^SdzJapQ((!-i8b!RkVQBKkL`2ZCBuy!qI1L{3Er526plVols~68U-^9Px zR(3{j;Z9RHX^muc0dUywJ|`yyZFf=k&-Gb#m4u73Lm5Ks%BfHj%2|gjn#i> zLC5pO$2Em9H;qoKQmMtl<@wgtPF1%2HariD5O~u>8=^*J&au~JH%Ih@&2Uging3U_ z0bzfKucW$ZHSx}!#buB?+-J)%RQbbXM-!BJTS&#dU_@lxU6>te2O+9 z@F{F{Nb!;{Cd`Gx+$G?11aB~S#wIH%D=*=7f7H@D@%B1)&bF$@t3JDq4l*%(wJTlh zo`?uMq{YilKUewPNaC)GuOr<8j9&ofqRU__BRUX^x8Cj3a;a$rXzgXqW>LR#CUn%~m)t zYC&ol(gAkbc^fd`xWU&bk5vT6KbFmsR=O78Bn%t7 znbw&=c+|T&#r+bls5rU6D#HMvqA<|;)BV%jOMonkm^p$7Vcel-Wwn$=uAJv&(8W>% z9))Fxpl*(%E#wFm_m!U~2HqgZs^2vaGeY(UfYKrSHV}w^D0N6!se5Ewy)Yy-!(2

aKj2hWG7>znxs|SE zN4rHtiSPqLskWp(?(_YYwgq+1@8v+~8As|(bC>$D(atG3ZE8-ZM3SVcg|vHQz$I=!(A`k`5= zOqR>&%G)$)k*QLz7MTB9wleWpv&N9Sta64wy}3Ytd?x!Ja8z>(z~(3UNFu^eFmn#6 zw!!gUxOuZi$PQIs*ixfZR3iLyADJ z5&s%tPfk>V!x|A-;oq%1!yk9H$UBP0ToA*EDtz(^!_AnF1bBQ7joj|? z5b)gSI8c8O$PYFE!vXJ<4gebg*9G9P2wcB{#kv0FItc5T@PDNo)}Rh4Us}L{e}xzW zhwt`)j`M)mP=G6H0;^&q=I0{jU%bIRkF#uLF;{vVC&H|_uc literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..244ca2506dbe0fd8f6a05520ac7d1a629ea81438 GIT binary patch literal 17683 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..bfabe6871a17a5e95b78fb30d49b7d2b4d2fe4c0 GIT binary patch literal 13346 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

VwO4Hu8X}%XHUAz_J@50rzbkIsat>4oWtQt< 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..6929071268eb03ee0f088142b6523566b78550e2 GIT binary patch literal 17489 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 KR&><$`~L^lv%S~= literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..c7bd21db --- /dev/null +++ b/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..d5fccc53 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/splash.png b/android/app/src/main/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a64923ea1a0565d25fa139c176d6bf42184e48 GIT binary patch literal 4040 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 XyOn+%7f`N3b2T^T3uj5+eShz7v)7qy literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..b5ad1387 --- /dev/null +++ b/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..036d09bc --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..036d09bc --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..21097ce391124e5a8962eaf196fee0d4d3f1aa5f GIT binary patch literal 2616 zcmZ{mc{J3G8pnS#_O&F-*taZY8Ds1c8q8ScElZZrSjJGc82i!)gOL)lMb=l@##$jN zVT7@~LN6gQ*~Tae(Uj{w_ndpqz31FNp67d><@0?1ebO(XE%~^`xB&p*Lm?4%$BO(X zI9ZSL5iOQ_EHd6mJ6iyVQ3L=&G5{PNw+L$h5Do=^4GaJn6aauoNO9+7qvHYC%i0nF z9Hri)zB;bBLXa+D0Kg;oPk?};V$tI!2Oec>&anX&FOHzSN4wp zF)!p_Wz7!qu9q)rD_Esi)FXxBWQMJsZ@0hRnJxKQ@_t=Nc{RCB>8H4LPschA?W zTOEpTdgK(X_EI~&r$*F)jS!mc2@mTiO2?Mb-bHxOYJO0B`m@jSynW;U$u-E+Y|)&^ zA2Cje*n4M76cZD*(W-=uKtClGGE_YU7{GRm^yY3nN%f?xVP>?=K107(c;S=n0xoh7 z*~jW6I#7dC&iSGK(c8{MfnFHw5dp*0>U<*vBwy+ddcO+WGpH5nM2~O{#L{`UA^-y(pJK_5 zb66u0dTm;hEemY5UYAd3))unAE`OkOAQ^tz**;SJzCINV6zQq_FwXn=C<(&#S|Ebx za7j(ohc&A@6X#<0T=299PWvGID$D+*0qKyWMZS|t+9dyJla2Fdn+#2i+N3^fGa2)JAP!j zu}WsyH=VU9x+CPK^)`uh}IaXidx|<8epC%CF~2 zyUVY($4(OM+oxZogGW_I$=v*13?H*UVln5~pLoY@qptCUq!}JWat_b%5>G??eAESa z>#UXA3*3wcIXu7o1O+@>3BOX{C{AF^y``HsDo&7AU*JL%n+oaPVI9TVLO^K9PSTB& zbNqE}HHBWd>QauHOuCC5#yY$h_hqz9Aj+^qjZeJL5(mopRZnwSI8lF3n0SaWp6uZO z?%>RvKVim_$2uOcu~|fPrW+8>$IS*V2dUlohG3q$;8R`Ld&j6>}Bh)qDiq@OYypi1?q>{T%-VNdgNEn&Yt`IeaF@sa z(wTQ3niBVBj-q})z4k3UU42@kZ6dfrEN~q8K&@J15(I&uo=d9zrE48?el{hKAsess zzEG%$TvDEOhxWX#i=LKHF-|*o%|bw}iHCn9=HgAQu`i|xeyiPE;rHDJtkzF4ltC&{ z;dHdF>$6)j$;2OwQI^gr`{IDJi@KWh?;?f+Q;udi_mNIo8_@-YY&Y98Y`ZAdaVE8s z8g*G<4^aud(v)Jz$$5{x`_&hESq>(AgS-SY3S9bpwD+4Ixlld9yJ_8R+fp}X);7mb zf091NOrt3`{1dOyuGQh6jeoK3VoWX<)&CZ&Y{eI`cQi}=vDqLIX=Ms7y9=4?>-erw z)Kqdt)k{Ou!^Z-(6&sa^b6)M==A7ZKvTIqLD6u~RTsyL^SiD2<`5Vko&t5^ywwM&t zzzHAdBK%<-8RwiX4Kklgg`{KdHjy0r^wTXqRp}v=R5WD6kZ-(sX=guh@>cS49L~;h zok=2*=Ux>fw(@(}&Qye1(BWE3?T$<(eag$~eL*-KA+?f^KsG;=R3Io5=j&I(_X^xd zOh-U&707g>=ox=@-^<>EeQxtIk#OA2-_--G^4hYl|9&rRX##M`m?>zWj7*i*SWC(p zm3~P-Q(kVp9mUsv{3V^in>*uuJn>iq?@;Wq05B*_M-2*7)6{p+gc)eU4Pe^mpil!S zG+cvu@xOq;U>|?q=>HF}h9ZuR0p>sLj@*f4$Q0wk;?u6P9apcet0CH>q5Q+iVQjdhI0A!#6P_h8P*8*UY zTGxNXQ@wz)gGl}Ww3S+6)!p7ya^y(>bd3He2)I;dsvc?yC?Nq_N~qC31BB(+&>8@m zSrmUl8281S+DLv_xar8ZnF$J>PW5N7ARfn{f{_ms%Mi%fR-r*QxEK-aTzf0vkOo`A zJ;Z{toy8~(nuWus#6nAb=Z3Qgwv{oGc7)(Er_<~7>|3dHY3P~sg|9SU&ueu%1uM;+ z{Ayw6`ERFQdFaGn2xmlc)Uul#>G~q<#~L$-?Ohkin-eu8Ek%`I?YQ$SxhXkZI=c;|dMk1mQobr6Y4U9^*U|A%6sP=BWxkhM)80YW( z`G72V-PVG;h`1j*0vDIF$4q@Ro3n%>hb6zso46LkMOeM>!xmd8_gpbzC>HxvFJ(jN}~f7qo^iL z)ks~nul;5xb+q+M#Z`Dkk=g05D`(R8_pY~UkPoj`mi*MpERcw4-k(cm81Kkat@^4} zM>y^WyEvbB-1-t_xb#v_J3-lg8LMca!hO08`a{lfdI#UPq)exMp!YY}gixFB+NSlH zu*~n?8nCmkTX)vK0{e*`q*rd5qWX*?w3LjvEoz;nxJ)^}vbh(g;VDAJ-HLhAPD?=;?q{@1AR%=PBEz zSLS&;PSGmswqCHcwBkmJ-jJ7?yj6WZzgPGy?Xfg>Z77xKbe`^*(|D$5v)M{cfF2c=0_1a3}t`s zbh~}pd8eDojx#(~koQ=2Q|T}eGrLaVDc!~nE<(1u{1XGbBP(u7 zS4!I63o`%yr3(7UO^^AoDsM3Gp5_3R!?|cq=7R_5?%OB}??ue@#ki}Z(D(9z;ne-v z)hq~vF$2@BA_4v;tV_Rb`XKyCMzF``ok6Vn6c4VoyLK#L>eXX9Fl;bsjFkN(qq#zT2oIq8r;^vMB{)_SaaCLqlPI=b979rtl4+b|bp$%}|x z#m8IFMU&2H#drBHlTJ=!o3ivOXV=c5BT{Ws(8x=5|89%5xqZF)@-_aa<3Gs!Bt~^b z&4;haevuOq`p7(*k9F0p?@lZmF6+N;ed$JzIQ5vTOCN`NoqyiagCl>;Lw!?{=*hq^ z-x@6%mjYuIc4~wk7iJ=zB(41#I_pX3>Dc{XKVdr&tL!SIk^1J?0VnXZq+$z|uI(@c z8d3X}lQKrAOGC8h`sC5|RNZ5C*RKC5TMMr(N>>&6^QRu&SHERzK|q8cK32fN$E9=B z2C!(Xiz6EAh;a|YVDT7dJQin{{MhRy8o^kK>d{<;3acT f3SyH}|Ce#aJ7NC}>0&NAsTn{Cp!&D_vd;bo&c59l literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..21097ce391124e5a8962eaf196fee0d4d3f1aa5f GIT binary patch literal 2616 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 fh`mVvU&a;Vi2irTXanB0E>gwN^u literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cf5084b1077fcb17cec6c29a60401695ea06c3 GIT binary patch literal 1129 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}tg=CK)Uj~LMH3o);76yi2K%s^g z3=E|}g|8AA7_4S6Fo+k-*%fF5lweBoc6VW5Sk32$PbyM|yC~sbz38(|J<4)mc!~O;3&u<7^@-H#eJ7UPh~}i(1zZwMT>l;7ltTDs$6Y7 zHtE=sT)UdIf0MsI+cm>;k>TVsn|D?JkGyOBeBS+?&*%MSluVs+v3k1bF%QPS7t0w1 z*tiWM9&0H0b;()1-5ScJx<3aJ+joj66|fO@8%w{c-Q%K?%Ns*d)a2a zP@3)Z%%EQ;ujtC14LlM_iAJ_pYMB<^+@;}O`pfO;DKRGtjc`$`C1Ism>mNBaOLA*V zD~2q)e|4qptQR}KRsY^!^moaUx{!5DrxRL!w04EAPmg;4gO5G+m*C`*AWzu~GfV`X zG*$(BWn2z;zW(Ndk5R zDl);Bhqu5$?CF*d0{QB7XP)~Uwl{0Yobya*>O9>Ei)L#2NXktxjae?bv}6AZHicu3 zVILagS1dcvcp}-T*y5z&u1YWK?3)gJm6;4Dl>FE|878T0m~o!d?uh{3g9i-87Caqs zY7O!}J46`u_zaa294CGL!f05w`RM%12@!#63=@q{ckm7e&h8UWjr%^R_A~yNZMCa$-U43XfW3db?7G>b-sU`) z&`Z`(bd!5~=b8Bf!T3N=-3!ls%|sNK3Z|>=Tb8ikvnBgZ_8rgSrEZ)ouVK04clRN4 zS7UYD(Y7hQ7rqy5x!>1emp?o8^`@XG-H>%@l9G~JU+j@exw2$urfj*BMtpi|_Ix$Y zg&nJ|ERFsZ;=a{cy7a!g#Li!?r(0wVShYDAMGEIk{d3Ut-{KzAl7g0eP4-tiPN+|r zw4iZy%<|?5`90U4H>hRzzgr!>&8ozadrP^(yZVr|p;GD5N-vIaZ05VSHgw_AS*vFR ztXy~MgobK(?k$;Pl{?Z;FG$-sRV=D7bCKZp`hDGQM_W%+OEGLnpUOE$(nFb3*j@O1Ta JS?83{1ORIZ#$f;e literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..506c6bfa8ebdfd240e285e2fe0a36fa973042cec GIT binary patch literal 1699 zcmZ{kd05g38pnTlix&!(XE}veN&?=Dt45-bK#H2Fd5bBTq2Vl8Dx)O{mKxEhNotz6 zY2}XRn7ihXig~0x)|zLoLh9&FO(tV3^X&8N^Xxv){_%ak&wG5H?|*MW0NGCmYyt)V zK!ygXNpdfjt{#G09w#L1Omz{j1)t427!cAmnuQE^(~H!3`zh%HJ#vd zBKYj!<_{4mFe*%xvyjq@XrH8jw3OzN?1N5*h9yQjXK)6=%m9t&_-&J#q&|`V@}G|R z9xg0sm{ecUiFdN`DT#oa40uEIn*z8n`x{vQUip)ED}&+aQ%12=oU((1SBWf`zBU(sAw4t{dOscd4dVeg8{H_T3d?SE)X-38Ut#qg8g zUYQ+H>#r}-jc%6WHI;Tf&kY10Ush@2*=$nHE4PiuR`KU->A%ihpBsKy3&cB+oF3~1 zp3uoNehJwF+6%t)4bD?wkF5KaVj!2h3&N`etM+lu-?of>a4`#8YjV$@JST>eMT2Mm z8lT!NAcg39-kdPXvgJ31I5bBIj`U60WY0(vTlvEs{;m(9BNup6+t81B#5!D$_e+lS z*u(}GpPzjHEfv$Co)tPWpjDmr);=iQq2Wh2=G-y_t2s7JE}QB(9c2vu#tC~NK{~PD z?<$F+(5fSJ-dY9SOZ+naa8V}7D$|t&hG>**wkGVnXba#G$4nybRJ{uAA#oBigR(La zp(w8DjO{C>Pl!14+Vec(!iU|XdE;-aoulhI>I^N{v8PAwyw2e8Wd^YNCPE!f8pMx0QpRxPJe3BMEv`yNK?7`aKNYN0P<1h>lQHjjp~pL?LorG{)tqqS2k% zzfH|o|1##iIoCKfM^veG`T zIPEzKi%QLKrrsG71k1dWGvKSg&!qE*Xr-fX22%PLjXMv(484rSxlqM6CZFMrRZbfTn>>vqDyxMq*}kUAnGb*Jp7$?5@^Fw#<d+dhCZ1IRI)N3Xp9#x#$u7_jR@#93>tw`s2Fv!h-R{LDLc3h> zAIxaUcF>{kvX2+W*s0@D$GpfcbS*CfNz_SaWbWwf&?hnXcl+Y~rOyMq|gw!pFtu5POdB z7nOP)Q}RO(gx%uBuq~=95Xm@bV8k0na@FXJpKaKQTVMl06*#F*xbq0Ktt4w>akPsy zJQfm#*HzjJb>Llsp50MeVQSL*NZ@&PjPe4K?aD0aZB&hMjP&NZn`tG4ErUfYYiwt8 zMBUo{_lFB0<+l9f8tJu(p|=QL7;_51a#~4z@aO2lj^VG_CcJjb;gp5P}h3K zA6*uuf2x79j@cZpx$&sdxq6)l!>%PY6V*Sq(;g(#A*7&YBEqEE?o^V`-)3iS62jaW%CR68A$|3b>nFLwF$a)lM`Vwf`mo#G;F3fvL>-2m@oY`|L z>2gzbOF=sz4PH!*{1O}>nq-%XMB+7ZMW$)n)8fpR4|A0KTt}ru_cj+}o<3>_?$F{kDGRW%J1In2eEpewLD}MSC zZjtPo!DP3^rUaW60U2~C7n1M%y*JXfJY_yQBz8M=$EiKvobBg08d(#IE22|1xuF_Q zn93;GyVYA``F8gzj#^Yz?QbB-!}8G_>{q3z^R(YKr@VNIhiu8fon<7%GN_pNbgIGt zG!pHCK%x;S_h1wngL1;4o$ZiF3=)~)@cYUC0xn)kNKRz^e?TSON3H;D{*%B+zDT{y fh`mVvU&a;Vi2irTXanB0E>gwN^u literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ab76be5231493d2c5dcafcc39dea1f1a7a8eee01 GIT binary patch literal 3609 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..ab76be5231493d2c5dcafcc39dea1f1a7a8eee01 GIT binary patch literal 3609 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 CQEa0C literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf0328d3a2bbcc1bfeb7c1acad368b32214228f GIT binary patch literal 5630 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 skN*Jp|Eb{X;_l$%YvbZlU`BA}z7;p7_W#Q^{# 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 aDOoY-e;uheUlsey0Gg^Wl^P{0^nU>K;}wkn literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..68f596ea17cfc1eb3d860b9a3b2a6ccf2df4cc90 GIT binary patch literal 7895 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 skN*Jp|Eb{X;_l$%Yvb + + #ffffff + diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..b961a136 --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + + mew + mew + com.mew.app + com.mew.app + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..be874e54 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 00000000..bd0c4d80 --- /dev/null +++ b/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java new file mode 100644 index 00000000..02973278 --- /dev/null +++ b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java @@ -0,0 +1,18 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 00000000..f8f0e43b --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.13.0' + classpath 'com.google.gms:google-services:4.4.4' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: "variables.gradle" + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle new file mode 100644 index 00000000..9a5fa872 --- /dev/null +++ b/android/capacitor.settings.gradle @@ -0,0 +1,3 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN +include ':capacitor-android' +project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 00000000..2e87c52f --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,22 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b33c55baabb587c669f562ae36f953de2481846 GIT binary patch literal 43764 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 00000000..5eed7ee8 --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 00000000..3b4431d7 --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,5 @@ +include ':app' +include ':capacitor-cordova-android-plugins' +project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') + +apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/android/variables.gradle b/android/variables.gradle new file mode 100644 index 00000000..ee4ba41c --- /dev/null +++ b/android/variables.gradle @@ -0,0 +1,16 @@ +ext { + minSdkVersion = 24 + compileSdkVersion = 36 + targetSdkVersion = 36 + androidxActivityVersion = '1.11.0' + androidxAppCompatVersion = '1.7.1' + androidxCoordinatorLayoutVersion = '1.3.0' + androidxCoreVersion = '1.17.0' + androidxFragmentVersion = '1.8.9' + coreSplashScreenVersion = '1.2.0' + androidxWebkitVersion = '1.14.0' + junitVersion = '4.13.2' + androidxJunitVersion = '1.3.0' + androidxEspressoCoreVersion = '3.7.0' + cordovaAndroidVersion = '14.0.1' +} \ No newline at end of file diff --git a/capacitor.config.ts b/capacitor.config.ts new file mode 100644 index 00000000..68cdac0c --- /dev/null +++ b/capacitor.config.ts @@ -0,0 +1,19 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const config: CapacitorConfig = { + appId: 'com.mew.app', + appName: 'mew', + webDir: 'dist', + server: { + // Handle deep links from your domain + hostname: 'mew.app', + androidScheme: 'https' + }, + android: { + // Enable safe area handling for notches and navigation bars + allowMixedContent: false, + backgroundColor: '#ffffff' + } +}; + +export default config; diff --git a/package-lock.json b/package-lock.json index 7a990cd8..337d0cc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,6 +68,9 @@ "zod": "^4.3.6" }, "devDependencies": { + "@capacitor/android": "^8.1.0", + "@capacitor/cli": "^8.1.0", + "@capacitor/core": "^8.1.0", "@eslint/js": "^9.9.0", "@html-eslint/eslint-plugin": "^0.41.0", "@html-eslint/parser": "^0.41.0", @@ -214,6 +217,69 @@ "node": ">=6.9.0" } }, + "node_modules/@capacitor/android": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.1.0.tgz", + "integrity": "sha512-z0acTPxj5DCy/U2FU7w+GA93oC+wdyKnsOcRg5rutDmSYa8Do1tzYqApKgf+hnuTNPbtrCTHp0Zy1cLiK/4MEw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@capacitor/core": "^8.1.0" + } + }, + "node_modules/@capacitor/cli": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-8.1.0.tgz", + "integrity": "sha512-JAzA/ckPgTCjZz6YumBLV2dNCFEVXAuR1oOKLD7AJ4LAI5pF5RtRZrf5FoaxvJVb0S4CouZT5cD+7NwsNJX/nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/cli-framework-output": "^2.2.8", + "@ionic/utils-subprocess": "^3.0.1", + "@ionic/utils-terminal": "^2.3.5", + "commander": "^12.1.0", + "debug": "^4.4.0", + "env-paths": "^2.2.0", + "fs-extra": "^11.2.0", + "kleur": "^4.1.5", + "native-run": "^2.0.3", + "open": "^8.4.0", + "plist": "^3.1.0", + "prompts": "^2.4.2", + "rimraf": "^6.0.1", + "semver": "^7.6.3", + "tar": "^7.5.3", + "tslib": "^2.8.1", + "xml2js": "^0.6.2" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@capacitor/cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@capacitor/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.1.0.tgz", + "integrity": "sha512-UfMBMWc1v7J+14AhH03QmeNwV3HZx3qnOWhpwnHfzALEwAwlV/itQOQqcasMQYhOHWL0tiymc5ByaLTn7KKQxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/@csstools/color-helpers": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", @@ -1110,6 +1176,231 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.8.tgz", + "integrity": "sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.6.tgz", + "integrity": "sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-fs": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.7.tgz", + "integrity": "sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-fs/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@ionic/utils-object": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.6.tgz", + "integrity": "sha512-vCl7sl6JjBHFw99CuAqHljYJpcE88YaH2ZW4ELiC/Zwxl5tiwn4kbdP/gxi2OT3MQb1vOtgAmSNRtusvgxI8ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-process": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.12.tgz", + "integrity": "sha512-Jqkgyq7zBs/v/J3YvKtQQiIcxfJyplPgECMWgdO0E1fKrrH8EF0QGHNJ9mJCn6PYe2UtHNS8JJf5G21e09DfYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-object": "2.1.6", + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-process/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@ionic/utils-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.7.tgz", + "integrity": "sha512-eSELBE7NWNFIHTbTC2jiMvh1ABKGIpGdUIvARsNPMNQhxJB3wpwdiVnoBoTYp+5a6UUIww4Kpg7v6S7iTctH1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-subprocess": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-3.0.1.tgz", + "integrity": "sha512-cT4te3AQQPeIM9WCwIg8ohroJ8TjsYaMb2G4ZEgv9YzeDqHZ4JpeIKqG2SoaA3GmVQ3sOfhPM6Ox9sxphV/d1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@ionic/utils-process": "2.1.12", + "@ionic/utils-stream": "3.1.7", + "@ionic/utils-terminal": "2.3.5", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-terminal": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.5.tgz", + "integrity": "sha512-3cKScz9Jx2/Pr9ijj1OzGlBDfcmx7OMVBt4+P1uRR0SSW4cm1/y3Mo4OY3lfkuaYifMNBW8Wz6lQHbs1bihr7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-terminal/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/utils-terminal/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ionic/utils-terminal/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@ionic/utils-terminal/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/utils-terminal/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/utils-terminal/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -1127,6 +1418,19 @@ "node": ">=12" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", @@ -3564,6 +3868,16 @@ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "license": "MIT" }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3619,6 +3933,13 @@ "@types/react": "^18.0.0" } }, + "node_modules/@types/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.31.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz", @@ -3995,6 +4316,16 @@ "url": "lightning:hello@getalby.com" } }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -4151,6 +4482,26 @@ "url": "https://github.com/sponsors/sxzz" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/autoprefixer": { "version": "10.4.21", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", @@ -4215,6 +4566,16 @@ ], "license": "MIT" }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -4227,6 +4588,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -4307,6 +4681,16 @@ "ieee754": "^1.2.1" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -4446,6 +4830,16 @@ "node": ">= 6" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/class-variance-authority": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", @@ -4844,6 +5238,16 @@ "dev": true, "license": "MIT" }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4909,6 +5313,19 @@ "dev": true, "license": "ISC" }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/embla-carousel": { "version": "8.6.0", "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", @@ -4956,6 +5373,16 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/es-html-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.2.0.tgz", @@ -5304,6 +5731,16 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -5397,6 +5834,21 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -5507,6 +5959,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -5669,6 +6128,23 @@ "node": ">=8" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/input-otp": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.2.tgz", @@ -5715,6 +6191,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5761,6 +6253,19 @@ "dev": true, "license": "MIT" }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5883,6 +6388,19 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -5893,6 +6411,16 @@ "json-buffer": "3.0.1" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -6091,6 +6619,19 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mlly": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", @@ -6139,6 +6680,32 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/native-run": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-2.0.3.tgz", + "integrity": "sha512-U1PllBuzW5d1gfan+88L+Hky2eZx+9gv3Pf6rNBxKbORxi7boHzqiA6QFGSnqMem4j0A9tZ08NMIs5+0m/VS1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-fs": "^3.1.7", + "@ionic/utils-terminal": "^2.3.4", + "bplist-parser": "^0.3.2", + "debug": "^4.3.4", + "elementtree": "^0.1.7", + "ini": "^4.1.1", + "plist": "^3.1.0", + "split2": "^4.2.0", + "through2": "^4.0.2", + "tslib": "^2.6.2", + "yauzl": "^2.10.0" + }, + "bin": { + "native-run": "bin/native-run" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6226,6 +6793,24 @@ "node": ">= 6" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -6373,6 +6958,13 @@ "node": ">= 14.16" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -6420,6 +7012,21 @@ "pathe": "^2.0.1" } }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -6645,6 +7252,30 @@ "license": "MIT", "peer": true }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -6936,6 +7567,21 @@ "pify": "^2.3.0" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -7049,6 +7695,110 @@ "node": ">=0.10.0" } }, + "node_modules/rimraf": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.5.tgz", + "integrity": "sha512-BzXxZg24Ibra1pbQ/zE7Kys4Ua1ks7Bn6pKLkVPZ9FZe4JQS6/Q7ef3LG1H+k7lUf5l4T3PLSyYyYJVYUvfgTw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.1.tgz", + "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rollup": { "version": "4.40.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", @@ -7119,6 +7869,27 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -7126,6 +7897,13 @@ "dev": true, "license": "MIT" }, + "node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", + "dev": true, + "license": "ISC" + }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -7207,6 +7985,31 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -7216,6 +8019,16 @@ "node": ">=0.10.0" } }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -7230,6 +8043,16 @@ "dev": true, "license": "MIT" }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -7475,6 +8298,23 @@ "node": ">=4" } }, + "node_modules/tar": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz", + "integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -7496,6 +8336,16 @@ "node": ">=0.8" } }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -7649,6 +8499,16 @@ "node": ">=18" } }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/ts-api-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", @@ -7749,6 +8609,16 @@ "url": "https://github.com/sponsors/harlan-zw" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unplugin": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.5.tgz", @@ -7793,6 +8663,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -8363,6 +9243,40 @@ "node": ">=18" } }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", @@ -8376,6 +9290,16 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "license": "ISC" }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/yaml": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", @@ -8516,6 +9440,17 @@ "node": ">=8" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index ebffae6a..d7e6631b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "scripts": { "dev": "npm i --silent && vite", "build": "npm i --silent && vite build -l error && cp dist/index.html dist/404.html && echo 'Project built successfully!'", - "test": "npm i --silent && tsc --noEmit && eslint && vitest run --reporter=dot --silent && vite build -l error && cp dist/index.html dist/404.html && echo 'All tests passed!'" + "test": "npm i --silent && tsc --noEmit && eslint && vitest run --reporter=dot --silent && vite build -l error && cp dist/index.html dist/404.html && echo 'All tests passed!'", + "icons": "bash scripts/generate-icons.sh", + "build:apk": "bash scripts/build-apk.sh" }, "dependencies": { "@fontsource-variable/inter": "^5.2.6", @@ -69,6 +71,9 @@ "zod": "^4.3.6" }, "devDependencies": { + "@capacitor/android": "^8.1.0", + "@capacitor/cli": "^8.1.0", + "@capacitor/core": "^8.1.0", "@eslint/js": "^9.9.0", "@html-eslint/eslint-plugin": "^0.41.0", "@html-eslint/parser": "^0.41.0", diff --git a/public/icon-512.png b/public/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..f9415cc0a8f9880ffd16560f2ec59ff0f399ce9c GIT binary patch literal 17129 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%0AB&bf!V+@o&w-4x_vocF(u}v3M*s zyx_&D`NGWMnW7F!ZqI%Hf?|^&gXRg?-c9R%Wx!ES7+SPWSM~Wt`YqU#)XcFz2Jjv3 z`|Hik-zKVSu*({~!YLUWE7rh_Op=WF?1bM))m{GCVB6CGTrM)3z5M5g`b|N-YL;Gw z=I*ErG%PbSoI*-`haBK$3t0bIw}k5cCXIU{k~Rm|*LNE<0z_~x&EKTpeOKZ~-1sGD z<)p;2Cz(KsIXkA|Hf6gg`g5Bqw#=Mc^&TPR()@)GE5!LaNqrgmFd+OPSap7r{>`42 zdGi+oB{<7KM-VVRb5x5H8ktn1@kKhk%ivb;_4V0!fa6!EP`!Y~dyo6ip?fC{BapFP zmM+=lV+|j4$T-=&rAW^qvy3w5hn&-@M;qIZRRZP59aj7>`sAKgl8gCZml+8-dtQZMJ0+q_pcO#UWYmSVE zr;jJoY;o!UeKOLi%qh>~+_$LzgZlTk;&0bNANi>&&LHIILTF>ln)9m!DbGR@!gn+n zBKU^*TWYL%s%`d{+hJaZ=;k|K=P46AmKO9g-epO7!tWS`cMsgp@sF~GH2Dq)9>72- z;x>F0lI~q@t^Of@kZCgq>@?xZo=j$D(SRkt?LJ9 zJ@4HOg7UPj;>*R{|9z?a%Tp0r^a>$(2*tPAF1wk&mu!M`*m#vEv*lcrK;Uj_v;X&Z z3mYb6z_|tScexw>9smgysv0+xJO5pEkkI;NR8IVJpa}3!!L-zwS2+%6xW%XyqOAOz z$h@)}n~s*8|5-;IgN=J*!`ZySO@IX zMWdxty@VcLsaj4_70-#klN z*n(vaIsfgP^3$FU@F&o%&Ui>%sLN$Rjz}Ho~O~1dzqj^xqo&jM?lwQP!4iNc6@CU=hNF1XACr70s*tzCbUHkPa0JKg4*B<*9qC>X$Hk z5#FRzf~jR#8QsL1^NVYo3S)FA+_j-=l}#>(a!XNU72>_ac(yI{R{&*$3a4M z#3wyDaipwNVo$G)+U4V6;EWq*gHS!r;rvti@301NRPdHcug_7dq|-}zs(7{P`VYS0 zBlgY7sFjp;f_~eeBrS5%eNZTteejP^uhNB>y*4ZI(dtQl?2|@;jOdV^em9pvbFcUtXm?eL!^q^B zLEUZuvsv!mK!%ITN8DIbhkQy3V-i#FCuyQB2lU=C+@Q>lnTs?2M;n(SOekQP9pxZ{ zj5^9j&642&Kt~7Dx^Fh-$9Hksa@%luC0%>`^*1mNYu zjlb-Wu1+AX?I_-@ti4J87V|M35n%lE1c1_@5#Kl^g#le_y&X|3jNR zKPqsuST}lot>)p~`>q1ccPN(j3F_oF^X-82_30}Sl~05=xK+Rr{-Ge?wC63QPT>4d z*^@?}*-uek>ra#F-K59-@5X0LJOglAhd+M^=}mr@{?ob#0xCGiy(?tF{_g)0L32dO zx0%Bnx0@2|=ohgxNAG7GrIsFBhmReRomX%IE;Fo@Kte+EnYWCDd(NE2wR79UN!IU& zoyM+bihV}nxD5rj)hm}$9T|n@nbv^h&bwjXVb;Cl#pqgK7B@syQ5(NG2A_}d|9z-* zq$tdCC1Gi0?8%s72CgUgC?{o!zfBMy$m_rUb^!9SkK|{X;pmdD_vHxnK+G0sy7>=` z&|=^5vUzvwSPOYWBw&?46n0aD%Vlie?sHCt%zMEd;ky#ELCD=e^RRCEUW;fU`L)<^ zpSvbJwwQEjkM&H1{=9vmYW&Hh?7*uv+ot6`U1rpN-GgRvx$w*Rb}gJFXPt5Xr=ivD zR?_o;81@-7Vz6|++qysOyNQr8=$$|KYPs;u62ItZJ>&u(lWobkvY@pf@DG+`9tye& zAj?wo-NRW|vIM2a_!HIJ7|wuU^MYeg!^-YWb}o0Y@N)XSO(^IyAk!%QIpyhXgkj_W zf)Eb!4FWxf_e~lD=(@(nX9-IEvi=7VjZZ?Q2un{n z*Dn7oi&zOtp;_OzLA#?2`tzRv-PY?=j4yZ@y zMfDlgYlHIT4YGmrMKPJI*Cx-d)9*~2-O;h7gwg6+^dhqts0a4~9e;-$P`O&1f_?`a zch(IVpu=PD;#Yo!)gEIdsF9=3I@j|;pC!>&54k+lv&eBi&%nw$lGayDzPt;#<{jL? zx`K@gDj+SpPIds)XJN;g$m16K=LIao&x_7nRi-21{yo|gKPNDk)Y_wY;W|)!&c#6A zXoKyitAuNHjywI8(e&!|f??Fl!C3Y?J1 zwZS*+yDgm;mNd6QCAErmZ)~j)4tY;061CRMe>XZE1(nVf_;vX-0LW9SX%K+^Yo%U2 z;|N4vay764?m~3xd&Ybb6-j=#I-iY3;y@r&>#d@>Y=7VYDHJytRMBsJbZEgkm2n-N z@Cc!6iFb;hSRZT^lzBf~G5msub#AS9e=hS8Dl6BuijmgP(SDNCcvFOdF=bGS^&L=a zSr!wwQI3KQOi2#k)XmjBCjwS@_kkB;6lngSRhQoW8Ht@{8H1HTFNq`J{X4C*n;kP?25qfdv_H*e5AQyz* zT741F*2F(@nQmTW6gQL2>Mro{M2mzqn*5d~l^q-xR6QLxt z=@JTjHgqRM0%Oeu;^y?SPXON>5WWAs0PV?L+n;dU8sEs_%jt}Tf|nn-L5w(Tg_(bx zn|y?>5rw~yDGpKz0M0ehu0Juh-P;66IW2q-7ii_h)vZ_KXJhZlxH z@*0rm0GBD1eQg5V6}8djMTi zG=C5TD$zOz)bw=hR?q}pvu0I7mTm-SZ7DXjg$2Mj1Vrw0Ljaj6Pj5lgmS)1NC}4c@ pnu8f9{Qv0}D*XSx`K31$4$mRFkN=Al?9l#X;3iha /dev/null; then + echo -e "${RED}❌ keytool not found!${NC}" + echo -e "${YELLOW}Please install Java JDK to get keytool${NC}" + exit 1 +fi + +# Check if keystore already exists +if [ -f "android/app/my-upload-key.keystore" ]; then + echo -e "${YELLOW}⚠️ Keystore already exists!${NC}" + echo -e "Location: android/app/my-upload-key.keystore" + echo "" + read -p "Do you want to overwrite it? (y/N) " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo -e "${BLUE}Cancelled. Existing keystore preserved.${NC}" + exit 0 + fi + echo -e "${YELLOW}Backing up existing keystore...${NC}" + cp android/app/my-upload-key.keystore android/app/my-upload-key.keystore.backup +fi + +echo -e "${BLUE}Creating new Android signing keystore...${NC}\n" +echo -e "${YELLOW}You will be prompted for:${NC}" +echo " • Keystore password (remember this!)" +echo " • Key password (remember this!)" +echo " • Your name and organization details" +echo "" + +# Generate keystore +keytool -genkeypair -v \ + -storetype PKCS12 \ + -keystore android/app/my-upload-key.keystore \ + -alias upload \ + -keyalg RSA \ + -keysize 2048 \ + -validity 10000 + +echo -e "\n${GREEN}✅ Keystore created successfully!${NC}" +echo -e "Location: ${GREEN}android/app/my-upload-key.keystore${NC}" + +# Prompt for key.properties creation +echo -e "\n${BLUE}Creating key.properties file...${NC}" +echo -e "${YELLOW}Enter the passwords you just used:${NC}\n" + +read -sp "Keystore password: " STORE_PASSWORD +echo +read -sp "Key password: " KEY_PASSWORD +echo + +# Create key.properties +cat > android/key.properties << EOF +storePassword=${STORE_PASSWORD} +keyPassword=${KEY_PASSWORD} +keyAlias=upload +storeFile=my-upload-key.keystore +EOF + +echo -e "\n${GREEN}✅ key.properties created!${NC}" +echo -e "Location: ${GREEN}android/key.properties${NC}" + +echo -e "\n${RED}🔒 IMPORTANT SECURITY NOTES:${NC}" +echo -e " 1. ${YELLOW}NEVER commit these files to git:${NC}" +echo -e " • android/app/my-upload-key.keystore" +echo -e " • android/key.properties" +echo -e " 2. ${YELLOW}Backup your keystore securely!${NC}" +echo -e " If lost, you cannot update your app in stores" +echo -e " 3. ${YELLOW}Keep passwords safe${NC}" +echo -e " Store in password manager or secure notes" + +echo -e "\n${BLUE}Backup recommendations:${NC}" +echo -e " • Copy keystore to encrypted USB drive" +echo -e " • Store in password manager (1Password, Bitwarden, etc.)" +echo -e " • Keep offline backup in safe place" + +echo -e "\n${GREEN}✅ Setup complete!${NC}" +echo -e "You can now build signed APKs with: ${GREEN}npm run build:apk${NC}" +echo "" diff --git a/scripts/generate-icons.sh b/scripts/generate-icons.sh new file mode 100755 index 00000000..39a72702 --- /dev/null +++ b/scripts/generate-icons.sh @@ -0,0 +1,70 @@ +#!/bin/bash +set -e + +# Colors for output +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo -e "${GREEN}🎨 Generating Android app icons...${NC}\n" + +# Check if ImageMagick is installed +if ! command -v magick &> /dev/null; then + echo -e "${YELLOW}Warning: ImageMagick not found. Please install it to generate icons.${NC}" + echo "On Fedora/RHEL: sudo dnf install ImageMagick" + echo "On Ubuntu/Debian: sudo apt-get install imagemagick" + exit 1 +fi + +# Source icon +SOURCE_ICON="public/icon-512.png" + +if [ ! -f "$SOURCE_ICON" ]; then + echo -e "${YELLOW}Error: Source icon not found at $SOURCE_ICON${NC}" + exit 1 +fi + +# Create Android resource directories if they don't exist +mkdir -p android/app/src/main/res/{mipmap-mdpi,mipmap-hdpi,mipmap-xhdpi,mipmap-xxhdpi,mipmap-xxxhdpi} + +# Generate icons for each density +# Note: Foreground images need padding for Android adaptive icons (safe zone = 66% of canvas) +# The icon content should be scaled to ~66% and centered with transparent padding + +echo "Generating mdpi icons (48x48)..." +magick "$SOURCE_ICON" -resize 48x48 android/app/src/main/res/mipmap-mdpi/ic_launcher.png +magick "$SOURCE_ICON" -resize 48x48 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +magick "$SOURCE_ICON" -resize 30x30 -background none -gravity center -extent 48x48 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png + +echo "Generating hdpi icons (72x72)..." +magick "$SOURCE_ICON" -resize 72x72 android/app/src/main/res/mipmap-hdpi/ic_launcher.png +magick "$SOURCE_ICON" -resize 72x72 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +magick "$SOURCE_ICON" -resize 46x46 -background none -gravity center -extent 72x72 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png + +echo "Generating xhdpi icons (96x96)..." +magick "$SOURCE_ICON" -resize 96x96 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +magick "$SOURCE_ICON" -resize 96x96 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +magick "$SOURCE_ICON" -resize 62x62 -background none -gravity center -extent 96x96 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png + +echo "Generating xxhdpi icons (144x144)..." +magick "$SOURCE_ICON" -resize 144x144 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +magick "$SOURCE_ICON" -resize 144x144 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +magick "$SOURCE_ICON" -resize 92x92 -background none -gravity center -extent 144x144 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png + +echo "Generating xxxhdpi icons (192x192)..." +magick "$SOURCE_ICON" -resize 192x192 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +magick "$SOURCE_ICON" -resize 192x192 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +magick "$SOURCE_ICON" -resize 122x122 -background none -gravity center -extent 192x192 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png + +# Update icon background color +BACKGROUND_COLOR_FILE="android/app/src/main/res/values/ic_launcher_background.xml" +mkdir -p android/app/src/main/res/values +cat > "$BACKGROUND_COLOR_FILE" << 'EOF' + + + #ffffff + +EOF + +echo -e "\n${GREEN}✅ Android icons generated successfully!${NC}" +echo -e "Icon background color: ${GREEN}#ffffff${NC}"