.vbw-planning/milestones/ui-fixes-and-smart-scraping/phases/01-ui-polish-and-bug-fixes/01-PLAN.md
Create migration to add dismissed_at (datetime, nullable) to the import_histories table.
Files:
db/migrate/TIMESTAMP_add_dismissed_at_to_import_histories.rbAcceptance:
dismissed_at column (datetime, null: true)Add a route and controller action to dismiss an import history record. Use RESTful pattern: PATCH /import_histories/:id/dismiss or a nested resource.
Files:
config/routes.rb — add route for dismissalapp/controllers/source_monitor/import_history_dismissals_controller.rb — PATCH action sets dismissed_at and responds with Turbo Streamtest/controllers/source_monitor/import_history_dismissals_controller_test.rbDetails:
dismissed_at = Time.current, savesturbo_stream.remove("source_monitor_import_history_panel")Add a dismiss/close button to the import history panel that triggers the dismissal endpoint via Turbo Stream.
Files:
app/views/source_monitor/sources/_import_history_panel.html.erbDetails:
button_to with method: :patch targeting the dismissal endpointdata: { turbo_stream: true } for inline removalUpdate the sources controller to exclude dismissed import histories from the query.
Files:
app/models/source_monitor/import_history.rb — add not_dismissed scopeapp/controllers/source_monitor/sources_controller.rb:45 — chain .not_dismissed or .where(dismissed_at: nil)test/models/source_monitor/import_history_dismissed_test.rbAcceptance: