133 Commits

Author SHA1 Message Date
EthanHealy01
774829dacf Merge branch 'V2' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar 2025-08-19 12:48:50 +01:00
ConnorYoh
c1b7911518
Feature/v2/watermark (#4215)
Add watermark feature

Auto scroll on review

---------

Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
2025-08-19 10:31:44 +01:00
EthanHealy01
ba02494ace put tool registry in it's own file and rename 2025-08-18 18:16:14 +01:00
EthanHealy01
9b05b5be0d change requests, tool-registry 2025-08-18 17:47:27 +01:00
EthanHealy01
ce76271c09 merge changes 2025-08-18 17:26:31 +01:00
EthanHealy01
306a89930a change requests 2025-08-18 17:15:56 +01:00
EthanHealy01
2a16217b67 change requests 2025-08-18 17:09:58 +01:00
EthanHealy01
6c1262cbba change requests 2025-08-18 17:08:07 +01:00
EthanHealy01
be8ab09b3c change requests 2025-08-18 17:02:42 +01:00
James Brunton
acbebd67a3
Add Remove Password UI into V2 (#4214)
# Description of Changes
- Add UI for Remove Password tool
- Fix more translation warnings that were being thrown in the console
- Add an encrypted PDF thumbnail and refactor thumbnail generation code
2025-08-18 15:26:29 +01:00
EthanHealy01
c76df73154 tiny styling change 2025-08-15 20:12:43 +01:00
EthanHealy01
3359361730 hide subcategory headers from the quick access section 2025-08-15 20:08:30 +01:00
EthanHealy01
d2353c5db1 fix build issues 2025-08-15 20:05:39 +01:00
EthanHealy01
34566cbae9 merge changes 2025-08-15 19:57:46 +01:00
EthanHealy01
50def152c7 use enum values for category and subcategory 2025-08-15 19:38:10 +01:00
EthanHealy01
681f0abfd8 remove the 'convenience exports' from ToolWorkflowContext and standardise toolButton for tool picker. + Other general improvements 2025-08-15 19:34:18 +01:00
EthanHealy01
f2b5a4a1f8 simplify search results & tool picker 2025-08-15 18:42:56 +01:00
EthanHealy01
19d2b72f65 use translations 2025-08-15 18:12:13 +01:00
EthanHealy01
359a164751 clarify what search results is doing, better variable names/function names and comments 2025-08-15 17:48:19 +01:00
EthanHealy01
d664666ff8 simplify QuickAccessBar 2025-08-15 16:26:06 +01:00
EthanHealy01
808aae186e simplify QuickAccessBar and use rem values in FitText 2025-08-15 15:19:35 +01:00
ConnorYoh
4c17c520d7
V2 results flow (#4196)
Better tool flow for reusability
Pinning 
Styling of tool flow
consumption of files after tooling

---------

Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
Co-authored-by: James Brunton <jbrunton96@gmail.com>
2025-08-15 14:43:30 +01:00
EthanHealy01
14a3d9a778 more translation 2025-08-15 14:02:41 +01:00
EthanHealy01
ea33557891 add english language fallbacks and use useTranslation directly in tool registry 2025-08-15 13:37:44 +01:00
Reece Browne
7e60eb40b4
Bug/v2/reduce console pollution (#4212)
# Description of Changes

<!--

Fixes the issues with I18 that were causing lots of console errors.
Fixes mime type error

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: stirlingbot[bot] <stirlingbot[bot]@users.noreply.github.com>
Co-authored-by: Ludy <Ludy87@users.noreply.github.com>
Co-authored-by: Dario Ghunney Ware <dariogware@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: EthanHealy01 <80844253+EthanHealy01@users.noreply.github.com>
Co-authored-by: Ethan <ethan@MacBook-Pro.local>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
Co-authored-by: albanobattistella <34811668+albanobattistella@users.noreply.github.com>
2025-08-15 13:15:21 +01:00
Anthony Stirling
129e4d00e9
Seo v2 add home (#4211)
# Description of Changes

<!--
Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
2025-08-14 16:36:24 +01:00
EthanHealy01
ba179cca7b had to add a custom text input component because mantine's TextInput wasn't playing ball 2025-08-14 16:14:57 +01:00
Anthony Stirling
8149cb157c
SEO init (#4197)
# Description of Changes
This pull request introduces dynamic document meta tag management and
improves URL routing and tool metadata handling in the frontend. The
most significant changes are the addition of a custom hook to update
document meta tags (including OpenGraph tags) based on the selected
tool, enhancements to the tool selection context for better URL
synchronization, and enrichment of the `Tool` type and tool registry
with more metadata.

**Dynamic document meta management:**

* Added a new `useDocumentMeta` hook that updates the page's `<title>`,
description, and OpenGraph meta tags based on the currently selected
tool, and restores the original values on cleanup.
(`frontend/src/hooks/useDocumentMeta.ts`)
* Integrated `useDocumentMeta` into `HomePageContent` so the document's
meta tags dynamically reflect the selected tool's metadata, improving
SEO and social sharing. (`frontend/src/pages/HomePage.tsx`)
[[1]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR2-R8)
[[2]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR17)
[[3]](diffhunk://#diff-85c26b21681286c20e97a26a4912f0b91812776c9d4d0c54aa541fded2565c7eR28-R37)

**Tool metadata and context improvements:**

* Enhanced the `Tool` type and tool registry to include `title` and
`description` fields, which are now translated and used throughout the
UI and meta tags. (`frontend/src/types/tool.ts`,
`frontend/src/hooks/useToolManagement.tsx`)
[[1]](diffhunk://#diff-0b557df7bd27ac90cd2f925ddd8ef8096ea2decfaee9a5c12a94dc7a03c64bfaR46)
[[2]](diffhunk://#diff-57f8a6b3e75ecaec10ad445b01afe8fccc376af6f8ad4d693c68cf98e8863273L116-R118)
* Updated the `ToolWorkflowContext` to use the new `Tool` type for
`selectedTool`, replacing the previous `ToolConfiguration` type.
(`frontend/src/contexts/ToolWorkflowContext.tsx`)
[[1]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L6-R8)
[[2]](diffhunk://#diff-9b36e2c06dddbcfba6cb66fd0b303b7860f88ca8b562bb2534af1ab50390d385L72-R72)

**URL routing and synchronization:**

* Implemented logic in `ToolWorkflowContext` to synchronize the selected
tool with the browser URL, initialize tool selection from the URL on
load, and handle browser navigation (back/forward) for tool selection.
(`frontend/src/contexts/ToolWorkflowContext.tsx`)
---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
2025-08-14 15:52:38 +01:00
EthanHealy01
b2bea0ede6 - Links in developer tools section should be links, not buttons
- Text seems to be slightly clipped at various zoom levels in the all tools sidebar. 
- Investigate colors on the light mode search section 
2025-08-14 15:40:02 +01:00
James Brunton
22db7bec76
Improve titles, headers and tooltips in Add Password and Change Permissions (#4210)
# Description of Changes
Improve titles, headers and tooltips in Add Password and Change
Permissions
2025-08-14 15:31:53 +01:00
James Brunton
ecf30d1028
Implement 'Add Password' and 'Change Permissions' tools in V2 (#4195)
# Description of Changes
Implement Add Password and Change Permissions tools in V2 (both in one
because Change Permissions is a fake endpoint which just calls Add
Password behind the scenes).

---------

Co-authored-by: James <james@crosscourtanalytics.com>
2025-08-14 14:27:23 +01:00
EthanHealy01
568daeff02 fix issue with nav item highlighting 2025-08-14 10:26:13 +01:00
EthanHealy01
30c92ec49c Merge branch 'feature/V2/AllToolsSidebar' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar 2025-08-14 10:10:14 +01:00
EthanHealy01
263b3c065e remove nav tooltips, they're mostly redundant 2025-08-14 10:10:05 +01:00
EthanHealy01
008addb8c2
Merge branch 'V2' into feature/V2/AllToolsSidebar 2025-08-14 09:58:14 +01:00
EthanHealy01
443e355774 change the border radius of the nav items to match matts design and remove colored top tool icon 2025-08-14 09:55:32 +01:00
Anthony Stirling
0ea4410dd3
Update manifest.json (#4203)
# Description of Changes

<!--
Please provide a summary of the changes, including:

- What was changed
- Why the change was made
- Any challenges encountered

Closes #(issue_number)
-->

---

## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
2025-08-13 18:29:25 +01:00
EthanHealy01
f6594144f9 add colors from the V1 palette and fix word breaking 2025-08-13 17:57:42 +01:00
EthanHealy01
c4e81979ce fix flashing tooltip issue 2025-08-13 17:38:00 +01:00
EthanHealy01
710c5e7a5e fix build failure 2025-08-13 16:53:50 +01:00
EthanHealy01
ec8abe4c63 merge with V2 origin 2025-08-13 16:25:00 +01:00
EthanHealy01
da6bf12b62 Merge branch 'V2' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar 2025-08-13 16:24:14 +01:00
EthanHealy01
7a1bf82b98 favor shrinking over breaking words on fitText 2025-08-13 16:02:34 +01:00
EthanHealy01
d64a753b06 make a hook to manage sections / subcategories in the toolPicker 2025-08-13 15:52:41 +01:00
EthanHealy01
4de65c1cc0 add a fit text component that acts the same as the react native adjustFontSizeToFit prop 2025-08-13 15:43:55 +01:00
EthanHealy01
b3013647b9 update tool registry to order them as they appear in the nav bar 2025-08-13 15:18:33 +01:00
EthanHealy01
3c2524183c add adjustFontSizeToFit util similar to react-native, add an animated top tool icon to provide better feedback to users when switching tools 2025-08-13 14:51:37 +01:00
EthanHealy01
39fed225a1 remove old pattern, try something different to show the user they've switched tool 2025-08-12 16:57:09 +01:00
James Brunton
8eeb4c148c
Add Sanitize UI (#4123)
# Description of Changes

Implementation of Sanitize UI for V2.

Also removes parameter validation from standard tool hooks because the
logic would have to be duplicated between parameter handling and
operation hooks, and the nicer workflow is for the tools to reject using
the Go button if the validation fails, rather than the operation hook
checking it, since that can't appear in the UI.

Co-authored-by: James <james@crosscourtanalytics.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Co-authored-by: ConnorYoh <40631091+ConnorYoh@users.noreply.github.com>
2025-08-12 16:05:59 +01:00
EthanHealy01
aeb4f69cd9 add divider to tool list 2025-08-12 16:04:22 +01:00