From 9ff1d9378b07feb9e856ae83bc58d0ba0e161730 Mon Sep 17 00:00:00 2001 From: PrachodK Date: Thu, 21 Nov 2024 16:04:42 -0600 Subject: [PATCH 01/10] Test commit --- Project/SafeIllini/app/(tabs)/AddIncident.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project/SafeIllini/app/(tabs)/AddIncident.tsx b/Project/SafeIllini/app/(tabs)/AddIncident.tsx index 76a1868..6d2270f 100644 --- a/Project/SafeIllini/app/(tabs)/AddIncident.tsx +++ b/Project/SafeIllini/app/(tabs)/AddIncident.tsx @@ -11,7 +11,7 @@ import * as ImagePicker from 'expo-image-picker'; import { Image } from "expo-image"; import { useLocalSearchParams } from 'expo-router'; -// Import the necessary types and constants from the shared types and constants folder +// Import the necessary types and constants from the shared types and constants import { Incident, IncidentType, SeverityLevel } from '@/types/incidents'; import { INCIDENT_TYPE_LABELS, SEVERITY_LEVEL_LABELS } from '@/constants/Incidents'; From a58d3044dd21d932bad4e7308af52f75c89b5767 Mon Sep 17 00:00:00 2001 From: PrachodK Date: Sun, 1 Dec 2024 00:51:24 -0800 Subject: [PATCH 02/10] bottom sheet attempt not work --- Project/SafeIllini/android/.gitignore | 16 + Project/SafeIllini/android/app/build.gradle | 176 +++++++ Project/SafeIllini/android/app/debug.keystore | Bin 0 -> 2257 bytes .../SafeIllini/android/app/proguard-rules.pro | 14 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 35 ++ .../com/anonymous/SafeIllini/MainActivity.kt | 65 +++ .../anonymous/SafeIllini/MainApplication.kt | 57 +++ .../res/drawable-hdpi/splashscreen_logo.png | Bin 0 -> 5116 bytes .../res/drawable-mdpi/splashscreen_logo.png | Bin 0 -> 3023 bytes .../res/drawable-xhdpi/splashscreen_logo.png | Bin 0 -> 7322 bytes .../res/drawable-xxhdpi/splashscreen_logo.png | Bin 0 -> 12531 bytes .../drawable-xxxhdpi/splashscreen_logo.png | Bin 0 -> 19169 bytes .../res/drawable/ic_launcher_background.xml | 6 + .../res/drawable/rn_edit_text_material.xml | 37 ++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 3300 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 8031 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 4103 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 2048 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 5079 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 2613 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 4535 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 11145 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 5673 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 7345 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 18064 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 9091 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 10108 bytes .../ic_launcher_foreground.webp | Bin 0 -> 25030 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 12469 bytes .../app/src/main/res/values-night/colors.xml | 1 + .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 6 + .../app/src/main/res/values/styles.xml | 19 + Project/SafeIllini/android/build.gradle | 41 ++ Project/SafeIllini/android/gradle.properties | 58 +++ .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Project/SafeIllini/android/gradlew | 252 +++++++++ Project/SafeIllini/android/gradlew.bat | 94 ++++ Project/SafeIllini/android/settings.gradle | 38 ++ Project/SafeIllini/app/(tabs)/index.tsx | 478 +++++------------- Project/SafeIllini/package-lock.json | 45 +- Project/SafeIllini/package.json | 8 +- 46 files changed, 1123 insertions(+), 353 deletions(-) create mode 100644 Project/SafeIllini/android/.gitignore create mode 100644 Project/SafeIllini/android/app/build.gradle create mode 100644 Project/SafeIllini/android/app/debug.keystore create mode 100644 Project/SafeIllini/android/app/proguard-rules.pro create mode 100644 Project/SafeIllini/android/app/src/debug/AndroidManifest.xml create mode 100644 Project/SafeIllini/android/app/src/main/AndroidManifest.xml create mode 100644 Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainActivity.kt create mode 100644 Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainApplication.kt create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 Project/SafeIllini/android/app/src/main/res/values-night/colors.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/values/colors.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/values/strings.xml create mode 100644 Project/SafeIllini/android/app/src/main/res/values/styles.xml create mode 100644 Project/SafeIllini/android/build.gradle create mode 100644 Project/SafeIllini/android/gradle.properties create mode 100644 Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 Project/SafeIllini/android/gradlew create mode 100644 Project/SafeIllini/android/gradlew.bat create mode 100644 Project/SafeIllini/android/settings.gradle diff --git a/Project/SafeIllini/android/.gitignore b/Project/SafeIllini/android/.gitignore new file mode 100644 index 0000000..8a6be07 --- /dev/null +++ b/Project/SafeIllini/android/.gitignore @@ -0,0 +1,16 @@ +# OSX +# +.DS_Store + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ + +# Bundle artifacts +*.jsbundle diff --git a/Project/SafeIllini/android/app/build.gradle b/Project/SafeIllini/android/app/build.gradle new file mode 100644 index 0000000..add5735 --- /dev/null +++ b/Project/SafeIllini/android/app/build.gradle @@ -0,0 +1,176 @@ +apply plugin: "com.android.application" +apply plugin: "org.jetbrains.kotlin.android" +apply plugin: "com.facebook.react" + +def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath() + +/** + * This is the configuration block to customize your React Native Android app. + * By default you don't need to apply any configuration, just uncomment the lines you need. + */ +react { + entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim()) + reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc" + codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile() + + // Use Expo CLI to bundle the app, this ensures the Metro config + // works correctly with Expo projects. + cliFile = new File(["node", "--print", "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })"].execute(null, rootDir).text.trim()) + bundleCommand = "export:embed" + + /* Folders */ + // The root of your project, i.e. where "package.json" lives. Default is '../..' + // root = file("../../") + // The folder where the react-native NPM package is. Default is ../../node_modules/react-native + // reactNativeDir = file("../../node_modules/react-native") + // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen + // codegenDir = file("../../node_modules/@react-native/codegen") + + /* Variants */ + // The list of variants to that are debuggable. For those we're going to + // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. + // debuggableVariants = ["liteDebug", "prodDebug"] + + /* Bundling */ + // A list containing the node command and its flags. Default is just 'node'. + // nodeExecutableAndArgs = ["node"] + + // + // The path to the CLI configuration file. Default is empty. + // bundleConfig = file(../rn-cli.config.js) + // + // The name of the generated asset file containing your JS bundle + // bundleAssetName = "MyApplication.android.bundle" + // + // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' + // entryFile = file("../js/MyApplication.android.js") + // + // A list of extra flags to pass to the 'bundle' commands. + // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle + // extraPackagerArgs = [] + + /* Hermes Commands */ + // The hermes compiler command to run. By default it is 'hermesc' + // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" + // + // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" + // hermesFlags = ["-O", "-output-source-map"] + + /* Autolinking */ + autolinkLibrariesWithApp() +} + +/** + * Set this to true to Run Proguard on Release builds to minify the Java bytecode. + */ +def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean() + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +android { + ndkVersion rootProject.ext.ndkVersion + + buildToolsVersion rootProject.ext.buildToolsVersion + compileSdk rootProject.ext.compileSdkVersion + + namespace 'com.anonymous.SafeIllini' + defaultConfig { + applicationId 'com.anonymous.SafeIllini' + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0.0" + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://reactnative.dev/docs/signed-apk-android. + signingConfig signingConfigs.debug + shrinkResources (findProperty('android.enableShrinkResourcesInReleaseBuilds')?.toBoolean() ?: false) + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + crunchPngs (findProperty('android.enablePngCrunchInReleaseBuilds')?.toBoolean() ?: true) + } + } + packagingOptions { + jniLibs { + useLegacyPackaging (findProperty('expo.useLegacyPackaging')?.toBoolean() ?: false) + } + } + androidResources { + ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~' + } +} + +// Apply static values from `gradle.properties` to the `android.packagingOptions` +// Accepts values in comma delimited lists, example: +// android.packagingOptions.pickFirsts=/LICENSE,**/picasa.ini +["pickFirsts", "excludes", "merges", "doNotStrip"].each { prop -> + // Split option: 'foo,bar' -> ['foo', 'bar'] + def options = (findProperty("android.packagingOptions.$prop") ?: "").split(","); + // Trim all elements in place. + for (i in 0.. 0) { + println "android.packagingOptions.$prop += $options ($options.length)" + // Ex: android.packagingOptions.pickFirsts += '**/SCCS/**' + options.each { + android.packagingOptions[prop] += it + } + } +} + +dependencies { + // The version of react-native is set by the React Native Gradle Plugin + implementation("com.facebook.react:react-android") + + def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true"; + def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true"; + def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true"; + + if (isGifEnabled) { + // For animated gif support + implementation("com.facebook.fresco:animated-gif:${reactAndroidLibs.versions.fresco.get()}") + } + + if (isWebpEnabled) { + // For webp support + implementation("com.facebook.fresco:webpsupport:${reactAndroidLibs.versions.fresco.get()}") + if (isWebpAnimatedEnabled) { + // Animated webp support + implementation("com.facebook.fresco:animated-webp:${reactAndroidLibs.versions.fresco.get()}") + } + } + + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} diff --git a/Project/SafeIllini/android/app/debug.keystore b/Project/SafeIllini/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc + + + + + diff --git a/Project/SafeIllini/android/app/src/main/AndroidManifest.xml b/Project/SafeIllini/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1024830 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainActivity.kt b/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainActivity.kt new file mode 100644 index 0000000..cfc92c1 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainActivity.kt @@ -0,0 +1,65 @@ +package com.anonymous.SafeIllini +import expo.modules.splashscreen.SplashScreenManager + +import android.os.Build +import android.os.Bundle + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +import expo.modules.ReactActivityDelegateWrapper + +class MainActivity : ReactActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + // Set the theme to AppTheme BEFORE onCreate to support + // coloring the background, status bar, and navigation bar. + // This is required for expo-splash-screen. + // setTheme(R.style.AppTheme); + // @generated begin expo-splashscreen - expo prebuild (DO NOT MODIFY) sync-f3ff59a738c56c9a6119210cb55f0b613eb8b6af + SplashScreenManager.registerOnActivity(this) + // @generated end expo-splashscreen + super.onCreate(null) + } + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "main" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate { + return ReactActivityDelegateWrapper( + this, + BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, + object : DefaultReactActivityDelegate( + this, + mainComponentName, + fabricEnabled + ){}) + } + + /** + * Align the back button behavior with Android S + * where moving root activities to background instead of finishing activities. + * @see onBackPressed + */ + override fun invokeDefaultOnBackPressed() { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) { + if (!moveTaskToBack(false)) { + // For non-root activities, use the default implementation to finish them. + super.invokeDefaultOnBackPressed() + } + return + } + + // Use the default back button implementation on Android S + // because it's doing more than [Activity.moveTaskToBack] in fact. + super.invokeDefaultOnBackPressed() + } +} diff --git a/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainApplication.kt b/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainApplication.kt new file mode 100644 index 0000000..29d65df --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/java/com/anonymous/SafeIllini/MainApplication.kt @@ -0,0 +1,57 @@ +package com.anonymous.SafeIllini + +import android.app.Application +import android.content.res.Configuration + +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.ReactHost +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.react.soloader.OpenSourceMergedSoMapping +import com.facebook.soloader.SoLoader + +import expo.modules.ApplicationLifecycleDispatcher +import expo.modules.ReactNativeHostWrapper + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = ReactNativeHostWrapper( + this, + object : DefaultReactNativeHost(this) { + override fun getPackages(): List { + val packages = PackageList(this).packages + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages + } + + override fun getJSMainModuleName(): String = ".expo/.virtual-metro-entry" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + ) + + override val reactHost: ReactHost + get() = ReactNativeHostWrapper.createReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + SoLoader.init(this, OpenSourceMergedSoMapping) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + ApplicationLifecycleDispatcher.onApplicationCreate(this) + } + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) + } +} diff --git a/Project/SafeIllini/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png b/Project/SafeIllini/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..090813796a4ae537d951c491a1a2e5b24eb25d9e GIT binary patch literal 5116 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 Ksrr*=zW+aWzcs)B literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png b/Project/SafeIllini/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8a5bbd17b4f5c6ec9f440f11b01cc4ad59bdb4 GIT binary patch literal 3023 zcmeHJ`&W`_9>;d7X`FO-DlN-#b|-bM)VyU#R&J@ufCY(!gqI;jK(th(G%qvOcqR|J zW2h@$N5cyUR3avLnKWy?frLtemvl-+6f?yOX6#Ep?Ef(5%n$E*o^zh(^Ssad{an89 z&zA!IcYk5^1qcM%9dO}15(F~&#`t``0|Wx?&E#c(K&Ax&=Y4{1nk+mu#N|gaUo1(f zV^Z+GkbtA`?0;No6XeX_JK(eBbLjZrRxVn+gFHEC8MQa@xWln+9rFX%7_N?~l3S9k z(G;d&M7zg+sY#R77Up~uzbymg1p0hxTgEqk4u8lJcqxS_v;>0#6FlIT2W9SXguhC- zO?36FzofagipZ?YDM>i+<&Nr{r{Upq{{>r`SUXjGJ5$e-MPHkXRs~ndF5o&RF9C29 zoN*y$Za>{m-^#2;pd}-pB|gc>DQOV-RUr`m4qYpdw28IQV88?} zk4HLrsGy{Q*n8jpVhokqINFx*LMg0OX!f~bh}qYUz};LuRV zS9=HNI8!f+4q{e6l0`oNCS|8?eLs;(>nyOyEzHl~C%&<~`IxpCnxgKq)U7Y!DP-pJ zpE@IqLU43$U8x){=W1TEdXs;r-wz2n6?)q6!4!Mtrmq7FiONTzSZp?wuV`T8Jxl@E zE(AKDCp%UAzPbQO(hoXN^c$1sTB&+Lk|yvsz{umKKTTg$@PAm7eBincI-$>dSF+0LZSQ3Sd_iyt%p{@9BXSF-zPR zuD_i_^-KGSL}CCHS1969l9NMvdwY#1jzbdsRCf0EjgKEAr>CcnHE}bXEC*y7lrO%w zDNgnC9zM}{_el1k2rh@yiJb!j_g8H#avDvl<46*NxY5 ziOebOusd94LGz>)7VQ$FZRbgFIfG8$O=kM3;w2$C97=-Wa5zdqTN{rqDuBx7=GZ58 zXPxtaS0V2KlfQJswsch8W-6rzOr}y%6eDIx7|O5lPFZE7wa0bv03(I8Pc)^q^IhZ? z7Xum^8cu*c>KJ+beSQC&sqf4(FXW)xg(D*v`4yak#UmG&m7SoEJ-Kn20BG1KA^@?f z;kT3GNk}8O+PKv~=-^Fn^8#q8W_5MNYld@`Cji6MK}9q}n@Bs>&JVJM!(jgrj*4_u z1s0as&;7urvuq$fiiZ^n4^L0RL>lcJq!f}8T%NvkS3ABH;B0fd8#phlZ7VpcdQDm? z41J%qAJ5;NcX3i{+4-rU@_ZP|Zc1w6XEML=~sm zN|+JI8_5dl`arKTaY0G7K9dAHYb-60Y?)61E~9~Pa_I$g#%rmI$Q!I9$YS$s9J!~R^~_iz_-``Jtn4Iq~eaw)W68JAzyBvK=T#yXV1>7 zb;)+~A^8tEpFASy61<%sIiv37^Jc5eoo72XZiy2&_IT@66D!j;hFZ%1#i;uDexWIO zHRhb9Bt6_}bA8IT)O*w3J5?XFyu3VjJOZ6y(jFl#^VWBAzSFPBr2;kmKA!{4cM26f z(4>EC0HRP<@HG4q57*AiE_4D`#!qgDPNeG91S3S*K*-IQK<-+%w6L%k6jC;T7i>1| z;j7si~>m>#*9- z5+5+`9hScW@{$r88;ItmaW~g&W=m<~PX0NE9)0VdQ_CX{QMqb0kq%hlZE;-NqjVlu z)9SWJB9VFowydDTMH$vdBG6=2FnH#ru~!r%3^x#@^Mzq)2$j$mn_~kZfeESayK90E zqa5lK8jMQVL&5r0{Ze$zKj&C^w;zS%?DSZ66vZ&~Q+$^fPHD#@* z&ppb@%`Jk)xr3AT3HtkjQ29uxlK6ckpOKf8tZkmTcbLP5LRbtav|Dfvg^H({K$I63SwVvc6bg|g=CF?#JxOIT?q!%+4j@qZbyW&YkrxsQm;^B> zTU^WbVzXUMtn)L>XlOJv0Qd|R17_VCDjl5E0<9YK*Js;7K7S5>z!JPkH@W)y$3!OR Tl@|C>2L<>Bp6C55{Kx+Rz0pOl literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png b/Project/SafeIllini/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cec33611cc8e7d8acfe8ac1a81d992ae1ab47753 GIT binary patch literal 7322 zcmeHM{a=!4x_`25+%1zmpE;#dzU)l9>sG#{`IZVZ-+s)H`o3eeR%uUU0Wdt+J59OUwjQg4xifFuRnkwDD}297=qlAk9_gjiQG+^ zpG{r0m-4-q#?_Yl9HPUo!nSPw`}aS6@Im80avx=kwaQ9r3vA=n^GAwhTe)MOSBO== z{oQYV^XI-Jgo&Z)g?Ld&;vdF216O)nVq1(eL`4q0c`Nkk;e8NP+Wl~mb)!;(< z`wQ>=@je{hXT$#o2FsL#$75oH-ZiKIvk&TW9XQa4_TCv2+uquG1C^DX9UcEPv}Du7 zku9fPW<$Y0XIjt2KYjf8&#{-3!xfb~uFr;UIqkUPa?*FR6LlHG`*s$88OzytG%G6= zH57JqPfP^=_WqkMK2-+!%B3gX99s0;+O`RxI11p#*(kGy~9}OJH znI@+49)b$DY9*&ZgGEkE0;uCjVTpm^AtjzbZb?p2B z%LXsQZD8*a!B*cS*`Upgq17hyCC-bAD!)kcd3gsO!_6>4l(of-!=)a=r#~JhqT~}3 zgT2-Tq@L|nFugN@&YOLa6+cGc)!b}{sDF=#NUe#!fyZM=ZHc~mm~Hu7p_DP1ClDHk z`DPn=$>>5<)GuWhIlB*&)FLL6Z+iuk-`}TLmxKg5MF|d{KpCG^@t;4w zFoH1m{b;np3Z7^4R|;`Cz_7&biw%(`b1~1TDphwbG;e#v+6Q?)g%!Ll4SRq`mUu+o z)-Y%@-W;lh|mqjvA@0Grk^A(7=MP*ZpEDo}6#>6RBo2%Nx4EKw=BcrC+@mnE|o%@uL7A#n?`qBVbZ0mGC?BxusIu?S9Q+Fn+J zAtdN&qWE}7YAg8<8}6hF(Gbah+oP?~wTEh>n4z~c1uM^EKI-5SKmabzElSzsmue(u zxV*(SA1CMMn+T``kgu&N1L$Vi#Kbwo`T%X%;A#0UlUWTfyXpv2^|>9o_$Oq9QEz_P zP_L6Bth0&wYvInSe-6cjQ58KK)U|~jNvU`Aq@EuRu8*z-amu3%J5LvwG-gwb=va5gG{+|-U}w+V*yiHh8QN!E4pSlTBVPVX2NSVfK$eULpmHbcp99@E;%}b z1pKA{XxRDFG*SRY9vHd&XtPi6RY#A92t6kmGFYR_+V&}!ZzzsuoNEB5ErUx89A}l1SMyjc|aukuw!1U3% zK0x@u6J?T{dbLOmo|7&;yLYs@ZsWNi7r#>@<@V8xS*RdjEC>8$Xs3Im9eBk-rYPa^ z(ul)FES%Y4q%sy-dihF3JN2>}le-rHieRR%h$vjC!VJl%K1DFkQBp!eLKyY!`DvoL z;zM!1VQRd2*ikBz4TFyQ&w!dc>c_lQ;ubbZ7z3_w_Jr4HPSGq?@!pT!;MCCZZlGDh zXftQ*H(*b6o@i^-wkP+1ypl*%;{KymZBv)V-3RR_Wlc@OZnI8cOtODUW!=x(t`@ua zsX8|Us_ZYW0uc623-Ws?vi{=T(xuU;qBag^Fxq*Vbd&wU%!<7jT`Y1XK#*h-@$$=Y=7P%!ZGPn}p_}agU6U>D&|&VSTmQiA}Z- zh%>w%iqU+?40XLcbpl|q9mz7_iom4q+ymq765Ta9URZ{pWe)ph1N~$k!xV&+Qk64_ zG|MI98(s);=HvAZMwIM!!85saocGUka) z3l1U$f<+Z3pBt--SeuwNj^^-du^xG^?$p5b#G%_R82Am~=rk=OlBc?2LPYiubQdYF=j(||ow6p965ROk{LJU0j7T~P z0OH4XwDV1p4sSNl@(xkfZ~~JrhIcdgzVg)!g|N0Lwf9LEF@!-)s5JJ+8!~<*jqTLu zFHB>{qBg*yM$1X+qqBMkO{0_WD4t&cgX?1(t)V{X0Nu(y1qbs^`a?E zFCaE}e~pTXeF7fZyFZj>rBc*WM|t`ZIl=N~T+Q06rL51V%dHj)n`X1_jpH=3GKWp9 zeW=8nWjU*Xhd_#dSQsZ1wr|wW0D%<0p^0JC)kj=#NJ0gSB6xjBh3+qVYJLn zE#HLZ@+@m|eH_g=MFJ!>KLl!u{Vfb!eY7p0DHC0ivb%72zt^dw+xyxRedP~1)d|_g zT#xlhbz6>hx)Qdm6Zj$hJZM3V_^x}At52dfy-fluWG+96f+;KFP7Ue(dY;)KEqp2T zmVyhOSsQC92$Hu8s{D{5gzacGJX= zH`qBS9FAVR5VqY=cc-W=_6mIQF01bMKH(FfsIy>-Z%q!i?&je&^|E$o||(N>CU@-!pQn>*)I#yeW_O}(i*P&@3^)q`SICfE(|w7nhB5AG?QGrF8Q=hvMZ z(PDdjJ)@Nz=7{g@aStPe+QAP#5)Oi=>eL|y8^roSx^_rXA<(?KVUpD&Eb{>4H0T8JR{1-}5H6 z#1p}g`p;cSp_K#LCcWm2gKdM|JWzhmo*4mk8c=LFSAw~s?4!buu~R5FWG<-xUs3L-{>b`bKUE&z1F%AIZh%yuzgZ0s7 zG$~n?jdp2taN84(1l&(V2NbUb9L+`w5p?OJ%h zsVQ{_5NF_kJnQW5@#99YFr}?kiraa)_5>h6ry!1`?OQ3X67k=xVHPWM>mz6T##P~+ z)Gt912up@Dk?~Lco!;#a+-0?~l3nY}n*at^?m(g5=?s6T_%Tqu#y*mx8w71hLn%={A& zbSP#M^y=6a=!d`^(B;wh7vB5heK@?&hW{H3Mr^R5Z_b?#_)V)D_{|YI@@4cF&7YtC G+rI#!)r5Nh literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png b/Project/SafeIllini/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6c08a11947e8731630f33806c806f23a32db731e GIT binary patch literal 12531 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 literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png b/Project/SafeIllini/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe261eff84902213216b7dc59dbaba26bca261f GIT binary patch literal 19169 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 Y0c(jzW?Pt%(3=!pGUJ(lHJ4W2WYbj4ug6` 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 + + + + + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/res/drawable/rn_edit_text_material.xml b/Project/SafeIllini/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 0000000..5c25e72 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..3941bea --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Project/SafeIllini/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..3941bea --- /dev/null +++ b/Project/SafeIllini/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/Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..7fae0ccbcfa5c1de75a85a4420f0d8a01e2b0744 GIT binary patch literal 3300 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 z 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 literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..afa0a4ef4ba5230871e032f2a6df96ec572d7c49 GIT binary patch literal 4103 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 ULJ*w>3_FmIhrfIM_Q;I?0&7K2ZU6uP literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..c4f6e101ec73d0b675780f81d04a3d1b2ddcb04f GIT binary patch literal 2613 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 literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..7a0f085faac07551f2407aea014b4ada7044a04c GIT binary patch literal 4535 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 Za-wxV!t(TUd!WS@wBOc+(qO|#{9nh>`J4a% literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..6c2d40bf55ead27ea9e0f88465db2de95683b533 GIT binary patch literal 5673 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 KpUXO@geCyPqIRYL literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..345261586ca9baa40c35e3db8d50b048a8a6bff6 GIT binary patch literal 9091 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ΞnADf zu>~(57_sDNp6S038%eM$yo26|*gCYTg4YoYMZyM;zf+a;L5|-$H)KQ?D&n&_@_CzD za>ud#N5Yyp?Gbqk73?4SjCjTwDTZss736Pz8fxPrW3Hm=OSl8CJtf>Ty=_0EnBmQt zKU2Z`-ITSTaX_lqHFy&FOMA6BtPCkPS0VDljito;D?PIBORywO5?*M~D(|4aV61Q) zvDVUIF7o(rZXluYC8JOOFDxTG!-k~8TybH!K!4~$_yX3m!SOGL@ZUV2IcvlBu#|mL8N9N>4dP{2w7MBW?fy literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..b11a322ab4a6750ecea03c2ab21a772a1d293bac GIT binary patch literal 10108 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 literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..49a464ee361fe64ce9d076716724a756c521d807 GIT binary patch literal 25030 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 literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/Project/SafeIllini/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b51fd15c26cdca51913e3696386b5e694327ca8a GIT binary patch literal 12469 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 X_39jKitxW9Fqs-!7~DVQ9Q%I&1uk6m literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/app/src/main/res/values-night/colors.xml b/Project/SafeIllini/android/app/src/main/res/values-night/colors.xml new file mode 100644 index 0000000..3c05de5 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/values-night/colors.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/res/values/colors.xml b/Project/SafeIllini/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f387b90 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + #ffffff + #ffffff + #023c69 + #ffffff + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/res/values/strings.xml b/Project/SafeIllini/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..39b18aa --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + SafeIllini + contain + false + automatic + \ No newline at end of file diff --git a/Project/SafeIllini/android/app/src/main/res/values/styles.xml b/Project/SafeIllini/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..6bc0170 --- /dev/null +++ b/Project/SafeIllini/android/app/src/main/res/values/styles.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/Project/SafeIllini/android/build.gradle b/Project/SafeIllini/android/build.gradle new file mode 100644 index 0000000..e34231b --- /dev/null +++ b/Project/SafeIllini/android/build.gradle @@ -0,0 +1,41 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = findProperty('android.buildToolsVersion') ?: '35.0.0' + minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '24') + compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '35') + targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '34') + kotlinVersion = findProperty('android.kotlinVersion') ?: '1.9.24' + + ndkVersion = "26.1.10909125" + } + repositories { + google() + mavenCentral() + } + dependencies { + classpath('com.android.tools.build:gradle') + classpath('com.facebook.react:react-native-gradle-plugin') + classpath('org.jetbrains.kotlin:kotlin-gradle-plugin') + } +} + +apply plugin: "com.facebook.react.rootproject" + +allprojects { + repositories { + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url(new File(['node', '--print', "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), '../android')) + } + maven { + // Android JSC is installed from npm + url(new File(['node', '--print', "require.resolve('jsc-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), '../dist')) + } + + google() + mavenCentral() + maven { url 'https://www.jitpack.io' } + } +} diff --git a/Project/SafeIllini/android/gradle.properties b/Project/SafeIllini/android/gradle.properties new file mode 100644 index 0000000..08d7cf3 --- /dev/null +++ b/Project/SafeIllini/android/gradle.properties @@ -0,0 +1,58 @@ +# 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. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# 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 + +# Enable AAPT2 PNG crunching +android.enablePngCrunchInReleaseBuilds=true + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true + +# Enable GIF support in React Native images (~200 B increase) +expo.gif.enabled=true +# Enable webp support in React Native images (~85 KB increase) +expo.webp.enabled=true +# Enable animated webp support (~3.4 MB increase) +# Disabled by default because iOS doesn't support animated webp +expo.webp.animated=false + +# Enable network inspector +EX_DEV_CLIENT_NETWORK_INSPECTOR=true + +# Use legacy packaging to compress native libraries in the resulting APK. +expo.useLegacyPackaging=false + +android.extraMavenRepos=[] \ No newline at end of file diff --git a/Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.jar b/Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..a4b76b9530d66f5e68d973ea569d8e19de379189 GIT binary patch literal 43583 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 yu?e%!_ptzGB|8GrCfu%p?(_ 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 GZ~q4|mN%#X literal 0 HcmV?d00001 diff --git a/Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.properties b/Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..79eb9d0 --- /dev/null +++ b/Project/SafeIllini/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/Project/SafeIllini/android/gradlew b/Project/SafeIllini/android/gradlew new file mode 100644 index 0000000..f5feea6 --- /dev/null +++ b/Project/SafeIllini/android/gradlew @@ -0,0 +1,252 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + 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 +' "$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=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# 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, 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" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# 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/Project/SafeIllini/android/gradlew.bat b/Project/SafeIllini/android/gradlew.bat new file mode 100644 index 0000000..9d21a21 --- /dev/null +++ b/Project/SafeIllini/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=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +: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/Project/SafeIllini/android/settings.gradle b/Project/SafeIllini/android/settings.gradle new file mode 100644 index 0000000..628eff6 --- /dev/null +++ b/Project/SafeIllini/android/settings.gradle @@ -0,0 +1,38 @@ +pluginManagement { + includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile().toString()) +} +plugins { id("com.facebook.react.settings") } + +extensions.configure(com.facebook.react.ReactSettingsExtension) { ex -> + if (System.getenv('EXPO_USE_COMMUNITY_AUTOLINKING') == '1') { + ex.autolinkLibrariesFromCommand() + } else { + def command = [ + 'node', + '--no-warnings', + '--eval', + 'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))', + 'react-native-config', + '--json', + '--platform', + 'android' + ].toList() + ex.autolinkLibrariesFromCommand(command) + } +} + +rootProject.name = 'SafeIllini' + +dependencyResolutionManagement { + versionCatalogs { + reactAndroidLibs { + from(files(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../gradle/libs.versions.toml"))) + } + } +} + +apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle"); +useExpoModules() + +include ':app' +includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile()) diff --git a/Project/SafeIllini/app/(tabs)/index.tsx b/Project/SafeIllini/app/(tabs)/index.tsx index 629f537..7f06ec2 100644 --- a/Project/SafeIllini/app/(tabs)/index.tsx +++ b/Project/SafeIllini/app/(tabs)/index.tsx @@ -1,257 +1,176 @@ /* eslint-disable import/no-unresolved */ import React, { useState, useEffect } from "react"; -import { Text, View, Image, StyleSheet, TouchableOpacity, Linking, Alert, TouchableWithoutFeedback } from "react-native"; +import { Text, View, StyleSheet, TouchableOpacity, Linking, Alert, FlatList } from "react-native"; import { Picker } from "@react-native-picker/picker"; -import { database } from "@/configs/firebaseConfig" -import { ref, set, onValue } from 'firebase/database'; -import { router } from 'expo-router'; -import MapView, { Marker } from 'react-native-maps'; -import { Incident, IncidentType } from '@/types/incidents'; -import { INCIDENT_TYPE_LABELS, PIN_COLORS } from '@/constants/Incidents'; -// using Incident interface instead of PinPosition interface since we're going grab all the incidents from the database -/** -* @typedef {Object} Incident -* @property {string} id - The unique identifier for the incident. -* @property {string} type - The type of the incident. -* @property {string} severity - The severity level of the incident. -* @property {string} description - A description of the incident. -* @property {Object} location - The location of the incident. -* @property {number} location.latitude - The latitude of the incident location. -* @property {number} location.longitude - The longitude of the incident location. -* @property {number} timestamp - The timestamp of when the incident occurred. -* @property {Object} [photos] - An object containing photos related to the incident. -**/ -// interface Incident { -// id: string; -// type: string; -// severity: string; -// location: { latitude: number; longitude: number }; -// timestamp: number; -// description?: string; -// photos?: { [key: string]: string }; -// } - -// sample incident data for testing purposes -// const dummyIncidents: Incident[] = [ -// { -// id: "1", -// type: "sexual_harassment", -// severity: "high", -// location: { -// latitude: 40.1020, // Main Quad -// longitude: -88.2272 -// }, -// timestamp: Date.now(), -// description: "Incident near Main Quad" -// }, -// { -// id: "2", -// type: "drunk_driving", -// severity: "moderate", -// location: { -// latitude: 40.1089, // Illini Union -// longitude: -88.2272 -// }, -// timestamp: Date.now(), -// description: "Incident near Union" -// }, -// { -// id: "3", -// type: "theft", -// severity: "low", -// location: { -// latitude: 40.1164, // Green Street -// longitude: -88.2434 -// }, -// timestamp: Date.now(), -// description: "Incident on Green Street" -// }, -// { -// id: "4", -// type: "assault", -// severity: "high", -// location: { -// latitude: 40.105487, // West of Campus -// longitude: -88.2439389 -// }, -// timestamp: Date.now(), -// description: "Incident slightly west of campus" -// } -// ]; - - +import { database } from "@/configs/firebaseConfig"; +import { ref, onValue } from "firebase/database"; +import { router } from "expo-router"; +import MapView, { Marker } from "react-native-maps"; +import BottomSheet from "reanimated-bottom-sheet"; +import { GestureHandlerRootView } from "react-native-gesture-handler"; +import { Incident, IncidentType } from "@/types/incidents"; +import { INCIDENT_TYPE_LABELS, PIN_COLORS } from "@/constants/Incidents"; export default function Home() { - // state management for incident type filter and incidents list - // track the currently selected incident type filter const [selectedIncidentType, setSelectedIncidentType] = useState("all"); - // state to store all incidents from the database const [incidents, setIncidents] = useState([]); - // effect hook to fetch and listen for real-time updates from Firebase + useEffect(() => { - // creating reference to the incidents node in Firebase - const incidentsRef = ref(database, 'incidents'); - // Setting up real-time listener that updates when data changes - // onValue function returns a func that when called, stops listening for updates. - // We just named it "unsubscribe" because it terminates the subscription to Firebase updates and Removes the listener + const incidentsRef = ref(database, "incidents"); const unsubscribe = onValue(incidentsRef, (snapshot) => { const data = snapshot.val(); - if (data) { // check if data is available + if (data) { const incidentsData: Incident[] = []; - // convert Firebase snapshot to array of incidents snapshot.forEach((childSnapshot) => { incidentsData.push({ - id: childSnapshot.key, // extract the unique Firebase key as the incident ID - ...childSnapshot.val() // spread operator to merge all other incident data + id: childSnapshot.key, + ...childSnapshot.val(), }); }); - setIncidents(incidentsData); // update the incidents state with the fetched data - // console.log("Incidents data:", incidentsData); + setIncidents(incidentsData); } else { - console.log("No data available"); - setIncidents([]); // clear the incidents state if no data is available + setIncidents([]); } }); - // cleanup function to remove listener when component unmounts - return () => unsubscribe() + + return () => unsubscribe(); }, []); const handleLongPress = (event: any) => { - // const { locationX, locationY } = event.nativeEvent; const { latitude, longitude } = event.nativeEvent.coordinate; - // https://docs.expo.dev/router/advanced/nesting-navigators/#navigate-to-a-screen-in-a-nested-navigator - // since we're using expo router, we need to handle navigation differently - // we don't define navigation types. instead, we can just use router.push() to send info from one screen to another - // the params AKA data we pass will be avail in the AddIncident screen through useLocalSearchParams() router.push({ - pathname: "/AddIncident", // navigate to the AddIncident screen - params: { // pass latitude and longitude to AddIncident screen - latitude, - longitude, - } + pathname: "/AddIncident", + params: { latitude, longitude }, }); }; - // initiate emergency call to campus police const callCampusPolice = () => { const campusPoliceNumber = "6308910198"; - Linking.openURL(`tel:${campusPoliceNumber}`) - .catch((err) => { - console.error("Failed to open dialer:", err); - Alert.alert("Error", "Unable to initiate the call. Please try again."); - }); + Linking.openURL(`tel:${campusPoliceNumber}`).catch((err) => { + console.error("Failed to open dialer:", err); + Alert.alert("Error", "Unable to initiate the call. Please try again."); + }); }; - // determine marker color based on incident type + const getPinColor = (incidentType: IncidentType) => { - return PIN_COLORS[incidentType] || 'black'; + return PIN_COLORS[incidentType] || "black"; }; - // const getPinColor = (incidentType: string) => { - // switch (incidentType) { - // case "sexual_harassment": return "red"; - // case "drunk_driving": return "orange"; - // case "theft": return "yellow"; - // case "assault": return "blue"; - // default: return "green"; - // } - // }; + + const renderContent = () => ( + + Latest Incidents + item.id} + renderItem={({ item }) => ( + + {`Type: ${item.type.replace("_", " ").toUpperCase()}`} + {`Severity: ${item.severity}`} + {`Reported at: ${new Date(item.timestamp).toLocaleString()}`} + {item.description || "No description provided"} + + )} + /> + + ); + + const sheetRef = React.useRef(null); return ( - - - setSelectedIncidentType(itemValue)} - style={styles.picker} + + + + setSelectedIncidentType(itemValue)} + style={styles.picker} + > + + {INCIDENT_TYPE_LABELS.map(({ label, value }) => ( + + ))} + + + + - {/* Picker options for different incident types */} - - {INCIDENT_TYPE_LABELS.map(({ label, value }) => ( - - ))} - + {incidents + .filter( + (incident) => + selectedIncidentType === "all" || incident.type === selectedIncidentType + ) + .map((incident) => ( + + ))} + + + + SOS + + + - {/* Map component showing campus area. For more options, go to https://github.com/react-native-maps/react-native-maps/blob/master/docs/mapview.md */} - { - console.log('Map ready'); - }} - onLongPress={handleLongPress} - > - {/* Filter and display incident markers on map */} - {incidents - // Filter the incidents array based on selected type - // First part of the OR condition: Show all incidents if "all" is selected - // Second part of the OR condition: Only show the ones matching the selected type - .filter(incident => selectedIncidentType === "all" || incident.type === selectedIncidentType) - // Map through the filtered incidents array and create a Marker component for each incident - // For more options, go to https://github.com/react-native-maps/react-native-maps/blob/master/docs/marker.md - .map((incident) => ( - - ) - ) - } - - - - SOS - - + ); } -// Styles for component layout and appearance const styles = StyleSheet.create({ container: { - flex: 1, // Take up all available space + flex: 1, }, pickerContainer: { - position: 'absolute', // Float above map + position: "absolute", top: 20, left: 0, right: 0, - zIndex: 1, // Ensure picker appears above map - backgroundColor: 'rgba(255, 255, 255, 0.8)', + zIndex: 1, + backgroundColor: "rgba(255, 255, 255, 0.8)", paddingHorizontal: 20, }, picker: { - width: '100%', + width: "100%", }, map: { - flex: 1, // Take up all container space - width: '100%', - height: '100%', + flex: 1, + width: "100%", + height: "100%", }, sosButton: { - position: 'absolute', + position: "absolute", right: 20, bottom: 40, - backgroundColor: 'red', + backgroundColor: "red", paddingVertical: 10, paddingHorizontal: 20, borderRadius: 30, - elevation: 5, // Android shadow effect - shadowColor: '#000', // iOS shadow effect + elevation: 5, + shadowColor: "#000", shadowOffset: { width: 0, height: 2, @@ -260,149 +179,28 @@ const styles = StyleSheet.create({ shadowRadius: 3.84, }, sosButtonText: { - color: 'white', - fontWeight: 'bold', + color: "white", + fontWeight: "bold", fontSize: 16, }, + bottomSheetContent: { + backgroundColor: "#fff", + padding: 16, + height: 300, + }, + bottomSheetHeader: { + fontSize: 18, + fontWeight: "bold", + marginBottom: 10, + }, + incidentItem: { + marginBottom: 10, + padding: 10, + borderBottomWidth: 1, + borderBottomColor: "#ccc", + }, + incidentText: { + fontSize: 14, + marginBottom: 5, + }, }); - - - -/** - * code below is for the `Index` component which fetches and displays a list of incidents from our database - * in a scrollable view. - * - * @component - * @returns {JSX.Element} The rendered component. - * - - * - * @function fetchIncidents - * Fetches incidents from the Firebase Realtime Database and updates the state. - * - * @throws Will throw an error if the data fetching fails. - * - */ - -// defines the structure/type of an incident object so that typescript knows the structure of the object -// interface Incident { -// id: string; -// type: string; -// severity: string; -// location: { latitude: number; longitude: number }; -// timestamp: number; -// description?: string; -// photos?: { [key: string]: string }; -// } - -// export default function Index() { -// const [incidents, setIncidents] = useState([]); // defining incidents as an array of Incident objects -// const db = ref(database); -// const fetchIncidents = async () => { -// try { -// const snapshot = await get(child(db, 'incidents')); -// if (snapshot.exists()) { -// // we need to define the type of incidentsData as an array of objects with the above fields -// // bc typescript doesn't know the type of data in the array and we need to tell it -// const incidentsData: Incident[] = []; -// snapshot.forEach((childSnapshot) => { -// incidentsData.push({ -// id: childSnapshot.key, -// ...childSnapshot.val() -// }); -// }); -// setIncidents(incidentsData); -// } else { -// console.log("No data available"); -// } -// } catch (error) { -// console.error("Error fetching data:", error); -// } -// }; - -// useEffect(() => { -// fetchIncidents(); -// }, []); - -// return ( -// -// Incidents: -// {incidents.map((incident) => ( -// -// Type: {incident.type} -// Severity: {incident.severity} -// Description: {incident.description || 'No description'} -// Latitude: {incident.location.latitude} -// Longitude: {incident.location.longitude} -// Timestamp: {new Date(incident.timestamp).toLocaleString()} -// Photos: {incident.photos ? Object.keys(incident.photos).length : 'No photos'} -// -// ))} -//