added token storage in a store, and improved layout on mobile

This commit is contained in:
2025-12-15 16:24:30 +01:00
parent d6a26c0d09
commit 0714088d4b
17 changed files with 170 additions and 154 deletions

29
src-tauri/Cargo.lock generated
View File

@@ -444,6 +444,7 @@ dependencies = [
"tauri",
"tauri-build",
"tauri-plugin-opener",
"tauri-plugin-store",
]
[[package]]
@@ -3642,6 +3643,22 @@ dependencies = [
"zbus",
]
[[package]]
name = "tauri-plugin-store"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59a77036340a97eb5bbe1b3209c31e5f27f75e6f92a52fd9dd4b211ef08bf310"
dependencies = [
"dunce",
"serde",
"serde_json",
"tauri",
"tauri-plugin",
"thiserror 2.0.17",
"tokio",
"tracing",
]
[[package]]
name = "tauri-runtime"
version = "2.9.2"
@@ -3859,9 +3876,21 @@ dependencies = [
"mio",
"pin-project-lite",
"socket2",
"tokio-macros",
"windows-sys 0.61.2",
]
[[package]]
name = "tokio-macros"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.111",
]
[[package]]
name = "tokio-util"
version = "0.7.17"

View File

@@ -22,4 +22,5 @@ tauri = { version = "2", features = [] }
tauri-plugin-opener = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tauri-plugin-store = "2"

View File

@@ -7,6 +7,7 @@
],
"permissions": [
"core:default",
"opener:default"
"opener:default",
"store:default"
]
}
}

View File

@@ -2,10 +2,33 @@ package com.strawberries.chatapp
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsControllerCompat
class MainActivity : TauriActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
// Allow content to extend under the system bars
WindowCompat.setDecorFitsSystemWindows(window, false)
// Make status and navigation bars transparent
window.statusBarColor = android.graphics.Color.TRANSPARENT
window.navigationBarColor = android.graphics.Color.TRANSPARENT
// Get the insets controller
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
// Set system bar icons to light (white)
// false = dark background → light icons
insetsController.isAppearanceLightStatusBars = false
insetsController.isAppearanceLightNavigationBars = false
// Optional: handle display cutout (notch)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
window.attributes.layoutInDisplayCutoutMode =
android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
}
}
}

View File

@@ -7,6 +7,7 @@ fn greet(name: &str) -> String {
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_store::Builder::new().build())
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())