Skip to content

Redesign sidebar with hierarchical navigation - #74

Merged
emnl51 merged 5 commits into
mainfrom
codex/redesign-sidebar-navigation
Aug 25, 2026
Merged

emnl51 merged 5 commits into
mainfrom
codex/redesign-sidebar-navigation

Conversation

@emnl51

@emnl51 emnl51 commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • turn Control Panel, Jobs, and Job Review into direct top-level workspace destinations
  • place related pages in compact collapsible submenus
  • make Settings and Administration explicit expandable groups
  • automatically expand the active group and preserve navigation search behavior
  • refine collapsed, mobile, active, hover, and keyboard-accessible states
  • update README, CHANGELOG, and UI regression tests

Validation

  • JavaScript parsed successfully with a syntax check
  • branch is based on current main (30edfe6)
  • repository CI, Docker build, and CodeQL checks will run on this PR

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 96f74dc624

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +12 to +15
assert "setGroupExpanded" in text
assert "jt-nav-primary-row" in text
assert "jt-nav-group-toggle" in text
assert "jt-nav-chevron" in text

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the remaining flat-navigation regression test

Running python -m pytest -q tests/test_jobs_workspace_ui.py tests/test_v16_responsive_ui.py now fails because test_v16_shell_has_searchable_flat_group_navigation_and_workspace_context still requires the removed const title=document.createElement('div') implementation. Update that existing test alongside these new hierarchy assertions so the repository test suite does not fail on the intentional redesign.

Useful? React with 👍 / 👎.

Comment thread app/ui-shell.js
.jt-nav-group{display:grid;gap:2px}.jt-nav-primary-row{display:flex;align-items:center;gap:2px}.jt-nav-primary-row>button[data-tab]{min-width:0;flex:1;font-weight:680}.jt-nav-group-toggle{font-weight:680!important}.jt-nav-expander{width:30px!important;min-width:30px!important;padding:0!important;justify-content:center!important;color:#77869d!important}.jt-nav-chevron{display:block;font-size:13px;transition:transform .16s ease}.jt-nav-group.is-open .jt-nav-chevron{transform:rotate(90deg)}
.jt-nav-group-panel{display:none;gap:1px;margin:1px 0 5px 30px;padding-left:9px;border-left:1px solid rgba(148,163,184,.16)}.jt-nav-group.is-open>.jt-nav-group-panel{display:grid}.jt-nav-group-panel>button{min-height:34px;padding:6px 9px;font-size:12px;font-weight:520;border-radius:8px}.jt-nav-group-panel .jt-nav-icon{width:17px;font-size:11px}
.app.jt-collapsed .brand .jt-brand-text,.app.jt-collapsed .brand small,.app.jt-collapsed .jt-nav-label,.app.jt-collapsed .jt-group-label{display:none}.app.jt-collapsed .brand{padding-left:9px}.app.jt-collapsed .jt-brand-row{justify-content:center}.app.jt-collapsed .nav button{justify-content:center;padding-inline:8px}.app.jt-collapsed .jt-nav-icon,.app.jt-collapsed .jt-group-icon{font-size:15px}.app.jt-collapsed .jt-collapse{transform:rotate(180deg)}
.app.jt-collapsed .jt-nav-expander,.app.jt-collapsed .jt-nav-group-panel{display:none!important}.app.jt-collapsed .nav{gap:5px}.app.jt-collapsed .jt-nav-group{gap:1px}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore submenu access when opening the sidebar on mobile

When a user previously collapsed the desktop sidebar, jobtrack-sidebar-collapsed=1 reapplies jt-collapsed on a later mobile-sized visit, but this !important rule hides every submenu and primary-row expander while the mobile layout also hides the collapse control. As a result, destinations such as Applications, Intelligence, and Learning cannot be opened from their groups on mobile; clear the collapsed state for mobile navigation or override these visibility rules in the mobile media query.

Useful? React with 👍 / 👎.

Comment thread app/ui-shell.js
Comment on lines +259 to 260
const groupLabel=(GROUPS.find(item=>item.key===group.dataset.group)?.label||'').toLowerCase();let visible=0;
group.querySelectorAll('button[data-tab]').forEach(button=>{const show=!query||groupLabel.includes(query)||button.textContent.toLowerCase().includes(query);button.hidden=!show;if(show){visible++;matches++}});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Search localized navigation group labels

With the interface set to Turkish, translateInterface() changes visible group names such as Settings and Administration to “Ayarlar” and “Yönetim,” but navigation search now compares only the English labels stored in GROUPS. Searching for either visible Turkish group name therefore reports no matching pages because none of its child labels contains that term; derive the searchable group label from the rendered/localized text instead.

Useful? React with 👍 / 👎.

@emnl51
emnl51 merged commit ae64fd6 into main Aug 25, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant