feat: add theme system, branding, and task logging

- Add light/dark/system theme toggle in settings
- Add DearDiary.io branding in navbar
- Add task logging for journal generation with request/response
- Rename project from TotalRecall to DearDiary
- Update Docker configuration
This commit is contained in:
lotherk
2026-03-26 20:03:52 +00:00
parent 3f9bc1f484
commit a4e7132244
28 changed files with 487 additions and 47 deletions

View File

@@ -4,11 +4,11 @@ plugins {
}
android {
namespace = "com.totalrecall"
namespace = "com.deardiary"
compileSdk = 34
defaultConfig {
applicationId = "com.totalrecall"
applicationId = "com.deardiary"
minSdk = 26
targetSdk = 34
versionCode = 1

View File

@@ -18,12 +18,12 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.TotalRecall"
android:theme="@style/Theme.DearDiary"
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
android:exported="true"
android:theme="@style/Theme.TotalRecall">
android:theme="@style/Theme.DearDiary">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

View File

@@ -1,4 +1,4 @@
package com.totalrecall
package com.deardiary
import android.os.Bundle
import androidx.activity.ComponentActivity
@@ -8,8 +8,8 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import com.totalrecall.ui.AppNavigation
import com.totalrecall.ui.TotalRecallTheme
import com.deardiary.ui.AppNavigation
import com.deardiary.ui.TotalRecallTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {

View File

@@ -1,4 +1,4 @@
package com.totalrecall.api
package com.deardiary.api
import com.google.gson.Gson
import com.google.gson.annotations.SerializedName

View File

@@ -1,4 +1,4 @@
package com.totalrecall.repository
package com.deardiary.repository
import android.content.Context
import androidx.datastore.core.DataStore
@@ -6,7 +6,7 @@ import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import com.totalrecall.api.*
import com.deardiary.api.*
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "totalrecall")

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui
package com.deardiary.ui
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
@@ -10,12 +10,12 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.totalrecall.ui.auth.AuthScreen
import com.totalrecall.ui.history.HistoryScreen
import com.totalrecall.ui.home.HomeScreen
import com.totalrecall.ui.journal.JournalScreen
import com.totalrecall.ui.settings.SettingsScreen
import com.totalrecall.viewmodel.MainViewModel
import com.deardiary.ui.auth.AuthScreen
import com.deardiary.ui.history.HistoryScreen
import com.deardiary.ui.home.HomeScreen
import com.deardiary.ui.journal.JournalScreen
import com.deardiary.ui.settings.SettingsScreen
import com.deardiary.viewmodel.MainViewModel
import kotlinx.coroutines.launch
sealed class Screen(val route: String) {

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui
package com.deardiary.ui
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.*

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui.auth
package com.deardiary.ui.auth
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.KeyboardOptions
@@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import com.totalrecall.viewmodel.UiState
import com.deardiary.viewmodel.UiState
@Composable
fun AuthScreen(

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui.history
package com.deardiary.ui.history
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@@ -12,7 +12,7 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.totalrecall.api.DayInfo
import com.deardiary.api.DayInfo
import java.text.SimpleDateFormat
import java.util.*

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui.home
package com.deardiary.ui.home
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
@@ -11,8 +11,8 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.totalrecall.api.DayResponse
import com.totalrecall.api.Entry
import com.deardiary.api.DayResponse
import com.deardiary.api.Entry
import java.text.SimpleDateFormat
import java.util.*

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui.journal
package com.deardiary.ui.journal
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -12,7 +12,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.totalrecall.api.Journal
import com.deardiary.api.Journal
import java.text.SimpleDateFormat
import java.util.*

View File

@@ -1,4 +1,4 @@
package com.totalrecall.ui.settings
package com.deardiary.ui.settings
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
@@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.unit.dp
import com.totalrecall.api.Settings
import com.deardiary.api.Settings
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View File

@@ -1,11 +1,11 @@
package com.totalrecall.viewmodel
package com.deardiary.viewmodel
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import com.totalrecall.BuildConfig
import com.totalrecall.api.*
import com.totalrecall.repository.Repository
import com.deardiary.BuildConfig
import com.deardiary.api.*
import com.deardiary.repository.Repository
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TotalRecall</string>
<string name="app_name">DearDiary</string>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.TotalRecall" parent="android:Theme.Material.Light.NoActionBar">
<style name="Theme.DearDiary" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:statusBarColor">@color/black</item>
</style>
</resources>