tweak(ui): update action buttons design, interactions and stacking - #5294
tweak(ui): update action buttons design, interactions and stacking#5294ux-git wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughThe changes add a responsive ChangesUI standardization
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/features/congregation/settings/language_groups/group_add/group_members/index.tsx (1)
32-38: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd
disabledstate to primary buttons during processing.Although the click handlers in these files guard against concurrent executions with an early return, the primary buttons lack the
disabledproperty. This means they remain visually active and interactive whileisProcessingis true. For consistent UX and to match the behavior implemented in other dialogs (likeScheduleDelete), passdisabled={isProcessing}alongside the loading icon.
src/features/congregation/settings/language_groups/group_add/group_members/index.tsx#L32-L38: Adddisabled={isProcessing}to thetr_createGroupbutton.src/features/congregation/settings/language_groups/group_info/index.tsx#L72-L78: Adddisabled={isProcessing}to thetr_savebutton.src/features/contact/index.tsx#L88-L94: Adddisabled={isProcessing}to thetr_sendFeedbackbutton.src/features/meetings/midweek_export/index.tsx#L111-L117: Adddisabled={isProcessing}to thetr_exportbutton.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/features/congregation/settings/language_groups/group_add/group_members/index.tsx` around lines 32 - 38, Disable each primary processing button while its operation is active by adding disabled={isProcessing} alongside the loading icon: update the tr_createGroup button in src/features/congregation/settings/language_groups/group_add/group_members/index.tsx lines 32-38, the tr_save button in src/features/congregation/settings/language_groups/group_info/index.tsx lines 72-78, the tr_sendFeedback button in src/features/contact/index.tsx lines 88-94, and the tr_export button in src/features/meetings/midweek_export/index.tsx lines 111-117.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/button/index.tsx`:
- Around line 264-267: Update the base borderRadius logic in the button variant
styling to treat the group variant like the hover and active states, returning
'none' for group buttons while preserving the existing small and semi-white
radius behavior.
---
Nitpick comments:
In
`@src/features/congregation/settings/language_groups/group_add/group_members/index.tsx`:
- Around line 32-38: Disable each primary processing button while its operation
is active by adding disabled={isProcessing} alongside the loading icon: update
the tr_createGroup button in
src/features/congregation/settings/language_groups/group_add/group_members/index.tsx
lines 32-38, the tr_save button in
src/features/congregation/settings/language_groups/group_info/index.tsx lines
72-78, the tr_sendFeedback button in src/features/contact/index.tsx lines 88-94,
and the tr_export button in src/features/meetings/midweek_export/index.tsx lines
111-117.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: f7635922-29d9-4bbb-baa0-de9bbf5a88c1
📒 Files selected for processing (67)
src/components/button/index.tsxsrc/components/dialog_actions/index.tsxsrc/components/dialog_actions/index.types.tssrc/features/app_start/vip/terms_use/index.tsxsrc/features/congregation/app_access/join_requests/accept/index.tsxsrc/features/congregation/app_access/user_add/person_select/index.tsxsrc/features/congregation/app_access/user_details/delete_user/index.tsxsrc/features/congregation/app_access/user_details/invitation_code/delete_code/index.tsxsrc/features/congregation/field_service_groups/create_group/group_details/index.tsxsrc/features/congregation/field_service_groups/create_group/new_group_members/index.tsxsrc/features/congregation/field_service_groups/group_delete/index.tsxsrc/features/congregation/field_service_groups/group_edit/index.tsxsrc/features/congregation/field_service_groups/group_item/remove_person/index.tsxsrc/features/congregation/field_service_groups/groups_reorder/index.tsxsrc/features/congregation/settings/congregation_privacy/access_code_change/index.tsxsrc/features/congregation/settings/congregation_privacy/delete_congregation/index.tsxsrc/features/congregation/settings/congregation_privacy/master_key_change/index.tsxsrc/features/congregation/settings/import_export/confirm_import/index.tsxsrc/features/congregation/settings/import_export/export/index.tsxsrc/features/congregation/settings/language_groups/group_add/group_details/index.tsxsrc/features/congregation/settings/language_groups/group_add/group_members/index.tsxsrc/features/congregation/settings/language_groups/group_delete/index.tsxsrc/features/congregation/settings/language_groups/group_info/index.tsxsrc/features/contact/index.tsxsrc/features/dashboard/initial_setup/basic_settings/index.tsxsrc/features/dashboard/initial_setup/person_record/index.tsxsrc/features/demo/notice/index.tsxsrc/features/meetings/assignments_delete/index.tsxsrc/features/meetings/assignments_week_delete/index.tsxsrc/features/meetings/midweek_export/index.tsxsrc/features/meetings/monthly_view/add_custom_modal_window/index.tsxsrc/features/meetings/outgoing_talks/schedule_delete/index.tsxsrc/features/meetings/schedule_autofill/index.tsxsrc/features/meetings/schedule_publish/index.tsxsrc/features/meetings/weekend_editor/song_selector/index.tsxsrc/features/meetings/weekend_export/index.tsxsrc/features/ministry/report/form_S4/bible_studies/editor/index.tsxsrc/features/ministry/report/form_S4/submit_report/index.tsxsrc/features/ministry/report/form_S4/withdraw_report/index.tsxsrc/features/ministry/report/ministry_timer/add_time_dialog/index.tsxsrc/features/ministry/report/report_form_dialog/bible_study/index.tsxsrc/features/ministry/report/report_form_dialog/service_time/index.tsxsrc/features/my_profile/logout_confirm/index.tsxsrc/features/my_profile/security/delete_account/index.tsxsrc/features/my_profile/security/mfaDisable/index.tsxsrc/features/my_profile/security/mfaEnable/index.tsxsrc/features/persons/disqualify/index.tsxsrc/features/persons/import_export/confirm_import/index.tsxsrc/features/persons/import_export/export/index.tsxsrc/features/persons/list/person_delete/index.tsxsrc/features/persons/qualify/index.tsxsrc/features/persons/speakers_catalog/my_congregation/congregations_access/index.tsxsrc/features/persons/speakers_catalog/my_congregation/visibility_toggle/visibility_off/index.tsxsrc/features/persons/speakers_catalog/other_congregations/congregation_add/details/index.tsxsrc/features/persons/speakers_catalog/other_congregations/congregation_add/index.tsxsrc/features/persons/speakers_catalog/speaker_details/talks_songs/index.tsxsrc/features/quick_settings/index.tsxsrc/features/reports/branch_office/submit_report/index.tsxsrc/features/reports/branch_office/withdraw_report/index.tsxsrc/features/reports/publisher_records/export_S21/all_records/index.tsxsrc/features/reports/publisher_records/export_S21/specific_records/active_publishers/index.tsxsrc/features/reports/publisher_records/export_S21/specific_records/field_service_groups/index.tsxsrc/features/reports/publisher_records/export_S21/specific_records/inactive_publishers/index.tsxsrc/features/reports/publisher_records_details/report_details/index.tsxsrc/features/theme_switcher/themeChangeConfirm/index.tsxsrc/features/whats_new/buttons_action/index.tsxsrc/global/index.css
| borderRadius: | ||
| variant === 'small' || variant === 'semi-white' | ||
| ? 'var(--radius-m)' | ||
| : 'var(--radius-l)', |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix inconsistent border radius for group buttons.
The base borderRadius does not handle the group variant, unlike the :hover and :active states which explicitly set it to 'none'. This omission will cause group buttons to appear rounded in their default state and abruptly snap to square corners when hovered or pressed.
💚 Proposed fix to align the base border radius
borderRadius:
- variant === 'small' || variant === 'semi-white'
- ? 'var(--radius-m)'
- : 'var(--radius-l)',
+ variant === 'group'
+ ? 'none'
+ : variant === 'small' || variant === 'semi-white'
+ ? 'var(--radius-m)'
+ : 'var(--radius-l)',📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| borderRadius: | |
| variant === 'small' || variant === 'semi-white' | |
| ? 'var(--radius-m)' | |
| : 'var(--radius-l)', | |
| borderRadius: | |
| variant === 'group' | |
| ? 'none' | |
| : variant === 'small' || variant === 'semi-white' | |
| ? 'var(--radius-m)' | |
| : 'var(--radius-l)', |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/components/button/index.tsx` around lines 264 - 267, Update the base
borderRadius logic in the button variant styling to treat the group variant like
the hover and active states, returning 'none' for group buttons while preserving
the existing small and semi-white radius behavior.
|



Description
Refreshes the shared action buttons and unifies how dialog/popup action buttons are laid out across the app.
Buttons
--accent-main) with a white top-lit border, driven by a new theme-aware--accent-gradient-toptoken — an exact value for the default theme and an adaptive fallback for the others. Colored main buttons derive their own brighter top.--btn-hover-overlay, near-black in light themes, a softer dark-grey in dark themes); press adds a subtle scale-in. Colored main buttons keep their exact color on click (no dim).Dialog action buttons
DialogActionscomponent that standardizes the footer layout: on desktop the buttons form a single spaced row (secondary on the left, main on the right) with a stable minimum width; on mobile they stack full-width with the main button on top.Fixes # (issue)
Type of change
Checklist: