Skip to content

Integrate WelcomeFeature into AppFeature + rewrite WelcomeView #144

@kirich1409

Description

@kirich1409

Epic: Welcome Screen (#139)

Task ID: T-3 · Wave: 2 · Complexity: M

Описание

Интегрировать WelcomeFeature в AppFeature routing и переписать WelcomeView на TCA.

  1. AppFeature.State.Route.welcome.welcome(WelcomeFeature.State)
  2. routeWelcome computed property (аналогично routeMain)
  3. Scope через .ifLet(\.routeWelcome, action: \.welcome)
  4. Delegate: .welcome(.delegate(.projectSelected(url))).openProject(url)
  5. Переписать WelcomeView: убрать @query, @Environment(.modelContext), ProjectRepository. Принимать StoreOf<WelcomeFeature>.
  6. RecentProjectRow принимает ProjectInfo вместо ProjectModel
  7. Default init: .welcome(WelcomeFeature.State())

Module: MacApp/Relay/AppFeature.swift, MacApp/Relay/AppRootView.swift, MacApp/Relay/Welcome/

Acceptance Criteria

  • AppFeature.Route.welcome(WelcomeFeature.State) компилируется
  • WelcomeView принимает StoreOf<WelcomeFeature>, не содержит @query / @Environment(.modelContext) / ProjectRepository
  • RecentProjectRow принимает ProjectInfo
  • Открытие проекта (recent + folder) end-to-end
  • Favorites toggle и удаление работают
  • Приложение стартует с Welcome Screen по умолчанию

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions