diff --git a/android/app/release/baselineProfiles/0/app-release.dm b/android/app/release/baselineProfiles/0/app-release.dm new file mode 100644 index 0000000..44f9488 Binary files /dev/null and b/android/app/release/baselineProfiles/0/app-release.dm differ diff --git a/android/app/release/baselineProfiles/1/app-release.dm b/android/app/release/baselineProfiles/1/app-release.dm new file mode 100644 index 0000000..7c12850 Binary files /dev/null and b/android/app/release/baselineProfiles/1/app-release.dm differ diff --git a/android/app/release/output-metadata.json b/android/app/release/output-metadata.json new file mode 100644 index 0000000..36f38ec --- /dev/null +++ b/android/app/release/output-metadata.json @@ -0,0 +1,37 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.ouji.factory.myapp", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 1, + "versionName": "1.0.1a", + "outputFile": "app-release.apk" + } + ], + "elementType": "File", + "baselineProfiles": [ + { + "minApi": 28, + "maxApi": 30, + "baselineProfiles": [ + "baselineProfiles/1/app-release.dm" + ] + }, + { + "minApi": 31, + "maxApi": 2147483647, + "baselineProfiles": [ + "baselineProfiles/0/app-release.dm" + ] + } + ], + "minSdkVersionForDexing": 24 +} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index d74d6d7..d552586 100644 --- a/src/App.vue +++ b/src/App.vue @@ -178,6 +178,12 @@ onMounted(async () => { sessionStorage.setItem('token', token) } + // Get cached worker data to retrieve username + const cachedWorkerData = await authService.getCachedWorkerData(autoLoginResult.userId); + if (cachedWorkerData && cachedWorkerData.username) { + sessionStorage.setItem('username', cachedWorkerData.username); + } + // Start native services await nativeServicesManager.onUserLogin() diff --git a/src/assets/main.css b/src/assets/main.css index 82cb921..c1fe388 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -100,3 +100,10 @@ padding-bottom: calc(var(--safe-area-inset-bottom) + 4rem); /* 4rem = bottom nav height */ } } + +/* Dark mode overrides */ +@layer base { + html.dark { + color-scheme: dark; + } +} diff --git a/src/locales/en.json b/src/locales/en.json index e096982..b86c15d 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -250,5 +250,14 @@ "workLocationTracking": "Work Location Tracking", "locationTrackingForAttendance": "Location tracking active for work attendance", - "monitoringLocation": "Monitoring location for work attendance" + "monitoringLocation": "Monitoring location for work attendance", + + "appInformation": "App Information", + "version": "Version", + "platform": "Platform", + "android": "Android", + "web": "Web", + "darkMode": "Dark Mode", + "enableDarkMode": "Enable dark mode", + "disableDarkMode": "Disable dark mode" } diff --git a/src/locales/ms.json b/src/locales/ms.json index f2cb7a3..b40fe9c 100644 --- a/src/locales/ms.json +++ b/src/locales/ms.json @@ -249,5 +249,14 @@ "workLocationTracking": "Penjejakan Lokasi Kerja", "locationTrackingForAttendance": "Penjejakan lokasi aktif untuk kehadiran kerja", "monitoringLocation": "Memantau lokasi untuk kehadiran kerja", - "failedToVerifyStatus": "Gagal untuk mengesahkan status semasa dari pelayan." + "failedToVerifyStatus": "Gagal untuk mengesahkan status semasa dari pelayan.", + + "appInformation": "Maklumat Aplikasi", + "version": "Versi", + "platform": "Platform", + "android": "Android", + "web": "Web", + "darkMode": "Mod Gelap", + "enableDarkMode": "Aktifkan mod gelap", + "disableDarkMode": "Nyahaktifkan mod gelap" } diff --git a/src/services/authService.js b/src/services/authService.js index 059ac82..2af6b79 100644 --- a/src/services/authService.js +++ b/src/services/authService.js @@ -228,9 +228,9 @@ class AuthService { credentials ) - // Cache worker data + // Cache worker data including username if (decodedToken.role === 'worker') { - await this.cacheWorkerData(decodedToken.userId, { full_name: data.fullName }) + await this.cacheWorkerData(decodedToken.userId, { full_name: data.fullName, username: username }) } return { diff --git a/src/views/ChangePasswordView.vue b/src/views/ChangePasswordView.vue index fef5171..1212c69 100644 --- a/src/views/ChangePasswordView.vue +++ b/src/views/ChangePasswordView.vue @@ -1,5 +1,5 @@