Merge pull request 'amalia/04-sept-25' (#35) from amalia/04-sept-25 into join

Reviewed-on: bip/mobile-darmasaba#35
This commit is contained in:
2025-09-04 18:19:35 +08:00
57 changed files with 155 additions and 135 deletions

2
.gitignore vendored
View File

@@ -45,3 +45,5 @@ x.sh
google-services.json google-services.json
service-account.json service-account.json
GoogleService-Info.plist.bak

View File

@@ -92,8 +92,8 @@ android {
applicationId 'mobiledarmasaba.app' applicationId 'mobiledarmasaba.app'
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1 versionCode 6
versionName "1.0.0" versionName "1.0.2"
} }
signingConfigs { signingConfigs {
debug { debug {

View File

@@ -1,6 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -1,5 +1,5 @@
<resources> <resources>
<string name="app_name">mobile-darmasaba</string> <string name="app_name">Desa+</string>
<string name="expo_system_ui_user_interface_style" translatable="false">automatic</string> <string name="expo_system_ui_user_interface_style" translatable="false">automatic</string>
<string name="expo_splash_screen_resize_mode" translatable="false">contain</string> <string name="expo_splash_screen_resize_mode" translatable="false">contain</string>
<string name="expo_splash_screen_status_bar_translucent" translatable="false">false</string> <string name="expo_splash_screen_status_bar_translucent" translatable="false">false</string>

View File

@@ -31,7 +31,7 @@ extensions.configure(com.facebook.react.ReactSettingsExtension) { ex ->
} }
expoAutolinking.useExpoModules() expoAutolinking.useExpoModules()
rootProject.name = 'mobile-darmasaba' rootProject.name = 'Desa+'
expoAutolinking.useExpoVersionCatalog() expoAutolinking.useExpoVersionCatalog()

View File

@@ -2,12 +2,12 @@ import 'dotenv/config';
export default { export default {
expo: { expo: {
name: "mobile-darmasaba", name: "Desa+",
slug: "mobile-darmasaba", slug: "mobile-darmasaba",
version: "1.0.2", version: "1.0.2",
jsEngine: "jsc", jsEngine: "jsc",
orientation: "portrait", orientation: "portrait",
icon: "./assets/images/icon.png", icon: "./assets/images/logo-icon-small.png",
scheme: "myapp", scheme: "myapp",
userInterfaceStyle: "automatic", userInterfaceStyle: "automatic",
newArchEnabled: false, newArchEnabled: false,
@@ -15,15 +15,16 @@ export default {
supportsTablet: true, supportsTablet: true,
bundleIdentifier: "mobiledarmasaba.app", bundleIdentifier: "mobiledarmasaba.app",
infoPlist: { infoPlist: {
ITSAppUsesNonExemptEncryption: false ITSAppUsesNonExemptEncryption: false,
CFBundleDisplayName: "Desa+"
}, },
googleServicesFile: "./ios/mobiledarmasaba/GoogleService-Info.plist" googleServicesFile: "./ios/Desa/GoogleService-Info.plist"
}, },
android: { android: {
package: "mobiledarmasaba.app", package: "mobiledarmasaba.app",
versionCode: 6, versionCode: 6,
adaptiveIcon: { adaptiveIcon: {
foregroundImage: "./assets/images/splash-icon.png", foregroundImage: "./assets/images/logo-icon-small.png",
backgroundColor: "#ffffff" backgroundColor: "#ffffff"
}, },
googleServicesFile: "./google-services.json", googleServicesFile: "./google-services.json",
@@ -45,7 +46,7 @@ export default {
[ [
"expo-splash-screen", "expo-splash-screen",
{ {
image: "./assets/images/splash-icon.png", image: "./assets/images/logo-icon-small.png",
imageWidth: 200, imageWidth: 200,
resizeMode: "contain", resizeMode: "contain",
backgroundColor: "#ffffff" backgroundColor: "#ffffff"
@@ -58,7 +59,7 @@ export default {
"@react-native-firebase/app", "@react-native-firebase/app",
{ {
ios: { ios: {
googleServicesFile: "./ios/mobiledarmasaba/GoogleService-Info.plist" googleServicesFile: "./ios/Desa/GoogleService-Info.plist"
} }
} }
] ]

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
assets/images/logo-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
assets/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -53,12 +53,14 @@ export default function ViewLogin({ onValidate }: Props) {
<StatusBar style={Platform.OS === 'ios' ? 'auto' : 'light'} translucent={false} backgroundColor="black" /> <StatusBar style={Platform.OS === 'ios' ? 'auto' : 'light'} translucent={false} backgroundColor="black" />
<ToastCustom /> <ToastCustom />
<View style={[Styles.p20, Styles.h100]}> <View style={[Styles.p20, Styles.h100]}>
<View style={{ alignItems: "center", marginVertical: 50 }}> <View style={{ alignItems: "center", marginTop: 70, marginBottom: 50 }}>
<Image <Image
source={require("../../assets/images/splash-icon.png")} source={require("../../assets/images/logo.png")}
style={{ width: 130, height: 130 }} style={[{ width: 300, height: 150 }]}
width={270}
height={110}
/> />
<Text style={[Styles.textSubtitle]}>PERBEKEL DARMASABA</Text> {/* <Text style={[Styles.textSubtitle2]}>Digitalisasi Desa Transparansi Kerja</Text> */}
</View> </View>
<InputForm <InputForm
onChange={(val) => { onChange={(val) => {

View File

@@ -44,6 +44,9 @@ const Styles = StyleSheet.create({
fontSize: 20, fontSize: 20,
fontWeight: 'bold', fontWeight: 'bold',
}, },
textSubtitle2: {
fontSize: 20,
},
textLink: { textLink: {
fontSize: 14, fontSize: 14,
color: '#0a7ea4', color: '#0a7ea4',

File diff suppressed because one or more lines are too long

View File

@@ -15,9 +15,9 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "mobiledarmasaba.app" BuildableName = "Desa.app"
BlueprintName = "mobiledarmasaba" BlueprintName = "Desa"
ReferencedContainer = "container:mobiledarmasaba.xcodeproj"> ReferencedContainer = "container:Desa.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildActionEntry> </BuildActionEntry>
</BuildActionEntries> </BuildActionEntries>
@@ -33,9 +33,9 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "00E356ED1AD99517003FC87E" BlueprintIdentifier = "00E356ED1AD99517003FC87E"
BuildableName = "mobiledarmasabaTests.xctest" BuildableName = "DesaTests.xctest"
BlueprintName = "mobiledarmasabaTests" BlueprintName = "DesaTests"
ReferencedContainer = "container:mobiledarmasaba.xcodeproj"> ReferencedContainer = "container:Desa.xcodeproj">
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
@@ -55,9 +55,9 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "mobiledarmasaba.app" BuildableName = "Desa.app"
BlueprintName = "mobiledarmasaba" BlueprintName = "Desa"
ReferencedContainer = "container:mobiledarmasaba.xcodeproj"> ReferencedContainer = "container:Desa.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildableProductRunnable> </BuildableProductRunnable>
</LaunchAction> </LaunchAction>
@@ -72,9 +72,9 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "mobiledarmasaba.app" BuildableName = "Desa.app"
BlueprintName = "mobiledarmasaba" BlueprintName = "Desa"
ReferencedContainer = "container:mobiledarmasaba.xcodeproj"> ReferencedContainer = "container:Desa.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildableProductRunnable> </BuildableProductRunnable>
</ProfileAction> </ProfileAction>

View File

@@ -2,7 +2,7 @@
<Workspace <Workspace
version = "1.0"> version = "1.0">
<FileRef <FileRef
location = "group:mobiledarmasaba.xcodeproj"> location = "group:Desa.xcodeproj">
</FileRef> </FileRef>
<FileRef <FileRef
location = "group:Pods/Pods.xcodeproj"> location = "group:Pods/Pods.xcodeproj">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict/> <dict/>
</plist> </plist>

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -7,7 +7,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>mobile-darmasaba</string> <string>Desa+</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@@ -19,7 +19,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.0.0</string> <string>1.0.2</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@@ -53,6 +53,14 @@
<key>NSAllowsLocalNetworking</key> <key>NSAllowsLocalNetworking</key>
<true/> <true/>
</dict> </dict>
<key>NSCameraUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to access your camera</string>
<key>NSMicrophoneUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to access your microphone</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to save photos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to access your photos</string>
<key>NSUserActivityTypes</key> <key>NSUserActivityTypes</key>
<array> <array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string> <string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>

View File

@@ -13,7 +13,7 @@ install! 'cocoapods',
prepare_react_native_project! prepare_react_native_project!
target 'mobiledarmasaba' do target 'Desa' do
use_expo_modules! use_expo_modules!
if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1' if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1'
@@ -27,12 +27,11 @@ target 'mobiledarmasaba' do
'--platform', '--platform',
'ios' 'ios'
] ]
pod 'FirebaseDatabase', :modular_headers => true pod 'FirebaseDatabase', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true pod 'FirebaseCore', :modular_headers => true
pod 'FirebaseAppCheckInterop', :modular_headers => true pod 'FirebaseAppCheckInterop', :modular_headers => true
pod 'leveldb-library', :modular_headers => true pod 'leveldb-library', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true pod 'GoogleUtilities', :modular_headers => true
end end
config = use_native_modules!(config_command) config = use_native_modules!(config_command)

View File

@@ -2730,6 +2730,6 @@ SPEC CHECKSUMS:
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
Yoga: adb397651e1c00672c12e9495babca70777e411e Yoga: adb397651e1c00672c12e9495babca70777e411e
PODFILE CHECKSUM: c5fe5ebbeae04f6245009795a1dcd457ba36c8e6 PODFILE CHECKSUM: 7f3e2b6dc54bdba333a1261a914e9d69e33f503f
COCOAPODS: 1.16.2 COCOAPODS: 1.16.2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 KiB