From 7fb8206107f5eb177aaa99f921565d27cfc764c7 Mon Sep 17 00:00:00 2001
From: tapframe <85391825+tapframe@users.noreply.github.com>
Date: Wed, 22 Jul 2026 23:38:10 +0530
Subject: [PATCH] feat(tracking): redesign tracking settings
---
.../simkl/SimklBrandPainter.android.kt | 15 +
.../res/drawable/simkl_logo_glyph.xml | 22 +
.../res/drawable/simkl_logo_wordmark.xml | 13 +
.../drawable/simkl_logo_glyph.svg | 1 +
.../drawable/simkl_logo_wordmark.svg | 1 +
.../drawable/trakt_logo_wordmark.svg | 2 +-
.../composeResources/values/strings.xml | 16 +-
.../features/settings/SettingsComponents.kt | 20 +-
.../settings/TrackingAdaptivePicker.kt | 255 ++++
.../settings/TrackingProviderCards.kt | 765 ++++++++++
.../features/settings/TrackingSettingsPage.kt | 1288 +++++------------
.../app/features/simkl/SimklBrandPainter.kt | 12 +
.../TrackingSettingsPresentationTest.kt | 64 +
.../features/simkl/SimklBrandPainter.ios.kt | 15 +
14 files changed, 1581 insertions(+), 908 deletions(-)
create mode 100644 composeApp/src/androidMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.android.kt
create mode 100644 composeApp/src/androidMain/res/drawable/simkl_logo_glyph.xml
create mode 100644 composeApp/src/androidMain/res/drawable/simkl_logo_wordmark.xml
create mode 100644 composeApp/src/commonMain/composeResources/drawable/simkl_logo_glyph.svg
create mode 100644 composeApp/src/commonMain/composeResources/drawable/simkl_logo_wordmark.svg
create mode 100644 composeApp/src/commonMain/kotlin/com/nuvio/app/features/settings/TrackingAdaptivePicker.kt
create mode 100644 composeApp/src/commonMain/kotlin/com/nuvio/app/features/settings/TrackingProviderCards.kt
create mode 100644 composeApp/src/commonMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.kt
create mode 100644 composeApp/src/commonTest/kotlin/com/nuvio/app/features/settings/TrackingSettingsPresentationTest.kt
create mode 100644 composeApp/src/iosMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.ios.kt
diff --git a/composeApp/src/androidMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.android.kt b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.android.kt
new file mode 100644
index 000000000..a2ccc03ca
--- /dev/null
+++ b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/simkl/SimklBrandPainter.android.kt
@@ -0,0 +1,15 @@
+package com.nuvio.app.features.simkl
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.graphics.painter.Painter
+import androidx.compose.ui.res.painterResource
+import com.nuvio.app.R
+
+@Composable
+actual fun simklBrandPainter(asset: SimklBrandAsset): Painter =
+ painterResource(
+ id = when (asset) {
+ SimklBrandAsset.Glyph -> R.drawable.simkl_logo_glyph
+ SimklBrandAsset.Wordmark -> R.drawable.simkl_logo_wordmark
+ },
+ )
diff --git a/composeApp/src/androidMain/res/drawable/simkl_logo_glyph.xml b/composeApp/src/androidMain/res/drawable/simkl_logo_glyph.xml
new file mode 100644
index 000000000..f53fead9b
--- /dev/null
+++ b/composeApp/src/androidMain/res/drawable/simkl_logo_glyph.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/composeApp/src/androidMain/res/drawable/simkl_logo_wordmark.xml b/composeApp/src/androidMain/res/drawable/simkl_logo_wordmark.xml
new file mode 100644
index 000000000..e1d934ccd
--- /dev/null
+++ b/composeApp/src/androidMain/res/drawable/simkl_logo_wordmark.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/simkl_logo_glyph.svg b/composeApp/src/commonMain/composeResources/drawable/simkl_logo_glyph.svg
new file mode 100644
index 000000000..e16507c24
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/simkl_logo_glyph.svg
@@ -0,0 +1 @@
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/simkl_logo_wordmark.svg b/composeApp/src/commonMain/composeResources/drawable/simkl_logo_wordmark.svg
new file mode 100644
index 000000000..3860c4563
--- /dev/null
+++ b/composeApp/src/commonMain/composeResources/drawable/simkl_logo_wordmark.svg
@@ -0,0 +1 @@
+
diff --git a/composeApp/src/commonMain/composeResources/drawable/trakt_logo_wordmark.svg b/composeApp/src/commonMain/composeResources/drawable/trakt_logo_wordmark.svg
index 15d12e906..b7ecf23f1 100644
--- a/composeApp/src/commonMain/composeResources/drawable/trakt_logo_wordmark.svg
+++ b/composeApp/src/commonMain/composeResources/drawable/trakt_logo_wordmark.svg
@@ -1,4 +1,4 @@
-