diff --git a/frontend/app.js b/frontend/app.js index bcecb0f..48814d1 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -60,6 +60,9 @@ function noteApp() { currentTheme: 'light', availableThemes: [], + // Icon rail / panel state + activePanel: 'files', // 'files', 'search', 'tags', 'settings' + // Folder state folderTree: [], allFolders: [], diff --git a/frontend/index.html b/frontend/index.html index 231fac3..694e958 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -519,6 +519,148 @@ opacity: 0.4; } + /* Icon Rail (VS Code-style navigation) */ + .icon-rail { + width: 44px; + min-width: 44px; + display: flex; + flex-direction: column; + align-items: center; + padding: 8px 0; + background-color: var(--bg-tertiary); + border-right: 1px solid var(--border-primary); + } + + .icon-rail-btn { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 8px; + margin-bottom: 4px; + cursor: pointer; + transition: background-color 0.15s ease, color 0.15s ease; + color: var(--text-tertiary); + background: transparent; + border: none; + } + + .icon-rail-btn:hover { + background-color: var(--bg-hover); + color: var(--text-primary); + } + + .icon-rail-btn.active { + background-color: var(--accent-light); + color: var(--accent-primary); + } + + .icon-rail-btn svg { + width: 20px; + height: 20px; + } + + .icon-rail-spacer { + flex: 1; + } + + .icon-rail-logo { + width: 28px; + height: 28px; + margin-bottom: 8px; + cursor: pointer; + opacity: 0.9; + transition: opacity 0.15s ease; + } + + .icon-rail-logo:hover { + opacity: 1; + } + + /* Sidebar panel (content area next to icon rail) */ + .sidebar-panel { + flex: 1; + display: flex; + flex-direction: column; + min-width: 0; + overflow: hidden; + } + + .sidebar-panel-header { + padding: 12px; + border-bottom: 1px solid var(--border-primary); + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-tertiary); + } + + .sidebar-panel-content { + flex: 1; + overflow-y: auto; + overflow-x: hidden; + } + + /* Mobile bottom tabs */ + @media (max-width: 768px) { + .icon-rail { + display: none; + } + + .mobile-bottom-tabs { + display: flex !important; + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 56px; + background-color: var(--bg-secondary); + border-top: 1px solid var(--border-primary); + z-index: 1001; + padding-bottom: env(safe-area-inset-bottom); + } + + .mobile-bottom-tab { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 2px; + color: var(--text-tertiary); + background: none; + border: none; + cursor: pointer; + transition: color 0.15s ease; + } + + .mobile-bottom-tab.active { + color: var(--accent-primary); + } + + .mobile-bottom-tab svg { + width: 22px; + height: 22px; + } + + .mobile-bottom-tab span { + font-size: 10px; + } + + /* Add padding to main content for bottom tabs */ + .main-content-mobile-padding { + padding-bottom: 56px; + } + } + + @media (min-width: 769px) { + .mobile-bottom-tabs { + display: none !important; + } + } + /* Scrollbar styling */ .custom-scrollbar::-webkit-scrollbar, .editor-textarea::-webkit-scrollbar, @@ -817,252 +959,125 @@
- +
- -
- - -
- - ๐Ÿ”’ - Logout - -
-
- - -
-
- - - + + +
+ + + - -
- -
- - -
-
-
- - -
- -
-
- - - - Tags - -
- - - -
- - -
- -
- -
- - -
- -
- - -
- No tags found. Add tags to notes using YAML frontmatter: -
-
-
- - -
+ + +
+ + + + + +
- -
- + + - -
- - -
- -
- -
+ - -
- notes - ยท - - ยท - - Website - + +
+ +
+ Search +
+ + +
+
+ + + + + +
+ + +
+ +
+ + +
+
+
+ + +
+ + + +
+ + + +
+ +
+ Tags + +
+ + +
+ +
+ + +
+ + +
+ + + +
+ + + +
+ +
+ Settings +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+
+ notes + ยท + +
+ + notediscovery.com + +
+
+ +
+
@@ -2023,6 +2230,61 @@
+ + +