Commit Graph

300 Commits

Author SHA1 Message Date
Simon Orzel 1505c1b12f feat: timeline changes 2025-07-17 02:53:25 +02:00
Simon Orzel 98b2103286 feat: working 2025-07-17 02:25:24 +02:00
Simon Orzel 9fa9f406fe feat: splits working code 2025-07-17 01:59:39 +02:00
Simon Orzel 0d2894feda feat: working z indexing and borders 2025-07-17 01:13:38 +02:00
Simon Orzel 6ff4bcd093 feat: starts to refactor timeline 2025-07-16 23:31:51 +02:00
Maze Winther 87dd275e57 fix: no more rounded corners in preview 2025-07-16 21:05:28 +02:00
Anwarul Islam 4e7b088647 fix: make tab bar container full width 2025-07-16 23:35:11 +06:00
Maze Winther 218625b61a feat: advance snapping 2025-07-16 17:44:44 +02:00
Maze Winther c1c4b114eb fix: snapping for both directions (left/right) 2025-07-16 17:38:29 +02:00
Maze Winther 8bc26539eb cleanup (this doesn't work) 2025-07-16 14:37:08 +02:00
Maze Winther 49d467cd83 Merge branch 'staging' into pr/vishesh711/284 2025-07-16 13:38:26 +02:00
Maze Winther a7e23ec714 media drag overlay cleanup 2025-07-16 12:22:09 +02:00
Maze Winther 63d5b2f110 Merge branch 'feat/media-button' into staging 2025-07-16 12:04:09 +02:00
Maze Winther 446745a33c cleanup 2025-07-16 12:03:44 +02:00
Simon Orzel f76169ada1 feat: refactors media drag overlay and media tab 2025-07-16 00:48:00 +02:00
vishesh711 13db27c173 fix: resolve TypeScript build errors and deployment blockers
- Fix missing lucide-react icon imports in type declarations
  - Add 40+ missing icon exports (Loader2, ExternalLink, Type, etc.)
  - Fix ArrowLeft → ChevronLeft imports in auth pages
  - Resolve LucideIcon type declaration issue

- Fix invalid Button variant 'ghost' → 'text' in KeyboardShortcutsHelp

- Ensure project builds successfully with Bun package manager
- Address CodeRabbit review feedback for production readiness

These fixes resolve all TypeScript compilation errors and make the
project fully deployment-ready. Build now passes with zero errors.
2025-07-15 12:58:04 -04:00
vishesh711 d3204f6cd7 feat: Add comprehensive keyboard shortcuts system for video editor
- Implement industry-standard video editing shortcuts (Space, J/K/L, arrows)
- Add playback controls: Space (play/pause), J/K/L (rewind/pause/forward)
- Add navigation: arrow keys (frame stepping), Shift+arrows (5s jumps), Home/End
- Add editing shortcuts: S (split at playhead), N (toggle snapping)
- Add selection shortcuts: Ctrl/Cmd+A (select all), Ctrl/Cmd+D (duplicate)
- Add keyboard shortcuts help dialog with categorized shortcuts display
- Integrate help button in editor header for discoverability
- Add TypeScript type declarations for better development experience
- Fix Docker build environment variable validation issues

All shortcuts follow professional video editing standards (Avid/Premiere/Final Cut).
Context-aware shortcuts that don't interfere with text input fields.
Toast notifications provide user feedback for better UX.
2025-07-15 12:36:53 -04:00
Maze Winther 3a8d57921e feat: add lock icon toggle for snapping functionality 2025-07-15 17:41:10 +02:00
Maze Winther 7a725ecd09 cleanup 2025-07-15 17:29:28 +02:00
Maze Winther a32ffb601a Merge branch 'feat/thumbnail-appearance' into staging 2025-07-15 17:07:21 +02:00
Maze Winther dc0e4783fb cleanup 2025-07-15 16:55:04 +02:00
Maze Winther fdeddbe3ed Merge branch 'feature/plus-button-timeline' into staging 2025-07-15 16:28:08 +02:00
Maze Winther 1fdf2a0515 cleanup 2025-07-15 14:16:54 +02:00
Anwarul Islam e3cb491a29 feat: add snap point notification to TimelineTrackContent for improved snapping feedback 2025-07-15 07:06:29 +06:00
Anwarul Islam 2cc25b70d5 feat: enhance snapping functionality by adding snap point handling in Timeline component 2025-07-15 07:03:36 +06:00
Anwarul Islam 59f4098f75 refactor: remove keyboard shortcuts for better integration later 2025-07-15 04:32:36 +06:00
Anwarul Islam 1106aeeb60 feat: integrate snapping functionality into timeline track component 2025-07-15 04:27:19 +06:00
Anwarul Islam af632d8cc5 feat: add snapping functionality and controls to timeline component 2025-07-15 04:27:12 +06:00
Anwarul Islam 4de81796a3 feat: add SnapIndicator component for timeline snapping visualization 2025-07-15 04:23:45 +06:00
Anwarul Islam d53321ec36 fix: enhance media tile display with aspect ratio adjustments and overlay borders 2025-07-15 00:42:19 +06:00
Anwarul Islam 2c941b1585 fix: optimize media thumbnail display by removing tiling utility and using CSS background instead 2025-07-15 00:12:01 +06:00
Anwarul Islam c628b5a8ee fix improve timeline element visual display by tiling repeating media thumbnails 2025-07-14 23:53:11 +06:00
Anwarul Islam 1e64bc4abd fix improve timeline element visual display 2025-07-14 23:49:48 +06:00
Maze Winther 0309f9cf08 refactor: comment 2025-07-14 19:48:12 +02:00
ni-zav ffb254c339
Merge branch 'OpenCut-app:main' into refactor/move-add-button 2025-07-14 23:43:34 +07:00
Maze Winther 416511084a fix: drag media to timeline 2025-07-14 18:06:11 +02:00
Nizav acd42a29f6 refactor: move the add button below the placeholder text 2025-07-14 22:46:28 +07:00
ahmedfahim21 03b3c952c7 feat: click to add to timeline 2025-07-13 00:59:54 +05:30
Maze Winther 233f78bf52 Merge remote-tracking branch 'anwarulislam/feat/fix-scroll' 2025-07-12 15:44:33 +02:00
Maze Winther 8545d95070 refactor: add FPS and remove turbopack (yes, fuck you turbopack) 2025-07-12 12:48:31 +02:00
Maze Winther 0726c27221 small change 2025-07-12 11:52:54 +02:00
Maze Winther 2de4c7c153 feat: remove playback speed from timeline 2025-07-12 11:45:43 +02:00
Anwarul Islam 6ecc359d80 chore: clean up 2025-07-11 20:02:09 +06:00
Anwarul Islam 4d8760d0e1 refactor: enhance scroll synchronization for timeline and track labels 2025-07-11 19:58:35 +06:00
Maze Winther 4d67e366ad feat: background settings (color, blur) 2025-07-11 03:52:39 +02:00
Maze Winther 6c19dbb6bb feat: selection box 2025-07-11 01:37:42 +02:00
Maze Winther d643a9a277 small refactor 2025-07-11 00:57:09 +02:00
Maze Winther 92d534760d fix: ensure element doesn't go above playhead 2025-07-11 00:50:33 +02:00
Maze Winther 4880e3b10c fix: allow real-time playhead on ruler and cursor change 2025-07-11 00:48:17 +02:00
Maze Winther 3a241d9112 feat: improve playhead 2025-07-11 00:25:07 +02:00
Maze Winther bb65d4fb96 refactor: timeline playhead component and hook 2025-07-10 23:55:08 +02:00
Maze Winther eabcdb0988 fix: preview image scaling 2025-07-10 23:45:59 +02:00
Maze Winther c86d200297 fix: increase max text size to 300 2025-07-10 23:22:57 +02:00
Maze Winther 3d6786a587 fix: make text scale based on preview size 2025-07-10 23:22:40 +02:00
Maze Winther f43021e994 background 2025-07-10 22:40:01 +02:00
Maze Winther 4fc14947ad fix: tailwind class 2025-07-10 22:21:09 +02:00
Maze Winther 7ec9167aeb refactor: new font picker component 2025-07-10 21:52:46 +02:00
Maze Winther f984f615ce style: text area bg 2025-07-10 21:49:27 +02:00
Maze Winther fe6492f359 refactor: separate property item component 2025-07-10 21:48:26 +02:00
Maze Winther ed4e9dad19 style: padding 2025-07-10 21:39:11 +02:00
Maze Winther eadd6940e4 feat: font size to text panel 2025-07-10 21:37:44 +02:00
Maze Winther 0acead5bb1 refactor: move properties to dedicated folder 2025-07-10 21:24:47 +02:00
Maze Winther 445d01fc8f font size 2025-07-10 21:14:33 +02:00
Maze Winther e8b0057cc4 feat: initial fonts support 2025-07-10 20:53:58 +02:00
Maze Winther 1376bee16d fix: improve element dragging (can drag outside timeline without it breaking) 2025-07-10 20:10:01 +02:00
Maze Winther 0223c34a1e fix: timestamp different widths 2025-07-10 19:58:03 +02:00
Maze Winther 44f504f401 style: timestamp 2025-07-10 19:56:54 +02:00
Maze Winther 4d0c3268cc style: properties panel text area 2025-07-10 19:44:24 +02:00
Maze Winther 2fe67febd6 complete 1459cd 2025-07-10 14:30:12 +02:00
Maze Winther 3a34485cc7 style: text box in properties panel 2025-07-10 14:28:08 +02:00
Maze Winther 1459cd7232 feat: audio for playback 2025-07-10 14:23:13 +02:00
Maze Winther 8dd6f9a9b3 feat: add conditional rendering to properties panel with text change functionality 2025-07-09 23:59:39 +02:00
Maze Winther b6aa8e10d6 fix: improve keyboard event handling in timeline component 2025-07-09 23:25:08 +02:00
Maze Winther 059a4f4205 style: timeline tracks 2025-07-09 22:31:45 +02:00
Maze Winther f4fbdf14a9 style: text align 2025-07-09 22:17:54 +02:00
Maze Winther db8cd93a99 style: replace track color circle with icon in timeline 2025-07-09 22:17:05 +02:00
Maze Winther 53d6d0e1af fix: zoom on entire timeline 2025-07-09 22:07:25 +02:00
Maze Winther 3089fb0418 refactor: move timeline zoom to custom hook 2025-07-09 22:01:30 +02:00
Maze Winther 346368cf75 I FOUND THE C (removed it) 2025-07-09 21:54:52 +02:00
Maze Winther 5e1f780fff style: completely fresh ui in editor 2025-07-09 21:45:25 +02:00
Maze Winther 3d685f57dd fix: styling in preview 2025-07-09 21:07:42 +02:00
Maze Winther c02f276303 refactor: fresh properties panel 2025-07-09 21:03:56 +02:00
Maze Winther 813dbcb9c2 refactor: move timeline element context menu into timeline-element.tsx 2025-07-08 23:51:46 +02:00
Maze Winther 3ef17cecb4 refactor: centralize logic to zustand store 2025-07-08 22:51:42 +02:00
Maze Winther c60098987f fix: media item not right-clickable 2025-07-08 22:42:55 +02:00
Maze Winther 91d89f56d7 fix: don't render audio on preview 2025-07-08 20:54:05 +02:00
Maze Winther ea59cc3950 fix: ensure timeline clips can be extended to longer than 5s 2025-07-08 00:42:46 +02:00
Maze Winther c0cc4c009e fix: ensure preview toolbar is always at bottom 2025-07-08 00:10:31 +02:00
Maze Winther d750d7f41d shipping too hard 2025-07-08 00:07:22 +02:00
Maze Winther 9d2fd50fbc refactor: centralize track colors and timeline constants 2025-07-07 23:21:06 +02:00
Maze Winther d36df2fb62 refactor: remove element menu from timeline element component 2025-07-07 23:05:31 +02:00
Maze Winther f3763b8465 refactor: move element resize logic to react hook 2025-07-07 19:13:20 +02:00
Maze Winther bd0c7f2206 refactor: store media relative to project, add storage for timeline data, and other things 2025-07-07 19:06:36 +02:00
Maze Winther 6edd5b36cf feat: main track and ordering tracks 2025-07-06 22:51:11 +02:00
Maze Winther 40c7fbb4f8 refactor: move to a typed-tracks system and add support for text 2025-07-06 20:45:29 +02:00
Maze Winther d04ba1468e style: change border color for selected timeline clips from primary to foreground 2025-07-04 15:15:53 +02:00
Maze Winther 4728884931 refactor: new reusable draggable-item component and use it 2025-07-04 01:30:24 +02:00
Maze Winther 9dbfa980c2 fix: ensure selecting an already selected clip doesn't deselect it 2025-07-04 00:37:59 +02:00
Maze Winther 37d684748f refactor: replace div with Card component 2025-07-03 22:29:00 +02:00
Maze Winther b5af50b0d8 style: add select-none class to Default text in TextView component 2025-07-03 22:26:27 +02:00