ui: shape simplified interface — hide reasoning, show projects
Nightly Build / build (push) Successful in 6m46s
Release / verify-version (pull_request) Successful in 3s
Release / release (pull_request) Has been skipped

This commit is contained in:
2026-07-23 18:03:28 +01:00
parent f1bae3e84f
commit 798e55951b
2 changed files with 16 additions and 5 deletions
+12 -2
View File
@@ -62,6 +62,11 @@ const GROUPS = [
const COLLAPSE_KEY = 'sidebar-collapsed';
// The projects NAV entry, surfaced in the simplified interface too (projects are
// membership-gated, not capability-gated, so a simple-mode member can own/share
// them just like anyone else).
const PROJECTS_NAV = NAV.find((i) => i.id === 'projects');
export class AppSidebar extends I18nMixin(LightElement) {
static properties = {
@@ -437,7 +442,8 @@ export class AppSidebar extends I18nMixin(LightElement) {
}
render() {
// Simplified interface (role attrs `ui_mode: "simple"`): chat + inbox only,
// Simplified interface (role attrs `ui_mode: "simple"`): chat, inbox and
// projects (self-service workspaces — membership-gated, not capability-gated),
// ungrouped. Hiding links is not access control — every route stays
// capability-gated server-side; this only shapes the nav for less technical
// members.
@@ -452,7 +458,11 @@ export class AppSidebar extends I18nMixin(LightElement) {
<nav class="sidebar-nav">
${simple
? html`${this._renderHome()}${this._renderInbox({ id: 'inbox' })}`
? html`
${this._renderHome()}
${this._renderInbox({ id: 'inbox' })}
${PROJECTS_NAV ? this._renderEntry({ kind: 'core', item: PROJECTS_NAV }) : nothing}
`
: GROUPS.map((g) => this._renderGroup(g))}
</nav>
`;