This commit is contained in:
Trey t
2025-11-07 22:02:52 -06:00
parent 992979f113
commit e271403d9b
12 changed files with 141 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
package com.mycrib.storage
import kotlinx.browser.localStorage
/**
* WASM implementation of TaskCacheManager using browser's localStorage.
*/
actual class TaskCacheManager {
actual fun saveTasks(tasksJson: String) {
localStorage.setItem(KEY_TASKS, tasksJson)
}
actual fun getTasks(): String? {
return localStorage.getItem(KEY_TASKS)
}
actual fun clearTasks() {
localStorage.removeItem(KEY_TASKS)
}
companion object {
private const val KEY_TASKS = "cached_tasks"
private var instance: TaskCacheManager? = null
fun getInstance(): TaskCacheManager {
if (instance == null) {
instance = TaskCacheManager()
}
return instance!!
}
}
}

View File

@@ -0,0 +1,5 @@
package com.mycrib.storage
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
return TaskCacheManager.getInstance()
}

View File

@@ -0,0 +1,33 @@
package com.mycrib.storage
import kotlinx.browser.localStorage
/**
* WASM implementation of TokenManager using browser's localStorage.
*/
actual class TokenManager {
actual fun saveToken(token: String) {
localStorage.setItem(KEY_TOKEN, token)
}
actual fun getToken(): String? {
return localStorage.getItem(KEY_TOKEN)
}
actual fun clearToken() {
localStorage.removeItem(KEY_TOKEN)
}
companion object {
private const val KEY_TOKEN = "auth_token"
private var instance: TokenManager? = null
fun getInstance(): TokenManager {
if (instance == null) {
instance = TokenManager()
}
return instance!!
}
}
}

View File

@@ -0,0 +1,5 @@
package com.mycrib.storage
internal actual fun getPlatformTokenManager(): TokenManager? {
return TokenManager.getInstance()
}