split core_components.ex #539

Open
opened 2026-06-15 22:21:57 +02:00 by moritz · 0 comments
Owner

Motivation

lib/mv_web/components/core_components.ex is a 1460-LOC component grab-bag with 41 incoming dependencies — a
recompilation hub and a navigation cost. Split into focused component modules.

Scope (ordered steps, CI green each)

  • Step 1: extract the Table components.
  • Step 2: extract the Form / Input components.
  • Step 3: extract the Dropdown / Feedback components.
  • Keep the MvWeb :html import surface identical so every template still resolves; move one component group
    per step.

Acceptance criteria

  • core_components.ex materially thinner; faster recompiles; clearer component ownership.
  • The MvWeb :html import surface unchanged; all templates resolve.
  • just ci-dev green after each step.

Caveat

A missed re-export breaks many templates at once — verify the import surface after each step.

## Motivation `lib/mv_web/components/core_components.ex` is a 1460-LOC component grab-bag with 41 incoming dependencies — a recompilation hub and a navigation cost. Split into focused component modules. ## Scope (ordered steps, CI green each) - Step 1: extract the Table components. - Step 2: extract the Form / Input components. - Step 3: extract the Dropdown / Feedback components. - Keep the `MvWeb` `:html` import surface **identical** so every template still resolves; move one component group per step. ## Acceptance criteria - `core_components.ex` materially thinner; faster recompiles; clearer component ownership. - The `MvWeb` `:html` import surface unchanged; all templates resolve. - `just ci-dev` green after each step. ## Caveat A missed re-export breaks many templates at once — verify the import surface after each step.
moritz added this to the Code and Test Refactoring | TI I milestone 2026-06-15 22:21:57 +02:00
moritz added this to the Sprint 18: Juli 2026 project 2026-06-15 22:21:57 +02:00
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: local-it/mitgliederverwaltung#539
No description provided.