diff --git a/.gitignore b/.gitignore index c7c498e..38f3f60 100644 --- a/.gitignore +++ b/.gitignore @@ -78,4 +78,7 @@ freeline_project_description.json .claude/ # ATL (AI tooling local config) -.atl/ \ No newline at end of file +.atl/ + +# CodeGraph index +.codegraph/ \ No newline at end of file diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index c102ccf..a2bcd27 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -172,8 +172,13 @@ android { enableAndroidTestCoverage = true } getByName("release") { - isMinifyEnabled = false + isMinifyEnabled = true + isShrinkResources = true signingConfig = signingConfigs.getByName("release") + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro", + ) } } diff --git a/composeApp/proguard-rules.pro b/composeApp/proguard-rules.pro new file mode 100644 index 0000000..89d3412 --- /dev/null +++ b/composeApp/proguard-rules.pro @@ -0,0 +1,12 @@ +# R8 rules for RandomBoxd (composeApp) +# +# The default proguard-android-optimize.txt handles Android components, +# Parcelable, enums and kotlinx-coroutines via bundled consumer rules. +# Room 2.7.2, kotlinx-serialization 1.9.0 and kotlin-reflect ship their own +# consumer rules. Koin 4.x resolves definitions by direct class reference +# (::singleOf/viewModelOf/koinViewModel()), which R8 retains automatically, +# so no blanket rules are needed for it. +# +# Compose Multiplatform resources are accessed statically (Res.string.xxx) and +# resolved by asset path at runtime, so R8 retains the referenced members. + diff --git a/composeApp/src/commonMain/composeResources/values-ar/strings.xml b/composeApp/src/commonMain/composeResources/values-ar/strings.xml index 79614f2..ab6a98e 100644 --- a/composeApp/src/commonMain/composeResources/values-ar/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-ar/strings.xml @@ -17,6 +17,7 @@ جرب: اسم المستخدم أو اسم المستخدم/اسم القائمة اضغط مطولاً على إرسال أو الوسوم لوضع متعدد المستخدمين استخدم زر النوع لتصفية النتائج حسب النوع + يمكنك الآن مشاهدة سجل اختياراتك بالضغط على زر السجل RandomBoxd لا تواجه صعوبة في اختيار الفيلم مرة أخرى احصل على اقتراحات أفلام عشوائية من قوائم المراقبة والقوائم المخصصة على Letterboxd. مثالي لأمسيات الأفلام! diff --git a/composeApp/src/commonMain/composeResources/values-ca/strings.xml b/composeApp/src/commonMain/composeResources/values-ca/strings.xml index 9940e90..d5164ef 100644 --- a/composeApp/src/commonMain/composeResources/values-ca/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-ca/strings.xml @@ -17,6 +17,7 @@ Prova: usuari o usuari/nom-llista Mantén premut Envia o les etiquetes per al mode multiusuari Usa el botó Gènere per filtrar resultats per gènere + Ara pots veure el teu historial de seleccions prement el botó Historial RandomBoxd No tornis a tenir problemes per triar pel·lícula Obtén suggeriments de pel·lícules aleatòries de les teves llistes de seguiment i llistes personalitzades de Letterboxd. Perfecte per a nits de cinema! diff --git a/composeApp/src/commonMain/composeResources/values-de/strings.xml b/composeApp/src/commonMain/composeResources/values-de/strings.xml index 3b3dba8..21a174a 100644 --- a/composeApp/src/commonMain/composeResources/values-de/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-de/strings.xml @@ -17,6 +17,7 @@ Versuche: Benutzername oder Benutzername/Listenname Gedrückt halten auf „Senden" oder Tags für den Mehrbenutzermodus Nutze den Genre-Button, um Ergebnisse nach Genre zu filtern + Jetzt kannst du deine Auswahlhistorie ansehen, indem du auf den Verlauf-Button drückst RandomBoxd Nie wieder Schwierigkeiten bei der Filmauswahl Erhalte zufällige Filmvorschläge aus deinen Letterboxd-Watchlists und benutzerdefinierten Listen. Perfekt für Filmabende! diff --git a/composeApp/src/commonMain/composeResources/values-es/strings.xml b/composeApp/src/commonMain/composeResources/values-es/strings.xml index 9a7d612..f51bebc 100644 --- a/composeApp/src/commonMain/composeResources/values-es/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-es/strings.xml @@ -17,6 +17,7 @@ Prueba: usuario o usuario/nombre-lista Mantén pulsado Buscar o etiquetas para modo multiusuario Usa el botón Género para filtrar los resultados por género + Ahora puedes ver tu historial de selecciones pulsando el botón Historial RandomBoxd No vuelvas a tener problemas para elegir película Obtén sugerencias de películas aleatorias de tus listas de seguimiento y listas personalizadas de Letterboxd. ¡Perfecto para noches de cine! diff --git a/composeApp/src/commonMain/composeResources/values-fr/strings.xml b/composeApp/src/commonMain/composeResources/values-fr/strings.xml index 6080b35..01dc5e7 100644 --- a/composeApp/src/commonMain/composeResources/values-fr/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-fr/strings.xml @@ -17,6 +17,7 @@ Essayez : utilisateur ou utilisateur/nom-liste Appuyez longuement sur Envoyer ou sur les tags pour le mode multi-utilisateur Utilisez le bouton Genre pour filtrer les résultats par genre + Vous pouvez désormais consulter votre historique de sélections en appuyant sur le bouton Historique RandomBoxd Ne galérez plus jamais pour choisir un film Obtenez des suggestions de films aléatoires depuis vos listes de suivi et listes personnalisées Letterboxd. Parfait pour les soirées cinéma ! diff --git a/composeApp/src/commonMain/composeResources/values-gl/strings.xml b/composeApp/src/commonMain/composeResources/values-gl/strings.xml index 11988d4..e1c52a6 100644 --- a/composeApp/src/commonMain/composeResources/values-gl/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-gl/strings.xml @@ -17,6 +17,7 @@ Proba: usuario ou usuario/nome-lista Mantén premido Enviar ou as etiquetas para o modo multiusuario Usa o botón Xénero para filtrar os resultados por xénero + Agora podes ver o teu historial de seleccións premendo no botón Historial RandomBoxd Non volvas ter problemas para escoller película Obtén suxestións de películas aleatorias das túas listas de seguimento e listas personalizadas de Letterboxd. Perfecto para noites de cine! diff --git a/composeApp/src/commonMain/composeResources/values-hi/strings.xml b/composeApp/src/commonMain/composeResources/values-hi/strings.xml index e63d1ea..b572afc 100644 --- a/composeApp/src/commonMain/composeResources/values-hi/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-hi/strings.xml @@ -17,6 +17,7 @@ प्रयास करें: उपयोगकर्ता नाम या उपयोगकर्ता नाम/सूची-नाम बहु-उपयोगकर्ता मोड के लिए जमा करें या टैग को लंबे समय तक दबाएं शैली के आधार पर परिणामों को फ़िल्टर करने के लिए शैली बटन का उपयोग करें + अब आप इतिहास बटन दबाकर अपने चयनों का इतिहास देख सकते हैं RandomBoxd अब कभी भी फिल्म चुनने में संघर्ष न करें अपनी Letterboxd वॉचलिस्ट और कस्टम सूचियों से यादृच्छिक फिल्म सुझाव प्राप्त करें। फिल्म की रातों के लिए एकदम सही! diff --git a/composeApp/src/commonMain/composeResources/values-it/strings.xml b/composeApp/src/commonMain/composeResources/values-it/strings.xml index d9e584e..2c08e08 100644 --- a/composeApp/src/commonMain/composeResources/values-it/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-it/strings.xml @@ -17,6 +17,7 @@ Prova: utente o utente/nome-lista Tieni premuto Invia o i tag per la modalità multiutente Usa il pulsante Genere per filtrare i risultati per genere + Ora puoi vedere la tua cronologia delle selezioni premendo il pulsante Cronologia RandomBoxd Non avrai più difficoltà a scegliere un film Ottieni suggerimenti casuali di film dalle tue liste di visione e liste personalizzate di Letterboxd. Perfetto per le serate cinema! diff --git a/composeApp/src/commonMain/composeResources/values-ja/strings.xml b/composeApp/src/commonMain/composeResources/values-ja/strings.xml index 5039793..73d8315 100644 --- a/composeApp/src/commonMain/composeResources/values-ja/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-ja/strings.xml @@ -17,6 +17,7 @@ 試す:ユーザー名 または ユーザー名/リスト名 マルチユーザーモードにするには、送信またはタグを長押ししてください ジャンルボタンを使って結果をジャンルで絞り込めます + 履歴ボタンを押すと、これまでの選択履歴を確認できます RandomBoxd もう映画選びに迷わない Letterboxdのウォッチリストやカスタムリストからランダムな映画を提案します。映画の夜にぴったり! diff --git a/composeApp/src/commonMain/composeResources/values-pt/strings.xml b/composeApp/src/commonMain/composeResources/values-pt/strings.xml index 2f81bf4..7b727f3 100644 --- a/composeApp/src/commonMain/composeResources/values-pt/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-pt/strings.xml @@ -17,6 +17,7 @@ Tente: usuário ou usuário/nome-lista Pressione e segure Enviar ou as tags para o modo multiusuário Use o botão Gênero para filtrar os resultados por gênero + Agora você pode ver seu histórico de seleções pressionando o botão Histórico RandomBoxd Nunca mais tenha dificuldade em escolher um filme Receba sugestões aleatórias de filmes das suas listas de observação e listas personalizadas do Letterboxd. Perfeito para noites de cinema! diff --git a/composeApp/src/commonMain/composeResources/values-ru/strings.xml b/composeApp/src/commonMain/composeResources/values-ru/strings.xml index 3563da6..40f376d 100644 --- a/composeApp/src/commonMain/composeResources/values-ru/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-ru/strings.xml @@ -17,6 +17,7 @@ Попробуйте: имя_пользователя или имя_пользователя/название_списка Удерживайте «Отправить» или теги для многопользовательского режима Используйте кнопку «Жанр» для фильтрации результатов по жанру + Теперь вы можете просмотреть историю своих выборов, нажав кнопку «История» RandomBoxd Больше никаких проблем с выбором фильма Получайте случайные предложения фильмов из ваших списков просмотра и пользовательских списков Letterboxd. Идеально для киновечеров! diff --git a/composeApp/src/commonMain/composeResources/values-zh/strings.xml b/composeApp/src/commonMain/composeResources/values-zh/strings.xml index 078ccaf..55ca27c 100644 --- a/composeApp/src/commonMain/composeResources/values-zh/strings.xml +++ b/composeApp/src/commonMain/composeResources/values-zh/strings.xml @@ -17,6 +17,7 @@ 尝试:用户名 或 用户名/列表名 长按"提交"或标签以启用多用户模式 使用"类型"按钮按类型筛选结果 + 现在你可以点击历史记录按钮查看你的挑选记录 RandomBoxd 再也不用为选电影而烦恼 从您的 Letterboxd 想看列表和自定义列表中获取随机电影建议。非常适合电影之夜! diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml index 4a0178f..4ad2d4f 100644 --- a/composeApp/src/commonMain/composeResources/values/strings.xml +++ b/composeApp/src/commonMain/composeResources/values/strings.xml @@ -17,6 +17,7 @@ Try: username or username/list-name Long-press Submit or tags for multi-user mode Use the Genre button to filter results by genre + Now you can view your pick history by pressing the History button RandomBoxd Never struggle to pick a movie again Get random movie suggestions from your Letterboxd watchlists and custom lists. Perfect for movie nights! diff --git a/composeApp/src/commonMain/kotlin/com/nacchofer31/randomboxd/random_film/presentation/components/RandomFilmInfoView.kt b/composeApp/src/commonMain/kotlin/com/nacchofer31/randomboxd/random_film/presentation/components/RandomFilmInfoView.kt index cd8b42a..c92f23f 100644 --- a/composeApp/src/commonMain/kotlin/com/nacchofer31/randomboxd/random_film/presentation/components/RandomFilmInfoView.kt +++ b/composeApp/src/commonMain/kotlin/com/nacchofer31/randomboxd/random_film/presentation/components/RandomFilmInfoView.kt @@ -36,6 +36,7 @@ import randomboxd.composeapp.generated.resources.onboarding_new_badge import randomboxd.composeapp.generated.resources.ready_to_spin import randomboxd.composeapp.generated.resources.roulette_icon import randomboxd.composeapp.generated.resources.tip_genre_filter +import randomboxd.composeapp.generated.resources.tip_history import randomboxd.composeapp.generated.resources.tip_hold_submit import randomboxd.composeapp.generated.resources.tip_username_format @@ -123,9 +124,15 @@ fun RandomFilmInfoView() { text = stringResource(Res.string.tip_hold_submit), accentColor = RandomBoxdColors.OrangeAccent, ) + TipCard( + icon = "🎭", + text = stringResource(Res.string.tip_genre_filter), + accentColor = RandomBoxdColors.BlueAccent, + ) NewFeatureTipCard( + icon = "🕘", newBadge = stringResource(Res.string.onboarding_new_badge), - text = stringResource(Res.string.tip_genre_filter), + text = stringResource(Res.string.tip_history), ) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 617566c..e8d6b76 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -139,7 +139,6 @@ ktor = [ coil = [ "coil-compose", "coil-compose-core", - "coil-network-ktor2", "coil-network-ktor3", "coil-mp" ] \ No newline at end of file