Refactor: extract reusable settings row composables#272
Conversation
|
Good idea, but I don’t think this PR is ready yet. The settings row refactor itself makes sense, but this branch also includes the CORS / AI key security changes from PR271. That should not be in this PR if this one is only meant to extract SettingsRow / SettingsToggleRow. Also, the new SettingsRows.kt looks like it imports theme values from the wrong package: com.arflix.tv.ui.screens.settings.ArflixTypography Those should come from the theme/skin packages, otherwise this may not compile. Can you clean/rebase this branch so it only contains the SettingsRows refactor, fix the imports, and leave the CORS/AI-key changes in PR271? |
- Move SettingsRow and SettingsToggleRow to dedicated SettingsRows.kt component - Update SettingsScreen to use extracted components - Fix imports to use theme and skin packages instead of settings package
f86ef5a to
86ef729
Compare
|
Thanks for pointing that out. You’re right. This PR should only contain the SettingsRow / SettingsToggleRow refactor, and the CORS + AI key security changes should stay in PR271. I’ll clean up the branch and rebase so that this pR only includes the settings row extraction changes. I’ll push an updated version shortly with
Thanks again for the review |
|
Hey @ProdigyV21, It looks like the labels haven't been added yet, so the contribution is not being reflected on my profile. Could you please add the labels when you get a chance? Thank you for your help! |
Summary
This PR extracts shared settings row composables from
SettingsScreen.ktinto a reusable components file.The existing settings screen already contained reusable row abstractions (
SettingsRowandSettingsToggleRow) inside the large screen file. This refactor moves those shared primitives into theui/componentspackage without changing behavior or call-site usage.Changes Made
Added:
ui/components/SettingsRows.ktMoved:
SettingsRowSettingsToggleRowUpdated:
SettingsScreen.ktimports and referencesMotivation
The goal of this refactor is to:
SettingsScreen.ktsize/monolith complexityThe implementation intentionally preserves existing behavior and existing call-site usage.
Validation
Validated with:
No behavioral or UI changes were introduced.