diff --git a/app/templates/local_workspace.html b/app/templates/local_workspace.html index a21e589..b4aa79c 100644 --- a/app/templates/local_workspace.html +++ b/app/templates/local_workspace.html @@ -222,6 +222,40 @@ .ws-table-compact td{padding:5px 10px;border-bottom:1px solid var(--border);} .ws-table-compact tr:hover td{background:var(--bg-hover);} +/* Unified navigation bar */ +.unified-nav{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;margin-bottom:6px;flex-wrap:wrap;} +.nav-arrow{width:28px;height:28px;font-size:13px;flex-shrink:0;} +.unified-breadcrumb{flex:1;display:flex;align-items:center;gap:2px;min-width:0;font-size:13px;overflow:hidden;} +.unified-breadcrumb .bc-icon{font-size:15px;flex-shrink:0;} +.unified-breadcrumb .bc-root{color:var(--text-secondary);text-decoration:none;white-space:nowrap;font-weight:500;flex-shrink:0;} +.unified-breadcrumb .bc-root:hover{color:var(--accent);} +.unified-breadcrumb .bc-sep{color:var(--text-tertiary);margin:0 2px;flex-shrink:0;} +.unified-breadcrumb a{color:var(--text-secondary);text-decoration:none;white-space:nowrap;} +.unified-breadcrumb a:hover{color:var(--accent);} +.unified-breadcrumb .bc-current{color:var(--text);font-weight:600;} +.bc-edit-trigger{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;flex-shrink:0;opacity:.5;transition:opacity 150ms;} +.bc-edit-trigger:hover{opacity:1;color:var(--accent);background:var(--bg-hover);} +.bc-edit-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0;} +.bc-edit-input{width:200px;background:var(--bg);border:1px solid var(--accent);border-radius:5px;color:var(--text);font-size:12px;padding:3px 8px;outline:none;font-family:'Fira Code',monospace;} +.bc-edit-go{background:var(--accent);color:#fff;border:none;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:12px;} +.bc-edit-go:hover{opacity:.85;} +.unified-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap;} + +/* Search bar inline (in unified nav) */ +.search-bar-inline{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;min-width:140px;} +.search-bar-inline:focus-within{border-color:var(--accent);} +.search-bar-inline .search-icon{font-size:12px;color:var(--text-tertiary);} +.search-bar-inline .search-input{width:80px;background:none;border:none;color:var(--text);font-size:12px;outline:none;} +.search-bar-inline .search-input::placeholder{color:var(--text-tertiary);} +.search-bar-inline .search-clear{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;padding:0 2px;} +.search-bar-inline .search-clear:hover{color:var(--text);} + +/* Compact filter row */ +.filter-row{display:flex;align-items:center;gap:4px;padding:2px 0;margin-bottom:4px;flex-wrap:wrap;} +.filter-row .filter-chip{font-size:12px;padding:3px 8px;} +.filter-clear{font-size:11px;color:var(--text-tertiary);cursor:pointer;padding:2px 6px;border-radius:4px;} +.filter-clear:hover{color:var(--danger);background:var(--bg-hover);} + /* View selector */ .view-selector{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:8px;padding:2px;} .view-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-tertiary);transition:all 150ms;} @@ -310,56 +344,57 @@ - - - - -
- šŸ“‚ - - -
- -
-

šŸ“ {{ workspace_name }}

-

- šŸ“ -

-
- - + +
+ + +
+ šŸ“ + {{ workspace_name }} + + +
+ + +
+ +
+
- - - - - + + + + + +
+
+ šŸ” + +
- - - - + + + +
@@ -372,22 +407,16 @@
- - - -
- - - - - - + +
+ + + + + + + āœ• clear
    @@ -748,6 +777,7 @@ document.addEventListener('alpine:init', function() { currentFolder: {{ current_folder_id }}, searchQuery: '', filterType: '', + editingPath: false, folderStack: [], // Inline rename @@ -809,6 +839,15 @@ document.addEventListener('alpine:init', function() { await this._loadFolder(entry ? entry.id : 0); }, + startPathEdit() { + this.editingPath = true; + var self = this; + this.$nextTick(function() { + var inp = self.$refs.pathEdit; + if (inp) { inp.focus(); inp.select(); } + }); + }, + // Drag indicators dragCount: 0, dragOverParentId: null,