[PR #6150] [MERGED] Extract schedule edit form into separate reusable component #125783

Closed
opened 2026-06-14 04:40:13 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6150
Author: @MatissJanis
Created: 11/15/2025
Status: ✅ Merged
Merged: 11/15/2025
Merged by: @MatissJanis

Base: master ← Head: matiss/extract-schedule-edit-form


📝 Commits (2)

  • dc630f2 Extract schedule edit form into separate reusable component
  • 48d01d6 Merge branch 'master' into matiss/extract-schedule-edit-form

📊 Changes

3 files changed (+553 additions, -446 deletions)

View changed files

➕ packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx (+514 -0)
📝 packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx (+33 -446)
➕ upcoming-release-notes/6150.md (+6 -0)

📄 Description

Summary

This PR extracts the schedule edit form from ScheduleEditModal into a separate reusable component ScheduleEditForm. This refactoring enables the form to be reused in other contexts, particularly for the mobile schedules page.

Changes

  • Created ScheduleEditForm.tsx: A new reusable component containing:

    • All form fields (name, payee, account, amount, date)
    • Transactions table with linked/matched mode switching
    • Footer buttons (Cancel/Save) with error display
    • NoTransactionsMessage component
  • Updated ScheduleEditModal.tsx:

    • Removed form UI code (moved to ScheduleEditForm)
    • Removed unused imports
    • Updated to use the new form component
    • Simplified onSave function signature

Benefits

  • Reusability: The form component can now be used in mobile views and other contexts
  • Separation of concerns: Modal handles state/logic, form handles UI
  • Maintainability: Form changes are isolated to a single component
  • Type safety: Shared types ensure consistency

Testing

  • ✅ All lint checks pass
  • ✅ Typecheck passes
  • ✅ No functionality changes - existing behavior preserved

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6150 **Author:** [@MatissJanis](https://github.com/MatissJanis) **Created:** 11/15/2025 **Status:** ✅ Merged **Merged:** 11/15/2025 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `matiss/extract-schedule-edit-form` --- ### 📝 Commits (2) - [`dc630f2`](https://github.com/actualbudget/actual/commit/dc630f26c97b0e333862386c020b7fc18f878734) Extract schedule edit form into separate reusable component - [`48d01d6`](https://github.com/actualbudget/actual/commit/48d01d6dc83699dc7c19bd0f0292a20789b249b7) Merge branch 'master' into matiss/extract-schedule-edit-form ### 📊 Changes **3 files changed** (+553 additions, -446 deletions) <details> <summary>View changed files</summary> ➕ `packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx` (+514 -0) 📝 `packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx` (+33 -446) ➕ `upcoming-release-notes/6150.md` (+6 -0) </details> ### 📄 Description ## Summary This PR extracts the schedule edit form from `ScheduleEditModal` into a separate reusable component `ScheduleEditForm`. This refactoring enables the form to be reused in other contexts, particularly for the mobile schedules page. ## Changes - **Created `ScheduleEditForm.tsx`**: A new reusable component containing: - All form fields (name, payee, account, amount, date) - Transactions table with linked/matched mode switching - Footer buttons (Cancel/Save) with error display - `NoTransactionsMessage` component - **Updated `ScheduleEditModal.tsx`**: - Removed form UI code (moved to `ScheduleEditForm`) - Removed unused imports - Updated to use the new form component - Simplified `onSave` function signature ## Benefits - **Reusability**: The form component can now be used in mobile views and other contexts - **Separation of concerns**: Modal handles state/logic, form handles UI - **Maintainability**: Form changes are isolated to a single component - **Type safety**: Shared types ensure consistency ## Testing - ✅ All lint checks pass - ✅ Typecheck passes - ✅ No functionality changes - existing behavior preserved --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-14 04:40:13 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#125783