feat: Add reactions row settings (enable/disable, order, show/hide counters)

Add a new Reactions Settings screen that allows users to:
- Enable or disable each reaction button (Reply, Boost, Like, Zap, Share)
- Reorder reaction buttons with up/down arrows
- Show or hide the counter for each reaction type

Changes:
- AccountSyncedSettingsInternal: Add ReactionRowAction enum, ReactionRowItem
  data class, and reactionRowItems field to AccountReactionPreferencesInternal
- AccountSyncedSettings: Wrap reactionRowItems in MutableStateFlow
- AccountSettings/Account: Add changeReactionRowItems methods
- AccountViewModel: Add reactionRowItemsFlow() and changeReactionRowItems()
- ReactionsRow: Add showCounter param to BoostReaction, LikeReaction,
  ZapReaction, ReplyReaction variants; refactor GenericInnerReactionRow to
  render dynamically based on settings
- New ReactionsSettingsScreen with per-button enable/counter toggles and
  move-up/move-down ordering
- Routes, AppNavigation, AllSettingsScreen: wire up new settings screen

https://claude.ai/code/session_01QizUFfWDeKjLK2SuhanipJ
This commit is contained in:
Claude
2026-03-04 13:43:56 +00:00
parent fbbc506e84
commit d2d887a782
11 changed files with 451 additions and 52 deletions
+17
View File
@@ -1234,6 +1234,23 @@
<string name="change_reaction">Change Quick Reactions</string>
<string name="reactions_settings">Reactions Settings</string>
<string name="reactions_settings_description">Configure which reaction buttons are shown, their order, and whether to display counters.</string>
<string name="reactions_settings_enabled">Enabled</string>
<string name="reactions_settings_show_counter">Show Count</string>
<string name="reactions_settings_move_up">Move up</string>
<string name="reactions_settings_move_down">Move down</string>
<string name="reactions_settings_reply">Reply</string>
<string name="reactions_settings_reply_description">Reply to this note</string>
<string name="reactions_settings_boost">Boost</string>
<string name="reactions_settings_boost_description">Repost or quote this note</string>
<string name="reactions_settings_like">Like</string>
<string name="reactions_settings_like_description">React to this note with an emoji</string>
<string name="reactions_settings_zap">Zap</string>
<string name="reactions_settings_zap_description">Send a lightning payment to the author</string>
<string name="reactions_settings_share">Share</string>
<string name="reactions_settings_share_description">Share this note externally</string>
<string name="profile_image_of_user">Profile Picture of %1$s</string>
<string name="relay_info">Relay %1$s</string>
<string name="expand_relay_list">Expand relay list</string>