feat: split Security Filters into a hub with per-category screens
Replaces the cramped single-screen layout (header settings + four tabs) with a hub that uses the same grouped-card pattern as AllSettingsScreen, plus a dedicated screen per blocked-content category. The tile control mix is also modernized: - "Show sensitive content" is now a 3-way SegmentedButton instead of a free-floating spinner sitting awkwardly next to switches. - Numeric prefs (report threshold, max hashtags) use a stepper (- / + ) instead of free OutlinedTextFields with no commit affordance. - The report-threshold tile renders inline under its toggle and dims when the toggle is off, instead of appearing/disappearing and shifting layout. - Each tile is a row with leading icon, title, description, trailing control - so the spinner/switch/stepper visual rhythm stays consistent. The hub's "Blocked content" section shows a count badge per category and routes to its own screen (Routes.BlockedUsers, SpammingUsers, HiddenWords, MutedThreads). The hidden-words screen now docks the "Add word" field as a bottom bar so it doesn't compete with the list for vertical space, and selection mode is scoped per-screen instead of shared across tabs.
This commit is contained in:
+1
@@ -178,6 +178,7 @@ object MaterialSymbols {
|
||||
val RadioButtonUnchecked = MaterialSymbol("\uE836")
|
||||
val Recommend = MaterialSymbol("\uE9D2")
|
||||
val Refresh = MaterialSymbol("\uE5D5")
|
||||
val Remove = MaterialSymbol("\uE15B")
|
||||
val RemoveCircleOutline = MaterialSymbol("\uF08F")
|
||||
val RemoveDone = MaterialSymbol("\uE9D3")
|
||||
val Replay = MaterialSymbol("\uE042")
|
||||
|
||||
Reference in New Issue
Block a user