diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f1800a6..56b6cbe 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -2240,29 +2240,6 @@ "license": "MIT", "optional": true }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/baseline-browser-mapping": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", @@ -2299,20 +2276,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -2371,33 +2334,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -2442,23 +2378,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/canvas": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-3.2.1.tgz", - "integrity": "sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "node-addon-api": "^7.0.0", - "prebuild-install": "^7.1.3" - }, - "engines": { - "node": "^18.12.0 || >= 20.9.0" - } - }, "node_modules/chai": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", @@ -2507,15 +2426,6 @@ "node": ">= 6" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -2775,36 +2685,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2915,18 +2795,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/entities": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", @@ -3107,18 +2975,6 @@ "node": ">=0.10.0" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "license": "(MIT OR WTFPL)", - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/expect-type": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", @@ -3546,15 +3402,6 @@ "url": "https://github.com/sponsors/rawify" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -3705,15 +3552,6 @@ "node": ">= 0.4" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -3919,29 +3757,6 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause", - "optional": true, - "peer": true - }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -3971,15 +3786,6 @@ "license": "ISC", "optional": true }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true - }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -4307,21 +4113,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -4345,18 +4136,6 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", @@ -4414,15 +4193,6 @@ "node": ">=10" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4523,54 +4293,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/napi-build-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/node-abi": { - "version": "3.87.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz", - "integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-abi/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -4989,36 +4711,6 @@ "dev": true, "license": "MIT" }, - "node_modules/prebuild-install": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^2.0.0", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -5073,19 +4765,6 @@ "url": "https://github.com/sponsors/lupomontero" } }, - "node_modules/pump": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", - "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5124,24 +4803,6 @@ ], "license": "MIT" }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, - "peer": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -5598,34 +5259,6 @@ "license": "MIT", "optional": true }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/sonner": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.7.4.tgz", @@ -5738,18 +5371,6 @@ "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sucrase": { "version": "3.35.1", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", @@ -5863,40 +5484,6 @@ "node": ">=10" } }, - "node_modules/tar-fs": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", - "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tar/node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -6084,21 +5671,6 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/type-fest": { "version": "5.4.4", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz", diff --git a/frontend/public/sitemap.xml b/frontend/public/sitemap.xml index 2a6a2b4..7c148c1 100644 --- a/frontend/public/sitemap.xml +++ b/frontend/public/sitemap.xml @@ -2,18 +2,18 @@ https://dociva.io/sitemaps/static.xml - 2026-04-01 + 2026-04-02 https://dociva.io/sitemaps/blog.xml - 2026-04-01 + 2026-04-02 https://dociva.io/sitemaps/tools.xml - 2026-04-01 + 2026-04-02 https://dociva.io/sitemaps/seo.xml - 2026-04-01 + 2026-04-02 diff --git a/frontend/public/sitemaps/blog.xml b/frontend/public/sitemaps/blog.xml index 1f71b5a..b02b1e6 100644 --- a/frontend/public/sitemaps/blog.xml +++ b/frontend/public/sitemaps/blog.xml @@ -2,31 +2,31 @@ https://dociva.io/blog/how-to-compress-pdf-online - 2026-04-01 + 2026-04-02 monthly 0.6 https://dociva.io/blog/convert-images-without-losing-quality - 2026-04-01 + 2026-04-02 monthly 0.6 https://dociva.io/blog/ocr-extract-text-from-images - 2026-04-01 + 2026-04-02 monthly 0.6 https://dociva.io/blog/merge-split-pdf-files - 2026-04-01 + 2026-04-02 monthly 0.6 https://dociva.io/blog/ai-chat-with-pdf-documents - 2026-04-01 + 2026-04-02 monthly 0.6 diff --git a/frontend/public/sitemaps/seo.xml b/frontend/public/sitemaps/seo.xml index cb8f496..7cdc976 100644 --- a/frontend/public/sitemaps/seo.xml +++ b/frontend/public/sitemaps/seo.xml @@ -2,1129 +2,1129 @@ https://dociva.io/pdf-to-word - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-word - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/word-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/word-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-jpg-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-jpg-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/merge-pdf-files - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/merge-pdf-files - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/remove-pdf-password - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/remove-pdf-password - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-word-editable - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-word-editable - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-pdf-to-text - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-pdf-to-text - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/split-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/split-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/jpg-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/jpg-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/png-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/png-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/images-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/images-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-jpg - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-jpg - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-png - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-png - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-pdf-for-email - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-pdf-for-email - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-scanned-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-scanned-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/merge-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/merge-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/combine-pdf-files - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/combine-pdf-files - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/extract-pages-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/extract-pages-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/reorder-pdf-pages - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/reorder-pdf-pages - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/rotate-pdf-pages - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/rotate-pdf-pages - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/add-page-numbers-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/add-page-numbers-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/protect-pdf-with-password - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/protect-pdf-with-password - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/unlock-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/unlock-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/watermark-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/watermark-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/remove-watermark-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/remove-watermark-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/edit-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/edit-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-excel-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-excel-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/extract-tables-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/extract-tables-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/html-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/html-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/scan-pdf-to-text - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/scan-pdf-to-text - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/chat-with-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/chat-with-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/summarize-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/summarize-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/translate-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/translate-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-image-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-image-to-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-webp-to-jpg - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-webp-to-jpg - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/resize-image-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/resize-image-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-image-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-image-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/remove-image-background - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/remove-image-background - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-word-editable-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-word-editable-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-pdf-to-100kb - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-pdf-to-100kb - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ai-extract-text-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ai-extract-text-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-excel-accurate-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-excel-accurate-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/split-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/split-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/unlock-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/unlock-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/summarize-pdf-ai - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/summarize-pdf-ai - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-pdf-to-text-ai - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-pdf-to-text-ai - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-jpg-high-quality - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-jpg-high-quality - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/jpg-to-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/jpg-to-pdf-online-free - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/reduce-pdf-size-for-email - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/reduce-pdf-size-for-email - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ocr-for-scanned-pdfs - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ocr-for-scanned-pdfs - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/remove-watermark-from-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/remove-watermark-from-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/add-watermark-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/add-watermark-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/repair-corrupted-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/repair-corrupted-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/rotate-pdf-pages-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/rotate-pdf-pages-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/reorder-pdf-pages-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/reorder-pdf-pages-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-png-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-png-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/images-to-pdf-multiple - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/images-to-pdf-multiple - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/split-pdf-by-range-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/split-pdf-by-range-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-scanned-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-scanned-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-metadata-editor-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-metadata-editor-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/add-page-numbers-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/add-page-numbers-to-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/protect-pdf-with-password-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/protect-pdf-with-password-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/unlock-encrypted-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/unlock-encrypted-pdf-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ocr-table-extraction-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ocr-table-extraction-from-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-excel-converter-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-excel-converter-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/extract-text-from-protected-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/extract-text-from-protected-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/bulk-convert-pdf-to-word - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/bulk-convert-pdf-to-word - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/compress-pdf-for-web-upload - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/compress-pdf-for-web-upload - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ocr-multi-language-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ocr-multi-language-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/summarize-long-pdf-ai - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/summarize-long-pdf-ai - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/convert-pdf-to-ppt-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/convert-pdf-to-ppt-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/pdf-to-pptx-free-online - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/pdf-to-pptx-free-online - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/دمج-ملفات-pdf-مجاناً - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/دمج-ملفات-pdf-مجاناً - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ضغط-بي-دي-اف-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ضغط-بي-دي-اف-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/تحويل-pdf-الى-word-قابل-للتعديل - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/تحويل-pdf-الى-word-قابل-للتعديل - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/تحويل-jpg-الى-pdf-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/تحويل-jpg-الى-pdf-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/فصل-صفحات-pdf-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/فصل-صفحات-pdf-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/ازالة-كلمة-مرور-من-pdf - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/ازالة-كلمة-مرور-من-pdf - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/تحويل-pdf-الى-نص-باستخدام-ocr - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/تحويل-pdf-الى-نص-باستخدام-ocr - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/تحويل-pdf-الى-excel-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/تحويل-pdf-الى-excel-اونلاين - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/تحويل-pdf-الى-صور - 2026-04-01 + 2026-04-02 weekly 0.88 https://dociva.io/ar/تحويل-pdf-الى-صور - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/best-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/best-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/free-pdf-tools-online - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/free-pdf-tools-online - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/convert-files-online - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/convert-files-online - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/pdf-converter-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/pdf-converter-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/secure-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/secure-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/ai-document-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/ai-document-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/image-to-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/image-to-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/online-image-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/online-image-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/office-to-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/office-to-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/scanned-document-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/scanned-document-tools - 2026-04-01 + 2026-04-02 weekly 0.74 https://dociva.io/arabic-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.82 https://dociva.io/ar/arabic-pdf-tools - 2026-04-01 + 2026-04-02 weekly 0.74 diff --git a/frontend/public/sitemaps/static.xml b/frontend/public/sitemaps/static.xml index a168dd8..c9f53b2 100644 --- a/frontend/public/sitemaps/static.xml +++ b/frontend/public/sitemaps/static.xml @@ -2,55 +2,61 @@ https://dociva.io/ - 2026-04-01 + 2026-04-02 daily 1.0 https://dociva.io/tools - 2026-04-01 + 2026-04-02 weekly 0.8 https://dociva.io/about - 2026-04-01 + 2026-04-02 monthly 0.4 https://dociva.io/contact - 2026-04-01 + 2026-04-02 monthly 0.4 https://dociva.io/privacy - 2026-04-01 + 2026-04-02 yearly 0.3 https://dociva.io/terms - 2026-04-01 + 2026-04-02 yearly 0.3 https://dociva.io/pricing - 2026-04-01 + 2026-04-02 + monthly + 0.7 + + + https://dociva.io/pricing-transparency + 2026-04-02 monthly 0.7 https://dociva.io/blog - 2026-04-01 + 2026-04-02 weekly 0.6 https://dociva.io/developers - 2026-04-01 + 2026-04-02 monthly 0.5 diff --git a/frontend/public/sitemaps/tools.xml b/frontend/public/sitemaps/tools.xml index cd41531..97fd210 100644 --- a/frontend/public/sitemaps/tools.xml +++ b/frontend/public/sitemaps/tools.xml @@ -1,267 +1,4 @@ - - https://dociva.io/tools/pdf-to-word - 2026-04-01 - weekly - 0.9 - - - https://dociva.io/tools/word-to-pdf - 2026-04-01 - weekly - 0.9 - - - https://dociva.io/tools/compress-pdf - 2026-04-01 - weekly - 0.9 - - - https://dociva.io/tools/merge-pdf - 2026-04-01 - weekly - 0.9 - - - https://dociva.io/tools/split-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/rotate-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/pdf-to-images - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/images-to-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/watermark-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/protect-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/unlock-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/page-numbers - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/pdf-editor - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/pdf-flowchart - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/pdf-to-excel - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/remove-watermark-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/reorder-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/extract-pages - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/image-converter - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/image-resize - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/compress-image - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/ocr - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/remove-background - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/image-to-svg - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/html-to-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/chat-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/summarize-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/translate-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/extract-tables - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/qr-code - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/video-to-gif - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/word-counter - 2026-04-01 - weekly - 0.6 - - - https://dociva.io/tools/text-cleaner - 2026-04-01 - weekly - 0.6 - - - https://dociva.io/tools/pdf-to-pptx - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/excel-to-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/pptx-to-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/sign-pdf - 2026-04-01 - weekly - 0.8 - - - https://dociva.io/tools/crop-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/flatten-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/repair-pdf - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/pdf-metadata - 2026-04-01 - weekly - 0.6 - - - https://dociva.io/tools/image-crop - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/image-rotate-flip - 2026-04-01 - weekly - 0.7 - - - https://dociva.io/tools/barcode-generator - 2026-04-01 - weekly - 0.7 - + diff --git a/frontend/src/components/shared/HeroUploadZone.tsx b/frontend/src/components/shared/HeroUploadZone.tsx index 7aae255..f77ef3c 100644 --- a/frontend/src/components/shared/HeroUploadZone.tsx +++ b/frontend/src/components/shared/HeroUploadZone.tsx @@ -2,7 +2,7 @@ import { useState, useCallback } from 'react'; import { useDropzone } from 'react-dropzone'; import { useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Upload, Sparkles, PenLine } from 'lucide-react'; +import { UploadCloud, Sparkles, PenLine } from 'lucide-react'; import ToolSelectorModal from '@/components/shared/ToolSelectorModal'; import { useFileStore } from '@/stores/fileStore'; import { getToolsForFile, detectFileCategory, getCategoryLabel } from '@/utils/fileRouting'; @@ -86,32 +86,42 @@ export default function HeroUploadZone() {
- {/* Icon */} + {/* Animated icon */}
-
- {/* CTA Text */} -
+ {/* Heading */} +

+ {isDragActive + ? t('home.dropFileHere', 'Drop your file here…') + : t('home.dragDropTitle', 'Drag & drop your file here')} +

+

+ {t('common.dragDrop', 'or click the button to browse from your device')} +

+ + {/* CTA Buttons */} +
-

- {t('common.dragDrop', 'or drop files here')} -

- {/* Supported formats */}
{['PDF', 'Word', 'JPG', 'PNG', 'WebP', 'MP4'].map((format) => ( {format} @@ -167,7 +173,7 @@ export default function HeroUploadZone() {
{/* File size hint */} -

+

{t('home.uploadSubtitle')}

@@ -175,7 +181,7 @@ export default function HeroUploadZone() { {/* Error */} {error && ( -
+

{error}

)} diff --git a/frontend/src/pages/HomePage.tsx b/frontend/src/pages/HomePage.tsx index 522aa53..5e506ac 100644 --- a/frontend/src/pages/HomePage.tsx +++ b/frontend/src/pages/HomePage.tsx @@ -123,12 +123,20 @@ export default function HomePage() { /> {/* Hero Section */} -
+
-

+ {/* Badge */} +
+ + + {t('home.heroBadge', 'Free Online PDF Tools')} + +
+ +

{t('home.hero')}

-

+

{t('home.heroSub')}

diff --git a/frontend/src/styles/global.css b/frontend/src/styles/global.css index 6b06ffe..c9fd3cc 100644 --- a/frontend/src/styles/global.css +++ b/frontend/src/styles/global.css @@ -116,15 +116,15 @@ /* Hero upload zone — larger variant for the homepage */ .hero-upload-zone { - @apply flex flex-col items-center justify-center rounded-2xl border-2 border-dashed border-slate-300 bg-gradient-to-b from-slate-50 to-white p-10 text-center transition-all duration-200 cursor-pointer sm:p-12 dark:border-slate-600 dark:from-slate-800/60 dark:to-slate-800/30; + @apply flex flex-col items-center justify-center rounded-3xl border-2 border-dashed border-slate-300 bg-gradient-to-b from-slate-50 to-white p-10 text-center transition-all duration-300 ease-in-out cursor-pointer sm:p-14 dark:border-slate-600 dark:from-slate-800/60 dark:to-slate-800/30; } .hero-upload-zone:hover { - @apply border-primary-400 bg-gradient-to-b from-primary-50 to-white shadow-lg dark:border-primary-500 dark:from-primary-900/20 dark:to-slate-800/30; + @apply border-primary-400 bg-gradient-to-b from-primary-50 to-white shadow-xl -translate-y-0.5 dark:border-primary-500 dark:from-primary-900/20 dark:to-slate-800/30; } .hero-upload-zone.drag-active { - @apply border-primary-500 bg-gradient-to-b from-primary-100 to-primary-50 ring-2 ring-primary-300 shadow-xl dark:border-primary-400 dark:from-primary-900/30 dark:to-primary-900/10 dark:ring-primary-600; + @apply border-primary-500 bg-gradient-to-b from-primary-100 to-primary-50/80 ring-2 ring-primary-300 shadow-2xl scale-[1.02] dark:border-primary-400 dark:from-primary-900/30 dark:to-primary-900/10 dark:ring-primary-600; } /* Modal animations */ diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 5f12e73..d7214f7 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -38,6 +38,17 @@ export default { sans: ['Inter', 'Tajawal', 'system-ui', 'sans-serif'], arabic: ['Tajawal', 'Inter', 'sans-serif'], }, + borderRadius: { + '3xl': '1.5rem', + '4xl': '2rem', + }, + boxShadow: { + 'glow': '0 0 20px -4px rgba(59, 130, 246, 0.4)', + 'glow-lg': '0 0 40px -8px rgba(59, 130, 246, 0.5)', + }, + transitionTimingFunction: { + 'smooth': 'cubic-bezier(0.4, 0, 0.2, 1)', + }, }, }, plugins: [],