LearnNewsExamplesServices
Frontmatter
id7049
titlePhase 1: Foundation and Basic Layout
stateClosed
labels
enhancement
assigneestobiu
createdAtJul 14, 2025, 4:21 PM
updatedAtJul 14, 2025, 4:57 PM
githubUrlhttps://github.com/neomjs/neo/issues/7049
authortobiu
commentsCount0
parentIssue7048
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJul 14, 2025, 4:57 PM

Phase 1: Foundation and Basic Layout

Closed v10.0.0-beta.6 enhancement
tobiu
tobiu commented on Jul 14, 2025, 4:21 PM

Phase 1: Foundation and Basic Layout (Completed)

Goal: Implement the main 3-pane layout as a functional MainView component and set it as the content of the existing classic Viewport.

Sub-Tasks:

  1. Create view/MainView.mjs:
    • Used defineComponent to create a new functional component.
    • Implemented a flexbox-based 3-pane layout (Folders, Email List, Email Detail).
  2. Update view/Viewport.mjs:
    • Configured the Viewport with layout: 'fit'.
    • Replaced the old TabContainer with the new MainView component as its single item.
  3. Cleanup:
    • Removed the stateProvider from the Viewport as it is not currently needed.

Learnings & Decisions:

  • Interoperability: Decided to keep the classic Viewport and embed the new functional MainView component within it. This is a pragmatic approach that leverages existing structures and showcases the interoperability between classic and functional components.
  • Naming: Renamed the main functional component from Main.mjs to MainView.mjs for better clarity and to align with the mainView config in app.mjs.
tobiu assigned to @tobiu on Jul 14, 2025, 4:21 PM
tobiu added the enhancement label on Jul 14, 2025, 4:21 PM
tobiu added parent issue #7048 on Jul 14, 2025, 4:21 PM
tobiu referenced in commit dcc6f58 - "Phase 1: Foundation and Basic Layout #7049" on Jul 14, 2025, 4:22 PM
tobiu closed this issue on Jul 14, 2025, 4:57 PM