From 7de8347472f88f2f914b082c604832a12c10a010 Mon Sep 17 00:00:00 2001 From: Reece Date: Tue, 28 Oct 2025 14:39:11 +0000 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit f1901a2e563997b3db8bd1ee0a4c595a6f546316 Author: Reece Date: Mon Oct 27 18:23:27 2025 +0000 revert lint commit 09b0fbefcdc72635358f205dd63482682e4761c7 Author: Reece Date: Mon Oct 27 15:47:38 2025 +0000 Hide file names in posthog commit 3497ccd7bd7916b8ff52279f55a985e416a65e58 Author: Reece Date: Mon Oct 27 12:45:31 2025 +0000 remove page break settings modal commit 5e27dc88f813fd4d51c549384a237279f64195dc Author: Reece Date: Mon Oct 27 12:37:00 2025 +0000 retain interleaving commit b276eb5b68a4cbdb4667c02467b45e28de666dc8 Author: Reece Date: Mon Oct 27 11:32:31 2025 +0000 Lint commit aec1f97ff8936f51d49838e548899560e3338edb Author: Reece Date: Sat Oct 25 14:19:32 2025 +0100 - commit fbe2dc29583cde143afadc52fe2eebdd5305ed34 Author: Reece Date: Sat Oct 25 13:06:10 2025 +0100 Fixed file reordering placeholder commit aaae81c68ea70ec19ba5b5b7f170da859a804a6e Author: Reece Date: Fri Oct 24 15:57:30 2025 +0100 - commit 3aa77819f2a9531b89ad6e6321b9db02a875eeef Author: Reece Date: Fri Oct 24 15:54:30 2025 +0100 - commit 28dab07870d30702dc5c4c6a717404316d2ed09b Author: Reece Date: Fri Oct 24 15:51:37 2025 +0100 - commit ed6199de61958750395d30ef5ba75833e064ec9f Author: Reece Date: Fri Oct 24 15:51:29 2025 +0100 lint and revert onboarding commit 4d59ebfb2a697d0a1792405e4b3f0bceeb22e19c Author: Reece Date: Fri Oct 24 15:27:44 2025 +0100 fixed drag and drop when some files aren't selected in context commit ea4f37cccfaff8520fc805e332a6017549cce686 Author: Reece Date: Fri Oct 24 15:06:21 2025 +0100 Merge history change commit c25131ae9b5d3c0394061fec6fe529c72b05f5a0 Author: Reece Date: Fri Oct 24 14:48:14 2025 +0100 lint commit 25df9410cd1c72b1b0077ad90cc96640478385b4 Merge: 494f92421 848ff9688 Author: Reece Date: Fri Oct 24 14:33:27 2025 +0100 Merge branch 'V2' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/selected-pageeditor commit 494f92421f06f3eaf79f1e16b96ba4e1b604e163 Author: Reece Date: Fri Oct 24 13:28:50 2025 +0100 Enhance drag-and-drop functionality with new drop hint resolution and target index calculation; refactor file color mapping in PageEditor and implement dropdown state management for improved file handling. commit eef5dce849834ab68cdea1b09de3ad5da0f3d45b Author: Reece Date: Fri Oct 24 11:33:31 2025 +0100 Drag and drop improvements basic box select commit ddefe81082bfc0ef1485b482cb92fecdfe3ac7e1 Author: Reece Date: Thu Oct 23 20:46:58 2025 +0100 Enhance DragDropGrid and PageEditor with improved undo manager functionality and scroll handling during drag operations commit be037b727f0b8734be1653d359251dec49fdfb9a Author: Reece Date: Thu Oct 23 18:15:37 2025 +0100 File reorder logic commit 7a56f0504e6ea13775614fc7f01788c7045d4b4e Author: Reece Date: Tue Oct 21 17:35:55 2025 +0100 Refactor file handling to support StirlingFileStubs and improve drag-and-drop functionality commit f7c9855489c72042e76ed469458334a7f8347344 Author: Reece Date: Mon Oct 20 21:45:00 2025 +0100 glow scaling commit 36a358f9072a59389271c42f387586990b0f3eb2 Author: Reece Date: Mon Oct 20 21:25:44 2025 +0100 Visual tweaks commit 0bcb1810d66de35e1d75bc59e03449bf468d3b0b Author: Reece Date: Mon Oct 20 21:08:18 2025 +0100 tweak commit aee535214d0363d6986a88268db5b6fc4b40457a Author: Reece Date: Mon Oct 20 20:55:45 2025 +0100 Pretty lights commit 6d3154a7aed38aa6dafc97325a960c3940b2e01e Author: Reece Date: Mon Oct 20 20:44:48 2025 +0100 Update top bar controls visually commit 658ce2dab97f085b72759c2d8bbe7a737b559e84 Author: Reece Date: Mon Oct 20 18:45:14 2025 +0100 add file commit 15df5cf168697d243c9a1ff8150b05a607d20cea Author: Reece Date: Mon Oct 20 18:05:55 2025 +0100 - commit 23d7f381006cbe7b3b60fb8fd4213312b725b191 Author: Reece Date: Mon Oct 20 17:24:16 2025 +0100 lint commit 472fc2939e003cd637a1d1c6d88136e4e4214af7 Author: Reece Date: Mon Oct 20 15:56:54 2025 +0100 lint 2 commit a21047e8b0af30d7ecc398c01f8e8f5c32620504 Merge: 8ee03fa1c 3e23dc59b Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Mon Oct 20 15:52:23 2025 +0100 Merge branch 'V2' into feature/v2/selected-pageeditor commit 8ee03fa1c6317d864643c487df5c40251e2bfa88 Author: Reece Date: Mon Oct 20 15:50:14 2025 +0100 Lint commit a22913e1e404ab9d557d59501778da542dbc77fc Author: Reece Date: Mon Oct 20 14:16:41 2025 +0100 page editor fixes post merge commit b3c0c69a7cb13319ed63d6ebfc3f5f4654f2d42e Merge: 2289080f9 3e6236d95 Author: Reece Date: Mon Oct 20 13:42:08 2025 +0100 Merge branch 'V2' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/selected-pageeditor commit 2289080f9c588a6752a766fe7acb9dda6b3643a6 Author: Reece Date: Fri Oct 17 16:55:29 2025 +0100 remove buttons commit a5ec62fa08235e34692c60477790ee8526d18d9b Author: Reece Date: Fri Oct 17 15:24:05 2025 +0100 Performance improvements commit e7f7b7e201f43cefd289bf019c79bb4bb406fecc Author: Reece Date: Fri Oct 17 14:15:21 2025 +0100 improved commit 74e8388bce4ae16e4b001b321b72569d0dd32a20 Author: Reece Date: Wed Oct 15 21:33:54 2025 +0100 Working mostly commit e7c6db082cff2ea765f9d3b0e20b07f0832fec61 Author: Reece Date: Wed Oct 15 16:31:30 2025 +0100 Rejig arrays commit 05a71614122a75a8b4cd90214c3b0416300529aa Author: Reece Date: Wed Oct 15 00:01:30 2025 +0100 Structural tweaks commit 39267e795c61d26adedfa2d77e63786326e3d4fb Author: Reece Date: Tue Oct 14 12:41:50 2025 +0100 Reworked page editor - dirty commit commit 6acce968a57805908c2bb77f6d352d7052e8ee50 Author: Reece Date: Fri Oct 10 19:32:41 2025 +0100 fix 2 commit 0722ecc6c4fd202cb47a89261e3425311510bb4c Author: Reece Date: Fri Oct 10 19:27:15 2025 +0100 fix commit 3597a8b7bd8764b0f39b7ce35b1acaa14d3e2e2d Author: Reece Date: Fri Oct 10 19:16:04 2025 +0100 Initial set up commit c260394b9515d1ec58b1681d1af85258443ec1fc Author: Reece Date: Fri Oct 10 17:15:07 2025 +0100 Cleanup commit 93fcfb280a2ba2b89db98359e3b0a87349de825c Author: Reece Date: Fri Oct 10 17:09:36 2025 +0100 Remove logs tweak visuals, use fit text component commit 69cb8e7aecfb7c9a39675ffe7a81655f1c70c348 Author: Reece Date: Fri Oct 10 16:54:05 2025 +0100 Fix signwith tab based system commit 8e8e06628e8eaefa3dd4f5385f035caa92b25d4b Author: Reece Date: Fri Oct 10 15:57:41 2025 +0100 Nav based file select commit 5d3710260f8a26fe004f4f08ea31ce62a3683109 Author: Reece Date: Fri Oct 10 13:37:52 2025 +0100 Lint commit ad8789d82a15ebed26710a5324797fb1fe527e16 Author: Reece Date: Fri Oct 10 13:35:18 2025 +0100 remove file that came from nowhere commit 749966a197c874d58781eb2b8806f0fdd54f91c2 Author: Reece Date: Fri Oct 10 13:30:15 2025 +0100 Remove mantine theme commit d9e429aa3a6b894d99f8d5976641abf2f88fe713 Merge: ad0b6cf2d b695e3900 Author: Reece Date: Fri Oct 10 13:00:56 2025 +0100 Merge branch 'V2' of https://github.com/Stirling-Tools/Stirling-PDF into feature/V2/ViewerTabs commit ad0b6cf2d630bfd52a8271897fd63c6b0e674dcd Author: Reece Date: Fri Oct 10 12:55:03 2025 +0100 Viewer tabs, embed update and layout fixes commit b63f2c16a201251a13e99691f8b64c5391f54968 Author: Reece Date: Wed Oct 8 15:12:39 2025 +0100 Remove unused legacy text signing Linting errors commit edcc788d1a7951867593b608462fa9267755e7bb Merge: 5b47ab5bb fdba336c0 Author: Reece Date: Wed Oct 8 15:02:39 2025 +0100 Merge branch 'feature/v2/improve-sign' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/improve-sign commit 5b47ab5bbf435a6e064a6235b688471959635332 Author: Reece Date: Wed Oct 8 15:02:33 2025 +0100 Remove debug logs commit fdba336c05aba9499addc066fcfb766ec131388e Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Wed Oct 8 14:57:29 2025 +0100 Update frontend/src/components/annotation/shared/DrawingCanvas.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 5db6b85fb916be07ca36cb2f212d993e57ac93bc Merge: 70d941a40 13e88943b Author: Reece Date: Wed Oct 8 14:56:10 2025 +0100 Merge branch 'feature/v2/improve-sign' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/improve-sign commit 70d941a4000f4790dec61ed06e20d341ffedd220 Author: Reece Date: Wed Oct 8 14:55:43 2025 +0100 translations commit 13e88943b725f5eecf3fc22e2c286bbbbdda1dc8 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Wed Oct 8 14:55:04 2025 +0100 Update frontend/src/components/tools/sign/SignSettings.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 339e5cfb65b463efda4ab045304af20b48b572dc Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Wed Oct 8 14:54:31 2025 +0100 Update frontend/src/contexts/ViewerContext.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 10944d9d575807ebeeb689d89611c8629e356b0c Author: Reece Date: Wed Oct 8 14:45:39 2025 +0100 Remove debug logging commit 0c9f460fb618cfcd8d10e1365ef993b7dbfc3256 Author: Reece Date: Wed Oct 8 14:02:43 2025 +0100 Remove arbitrary timers commit fa6e01b46e0a8e47902db74e1c40893ef4609049 Author: Reece Date: Wed Oct 8 12:26:34 2025 +0100 Clean up commit 23f85d72675b1e5a88c232b2f0c8a9cdc663b3a8 Author: Reece Date: Tue Oct 7 22:40:58 2025 +0100 tweaks commit f6290c02387100a4f0941f37e6cdb80570e0dcdc Author: Reece Date: Tue Oct 7 21:52:40 2025 +0100 - Refactored signature saving process commit 991be9ffa2a72259c6a95b1fdcc0764aee063429 Author: Reece Date: Tue Oct 7 21:38:07 2025 +0100 Add text color and font size options to signature settings and API commit 07bf79f3eefcae71ac037db4185dc6c943bd0fd2 Author: Reece Date: Tue Oct 7 14:54:14 2025 +0100 Improved canvas mode with signaturepad.js commit 3a0acd0a2169685365f0bd08a9a55e1053020697 Author: Reece Date: Tue Oct 7 12:56:12 2025 +0100 Single canvas commit fff637286fde3e140d6a2053eeca7b7509e565e6 Author: Reece Date: Tue Oct 7 12:08:32 2025 +0100 Clean up annotation layer and signature API - Remove duplicate imports in LocalEmbedPDF - Remove duplicate setAnnotations state declaration - Rename enableSignature prop to enableAnnotations for consistency - Remove debug console.log statements from SignatureAPIBridge - Remove async image preloading wrapper (was debugging code) - Clean up formatting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude commit 8f94c8f57e4a7a1e5215052d9145a26cabc07144 Merge: 708a296f8 2a29bda34 Author: Reece Date: Mon Oct 6 22:25:30 2025 +0100 Merge branch 'V2' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/improve-sign commit 708a296f8d2316021a922f46ef8a5f0d28ca66a3 Author: Reece Date: Fri Sep 26 19:14:40 2025 +0100 Auto update canvas signature commit b486d1270e5f6a01efe3d032f4161ce6be7214c3 Author: Reece Date: Fri Sep 26 19:03:24 2025 +0100 Fix flicker on apply commit 80faf0bc1e9d17b59e5b291d7b6cf3c34b747a86 Author: Reece Date: Fri Sep 26 18:55:09 2025 +0100 - commit 6555a9554a4c3b6a834ae4765eb21ebd77a1a649 Author: Reece Date: Fri Sep 26 18:53:16 2025 +0100 Fix even more linting errors (Thanks James) commit fdee719c892f23b46fde23869ba932d39cc1448b Merge: 1be48c276 fd9fb9b97 Author: Reece Date: Fri Sep 26 18:14:42 2025 +0100 Merge branch 'feature/v2/sign' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/sign commit 1be48c276be8c36501cefda5dd636d5815dc7f3e Author: Reece Date: Fri Sep 26 18:12:13 2025 +0100 fix text infinite loop commit 2b6b7a8e1dd653b94db3c4c88b506c2d4ac81c4d Author: Reece Date: Fri Sep 26 18:04:01 2025 +0100 better error handling and killing logs commit fd9fb9b9722233e874f92eca6661503a834f5115 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Fri Sep 26 17:58:52 2025 +0100 Update frontend/src/hooks/tools/sign/useSignParameters.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit d8d61970087764bf027f95557fc110c55c356f3e Author: Reece Date: Fri Sep 26 17:48:41 2025 +0100 fix page count issue commit 1edd133e0996765087e6a02539bb13b97438e17b Author: Reece Date: Fri Sep 26 17:31:44 2025 +0100 license checker use commonJS commit 8685bf2a7c2ffde80302c66a8c55cea70d3a4a77 Author: Reece Date: Fri Sep 26 17:26:19 2025 +0100 gap commit 36475069de5e0549b5d00d6b08e0e88f59bfe627 Author: Reece Date: Fri Sep 26 17:23:16 2025 +0100 lint fix commit 3aa8572c9ee74ef52787310fadd35bacc4a0f1b5 Author: Reece Date: Fri Sep 26 17:16:17 2025 +0100 Fix suggestions commit 2e2d8477b9309c2f5c741b02727a5a90f31bd11c Author: Reece Date: Fri Sep 26 17:01:06 2025 +0100 Clean up commit 90880eddf9cf5041488c5427e1418634316507f2 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Fri Sep 26 16:51:19 2025 +0100 Update docker/frontend/nginx.conf Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 31fd6886dc1a43ce80f5fb70f334081a7edd8a01 Merge: 3fdbf425b abc0988fd Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Fri Sep 26 16:40:34 2025 +0100 Merge branch 'V2' into feature/v2/sign commit 3fdbf425b4e65d3407fa81bbe153d927fc6e6b45 Author: Reece Date: Fri Sep 26 16:39:38 2025 +0100 Fix lintineg errors commit 50e60d497241872b54a8e0237a92a40b50332bd2 Author: Reece Date: Fri Sep 26 16:27:52 2025 +0100 Simple export block commit a22330ebf42c3d53b22d2eb5d2be8c1f8c61623c Author: Reece Date: Fri Sep 26 16:09:20 2025 +0100 Only flatten current annotations commit 172f622c5fa708073321dd5a65f481fae8d2c2be Merge: cfd00b2c7 d82b958d9 Author: Reece Date: Fri Sep 26 15:10:54 2025 +0100 Merge branch 'feature/v2/sign' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/sign commit cfd00b2c7114b9e9e17028dcf0e80cd66787ce90 Author: Reece Date: Fri Sep 26 15:10:47 2025 +0100 Render signature to pdf commit d82b958d9f688196a4dda9f18d696fdecd50f623 Merge: c94ee388f 0bdc6466c Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Fri Sep 26 12:53:54 2025 +0100 Merge branch 'V2' into feature/v2/sign commit c94ee388fc4a67b2e089662615a4382b1aa56a53 Author: Reece Date: Fri Sep 26 12:47:32 2025 +0100 Restructure and bug fix commit aa5333dcd9020b82c5919f9532f85a38e4be102a Author: Reece Date: Fri Sep 26 03:23:59 2025 +0100 Change to button based placement to avoid performance issue on canvas commit a8265efff49e16339b1d64dca6fa9702884301c2 Author: Reece Date: Fri Sep 26 03:19:05 2025 +0100 Improved performance commit b9b425aba0954ac4372ab5ab7e032e739ae32549 Author: Reece Date: Fri Sep 26 02:18:47 2025 +0100 Fix undo/redo commit 51caad636c434e4729eda9e29a32d029e1b4f149 Author: Reece Date: Fri Sep 26 01:51:17 2025 +0100 Reduce logs commit 023fd43b72003aabffca98a558a1ef16ddda631e Author: Reece Date: Fri Sep 26 01:49:33 2025 +0100 Save file commit a8a0808274cf72ab7b3ebb16dd33d2a1ebc55418 Author: Reece Date: Thu Sep 25 09:46:20 2025 +0100 history tweaks commit 3d2607f72a764e643138e876264c7541395238d1 Author: Reece Date: Wed Sep 24 19:01:36 2025 +0100 fixes commit f9542a9257c877fed090c7bf16f8cf52e5bd220a Merge: a12e45757 963787316 Author: Reece Date: Wed Sep 24 18:35:16 2025 +0100 Merge branch 'feature/v2/exportpdf' into feature/v2/sign commit 963787316a325b776bc0d853815d2be975b6be58 Author: Reece Date: Wed Sep 24 17:42:58 2025 +0100 Export with embedpdf commit a12e457577a14e50e146c8bfef378599505f69f2 Author: Reece Browne Date: Wed Sep 24 14:58:10 2025 +0100 Add undo/redo functionality and refactor signature settings UI - Introduced HistoryAPIBridge for managing undo/redo actions. - Updated SignSettings component to include undo/redo buttons. - Refactored signature type selection to use Tabs for better UI. - Enhanced SignatureAPIBridge to store image data for annotations. - Integrated history management into SignatureContext for state handling. commit bac61c7e9e5ae6902fbd593742793eb095cf4112 Author: Reece Browne Date: Tue Sep 23 18:16:21 2025 +0100 Delete signature commit fc2f34ee150874e17dc84a921606d85507ac9583 Author: Reece Browne Date: Tue Sep 23 17:18:39 2025 +0100 fix add image commit d9798badae6f0efa1bef5dd1fba1c6d25aa30fbf Author: Reece Browne Date: Tue Sep 23 14:06:41 2025 +0100 Fix sidebar refresh. Updated UI commit efc0c1aab33557a30797038f1e5250688d400f63 Author: Reece Browne Date: Tue Sep 23 12:24:58 2025 +0100 text and improved drawing commit 10672403c9a2cb220573f78e41a9f9d1c88cd282 Author: Reece Browne Date: Mon Sep 22 14:14:35 2025 +0100 Colours on document draw + translations commit 32fed96aa7da5540221a7ee3c015831095f2a260 Author: Reece Browne Date: Mon Sep 22 14:03:49 2025 +0100 Canvas and dosument draw split, drawing improvements commit a70472b1724f395ee49a7cf6f0615a05ea930b5b Author: Reece Browne Date: Sat Sep 20 01:59:04 2025 +0100 Initial set up commit 3b87ca0c3c780cd17005cf308577e9ab4a6298ba Merge: 0e1da982b 6172351ee Author: Reece Browne Date: Fri Sep 19 11:38:58 2025 +0100 Merge branch 'feature/v2/embed-pdf' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/embed-pdf commit 0e1da982b60a2984fa9a8d38be681962405c5eb1 Author: Reece Browne Date: Fri Sep 19 11:38:53 2025 +0100 Fix vite commit 6172351eed8985bb9a95df3fa729c13cc29f945a Merge: 1174b6a4d ae7be50ec Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Fri Sep 19 11:23:28 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit 1174b6a4da7ea1da13003ea1c8528745ea412137 Merge: a970c44d0 21a2433dd Author: Reece Browne Date: Fri Sep 19 11:16:22 2025 +0100 Merge branch 'feature/v2/embed-pdf' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/embed-pdf commit a970c44d035f280723804d4aeff53ba67d49970f Author: Reece Browne Date: Fri Sep 19 11:14:58 2025 +0100 improvements commit b574cef54a566b1029a17925ba584daf434310df Author: Reece Browne Date: Fri Sep 19 10:48:29 2025 +0100 improvements commit 21a2433dd8800c043c181deeb5e8b1c3c3ac1908 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Thu Sep 18 13:14:44 2025 +0100 Remove marginTop style from Workbench component commit 07cc2501762767e19be6afccebfae88c41fe8806 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Thu Sep 18 13:12:58 2025 +0100 Remove comment regarding EmbedPDF import Removed comment about dynamic import of EmbedPDF. commit dc71b3007b3cf1c964bbaeb1e0056c1f05d1febe Author: Reece Browne Date: Thu Sep 18 12:32:42 2025 +0100 clean up commit 1598057ed047fa2143dadf2207f44ecfbb71b90d Author: Reece Browne Date: Thu Sep 18 08:44:57 2025 +0100 Tweaks commit 312fc2d615393bb0ff26b0e01fb65a4141431229 Author: Reece Browne Date: Thu Sep 18 02:14:31 2025 +0100 Clean up commit 72375d89d172d656a67527d51aafe27806dc04e2 Merge: a990ecc02 7ff1c66d0 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Thu Sep 18 01:53:59 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit a990ecc02aff76cafa070a79cea50d9db8026570 Merge: da6ecc661 b51c2e42a Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Thu Sep 18 01:53:47 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit da6ecc6619e0e904d19180df9ff48eeecdb1611b Author: Reece Browne Date: Wed Sep 17 14:35:44 2025 +0100 Fix scroll page identification commit dac176f0c6f8fcf4ba84f087f28f6f429a2922d6 Author: Reece Browne Date: Wed Sep 17 12:07:44 2025 +0100 Fix colours commit 41e5a7fbd6ebea178bd4ddb7c520b97928b74aba Author: Reece Browne Date: Wed Sep 17 12:00:20 2025 +0100 Restructure to avoid global variables fix zoom commit b81ed9ec2ebaf3a2674fd26810da83ae6e4665b3 Merge: 9b5c50db0 81c5d8ff4 Author: Reece Browne Date: Tue Sep 16 19:37:50 2025 +0100 Merge branch 'feature/v2/embed-pdf' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/embed-pdf commit 9b5c50db0771c1009f8c4070c92ae27831f1f270 Author: Reece Browne Date: Tue Sep 16 19:36:36 2025 +0100 Improved Structure with context at root commit 81c5d8ff46dcc5fc983109fb2348b6d6dfb129d2 Author: James Brunton Date: Tue Sep 16 16:06:40 2025 +0100 Potential fix for mime type issues commit a67f5199d31b905c13bc620f7000fb501a9fd579 Author: James Brunton Date: Tue Sep 16 16:06:27 2025 +0100 Improvements for scroll gestures commit 3755bfde3438c8688e56c028fc4479d64bcfc880 Author: Reece Browne Date: Mon Sep 15 18:20:11 2025 +0100 Set zoom to 140% commit 2834eec3be8b1fe92ac99fcb2183c0be593ea7fa Merge: 19d7111ca d89e1b5b1 Author: Reece Browne Date: Mon Sep 15 17:31:06 2025 +0100 Merge branch 'feature/v2/embed-pdf' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/embed-pdf commit d89e1b5b1eed22e207053328a9939627474e2e9f Merge: 5d7fb638a a57373b96 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Mon Sep 15 17:27:51 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit 19d7111cab2e1306eef0ccbb17c5de4c76002f69 Author: Reece Browne Date: Mon Sep 15 17:27:22 2025 +0100 Remove unused code commit ca9d7ef4658a000be00d9587ed0e1f131ab2125c Author: Reece Browne Date: Mon Sep 15 17:03:52 2025 +0100 Remove unused code commit fad4f84c9c25d8e50cd0b3068bc0257295f3ef76 Author: Reece Browne Date: Mon Sep 15 16:53:41 2025 +0100 translations commit 35863ac6107f88d393fbda6452db00509057b380 Author: Reece Browne Date: Mon Sep 15 16:53:32 2025 +0100 remove select mode commit c17dd25069ba892c807ac65bc4242d7f3c792ee8 Author: Reece Browne Date: Mon Sep 15 16:05:19 2025 +0100 Rotate commit 5d7fb638afcfae54494cf555bd3b4dcfda023e0c Merge: 2fb4710dd 7dad484aa Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Mon Sep 15 15:31:45 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit 2fb4710dd7ecfb2c82479b17fbf2a531c8254578 Merge: 85a74c1d4 cfdb6eaa1 Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Mon Sep 15 13:34:00 2025 +0100 Merge branch 'V2' into feature/v2/embed-pdf commit 85a74c1d4611d2fa121099c181c9154068b0d244 Merge: 21a93d6ca 9599bca8a Author: Reece Browne Date: Mon Sep 15 13:33:45 2025 +0100 Merge branch 'feature/v2/embed-pdf' of https://github.com/Stirling-Tools/Stirling-PDF into feature/v2/embed-pdf commit 21a93d6cac6b7c497babb8cd1fc66bad24d06571 Author: Reece Browne Date: Mon Sep 15 13:33:39 2025 +0100 Context based right rail controls for viewer commit 9599bca8a9c71a4166a950739c3e77834e8e579c Author: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Mon Sep 15 12:37:07 2025 +0100 Update frontend/src/components/viewer/ThumbnailSidebar.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 1709ca904925e2c6f672fcbeeabe806eb48d79f6 Author: Reece Browne Date: Fri Sep 12 16:38:29 2025 +0100 Rems commit 18e4e03220c4c4287deea90514dedd4aca8fbebb Author: Reece Browne Date: Fri Sep 12 16:26:05 2025 +0100 rename APIBridge commit 9901771572f77a3fdfa748b47a14f09a16aa2136 Author: Reece Browne Date: Fri Sep 12 16:19:07 2025 +0100 improve search commit 514956570c246de4b799519a845e1ab108f1fa34 Author: Reece Browne Date: Fri Sep 12 15:06:06 2025 +0100 pan state improvements commit 423617db52203f4de20c20188aae317b83fa851f Author: Reece Browne Date: Fri Sep 12 14:21:31 2025 +0100 thumbnail sidebar commit 143f0c50319f7c8bf7359211f88129a8b5b7578a Author: Reece Browne Date: Fri Sep 12 01:56:51 2025 +0100 search pdf commit 368e9801a124f267fc033916f754da0de45e0fc4 Author: Reece Browne Date: Fri Sep 12 00:35:27 2025 +0100 Zoom with wheel and +/- commit afc9ca5858e2a43fba10fc88e26cb4b4dc841deb Author: Reece Browne Date: Thu Sep 11 23:52:38 2025 +0100 spread/multipage commit 881557512438cf23a18c381c81718f0fa70657a1 Author: Reece Browne Date: Thu Sep 11 22:51:10 2025 +0100 pan commit fb9b01f53bee5a80ba1a5fbf224b3ef618d25c02 Author: Reece Browne Date: Thu Sep 11 20:07:43 2025 +0100 improved scaling and fix grey void commit 93607937f6e1268e1101b2bab5dbec0135aafb3b Author: Reece Browne Date: Thu Sep 11 19:38:04 2025 +0100 selection also commit 687ab392864167441f1cabddcee27f16819fa920 Author: Reece Browne Date: Thu Sep 11 19:36:44 2025 +0100 Text selection commit 83a3222cf61c8ca08fe8d61030231268ca60389b Author: Reece Browne Date: Thu Sep 11 19:08:44 2025 +0100 Set up --- frontend/package-lock.json | 58 ++ frontend/package.json | 1 + .../src/core/components/layout/Workbench.tsx | 113 +-- .../components/pageEditor/DragDropGrid.tsx | 649 ++++++++++++++-- .../pageEditor/PageEditor.module.css | 20 + .../core/components/pageEditor/PageEditor.tsx | 692 ++++++++++++++---- .../pageEditor/PageEditorControls.tsx | 14 +- .../components/pageEditor/PageThumbnail.tsx | 147 ++-- .../pageEditor/commands/pageCommands.ts | 38 +- .../core/components/pageEditor/fileColors.ts | 61 ++ .../pageEditor/hooks/useFileColorMap.ts | 33 + .../hooks/useInitialPageDocument.ts | 22 + .../pageEditor/hooks/usePageDocument.ts | 76 +- .../hooks/usePageEditorDropdownState.ts | 65 ++ .../pageEditor/pageEditorRightRailButtons.tsx | 16 + .../shared/HoverActionMenu.module.css | 2 +- .../components/shared/HoverActionMenu.tsx | 2 +- .../shared/PageEditorFileDropdown.tsx | 328 +++++++++ .../src/core/components/shared/ToolChain.tsx | 4 +- .../src/core/components/shared/Tooltip.tsx | 4 +- .../core/components/shared/TopControls.tsx | 123 ++-- .../tools/overlayPdfs/OverlayPdfsSettings.tsx | 21 +- .../components/tools/shared/FilesToolStep.tsx | 32 +- .../tools/shared/ReviewToolStep.tsx | 24 +- .../core/components/tools/shared/ToolStep.tsx | 4 +- .../tooltips/useSplitSettingsTips.ts | 10 +- .../src/core/contexts/FilesModalContext.tsx | 25 +- .../src/core/contexts/PageEditorContext.tsx | 359 +++++++++ .../src/core/contexts/PreferencesContext.tsx | 14 +- frontend/src/core/contexts/ViewerContext.tsx | 83 ++- .../src/core/contexts/file/FileReducer.ts | 33 +- .../hooks/tools/shared/useBaseParameters.ts | 21 +- frontend/src/core/tools/Split.tsx | 14 +- frontend/src/core/types/pageEditor.ts | 7 + 34 files changed, 2566 insertions(+), 549 deletions(-) create mode 100644 frontend/src/core/components/pageEditor/fileColors.ts create mode 100644 frontend/src/core/components/pageEditor/hooks/useFileColorMap.ts create mode 100644 frontend/src/core/components/pageEditor/hooks/useInitialPageDocument.ts create mode 100644 frontend/src/core/components/pageEditor/hooks/usePageEditorDropdownState.ts create mode 100644 frontend/src/core/components/shared/PageEditorFileDropdown.tsx create mode 100644 frontend/src/core/contexts/PageEditorContext.tsx diff --git a/frontend/package-lock.json b/frontend/package-lock.json index c884272c4b..d9b11d099b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -10,6 +10,7 @@ "license": "SEE LICENSE IN https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/refs/heads/main/proprietary/LICENSE", "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.7.7", + "@dnd-kit/core": "^6.3.1", "@embedpdf/core": "^1.3.14", "@embedpdf/engines": "^1.3.14", "@embedpdf/plugin-annotation": "^1.3.14", @@ -501,6 +502,63 @@ "node": ">=18" } }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/accessibility/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/@embedpdf/core": { "version": "1.3.14", "resolved": "https://registry.npmjs.org/@embedpdf/core/-/core-1.3.14.tgz", diff --git a/frontend/package.json b/frontend/package.json index 892e485690..b8fe67f00a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,6 +6,7 @@ "proxy": "http://localhost:8080", "dependencies": { "@atlaskit/pragmatic-drag-and-drop": "^1.7.7", + "@dnd-kit/core": "^6.3.1", "@embedpdf/core": "^1.3.14", "@embedpdf/engines": "^1.3.14", "@embedpdf/plugin-annotation": "^1.3.14", diff --git a/frontend/src/core/components/layout/Workbench.tsx b/frontend/src/core/components/layout/Workbench.tsx index 91595195dd..dd7db2a5a4 100644 --- a/frontend/src/core/components/layout/Workbench.tsx +++ b/frontend/src/core/components/layout/Workbench.tsx @@ -1,11 +1,13 @@ +import { useMemo } from 'react'; import { Box } from '@mantine/core'; import { useRainbowThemeContext } from '@app/components/shared/RainbowThemeProvider'; import { useToolWorkflow } from '@app/contexts/ToolWorkflowContext'; import { useFileHandler } from '@app/hooks/useFileHandler'; import { useFileState } from '@app/contexts/FileContext'; import { useNavigationState, useNavigationActions } from '@app/contexts/NavigationContext'; -import { isBaseWorkbench } from '@app/types/workbench'; import { useViewer } from '@app/contexts/ViewerContext'; +import { PageEditorProvider } from '@app/contexts/PageEditorContext'; +import { isBaseWorkbench } from '@app/types/workbench'; import { useAppConfig } from '@app/contexts/AppConfigContext'; import '@app/components/layout/Workbench.css'; @@ -24,11 +26,13 @@ export default function Workbench() { const { config } = useAppConfig(); // Use context-based hooks to eliminate all prop drilling - const { selectors } = useFileState(); + const { state, selectors } = useFileState(); const { workbench: currentView } = useNavigationState(); const { actions: navActions } = useNavigationActions(); const setCurrentView = navActions.setWorkbench; - const activeFiles = selectors.getFiles(); + + // Create stable reference for activeFiles based on file IDs + const activeFiles = useMemo(() => selectors.getFiles(), [state.files.ids]); const { previewFile, pageEditorFunctions, @@ -72,31 +76,28 @@ export default function Workbench() { const renderMainContent = () => { if (activeFiles.length === 0) { - return ( - - ); + return ; } switch (currentView) { - case "fileEditor": + case 'fileEditor': return ( { - setCurrentView("pageEditor"); + setCurrentView('pageEditor'); }, onMergeFiles: (filesToMerge) => { addFiles(filesToMerge); - setCurrentView("viewer"); - } + setCurrentView('viewer'); + }, })} /> ); - case "viewer": + case 'viewer': return ( ); - case "pageEditor": + case 'pageEditor': return ( <> - + {pageEditorFunctions && ( view.workbenchId === currentView && view.data != null); + const customView = customWorkbenchViews.find( + (view) => view.workbenchId === currentView && view.data != null, + ); if (customView) { const CustomComponent = customView.component; return ; @@ -152,45 +153,47 @@ export default function Workbench() { }; return ( - - {/* Top Controls */} - {activeFiles.length > 0 && ( - { - const stub = selectors.getStirlingFileStub(f.fileId); - return { fileId: f.fileId, name: f.name, versionNumber: stub?.versionNumber }; - })} - currentFileIndex={activeFileIndex} - onFileSelect={setActiveFileIndex} - /> - )} - - {/* Dismiss All Errors Button */} - - - {/* Main content area */} + 0 ? '3.5rem' : '0'), - }} + className="flex-1 h-full min-w-80 relative flex flex-col" + data-tour="workbench" + style={ + isRainbowMode + ? {} + : { backgroundColor: 'var(--bg-background)' } + } > - {renderMainContent()} - + {/* Top Controls */} + {activeFiles.length > 0 && ( + { + const stub = selectors.getStirlingFileStub(f.fileId); + return { fileId: f.fileId, name: f.name, versionNumber: stub?.versionNumber }; + })} + currentFileIndex={activeFileIndex} + onFileSelect={setActiveFileIndex} + /> + )} -