Frontmatter
| id | 8387 |
| title | Refactor Portal TabContainers to use Shared Base Class and Styling |
| state | Closed |
| labels | designairefactoring |
| assignees | tobiu |
| createdAt | Jan 7, 2026, 4:07 PM |
| updatedAt | Jan 7, 2026, 4:11 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8387 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 7, 2026, 4:10 PM |
Refactor Portal TabContainers to use Shared Base Class and Styling

tobiu
Jan 7, 2026, 4:10 PM
Input from Gemini 3 Pro:
✦ Refactoring complete.
- Created
apps/portal/view/shared/TabContainer.mjsas the base class.- Moved and updated SCSS to
resources/scss/src/apps/portal/shared/TabContainer.scss.- Updated
ExamplesandNewstab 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
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:
apps/portal/view/shared/TabContainer.mjs.Neo.tab.Container.baseCls: ['portal-shared-tab-container', 'neo-tab-container'](changed fromclstobaseCls).tabBarPosition: 'left'.examples/TabContainer.scsstoshared/TabContainer.scssand update selectors to.portal-shared-tab-container.Portal.view.examples.TabContainerto extend the shared class.Portal.view.news.TabContainerto extend the shared class.tabBarPosition: 'left'andbaseCls/clsfrom subclasses as they are inherited.headerToolbarconfigs in subclasses to use the shared styling class.portal-shared-tab-header-toolbar.