diff --git a/frontend/src/DesktopWorkspace.css b/frontend/src/DesktopWorkspace.css
index 352d31a..7c0192e 100644
--- a/frontend/src/DesktopWorkspace.css
+++ b/frontend/src/DesktopWorkspace.css
@@ -1,12 +1,12 @@
/* Desktop workspace styles */
-.skeuo-main {
+.desk-main {
flex: 1;
display: flex;
flex-direction: column;
min-height: 0;
}
-.skeuo-item {
+.desk-item {
position: absolute;
display: block;
width: auto;
@@ -18,7 +18,7 @@
will-change: transform;
}
-.skeuo-shell {
+.desk-shell {
flex: 1;
display: flex;
flex-direction: column;
@@ -27,14 +27,14 @@
position: relative;
}
-.skeuo-canvas {
+.desk-canvas {
flex: 1;
position: relative;
overflow: hidden;
margin: 0;
}
-.skeuo-empty {
+.desk-empty {
height: 100%;
display: flex;
align-items: center;
@@ -47,32 +47,32 @@
-.skeuo-item__body {
+.desk-item__body {
flex-grow: 1;
width: 100%;
height: 100%;
}
-.skeuo-item:focus-visible {
+.desk-item:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 4px;
}
-.skeuo-item.is-dragging {
+.desk-item.is-dragging {
cursor: grabbing;
transition: none;
}
-.skeuo-item.is-tag-target .skeuo-item__card {
+.desk-item.is-tag-target .desk-item__card {
outline: 0.35rem dashed var(--accent);
outline-offset: 0.35rem;
}
-.skeuo-item.is-tag-pending .skeuo-item__card {
+.desk-item.is-tag-pending .desk-item__card {
opacity: 0.6;
}
-.skeuo-item.is-filtered-out {
+.desk-item.is-filtered-out {
opacity: 0.12;
pointer-events: none;
filter: blur(15px) grayscale(100%);
@@ -80,7 +80,7 @@
z-index: 0 !important;
}
-.skeuo-item__tags {
+.desk-item__tags {
--tag-scale: 1;
position: absolute;
top: 0;
@@ -112,14 +112,14 @@
pointer-events: none;
}
-.skeuo-item__tags .tag-chip {
+.desk-item__tags .tag-chip {
font-size: 0.85rem;
padding: 0.18rem 0.55rem;
gap: 0.3rem;
}
-.skeuo-card__nav {
+.desk-card__nav {
position: absolute;
bottom: 1.8rem;
left: 50%;
@@ -132,12 +132,12 @@
transition: opacity 0.2s ease;
}
-.skeuo-item__card:hover .skeuo-card__nav {
+.desk-item__card:hover .desk-card__nav {
opacity: 1;
pointer-events: auto;
}
-.skeuo-card__nav-button {
+.desk-card__nav-button {
display: inline-flex;
align-items: center;
justify-content: center;
@@ -152,39 +152,39 @@
transition: background 0.15s ease, opacity 0.15s ease;
}
-.skeuo-card__nav-button:hover:not([disabled]) {
+.desk-card__nav-button:hover:not([disabled]) {
background: var(--preview-nav-bg-hover);
}
-.skeuo-card__nav-button:disabled {
+.desk-card__nav-button:disabled {
opacity: 0.4;
cursor: default;
}
-.skeuo-card__nav-button:focus-visible {
+.desk-card__nav-button:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
}
-.skeuo-card__nav-button svg {
+.desk-card__nav-button svg {
width: 100%;
height: 100%;
}
-.skeuo-item__tags .tag-chip--tear-pending {
+.desk-item__tags .tag-chip--tear-pending {
opacity: 0.35;
}
-body.skeuo-cursor-remove,
-body.skeuo-cursor-remove * {
+body.desk-cursor-remove,
+body.desk-cursor-remove * {
cursor: not-allowed !important;
}
-.skeuo-item__shadow {
+.desk-item__shadow {
display: none;
}
-.skeuo-item__card {
+.desk-item__card {
position: relative;
border-radius: 0;
display: flex;
@@ -196,14 +196,14 @@ body.skeuo-cursor-remove * {
overflow: hidden;
}
-.skeuo-item__card img {
+.desk-item__card img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
}
-.skeuo-item__card--empty {
+.desk-item__card--empty {
box-shadow: 0 12px 32px var(--shadow-medium);
background:
radial-gradient(circle at 42% 38%, color-mix(in oklch, var(--surface-subtle) 75%, var(--selection) 25%), color-mix(in oklch, var(--surface-subtle) 85%, var(--selection) 15%) 70%),
@@ -217,14 +217,14 @@ body.skeuo-cursor-remove * {
gap: 0.5rem;
}
-.skeuo-item__placeholder {
+.desk-item__placeholder {
font-size: 0.95rem;
font-weight: 500;
letter-spacing: normal;
color: var(--muted);
}
-.skeuo-item__empty {
+.desk-item__empty {
display: flex;
flex-direction: column;
align-items: center;
@@ -236,7 +236,7 @@ body.skeuo-cursor-remove * {
text-align: center;
}
-.skeuo-item__title {
+.desk-item__title {
font-size: 0.95rem;
font-weight: 500;
color: var(--fg);
diff --git a/frontend/src/DesktopWorkspace.jsx b/frontend/src/DesktopWorkspace.jsx
index ef9ed5b..6339f85 100644
--- a/frontend/src/DesktopWorkspace.jsx
+++ b/frontend/src/DesktopWorkspace.jsx
@@ -8,7 +8,8 @@ import React, {
} from 'react';
import { resolveDocumentAssetUrl, createAssetView } from './asset_manager';
import { useAssetNavigator } from './hooks/useAssetNavigator';
-import { ArrowLeftIcon, ArrowRightIcon, RefreshIcon } from './ui/icons';
+import { ArrowLeftIcon, ArrowRightIcon } from './ui/icons';
+import { createDocumentsTableHeaderActions } from './documents/DocumentsTable';
import { clamp, formatTransform } from './desktop/math';
import { preventAll } from './desktop/events';
import useDocumentDrag from './desktop/useDocumentDrag';
@@ -122,7 +123,7 @@ const readTransferData = (dataTransfer, mimeTypes) => {
}
} catch (error) {
if (DEBUG_DROP) {
- console.warn('[skeuo] readTransferData failed for type', type, error);
+ console.warn('[desk] readTransferData failed for type', type, error);
}
}
}
@@ -140,7 +141,7 @@ const parseTagTransferPayload = (event) => {
try {
return JSON.parse(raw);
} catch (error) {
- console.warn('[skeuo] parseTagTransferPayload failed', error);
+ console.warn('[desk] parseTagTransferPayload failed', error);
}
return null;
};
@@ -207,8 +208,8 @@ const DesktopPreviewCard = ({
onNavigatorSnapshot,
]);
const hasPreview = Boolean(currentUrl);
- const cardClasses = ['skeuo-item__card'];
- if (!hasPreview) cardClasses.push('skeuo-item__card--empty');
+ const cardClasses = ['desk-item__card'];
+ if (!hasPreview) cardClasses.push('desk-item__card--empty');
const showNav = hasPreview && (cardinality > 1 || canGoPrev || canGoNext);
return (
@@ -216,18 +217,18 @@ const DesktopPreviewCard = ({
{hasPreview ? (
) : (
-