Merge all role-dispatcher pages into single files; add FileBrowser with file-type icons
- DashboardPage, Projects, RequestsPage, ProjectDetailPage, RequestDetail: each now handles team/external/client in one file via role flags — removed 10 old role-specific sub-files - Layout: client Company nav link goes directly to /company/:id when user has a single company - FileBrowser: replace emoji icons with colored extension-text badges (square); folder icon stays 📁; Adobe/Figma/design-tool colors for design files - CompaniesPage: merged team Companies + client company routing (single-company redirect, multi-company list) - FileSharing: integrated FileBrowser component - Removed: seafile API + lib, old ServerStatus, TaskDetail, role-split page files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+57
-7
@@ -131,7 +131,7 @@ body {
|
||||
top: 0;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border-radius: 20px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #333;
|
||||
background: transparent;
|
||||
color: var(--sidebar-text);
|
||||
@@ -161,7 +161,7 @@ body {
|
||||
|
||||
.sidebar-link {
|
||||
display: flex; align-items: center; gap: 10px;
|
||||
padding: 9px 12px; border-radius: 20px;
|
||||
padding: 9px 12px; border-radius: 4px;
|
||||
color: var(--sidebar-text); text-decoration: none;
|
||||
font-size: 13px; font-weight: 500;
|
||||
transition: background 0.15s, color 0.15s;
|
||||
@@ -185,7 +185,7 @@ body {
|
||||
.sidebar-theme-toggle {
|
||||
background: transparent;
|
||||
border: 1px solid #333;
|
||||
border-radius: 20px;
|
||||
border-radius: 4px;
|
||||
padding: 7px 10px;
|
||||
cursor: pointer;
|
||||
color: #888;
|
||||
@@ -615,7 +615,7 @@ body {
|
||||
|
||||
.file-row {
|
||||
display: grid;
|
||||
grid-template-columns: 34px minmax(260px, 1fr) minmax(90px, 120px) minmax(110px, 140px) minmax(170px, 190px);
|
||||
grid-template-columns: 34px minmax(180px, 2fr) minmax(90px, 120px) minmax(110px, 140px) minmax(220px, 1fr);
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
@@ -692,6 +692,7 @@ body {
|
||||
.file-meta {
|
||||
color: var(--text-secondary);
|
||||
font-size: 12px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.file-row-actions {
|
||||
@@ -700,6 +701,44 @@ body {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.file-action-btn {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
padding: 0;
|
||||
justify-content: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.btn-icon {
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 4px 6px;
|
||||
color: var(--text-secondary);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
font-family: inherit;
|
||||
font-size: 17px;
|
||||
line-height: 1;
|
||||
transition: color 0.15s, background 0.15s;
|
||||
}
|
||||
.btn-icon:hover:not(:disabled) {
|
||||
color: var(--text-primary);
|
||||
background: var(--interactive-row-hover);
|
||||
}
|
||||
.btn-icon:disabled {
|
||||
opacity: 0.4;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.btn-icon-danger {
|
||||
color: var(--danger);
|
||||
}
|
||||
.btn-icon-danger:hover:not(:disabled) {
|
||||
color: var(--danger);
|
||||
background: var(--interactive-row-hover);
|
||||
}
|
||||
|
||||
.file-drop-overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
@@ -764,7 +803,7 @@ body {
|
||||
}
|
||||
|
||||
.file-row {
|
||||
grid-template-columns: 34px minmax(220px, 1fr) 90px 110px 170px;
|
||||
grid-template-columns: 34px minmax(150px, 2fr) 90px 110px minmax(170px, 1fr);
|
||||
min-width: 700px;
|
||||
}
|
||||
}
|
||||
@@ -772,7 +811,7 @@ body {
|
||||
/* Buttons */
|
||||
.btn {
|
||||
display: inline-flex; align-items: center; gap: 6px;
|
||||
padding: 9px 18px; border-radius: 20px; font-size: 13px;
|
||||
padding: 9px 18px; border-radius: 4px; font-size: 13px;
|
||||
font-weight: 600; cursor: pointer; border: 1px solid transparent;
|
||||
transition: all 0.15s; text-decoration: none; white-space: nowrap;
|
||||
font-family: inherit; line-height: 1;
|
||||
@@ -998,6 +1037,17 @@ select option { background: #222; color: #fff; }
|
||||
color: var(--text-muted);
|
||||
}
|
||||
.request-toolbar-card { margin-bottom: 24px; }
|
||||
.filter-select {
|
||||
padding: 6px 10px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--border);
|
||||
background: var(--card-bg);
|
||||
color: var(--text);
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
width: 25%;
|
||||
min-width: 120px;
|
||||
}
|
||||
.request-toolbar-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
||||
@@ -1258,7 +1308,7 @@ select option { background: #222; color: #fff; }
|
||||
/* Tab bar */
|
||||
.tab-btn {
|
||||
padding: 6px 14px;
|
||||
border-radius: 20px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--border);
|
||||
background: transparent;
|
||||
color: var(--text-muted);
|
||||
|
||||
Reference in New Issue
Block a user