Skip to content

feat(ui): redesign Explorer, toolbar, icons, and localization#219

Closed
ThisIs-Developer wants to merge 40 commits into
mainfrom
codex/document-management-sidebar
Closed

feat(ui): redesign Explorer, toolbar, icons, and localization#219
ThisIs-Developer wants to merge 40 commits into
mainfrom
codex/document-management-sidebar

Conversation

@ThisIs-Developer

@ThisIs-Developer ThisIs-Developer commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a closable Explorer with workspace, folder, file, drag-and-drop, favorites, multi-selection, context-menu, secret-workspace, and background-import workflows.
  • Preserves documents when tabs close, adds contextual close commands, and supports synchronized two-document split workflows.
  • Reorganizes the Markdown toolbar and standardizes the interface on a locally bundled Lucide icon subset with 1.5px strokes, while retaining the Bootstrap GitHub brand mark.
  • Refines the header, overlays, empty-document experience, status bar, mobile workspace drawer, desktop resources, and application-wide localization.
  • Organizes the repository into clear web asset, desktop source, build-script, generated-resource, documentation, worker, and platform-integration areas.

Codebase organization

  • Groups deployable browser assets under assets/css, assets/js, assets/images, assets/i18n, assets/examples, and assets/licenses.
  • Adds assets/README.md as a concise ownership map for future contributors.
  • Keeps platform-required entrypoints and configuration at the repository root while preserving the existing functions, workers, scripts, wiki, and locales boundaries.
  • Moves desktop-only source to desktop-app/src, type declarations to desktop-app/types, and build utilities to desktop-app/scripts.
  • Treats desktop-app/resources as generated output and removes committed copies of the web script, worker, stylesheet, images, and generated HTML.
  • Updates HTML, worker resolution, service-worker caching, manifest icons, locale generation, Docker packaging, Neutralino configuration, package scripts, and documentation to the canonical paths.
  • Gives the desktop Dockerfile its standard Dockerfile-specific ignore file and keeps the relocated welcome example in both web and container build contexts.

Complete interface localization

  • Adds versioned catalogs for English, Simplified Chinese, Traditional Chinese, Japanese, Korean, Portuguese, Spanish, French, German, Russian, Italian, Turkish, Polish, and Ukrainian.
  • Expands coverage from 702 to 1,029 interface strings per locale, including runtime-only dialogs, context menus, Explorer states, editor placeholders, review/import/share notices, PDF/image progress, validation feedback, hover titles, and ARIA labels.
  • Fixes every reported mixed-language state: Secret Workspace setup and lock actions, text-case labels, text direction, Reset confirmation, editor placeholder, Markdown alerts, Recent/Favorites empty states, PDF progress, and GitHub file selection.
  • Keeps Aa, AA, aa, heading symbols, and the match-case glyph as non-translatable control symbols; toolbar icons and their layout are unchanged.
  • Localizes dynamic counts and time units without leaking English words inside translated sentences.
  • Translates newly created and dynamically updated UI through a scoped MutationObserver without re-rendering the editor.
  • Keeps Markdown source, rendered preview content, user file names, user comments, GitHub tree names, and language autonyms outside automatic translation.
  • Protects Markdown Viewer and Markdown from incorrect literal translation and applies curated Korean, Simplified Chinese, Traditional Chinese, and German UI terminology.
  • Loads only the selected locale, caches it in memory, and retains offline desktop/service-worker support.
  • Extends the catalog generator to discover dynamic UI labels, update catalogs incrementally, remove stale keys, and preserve interpolation placeholders.

Explorer, tabs, imports, and toolbar

  • Workspace and folder rows toggle from the full row with pointer, Enter, or Space input while maintaining aria-expanded.
  • Files and folders support normal, Ctrl/Command, and Shift selection, keyboard context menus, safe bulk actions, and confirmed bulk deletion.
  • Removes redundant hover-only add controls and the redundant Open action from folder menus.
  • Creates/reuses a repository-named Workspace folder for GitHub imports, closes the import dialog on submission, and reports background progress in a compact toast.
  • New, Export, formatting, and application dropdowns share one visual and interaction system.
  • Document utilities, review controls, view modes, formatting, insert tools, Diagram & More, Share, Live Share, and Export retain their behavior.

Responsive UI and mobile follow-up

  • Replaces the floating mobile menu with a compact full-height workspace drawer using View, Document tools, and Actions hierarchy.
  • Keeps one mobile accordion section open, resets accordion state after dismissal, traps focus, restores the trigger, and supports backdrop/Escape/breakpoint closing.
  • Keeps mobile Sync, Copy, Review, Theme, Language, Private mode, and Reset synchronized with their desktop actions.
  • Gives disabled mobile actions clear visual and semantic states when no document is open.
  • Keeps the mobile tab strip, tab items, and Markdown formatting toolbar at the same 40px height.
  • Preserves the no-document guard and shared compact modal system across light/dark responsive layouts.

Icon system

  • Uses a local, dependency-free Lucide CSS-mask subset at a consistent 1.5px stroke with shared size and color tokens.
  • Live Share uses Lucide radio; Private mode uses hat-glasses; Reset workspace uses power.
  • The Bootstrap GitHub mark remains the sole brand-icon exception and its license is bundled locally.

Desktop build

  • Generates the Neutralino resource tree from the canonical web assets and desktop-app/src/main.js instead of maintaining duplicate tracked copies.
  • Copies all 14 locale catalogs into the offline desktop bundle.
  • Keeps setup, preparation, and standalone build commands stable through the updated package scripts.
  • Rebuilds seven standalone targets: Windows x64, macOS x64/arm64/universal, and Linux x64/arm64/armhf.

Validation

  • Catalog integrity: 1,029 keys × 14 catalogs, zero missing values, zero mismatched keys, and zero broken {{…}} placeholders.
  • Korean/Chinese screenshot-state browser checks: 3 passed.
  • Existing responsive/sidebar regression suites: 16 passed.
  • Core startup/editor/worker/import browser regression suite: 9 passed.
  • Static UI translation coverage audit: zero untranslated catalogued text nodes, placeholders, titles, or ARIA labels.
  • node --check assets/js/app.js — passed.
  • node --check assets/js/preview-worker.js — passed.
  • node --check desktop-app/scripts/*.js — passed.
  • npm run build — passed.
  • npm run setup in desktop-app — generated resources match their source files.
  • npm run build in desktop-app — seven standalone targets generated successfully after the restructure.
  • git diff --check — passed.

Commit messages

Conventional commit style is used throughout this pull request (feat, fix, style, refactor, and chore).

@vercel

vercel Bot commented Jul 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
markdown-viwer Ready Ready Preview, Comment Jul 19, 2026 8:59pm

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploying markdownviewer with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0b40acb
Status: ✅  Deploy successful!
Preview URL: https://32be9017.markdownviewer.pages.dev
Branch Preview URL: https://codex-document-management-si.markdownviewer.pages.dev

View logs

@gitguardian

gitguardian Bot commented Jul 17, 2026

Copy link
Copy Markdown

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@ThisIs-Developer ThisIs-Developer changed the title Add document management sidebar Add Files sidebar and encrypted Secret Workspace Jul 17, 2026
@ThisIs-Developer ThisIs-Developer changed the title Add Files sidebar and encrypted Secret Workspace Add Files sidebar, correct tab lifecycle, and modern editor toolbar Jul 17, 2026
@ThisIs-Developer ThisIs-Developer changed the title Add Files sidebar, correct tab lifecycle, and modern editor toolbar Add Files management, synchronized document split, and editor tools Jul 17, 2026
@ThisIs-Developer ThisIs-Developer changed the title Add Files management, synchronized document split, and editor tools Redesign Files workspace, split view, and Markdown tools Jul 17, 2026
@ThisIs-Developer
ThisIs-Developer force-pushed the codex/document-management-sidebar branch from 10b9d80 to a0a0ee2 Compare July 17, 2026 16:14
@ThisIs-Developer ThisIs-Developer changed the title Redesign Files workspace, split view, and Markdown tools Add Files management, synchronized document split, and editor tools Jul 17, 2026
@ThisIs-Developer ThisIs-Developer changed the title feat(ui): redesign Explorer, toolbar, and icon system feat(ui): redesign Explorer, toolbar, icons, and localization Jul 19, 2026
@ThisIs-Developer

Copy link
Copy Markdown
Owner Author

Superseded by #221 after the feature branch was renamed to codex/ui-explorer-toolbar-localization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant