feat: frame-based positioning and mark system foundation
Core Changes: - Fix SearchView to use start_frame/end_frame directly (no time*fps conversion) - Add hard_delete support to delete_trace API - VideoPlayer: Main timeline + Mark system foundation - Proxy: Add local routes for auth, media, identity-matches, cluster-results - Add .gitignore to exclude build artifacts and dependencies Design Documents: - Multi-track Mark system design (.opencode/plans/) - Video editing positioning standards research Files Modified: - src/views/SearchView.vue: Frame positioning, ensureMinDuration (240 frames) - src/views/PeopleView.vue: batchDeleteGroups with hard_delete - src/api/index.ts: delete_trace with hard_delete body - src/components/VideoPlayer.vue: Timeline + Mark UI - src-tauri/src/proxy.rs: New local routes - AGENTS.md: Update documentation
This commit is contained in:
@@ -1,15 +1,62 @@
|
||||
html, body {
|
||||
background-color: var(--background-color) !important;
|
||||
color: var(--text-primary);
|
||||
font-family: 'DM Sans', 'Noto Sans TC', -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:root {
|
||||
--primary-color: #2563eb;
|
||||
--primary-color-rgb: 37, 99, 235;
|
||||
--secondary-color: #64748b;
|
||||
--success-color: #22c55e;
|
||||
--warning-color: #f59e0b;
|
||||
--error-color: #ef4444;
|
||||
--background-color: #f8fafc;
|
||||
--card-background: #ffffff;
|
||||
--card-background: rgba(255, 255, 255, 0.88);
|
||||
--text-primary: #1e293b;
|
||||
--text-secondary: #64748b;
|
||||
--border-color: rgba(0, 0, 0, 0.08);
|
||||
--border-light: rgba(0, 0, 0, 0.05);
|
||||
--border-dark: rgba(0, 0, 0, 0.12);
|
||||
--hover-background: rgba(0, 0, 0, 0.04);
|
||||
--input-background: rgba(255, 255, 255, 0.95);
|
||||
--input-border: rgba(0, 0, 0, 0.1);
|
||||
--danger-color: #d93025;
|
||||
--danger-hover: #c5221f;
|
||||
--danger-background: rgba(217, 48, 37, 0.08);
|
||||
--success-text: #1e8e3e;
|
||||
--warning-text: #e37400;
|
||||
--muted-text: #9aa0a6;
|
||||
--border-radius: 8px;
|
||||
--shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
|
||||
--shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
[data-theme="dark"] {
|
||||
--primary-color: #3b82f6;
|
||||
--primary-color-rgb: 59, 130, 246;
|
||||
--secondary-color: #94a3b8;
|
||||
--success-color: #22c55e;
|
||||
--warning-color: #f59e0b;
|
||||
--error-color: #ef4444;
|
||||
--background-color: #0f172a;
|
||||
--card-background: rgba(30, 41, 59, 0.92);
|
||||
--text-primary: #e2e8f0;
|
||||
--text-secondary: #94a3b8;
|
||||
--border-color: rgba(51, 65, 85, 0.5);
|
||||
--border-light: rgba(51, 65, 85, 0.3);
|
||||
--border-dark: #475569;
|
||||
--hover-background: rgba(51, 65, 85, 0.4);
|
||||
--input-background: rgba(30, 41, 59, 0.95);
|
||||
--input-border: rgba(71, 85, 105, 0.5);
|
||||
--danger-color: #ef4444;
|
||||
--danger-hover: #dc2626;
|
||||
--danger-background: rgba(69, 10, 10, 0.4);
|
||||
--success-text: #22c55e;
|
||||
--warning-text: #f59e0b;
|
||||
--muted-text: #64748b;
|
||||
--border-radius: 8px;
|
||||
--shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
Reference in New Issue
Block a user