Skip to content

Frontend: split monolithic single-file components into template/style/logic #114

Description

@pcastelo

Problem

6 frontend components are monolithic single-file components with inline templates (HTML), styles (CSS), and business logic mixed together. Largest: threescale-explorer.component.ts at 680 LOC.

Components to refactor

  • threescale-explorer.component.ts (680 LOC) — extract template, styles, and API logic to service
  • chat.component.ts (507 LOC) — extract template, styles, and chat service
  • dashboard.component.ts (473 LOC) — extract template, styles, and data service
  • audit-log.component.ts (351 LOC) — extract template, styles
  • settings.component.ts (316 LOC) — extract template, styles, and CRUD service

Acceptance criteria

  • Each component has separate .html, .scss, and .ts files
  • Business logic extracted to dedicated services
  • No component exceeds 200 LOC (excluding imports)
  • Deduplicate common CSS patterns (.page-header, .container, buttons) into shared styles

Metadata

Metadata

Assignees

No one assigned

    Labels

    clean-codeRefactoring and code qualityfrontendAngular frontendpriority:mediumPlan for next sprinttech-debtTechnical debt reduction

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions