LearnNewsExamplesServices
Frontmatter
id8387
titleRefactor Portal TabContainers to use Shared Base Class and Styling
stateClosed
labels
designairefactoring
assigneestobiu
createdAtJan 7, 2026, 4:07 PM
updatedAtJan 7, 2026, 4:11 PM
githubUrlhttps://github.com/neomjs/neo/issues/8387
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 7, 2026, 4:10 PM

Refactor Portal TabContainers to use Shared Base Class and Styling

Closed v11.19.0 designairefactoring
tobiu
tobiu commented on Jan 7, 2026, 4:07 PM

To ensure consistent styling between the Examples and News sections of the Portal, we are refactoring them to share a common base class and SCSS file.

Changes:

  1. Shared Base Class: Create apps/portal/view/shared/TabContainer.mjs.
    • Extend Neo.tab.Container.
    • Use baseCls: ['portal-shared-tab-container', 'neo-tab-container'] (changed from cls to baseCls).
    • Set tabBarPosition: 'left'.
  2. Shared SCSS: Move examples/TabContainer.scss to shared/TabContainer.scss and update selectors to .portal-shared-tab-container.
  3. Refactor Subclasses:
    • Update Portal.view.examples.TabContainer to extend the shared class.
    • Update Portal.view.news.TabContainer to extend the shared class.
    • Remove tabBarPosition: 'left' and baseCls/cls from subclasses as they are inherited.
    • Update headerToolbar configs in subclasses to use the shared styling class .portal-shared-tab-header-toolbar.
tobiu added the design label on Jan 7, 2026, 4:07 PM
tobiu added the ai label on Jan 7, 2026, 4:07 PM
tobiu added the refactoring label on Jan 7, 2026, 4:07 PM
tobiu referenced in commit 5909075 - "refactor(portal): implement shared TabContainer base class and styling #8387" on Jan 7, 2026, 4:10 PM
tobiu
tobiu Jan 7, 2026, 4:10 PM

Input from Gemini 3 Pro:

✦ Refactoring complete.

  • Created apps/portal/view/shared/TabContainer.mjs as the base class.
  • Moved and updated SCSS to resources/scss/src/apps/portal/shared/TabContainer.scss.
  • Updated Examples and News tab containers to extend the shared class.
tobiu closed this issue on Jan 7, 2026, 4:10 PM
tobiu assigned to @tobiu on Jan 7, 2026, 4:11 PM