From f124571b817ce22165a19d5da6803db5d290dd01 Mon Sep 17 00:00:00 2001 From: Sergey Kurdin Date: Thu, 11 Apr 2024 14:12:39 -0400 Subject: [PATCH] PastBar backend tauri code with frontend React UI elements --- .cargo/config.toml | 2 + .changeset/README.md | 8 + .changeset/chilled-lies-kneel.md | 5 + .changeset/config.json | 11 + .changeset/cool-pigs-study.md | 5 + .env | 4 + .env.sample | 4 + .eslintrc.js | 66 + .github/workflows/release.yml | 55 + .gitignore | 37 + .vscode/extensions.json | 3 + README.md | 24 + assets/logo/paste-app-logo-5.icns | Bin 0 -> 171401 bytes assets/logo/paste-app-logo-icon-shadows.png | Bin 0 -> 113347 bytes assets/logo/paste-app-logo-opt.icns | Bin 0 -> 318842 bytes assets/logo/paste-app-logo-opt.ico | Bin 0 -> 35341 bytes assets/logo/paste-app-logo-opt.png | Bin 0 -> 155842 bytes assets/logo/paste-app-logo-opt.svg | 10 + .../logo/paste-app-logo-outline-shadow2.png | Bin 0 -> 21849 bytes .../logo/paste-app-logo-outline-shadows.icns | Bin 0 -> 196524 bytes .../logo/paste-app-logo-outline-shadows.ico | Bin 0 -> 30775 bytes .../logo/paste-app-logo-outline-shadows.png | Bin 0 -> 20800 bytes assets/logo/paste-app-logo-outline.png | Bin 0 -> 10375 bytes assets/logo/paste-app-logo-outline.psdb | Bin 0 -> 281899 bytes assets/logo/paste-app-logo-shadows.png | Bin 0 -> 90382 bytes assets/logo/paste-app-logo.icns | Bin 0 -> 263561 bytes assets/logo/paste-app-logo.ico | Bin 0 -> 31444 bytes assets/logo/paste-app-logo.png | Bin 0 -> 126637 bytes assets/logo/paste-app-logo.svg | 11 + assets/logo/paste-app-logo128x128@1x.png | Bin 0 -> 1051 bytes assets/logo/paste-app-logo128x128@2x.png | Bin 0 -> 4442 bytes assets/logo/paste-app-logo2.png | Bin 0 -> 127478 bytes assets/logo/paste-app-logo3.icns | Bin 0 -> 300461 bytes assets/logo/paste-app-logo3.ico | Bin 0 -> 34137 bytes assets/logo/paste-app-logo3.png | Bin 0 -> 144562 bytes assets/logo/paste-app-logo32x32@1x.png | Bin 0 -> 1051 bytes assets/logo/paste-app-logo4.png | Bin 0 -> 60783 bytes assets/logo/paste-app-logo5.ico | Bin 0 -> 25124 bytes assets/logo/paste-app-logo5.png | Bin 0 -> 78630 bytes assets/logo/paste-app-logo64x64@1x.png | Bin 0 -> 1051 bytes assets/logo/paste-bar-logo1-notification.png | Bin 0 -> 874 bytes assets/logo/paste-bar-logo1-notification.svg | 9 + assets/logo/paste-bar-logo1-notification2.png | Bin 0 -> 1965 bytes assets/logo/paste-bar-logo1.png | Bin 0 -> 649 bytes assets/logo/paste-bar-logo1.svg | 10 + assets/logo/tray128x128-notification.psdb | Bin 0 -> 398321 bytes .../pastebar-app-logo-256@1x.png | Bin 0 -> 1385 bytes .../pastebar-app-logo-256@2x.png | Bin 0 -> 3176 bytes .../pastebar-app-logo-512@1x.png | Bin 0 -> 3176 bytes .../pastebar-app-logo-512@2x.png | Bin 0 -> 7861 bytes .../pastebar-app-logo-text-800.png | Bin 0 -> 7992 bytes .../pastebar-app-logo-text-large.png | Bin 0 -> 26387 bytes .../pastebar-app-logo-text-large2.png | Bin 0 -> 5662 bytes .../pastebar-app-logo-text-large3.png | Bin 0 -> 6588 bytes .../pastebar-app-logo-text-original.svg | 8 + .../pastebar-logos/pastebar-app-logo-text.svg | 5 + .../pastebar-app-logo-text@x1.png | Bin 0 -> 5037 bytes .../pastebar-app-logo-text@x2.png | Bin 0 -> 21423 bytes assets/pastebar-logos/pastebar-app-logo.svg | 7 + .../pastebar-logos/pastebar-app-logo@x1.png | Bin 0 -> 5730 bytes .../pastebar-logos/pastebar-app-logo@x2.png | Bin 0 -> 14710 bytes diesel.toml | 8 + .../assets/Inter-Medium-B0NFony0.woff2 | Bin 0 -> 111380 bytes .../assets/Inter-Regular-B0QUfDW0.woff2 | Bin 0 -> 108488 bytes .../assets/Inter-SemiBold-_JLwM7Yv.woff2 | Bin 0 -> 111588 bytes .../SourceCodePro-Regular.otf-Chr7uwKk.woff2 | Bin 0 -> 76348 bytes .../assets/TwemojiCountryFlags-Bje2crD2.woff2 | Bin 0 -> 8988 bytes dist-frontend/assets/apl-BNUU5qT2.js | 1 + dist-frontend/assets/asciiarmor-Dme1RrXC.js | 1 + dist-frontend/assets/asn.1-F2CRehLK.js | 1 + dist-frontend/assets/asterisk-DXXb7CIe.js | 1 + dist-frontend/assets/brainfuck-CeDN_aVu.js | 1 + dist-frontend/assets/clike-CKh8RrsZ.js | 1 + dist-frontend/assets/clojure-IL83DiMe.js | 1 + dist-frontend/assets/cmake-CBK4FEFU.js | 1 + dist-frontend/assets/cobol-Cr7sthRy.js | 1 + dist-frontend/assets/coffeescript-UYn4tXgp.js | 1 + dist-frontend/assets/commonlisp-OgP-zwJC.js | 1 + dist-frontend/assets/crystal-DdaQepjy.js | 1 + dist-frontend/assets/css-D2W7DKD8.js | 1 + dist-frontend/assets/cypher-DHl2Df_p.js | 4 + dist-frontend/assets/d-BWFZb9L0.js | 1 + dist-frontend/assets/dart-C667kpDq.js | 1 + dist-frontend/assets/diff-yarkSHUY.js | 1 + dist-frontend/assets/django-BHkfok3M.js | 1 + dist-frontend/assets/dockerfile-DZNrmCx9.js | 1 + dist-frontend/assets/dtd-CBEuXgRr.js | 1 + dist-frontend/assets/dylan-B5hsWYhU.js | 1 + dist-frontend/assets/ebnf-b8GlOkaz.js | 1 + dist-frontend/assets/ecl-DtaFcOh0.js | 1 + dist-frontend/assets/eiffel-IO4mzJd1.js | 1 + dist-frontend/assets/elm-BbZFnA_F.js | 1 + .../assets/emoji-picker-react.esm-B-CS8Os3.js | 33 + dist-frontend/assets/erlang-CqixHPO0.js | 1 + dist-frontend/assets/factor-BvAHKI6r.js | 1 + dist-frontend/assets/fcl-1IEbqCAc.js | 1 + dist-frontend/assets/forth-CDUdH4D4.js | 1 + dist-frontend/assets/fortran-CWoK8aFO.js | 1 + dist-frontend/assets/gas-DE4QdS-d.js | 1 + dist-frontend/assets/gfm-DIFGgWk3.js | 1 + dist-frontend/assets/gherkin-BxEScuMF.js | 1 + dist-frontend/assets/go-D8mq7sP4.js | 1 + dist-frontend/assets/groovy-C9RPG7vC.js | 1 + dist-frontend/assets/haml-DJceL8fb.js | 1 + dist-frontend/assets/handlebars-DR4e85cA.js | 1 + dist-frontend/assets/haskell-CwWQgmjX.js | 1 + .../assets/haskell-literate-CIJKYWZj.js | 1 + dist-frontend/assets/haxe-CBSoEZry.js | 1 + dist-frontend/assets/htmlembedded-BY07fnzD.js | 1 + dist-frontend/assets/htmlmixed-D-5cijKW.js | 1 + dist-frontend/assets/htmlmixed-DYfBZbch.js | 1 + dist-frontend/assets/http-CfbTkW66.js | 1 + dist-frontend/assets/idl-CqKPtuqA.js | 1 + .../assets/image-not-found-Cx6NJXh5.png | Bin 0 -> 26669 bytes dist-frontend/assets/index-BIPqZpBm.js | 7 + dist-frontend/assets/index-B_Ugrscd.css | 9 + dist-frontend/assets/jinja2-CZ-2GBUs.js | 1 + dist-frontend/assets/jsx-BqYTd4Ox.js | 1 + dist-frontend/assets/julia-DzRJNze5.js | 1 + dist-frontend/assets/livescript-CTahV9d4.js | 1 + dist-frontend/assets/lua-DtLm0yzv.js | 1 + dist-frontend/assets/markdown-BzkH4IWd.js | 1 + dist-frontend/assets/markdown-nFIn21h-.js | 1 + dist-frontend/assets/mathematica-j2K5Nob2.js | 1 + dist-frontend/assets/mbox-DnT_eu6u.js | 1 + dist-frontend/assets/mirc-BsPlsCKq.js | 1 + dist-frontend/assets/mllike-Bul4RzWX.js | 1 + dist-frontend/assets/modelica-CN82Hjfx.js | 1 + dist-frontend/assets/mscgen-CXfyxN3O.js | 1 + dist-frontend/assets/multiplex-Cx617-xo.js | 3 + dist-frontend/assets/mumps-CByPgSeh.js | 1 + dist-frontend/assets/nginx-CZ9wXhkV.js | 1 + dist-frontend/assets/no-image-CF2LzJv7.png | Bin 0 -> 34091 bytes dist-frontend/assets/nsis-WhSdmpHT.js | 1 + dist-frontend/assets/ntriples-DD9L1km0.js | 1 + dist-frontend/assets/octave-COXT1yn0.js | 1 + dist-frontend/assets/overlay-6jmI1xTp.js | 1 + dist-frontend/assets/oz-Da4VFWYm.js | 1 + dist-frontend/assets/pascal-B1y2XCyp.js | 1 + ...cessibility-settings-monterey-CdsSxQWR.gif | Bin 0 -> 5811241 bytes ...ccessibility-settings-ventura-B5xWaNbv.gif | Bin 0 -> 3246167 bytes dist-frontend/assets/pegjs-Da3q5XnG.js | 1 + dist-frontend/assets/perl-Asp0f867.js | 1 + dist-frontend/assets/php-71tO0CUH.js | 1 + dist-frontend/assets/pig-CMgyeSfJ.js | 1 + dist-frontend/assets/powershell-CtO8JJd6.js | 1 + dist-frontend/assets/prism-c-BI05wwL9.js | 1 + dist-frontend/assets/prism-csharp-aZJd74Dz.js | 1 + dist-frontend/assets/prism-css-Bpx-unsJ.js | 1 + dist-frontend/assets/prism-java-Bz0cy7o8.js | 1 + dist-frontend/assets/prism-json-xwnKirkR.js | 1 + .../assets/prism-markdown-4MKFcK2x.js | 1 + .../prism-markup-templating-Ct1xsyfA.js | 1 + dist-frontend/assets/prism-path-CC2I6U-X.js | 1 + dist-frontend/assets/prism-php-Y_bwvUTe.js | 1 + dist-frontend/assets/prism-regex-DCddBNSB.js | 1 + dist-frontend/assets/prism-ruby-pgU1Zfy6.js | 1 + .../assets/prism-shell-session-C8ifCaAv.js | 1 + dist-frontend/assets/prism-sql-AgAyy5H_.js | 1 + dist-frontend/assets/prism-uri-BQNPRq5q.js | 1 + dist-frontend/assets/prism-yaml-Chm5ZdEN.js | 1 + dist-frontend/assets/properties-BIdqkyNt.js | 1 + dist-frontend/assets/protobuf-C2FX4XDW.js | 1 + dist-frontend/assets/pug-udiFjUiW.js | 1 + dist-frontend/assets/puppet-CuGQJUQz.js | 1 + dist-frontend/assets/python-a8ZN5Ifv.js | 1 + dist-frontend/assets/q-B5E7ZAlA.js | 1 + dist-frontend/assets/r-CXytZJ_z.js | 1 + dist-frontend/assets/rpm-loWZ38cd.js | 1 + dist-frontend/assets/rst-x-YdJKUf.js | 1 + dist-frontend/assets/ruby-CUv_2cE6.js | 1 + dist-frontend/assets/ruby-DrBlgSIX.js | 1 + dist-frontend/assets/rust-CECTlJlB.js | 1 + dist-frontend/assets/sas-F-7_6Jdg.js | 1 + dist-frontend/assets/sass-DfmYfR5p.js | 1 + dist-frontend/assets/scheme-E5v_T6DG.js | 1 + dist-frontend/assets/shell-uHqAcByi.js | 1 + dist-frontend/assets/sieve-CbDNJ0TM.js | 1 + dist-frontend/assets/slim-d7Z4lAts.js | 1 + dist-frontend/assets/smalltalk-CGLbf20e.js | 1 + dist-frontend/assets/smarty-BmZT5K8Q.js | 1 + dist-frontend/assets/solr-MnVTKpd2.js | 1 + dist-frontend/assets/soy-DcmltwnY.js | 1 + dist-frontend/assets/sparql-5VUUvode.js | 1 + dist-frontend/assets/spreadsheet-DB1FZ1v2.js | 1 + dist-frontend/assets/sql-C8uJ4o1L.js | 1 + dist-frontend/assets/stex-DJeqGD60.js | 1 + dist-frontend/assets/stex-nTWKGNDo.js | 1 + dist-frontend/assets/stylus-DBOiHsJ5.js | 1 + dist-frontend/assets/swift-CLOAQg_1.js | 1 + dist-frontend/assets/tcl-tnG6txJ2.js | 1 + dist-frontend/assets/textile-DMLzNI5U.js | 1 + dist-frontend/assets/tiddlywiki-RbU_yCyr.js | 1 + dist-frontend/assets/tiki-Btz-h5GF.js | 1 + dist-frontend/assets/toml-BBh1BnEP.js | 1 + dist-frontend/assets/tornado-B3jCObZ9.js | 1 + dist-frontend/assets/troff-CdBEHN9t.js | 1 + dist-frontend/assets/ttcn-cfg-iNj7-iEp.js | 1 + dist-frontend/assets/ttcn-uCpRF2MT.js | 1 + dist-frontend/assets/turtle-BMegzYZP.js | 1 + dist-frontend/assets/twig-CvmBDsDU.js | 1 + dist-frontend/assets/vb-DHcZeaZZ.js | 1 + dist-frontend/assets/vbscript-B_zDrSi1.js | 1 + dist-frontend/assets/velocity-B093arIW.js | 1 + dist-frontend/assets/verilog-BcnaaooT.js | 1 + dist-frontend/assets/vhdl-CagjzFgb.js | 1 + dist-frontend/assets/vue-NkNgpH_3.js | 1 + dist-frontend/assets/wast-Bay8xTdS.js | 1 + dist-frontend/assets/webidl-DXcfAv93.js | 1 + dist-frontend/assets/xquery-CsRHZ6N-.js | 1 + dist-frontend/assets/yacas-bzwHnb5K.js | 1 + dist-frontend/assets/yaml-0ip59n2H.js | 1 + .../assets/yaml-frontmatter-DeWJDSuj.js | 1 + dist-frontend/assets/z80-BwkETLA0.js | 1 + dist-frontend/drop-image.html | 85 + dist-frontend/drop-path.html | 85 + dist-frontend/index.html | 35 + entitlements_dev.plist | 23 + migrations/.keep | 0 .../down.sql | 6 + .../up.sql | 205 + migrations/2023-08-05-230732_seeds/down.sql | 31 + migrations/2023-08-05-230732_seeds/up.sql | 118 + migrations/2023-08-07-141400_seed2/down.sql | 1 + migrations/2023-08-07-141400_seed2/up.sql | 49 + migrations/2023-10-24-164344_seeds3/down.sql | 1 + migrations/2023-10-24-164344_seeds3/up.sql | 415 + package-lock.json | 33779 ++++++++++++++++ package.json | 185 + packages/pastebar-frontend/index.html | 12 + packages/pastebar-frontend/src/app.tsx | 21 + .../atoms/checkbox-filter/index.tsx | 26 + .../atoms/date-picker/custom-header.tsx | 44 + .../atoms/date-picker/date-picker.tsx | 146 + .../atoms/date-picker/time-picker.tsx | 100 + .../components/atoms/date-picker/types.tsx | 6 + .../src/components/atoms/date-picker/utils.ts | 25 + .../atoms/fundamentals/badge/index.tsx | 46 + .../atoms/fundamentals/button/index.tsx | 71 + .../atoms/fundamentals/icon-badge/index.tsx | 37 + .../fundamentals/icons/adjustments-icon.tsx | 29 + .../fundamentals/icons/alert-icon/index.tsx | 42 + .../fundamentals/icons/arrow-down-icon.tsx | 36 + .../icons/arrow-left-icon/index.tsx | 35 + .../icons/arrow-right-icon/index.tsx | 36 + .../icons/arrow-top-right-icon/index.tsx | 29 + .../fundamentals/icons/arrow-up-icon.tsx | 36 + .../fundamentals/icons/back-icon/index.tsx | 36 + .../icons/backspace-icon/index.tsx | 42 + .../fundamentals/icons/bell-icon/index.tsx | 36 + .../icons/bell-noti-icon/index.tsx | 41 + .../icons/bell-off-icon/index.tsx | 57 + .../fundamentals/icons/building-tax-icon.tsx | 67 + .../icons/buildings-icon/index.tsx | 64 + .../fundamentals/icons/calendar-icon.tsx | 54 + .../fundamentals/icons/cancel-icon/index.tsx | 36 + .../fundamentals/icons/cart-icon/index.tsx | 49 + .../fundamentals/icons/cash-icon/index.tsx | 99 + .../fundamentals/icons/channels-icon.tsx | 65 + .../icons/check-circle-fill-icon/index.tsx | 28 + .../icons/check-circle-icon/index.tsx | 36 + .../atoms/fundamentals/icons/check-icon.tsx | 29 + .../atoms/fundamentals/icons/chevron-down.tsx | 29 + .../icons/chevron-left-icon/index.tsx | 29 + .../icons/chevron-right-icon/index.tsx | 29 + .../atoms/fundamentals/icons/chevron-up.tsx | 29 + .../icons/circle-quarter-solid/index.tsx | 24 + .../icons/clipboard-copy-icon/index.tsx | 50 + .../fundamentals/icons/clock-icon/index.tsx | 36 + .../fundamentals/icons/coins-icon/index.tsx | 50 + .../icons/corner-down-right-icon/index.tsx | 36 + .../fundamentals/icons/cross-icon/index.tsx | 36 + .../icons/crosshair-icon/index.tsx | 57 + .../icons/customer-icon/index.tsx | 36 + .../atoms/fundamentals/icons/details-icon.tsx | 57 + .../atoms/fundamentals/icons/discord-icon.tsx | 26 + .../icons/dollar-sign-icon/index.tsx | 36 + .../fundamentals/icons/down-left/index.tsx | 34 + .../fundamentals/icons/download-icon.tsx | 42 + .../fundamentals/icons/duplicate-icon.tsx | 36 + .../atoms/fundamentals/icons/edit-icon.tsx | 36 + .../fundamentals/icons/edit-icon/index.tsx | 36 + .../icons/ellipsis-vertical-icon/index.tsx | 26 + .../fundamentals/icons/export-icon/index.tsx | 43 + .../fundamentals/icons/eye-icon/index.tsx | 36 + .../fundamentals/icons/eye-off-icon/index.tsx | 36 + .../icons/fast-delivery-icon/index.tsx | 64 + .../atoms/fundamentals/icons/file-icon.tsx | 55 + .../icons/folder-open-icon/index.tsx | 29 + .../fundamentals/icons/gear-icon/index.tsx | 36 + .../fundamentals/icons/gift-icon/index.tsx | 57 + .../atoms/fundamentals/icons/grip-icon.tsx | 64 + .../fundamentals/icons/happy-icon/index.tsx | 50 + .../atoms/fundamentals/icons/help-circle.tsx | 43 + .../icons/image-placeholder-icon/index.tsx | 43 + .../fundamentals/icons/info-icon/index.tsx | 43 + .../atoms/fundamentals/icons/key-icon.tsx | 30 + .../icons/list-arrow-icon/index.tsx | 57 + .../atoms/fundamentals/icons/list-icon.tsx | 64 + .../fundamentals/icons/lock-icon/index.tsx | 36 + .../fundamentals/icons/log-out-icon/index.tsx | 43 + .../icons/long-arrow-right-icon/index.tsx | 38 + .../fundamentals/icons/mail-icon/index.tsx | 36 + .../fundamentals/icons/map-pin-icon/index.tsx | 36 + .../fundamentals/icons/medusa-icon/index.tsx | 28 + .../fundamentals/icons/medusa-vice/index.tsx | 40 + .../fundamentals/icons/minus-icon/index.tsx | 30 + .../icons/more-horizontal-icon.tsx | 42 + .../fundamentals/icons/package-icon/index.tsx | 50 + .../fundamentals/icons/percent-icon/index.tsx | 43 + .../fundamentals/icons/plus-icon/index.tsx | 36 + .../fundamentals/icons/pointer-icon/index.tsx | 35 + .../fundamentals/icons/publish-icon/index.tsx | 57 + .../atoms/fundamentals/icons/refresh-icon.tsx | 50 + .../atoms/fundamentals/icons/refund.tsx | 57 + .../fundamentals/icons/reorder-icon/index.tsx | 64 + .../icons/sad-face-icon/index.tsx | 50 + .../fundamentals/icons/sale-icon/index.tsx | 50 + .../fundamentals/icons/search-icon/index.tsx | 27 + .../fundamentals/icons/send-icon/index.tsx | 33 + .../icons/sided-mouth-face/index.tsx | 50 + .../fundamentals/icons/sorting-icon/index.tsx | 54 + .../icons/sparkles-icon/index.tsx | 29 + .../atoms/fundamentals/icons/stop-icon.tsx | 36 + .../fundamentals/icons/swatch-icon/index.tsx | 29 + .../fundamentals/icons/tag-dot-icon/index.tsx | 29 + .../fundamentals/icons/tag-icon/index.tsx | 36 + .../atoms/fundamentals/icons/taxes-icon.tsx | 54 + .../atoms/fundamentals/icons/tile-icon.tsx | 50 + .../atoms/fundamentals/icons/trash-icon.tsx | 50 + .../icons/triangle-mini-icon/index.tsx | 28 + .../icons/triangle-right-icon/index.tsx | 28 + .../fundamentals/icons/truck-icon/index.tsx | 43 + .../fundamentals/icons/types/icon-type.ts | 8 + .../atoms/fundamentals/icons/u-turn-icon.tsx | 29 + .../icons/unpublish-icon/index.tsx | 57 + .../fundamentals/icons/upload-icon/index.tsx | 43 + .../fundamentals/icons/users-icon/index.tsx | 50 + .../fundamentals/icons/warning-circle.tsx | 82 + .../fundamentals/icons/x-circle-icon.tsx | 43 + .../atoms/fundamentals/input-header.tsx | 39 + .../fundamentals/status-indicator/index.tsx | 36 + .../image/image-with-fallback-on-error.tsx | 42 + .../components/atoms/keyshortcut/index.tsx | 13 + .../components/atoms/link-card/link-card.tsx | 140 + .../atoms/link-card/preview-link-card.tsx | 72 + .../components/atoms/notification/index.tsx | 58 + .../components/atoms/os-shortcut/index.tsx | 48 + .../atoms/page-description/index.tsx | 20 + .../atoms/save-notification/error-state.tsx | 51 + .../atoms/save-notification/index.tsx | 89 + .../atoms/save-notification/saving-state.tsx | 31 + .../atoms/save-notification/success-state.tsx | 50 + .../src/components/atoms/spacer/index.tsx | 49 + .../src/components/atoms/spinner.tsx | 39 + .../src/components/atoms/text/index.tsx | 97 + .../src/components/atoms/time-ago/TimeAgo.tsx | 13 + .../atoms/toaster-container/index.tsx | 33 + .../src/components/atoms/tooltip/index.tsx | 79 + .../src/components/icons.tsx | 1016 + .../src/components/molecules/actionables.tsx | 113 + .../molecules/collections-dropdown/index.tsx | 97 + .../components/molecules/drop-zone/index.tsx | 30 + .../molecules/emoji-picker/index.tsx | 66 + .../molecules/icon-tooltip/index.tsx | 37 + .../indeterminate-checkbox/index.tsx | 81 + .../molecules/input-credit-card/index.tsx | 208 + .../molecules/input-signin/index.tsx | 91 + .../src/components/molecules/input/index.tsx | 239 + .../src/components/molecules/modal/index.tsx | 247 + .../components/molecules/modal/side-modal.tsx | 63 + .../molecules/modal/stepped-modal.tsx | 222 + .../molecules/notification/index.tsx | 57 + .../src/components/molecules/search-bar.tsx | 51 + .../src/components/molecules/select/index.tsx | 235 + .../next-select/components/containers.tsx | 190 + .../select/next-select/components/control.tsx | 141 + .../select/next-select/components/index.ts | 39 + .../select/next-select/components/input.tsx | 36 + .../select/next-select/components/menu.tsx | 325 + .../next-select/components/multi-value.tsx | 115 + .../next-select/components/placeholder.tsx | 32 + .../components/select-primitives.ts | 3 + .../next-select/components/single-value.tsx | 74 + .../next-select/createable-select/index.tsx | 40 + .../molecules/select/next-select/index.tsx | 4 + .../select/next-select/module-augmentation.ts | 74 + .../select/next-select/select/index.tsx | 63 + .../select/next-select/use-select-props.tsx | 85 + .../molecules/select/next-select/utils.tsx | 83 + .../molecules/select/select-components.tsx | 278 + .../molecules/status-selector/index.tsx | 56 + .../molecules/tag-grid.tsx/index.tsx | 39 + .../components/molecules/tag-input/index.tsx | 231 + .../components/molecules/textarea/index.tsx | 341 + .../components/molecules/unpin-all/index.tsx | 104 + .../organisms/export-modal/index.tsx | 58 + .../organisms/help-dialog/index.tsx | 85 + .../src/components/tailwind-indicator.tsx | 20 + .../src/components/theme-mode-toggle.tsx | 70 + .../src/components/theme-provider.tsx | 6 + .../src/components/ui/accordion.tsx | 54 + .../src/components/ui/alert-dialog.tsx | 140 + .../src/components/ui/alert.tsx | 57 + .../src/components/ui/aspect-ratio.tsx | 5 + .../src/components/ui/avatar.tsx | 48 + .../src/components/ui/badge.tsx | 51 + .../src/components/ui/boxes.tsx | 23 + .../src/components/ui/button.tsx | 64 + .../src/components/ui/calendar.tsx | 75 + .../src/components/ui/card.tsx | 78 + .../src/components/ui/checkbox.tsx | 103 + .../src/components/ui/collapsible.tsx | 9 + .../src/components/ui/command.tsx | 147 + .../src/components/ui/context-menu.tsx | 194 + .../src/components/ui/dialog.tsx | 110 + .../src/components/ui/dropdown-menu.tsx | 202 + .../src/components/ui/hover-card.tsx | 27 + .../src/components/ui/index.ts | 25 + .../src/components/ui/input.tsx | 40 + .../src/components/ui/label.tsx | 20 + .../src/components/ui/menubar.tsx | 222 + .../src/components/ui/navigation-menu.tsx | 123 + .../src/components/ui/popover.tsx | 40 + .../src/components/ui/progress.tsx | 26 + .../src/components/ui/radio-group.tsx | 42 + .../src/components/ui/scroll-area.tsx | 44 + .../src/components/ui/select.tsx | 131 + .../src/components/ui/separator.tsx | 26 + .../src/components/ui/sheet.tsx | 214 + .../src/components/ui/skeleton.tsx | 9 + .../src/components/ui/slider.tsx | 23 + .../src/components/ui/switch.tsx | 27 + .../src/components/ui/table.tsx | 109 + .../src/components/ui/tabs.tsx | 53 + .../src/components/ui/textarea.tsx | 24 + .../src/components/ui/toast.tsx | 127 + .../src/components/ui/toaster.tsx | 31 + .../src/components/ui/toggle.tsx | 43 + .../src/components/ui/tooltip.tsx | 28 + .../src/components/ui/use-toast.ts | 188 + .../src/components/utils/bytes-converter.ts | 18 + .../utils/convert-empty-string-to-null.js | 9 + .../src/components/utils/countries.ts | 636 + .../src/components/utils/equals-set.ts | 11 + .../src/components/utils/focus-by-name.ts | 3 + .../src/components/utils/format-address.js | 19 + .../src/components/utils/is-nullish-object.ts | 14 + .../src/components/utils/validate-email.ts | 7 + .../pastebar-frontend/src/constants/index.ts | 6 + .../src/constants/theme.constant.ts | 46 + .../src/hooks/queries/use-collections.ts | 325 + .../src/hooks/queries/use-history-items.ts | 384 + .../src/hooks/queries/use-invoke.ts | 37 + .../src/hooks/queries/use-items.ts | 526 + .../src/hooks/queries/use-tabs.ts | 102 + .../src/hooks/use-copypaste-clip-item.ts | 185 + .../src/hooks/use-copypaste-history-item.ts | 166 + .../src/hooks/use-copypaste.ts | 123 + .../src/hooks/use-debounce.ts | 22 + .../src/hooks/use-double-click.tsx | 49 + .../src/hooks/use-esc-press.ts | 21 + .../src/hooks/use-localstorage.ts | 22 + .../src/hooks/use-long-press.js | 24 + .../pastebar-frontend/src/hooks/use-signal.ts | 13 + .../src/hooks/use-window-dimensions.ts | 25 + .../pastebar-frontend/src/layout/Layout.tsx | 29 + .../pastebar-frontend/src/layout/Logo.tsx | 24 + .../pastebar-frontend/src/layout/NavBar.tsx | 549 + .../pastebar-frontend/src/lib/commands.ts | 13 + .../src/lib/i18n-vite-loaded/loader.ts | 216 + .../src/lib/i18n-vite-loaded/utils.ts | 56 + packages/pastebar-frontend/src/lib/utils.ts | 387 + .../pastebar-frontend/src/libs/acronym.ts | 9 + .../src/libs/deepParseJson.ts | 30 + .../src/libs/growShrinkColor.ts | 15 + .../pastebar-frontend/src/libs/isLastChild.ts | 3 + .../pastebar-frontend/src/libs/paginate.ts | 6 + .../src/libs/prismjs/components/prism-path.js | 26 + .../themes/prism-theme-github-dark.css | 133 + .../themes/prism-theme-github-light.css | 132 + .../src/libs/react-query-persister-idk.ts | 20 + .../src/libs/requiredFieldValidation.ts | 8 + .../pastebar-frontend/src/libs/shadeColor.ts | 17 + packages/pastebar-frontend/src/libs/sortBy.ts | 28 + packages/pastebar-frontend/src/libs/utils.ts | 45 + .../src/libs/wildCardSearch.ts | 23 + .../src/libs/zustand-logger.ts | 52 + .../_lib/buildFormatLongFn/index.js | 15 + .../_lib/buildLocalizeFn/index.js | 39 + .../date-locales/_lib/buildMatchFn/index.js | 60 + .../_lib/buildMatchPatternFn/index.js | 24 + .../en/_lib/formatDistance/index.js | 94 + .../date-locales/en/_lib/formatLong/index.js | 46 + .../en/_lib/formatRelative/index.js | 21 + .../date-locales/en/_lib/localize/index.js | 184 + .../date-locales/en/_lib/match/index.js | 139 + .../src/locales/date-locales/en/index.js | 44 + .../src/locales/date-locales/en/package.json | 5 + .../src/locales/date-locales/index.ts | 3 + .../pastebar-frontend/src/locales/format.ts | 11 + .../pastebar-frontend/src/locales/index.ts | 4 + .../src/locales/lang/en/calendar.yaml | 9 + .../src/locales/lang/en/collections.yaml | 20 + .../src/locales/lang/en/common.yaml | 303 + .../src/locales/lang/en/contextMenus.yaml | 80 + .../src/locales/lang/en/dashboard.yaml | 257 + .../src/locales/lang/en/history.yaml | 36 + .../src/locales/lang/en/menus.yaml | 28 + .../src/locales/lang/en/navbar.yaml | 28 + .../src/locales/lang/en/pinned.yaml | 3 + .../src/locales/lang/en/settings.yaml | 190 + .../pastebar-frontend/src/locales/languges.ts | 15 + .../pastebar-frontend/src/locales/locales.ts | 152 + .../src/locales/translation-utils.ts | 90 + packages/pastebar-frontend/src/main.tsx | 61 + .../ClipboardHistory/TrashHistory.tsx | 23 + .../components/ClipboardHistory/index.ts | 1 + .../pages/components/Dashboard/Dashboard.tsx | 186 + .../src/pages/components/Dashboard/index.tsx | 3 + .../src/pages/components/Menu/MenuItem.tsx | 604 + .../src/pages/components/helpers.tsx | 186 + .../pastebar-frontend/src/pages/index.tsx | 20 + .../src/pages/main/ClipboardHistoryPage.tsx | 995 + .../src/pages/main/PasteMenuPage.tsx | 62 + .../src/pages/settings/AppSettings.tsx | 116 + .../settings/ClipboardHistorySettings.tsx | 617 + .../src/pages/settings/UserPreferences.tsx | 399 + .../src/store/clipboardHistoryStore.ts | 172 + .../src/store/collectionStore.ts | 191 + .../pastebar-frontend/src/store/constants.ts | 39 + packages/pastebar-frontend/src/store/index.ts | 6 + .../src/store/settingsStore.ts | 387 + .../pastebar-frontend/src/store/themeStore.ts | 56 + .../pastebar-frontend/src/store/uiStore.ts | 152 + .../pastebar-frontend/src/styles/globals.css | 404 + packages/pastebar-frontend/src/types/auth.ts | 30 + .../pastebar-frontend/src/types/history.ts | 76 + packages/pastebar-frontend/src/types/menu.ts | 174 + .../pastebar-frontend/src/types/navigation.ts | 10 + packages/pastebar-frontend/src/types/theme.ts | 9 + .../pastebar-frontend/src/types/window.d.ts | 17 + packages/pastebar-frontend/src/vite-env.d.ts | 3 + postcss.config.js | 6 + prettier.config.js | 44 + rustfmt.toml | 1 + scripts/i18n-vite-loaded/loader.ts | 216 + scripts/i18n-vite-loaded/utils.ts | 55 + scripts/twSafelistGenerator/generator.js | 55 + scripts/twSafelistGenerator/index.js | 26 + src-tauri/.gitignore | 4 + src-tauri/Cargo.lock | 6956 ++++ src-tauri/Cargo.toml | 104 + src-tauri/assets/16x16.png | Bin 0 -> 4973 bytes src-tauri/build.rs | 3 + src-tauri/diesel.toml | 8 + src-tauri/icons/128x128.png | Bin 0 -> 1051 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 4442 bytes src-tauri/icons/32x32.png | Bin 0 -> 1051 bytes src-tauri/icons/512x512.png | Bin 0 -> 3760 bytes src-tauri/icons/64x64.png | Bin 0 -> 1051 bytes src-tauri/icons/__128x128-notification.png | Bin 0 -> 2930 bytes src-tauri/icons/__32x32-notification.png | Bin 0 -> 874 bytes src-tauri/icons/__32x32.png | Bin 0 -> 649 bytes src-tauri/icons/__icon.icns | Bin 0 -> 171401 bytes src-tauri/icons/__icon.ico | Bin 0 -> 25124 bytes src-tauri/icons/_icon (2).ico | Bin 0 -> 30775 bytes src-tauri/icons/_icon.ico | Bin 0 -> 28754 bytes src-tauri/icons/icon.icns | Bin 0 -> 187169 bytes src-tauri/icons/icon.ico | Bin 0 -> 30891 bytes src-tauri/icons/icon.png | Bin 0 -> 14196 bytes .../icons/paste-app-logo-outline-shadows.png | Bin 0 -> 20800 bytes src-tauri/icons/tray128x128-notification.png | Bin 0 -> 3230 bytes .../icons/tray128x128-white-notification.png | Bin 0 -> 4156 bytes src-tauri/icons/tray128x128-white.png | Bin 0 -> 2928 bytes src-tauri/icons/tray128x128.png | Bin 0 -> 2416 bytes src-tauri/libs/auto-launch/Cargo.lock | 172 + src-tauri/libs/auto-launch/Cargo.toml | 20 + src-tauri/libs/auto-launch/LICENSE | 21 + src-tauri/libs/auto-launch/README.md | 118 + src-tauri/libs/auto-launch/rustfmt.toml | 14 + src-tauri/libs/auto-launch/src/lib.rs | 332 + src-tauri/libs/auto-launch/src/linux.rs | 83 + src-tauri/libs/auto-launch/src/macos.rs | 199 + src-tauri/libs/auto-launch/src/windows.rs | 98 + src-tauri/libs/inputbot/.gitignore | 3 + src-tauri/libs/inputbot/CHANGELOG.md | 31 + src-tauri/libs/inputbot/Cargo.toml | 31 + src-tauri/libs/inputbot/LICENSE-MIT | 23 + src-tauri/libs/inputbot/README.md | 61 + .../libs/inputbot/examples/autoclicker.rs | 32 + src-tauri/libs/inputbot/examples/bind_all.rs | 22 + .../libs/inputbot/examples/blockable_binds.rs | 23 + .../libs/inputbot/examples/key_sequences.rs | 23 + .../libs/inputbot/examples/move_mouse.rs | 30 + src-tauri/libs/inputbot/src/common.rs | 23 + src-tauri/libs/inputbot/src/lib.rs | 21 + src-tauri/libs/inputbot/src/linux/inputs.rs | 484 + src-tauri/libs/inputbot/src/linux/mod.rs | 339 + src-tauri/libs/inputbot/src/mac/inputs.rs | 243 + src-tauri/libs/inputbot/src/mac/mod.rs | 170 + src-tauri/libs/inputbot/src/public.rs | 389 + src-tauri/libs/inputbot/src/windows/inputs.rs | 270 + src-tauri/libs/inputbot/src/windows/mod.rs | 482 + src-tauri/libs/inputbotlinux/.gitignore | 1 + src-tauri/libs/inputbotlinux/Cargo.lock | 42 + src-tauri/libs/inputbotlinux/Cargo.toml | 7 + src-tauri/libs/inputbotlinux/src/lib.rs | 50 + src-tauri/libs/lang_detect/Cargo.toml | 10 + src-tauri/libs/lang_detect/src/detector.rs | 148 + src-tauri/libs/lang_detect/src/languages/c.rs | 125 + .../libs/lang_detect/src/languages/cpp.rs | 152 + .../libs/lang_detect/src/languages/cs.rs | 177 + .../libs/lang_detect/src/languages/css.rs | 16 + .../libs/lang_detect/src/languages/docker.rs | 36 + .../libs/lang_detect/src/languages/go.rs | 116 + .../libs/lang_detect/src/languages/html.rs | 53 + .../libs/lang_detect/src/languages/java.rs | 169 + .../lang_detect/src/languages/javascript.rs | 222 + .../libs/lang_detect/src/languages/json.rs | 33 + .../libs/lang_detect/src/languages/jsx.rs | 110 + .../libs/lang_detect/src/languages/kotlin.rs | 108 + .../lang_detect/src/languages/markdown.rs | 88 + .../libs/lang_detect/src/languages/mod.rs | 22 + .../libs/lang_detect/src/languages/php.rs | 142 + .../libs/lang_detect/src/languages/python.rs | 100 + .../libs/lang_detect/src/languages/regex.rs | 53 + .../libs/lang_detect/src/languages/ruby.rs | 136 + .../libs/lang_detect/src/languages/rust.rs | 251 + .../libs/lang_detect/src/languages/shell.rs | 14 + .../libs/lang_detect/src/languages/sql.rs | 119 + .../libs/lang_detect/src/languages/swift.rs | 128 + .../libs/lang_detect/src/languages/yaml.rs | 106 + src-tauri/libs/lang_detect/src/lib.rs | 9 + src-tauri/libs/lang_detect/src/points.rs | 42 + src-tauri/libs/lang_detect/src/shebang.rs | 20 + src-tauri/libs/lang_detect/src/types.rs | 53 + src-tauri/libs/tao-0.16.7/CHANGELOG.md | 745 + src-tauri/libs/tao-0.16.7/Cargo.toml | 126 + src-tauri/libs/tao-0.16.7/LICENSE | 201 + src-tauri/libs/tao-0.16.7/LICENSE.spdx | 18 + src-tauri/libs/tao-0.16.7/README.md | 84 + src-tauri/libs/tao-0.16.7/build.rs | 16 + src-tauri/libs/tao-0.16.7/lib.rs | 233 + src-tauri/libs/tao-0.16.7/platform/android.rs | 46 + src-tauri/libs/tao-0.16.7/platform/ios.rs | 325 + src-tauri/libs/tao-0.16.7/platform/linux.rs | 24 + src-tauri/libs/tao-0.16.7/platform/macos.rs | 662 + src-tauri/libs/tao-0.16.7/platform/mod.rs | 29 + .../libs/tao-0.16.7/platform/run_return.rs | 50 + src-tauri/libs/tao-0.16.7/platform/unix.rs | 219 + src-tauri/libs/tao-0.16.7/platform/windows.rs | 357 + .../platform_impl/android/clipboard.rs | 12 + .../tao-0.16.7/platform_impl/android/mod.rs | 1261 + .../platform_impl/android/ndk_glue.rs | 331 + .../tao-0.16.7/platform_impl/ios/app_state.rs | 1043 + .../tao-0.16.7/platform_impl/ios/clipboard.rs | 12 + .../platform_impl/ios/event_loop.rs | 363 + .../libs/tao-0.16.7/platform_impl/ios/ffi.rs | 396 + .../tao-0.16.7/platform_impl/ios/keycode.rs | 13 + .../libs/tao-0.16.7/platform_impl/ios/mod.rs | 184 + .../tao-0.16.7/platform_impl/ios/monitor.rs | 299 + .../libs/tao-0.16.7/platform_impl/ios/view.rs | 627 + .../tao-0.16.7/platform_impl/ios/window.rs | 760 + .../platform_impl/linux/clipboard.rs | 50 + .../tao-0.16.7/platform_impl/linux/device.rs | 79 + .../platform_impl/linux/event_loop.rs | 1149 + .../platform_impl/linux/global_shortcut.rs | 415 + .../tao-0.16.7/platform_impl/linux/icon.rs | 61 + .../platform_impl/linux/keyboard.rs | 344 + .../tao-0.16.7/platform_impl/linux/keycode.rs | 301 + .../tao-0.16.7/platform_impl/linux/menu.rs | 425 + .../tao-0.16.7/platform_impl/linux/mod.rs | 108 + .../tao-0.16.7/platform_impl/linux/monitor.rs | 102 + .../platform_impl/linux/system_tray.rs | 149 + .../tao-0.16.7/platform_impl/linux/window.rs | 955 + .../tao-0.16.7/platform_impl/linux/x11/ffi.rs | 8 + .../tao-0.16.7/platform_impl/linux/x11/mod.rs | 8 + .../platform_impl/linux/x11/xdisplay.rs | 169 + .../tao-0.16.7/platform_impl/macos/app.rs | 134 + .../platform_impl/macos/app_delegate.rs | 98 + .../platform_impl/macos/app_state.rs | 456 + .../carbon_hotkey/carbon_hotkey_binding.c | 69 + .../carbon_hotkey/carbon_hotkey_binding.h | 10 + .../platform_impl/macos/clipboard.rs | 43 + .../tao-0.16.7/platform_impl/macos/event.rs | 347 + .../platform_impl/macos/event_loop.rs | 315 + .../tao-0.16.7/platform_impl/macos/ffi.rs | 323 + .../platform_impl/macos/global_shortcut.rs | 165 + .../tao-0.16.7/platform_impl/macos/icon.rs | 35 + .../tao-0.16.7/platform_impl/macos/keycode.rs | 264 + .../tao-0.16.7/platform_impl/macos/menu.rs | 636 + .../tao-0.16.7/platform_impl/macos/mod.rs | 104 + .../tao-0.16.7/platform_impl/macos/monitor.rs | 338 + .../platform_impl/macos/observer.rs | 305 + .../platform_impl/macos/system_tray.rs | 383 + .../platform_impl/macos/util/async.rs | 260 + .../platform_impl/macos/util/cursor.rs | 167 + .../platform_impl/macos/util/mod.rs | 194 + .../tao-0.16.7/platform_impl/macos/view.rs | 1178 + .../tao-0.16.7/platform_impl/macos/window.rs | 1600 + .../platform_impl/macos/window_delegate.rs | 671 + .../libs/tao-0.16.7/platform_impl/mod.rs | 40 + .../platform_impl/windows/accelerator.rs | 68 + .../platform_impl/windows/clipboard.rs | 171 + .../platform_impl/windows/dark_mode.rs | 203 + .../tao-0.16.7/platform_impl/windows/dpi.rs | 110 + .../platform_impl/windows/drop_handler.rs | 175 + .../tao-0.16.7/platform_impl/windows/event.rs | 421 + .../platform_impl/windows/event_loop.rs | 2465 ++ .../windows/event_loop/runner.rs | 447 + .../platform_impl/windows/global_shortcut.rs | 97 + .../tao-0.16.7/platform_impl/windows/icon.rs | 165 + .../platform_impl/windows/keyboard.rs | 925 + .../platform_impl/windows/keyboard_layout.rs | 984 + .../platform_impl/windows/keycode.rs | 338 + .../tao-0.16.7/platform_impl/windows/menu.rs | 580 + .../platform_impl/windows/minimal_ime.rs | 92 + .../tao-0.16.7/platform_impl/windows/mod.rs | 157 + .../platform_impl/windows/monitor.rs | 261 + .../platform_impl/windows/raw_input.rs | 223 + .../platform_impl/windows/system_tray.rs | 403 + .../tao-0.16.7/platform_impl/windows/util.rs | 409 + .../platform_impl/windows/window.rs | 1373 + .../platform_impl/windows/window_state.rs | 465 + src-tauri/libs/tao-0.16.7/renovate.json | 5 + src-tauri/libs/tao-0.16.7/rustfmt.toml | 15 + src-tauri/libs/tao-0.16.7/src/accelerator.rs | 482 + src-tauri/libs/tao-0.16.7/src/clipboard.rs | 98 + src-tauri/libs/tao-0.16.7/src/dpi.rs | 517 + src-tauri/libs/tao-0.16.7/src/error.rs | 88 + src-tauri/libs/tao-0.16.7/src/event.rs | 1033 + src-tauri/libs/tao-0.16.7/src/event_loop.rs | 311 + .../libs/tao-0.16.7/src/global_shortcut.rs | 115 + src-tauri/libs/tao-0.16.7/src/icon.rs | 142 + src-tauri/libs/tao-0.16.7/src/keyboard.rs | 1603 + src-tauri/libs/tao-0.16.7/src/lib.rs | 233 + src-tauri/libs/tao-0.16.7/src/menu.rs | 475 + src-tauri/libs/tao-0.16.7/src/monitor.rs | 163 + .../libs/tao-0.16.7/src/platform/android.rs | 46 + src-tauri/libs/tao-0.16.7/src/platform/ios.rs | 325 + .../libs/tao-0.16.7/src/platform/linux.rs | 24 + .../libs/tao-0.16.7/src/platform/macos.rs | 662 + src-tauri/libs/tao-0.16.7/src/platform/mod.rs | 29 + .../tao-0.16.7/src/platform/run_return.rs | 50 + .../libs/tao-0.16.7/src/platform/unix.rs | 219 + .../libs/tao-0.16.7/src/platform/windows.rs | 357 + .../src/platform_impl/android/clipboard.rs | 12 + .../src/platform_impl/android/mod.rs | 1261 + .../src/platform_impl/android/ndk_glue.rs | 331 + .../src/platform_impl/ios/app_state.rs | 1043 + .../src/platform_impl/ios/clipboard.rs | 12 + .../src/platform_impl/ios/event_loop.rs | 363 + .../tao-0.16.7/src/platform_impl/ios/ffi.rs | 396 + .../src/platform_impl/ios/keycode.rs | 13 + .../tao-0.16.7/src/platform_impl/ios/mod.rs | 184 + .../src/platform_impl/ios/monitor.rs | 299 + .../tao-0.16.7/src/platform_impl/ios/view.rs | 627 + .../src/platform_impl/ios/window.rs | 760 + .../src/platform_impl/linux/clipboard.rs | 50 + .../src/platform_impl/linux/device.rs | 79 + .../src/platform_impl/linux/event_loop.rs | 1149 + .../platform_impl/linux/global_shortcut.rs | 415 + .../src/platform_impl/linux/icon.rs | 61 + .../src/platform_impl/linux/keyboard.rs | 344 + .../src/platform_impl/linux/keycode.rs | 301 + .../src/platform_impl/linux/menu.rs | 425 + .../tao-0.16.7/src/platform_impl/linux/mod.rs | 108 + .../src/platform_impl/linux/monitor.rs | 102 + .../src/platform_impl/linux/system_tray.rs | 149 + .../src/platform_impl/linux/window.rs | 955 + .../src/platform_impl/linux/x11/ffi.rs | 8 + .../src/platform_impl/linux/x11/mod.rs | 8 + .../src/platform_impl/linux/x11/xdisplay.rs | 169 + .../tao-0.16.7/src/platform_impl/macos/app.rs | 134 + .../src/platform_impl/macos/app_delegate.rs | 98 + .../src/platform_impl/macos/app_state.rs | 456 + .../carbon_hotkey/carbon_hotkey_binding.c | 69 + .../carbon_hotkey/carbon_hotkey_binding.h | 10 + .../src/platform_impl/macos/clipboard.rs | 43 + .../src/platform_impl/macos/event.rs | 347 + .../src/platform_impl/macos/event_loop.rs | 315 + .../tao-0.16.7/src/platform_impl/macos/ffi.rs | 323 + .../platform_impl/macos/global_shortcut.rs | 165 + .../src/platform_impl/macos/icon.rs | 35 + .../src/platform_impl/macos/keycode.rs | 264 + .../src/platform_impl/macos/menu.rs | 636 + .../tao-0.16.7/src/platform_impl/macos/mod.rs | 104 + .../src/platform_impl/macos/monitor.rs | 338 + .../src/platform_impl/macos/observer.rs | 305 + .../src/platform_impl/macos/system_tray.rs | 383 + .../src/platform_impl/macos/util/async.rs | 260 + .../src/platform_impl/macos/util/cursor.rs | 167 + .../src/platform_impl/macos/util/mod.rs | 194 + .../src/platform_impl/macos/view.rs | 1178 + .../src/platform_impl/macos/window.rs | 1600 + .../platform_impl/macos/window_delegate.rs | 671 + .../libs/tao-0.16.7/src/platform_impl/mod.rs | 40 + .../src/platform_impl/windows/accelerator.rs | 68 + .../src/platform_impl/windows/clipboard.rs | 171 + .../src/platform_impl/windows/dark_mode.rs | 203 + .../src/platform_impl/windows/dpi.rs | 110 + .../src/platform_impl/windows/drop_handler.rs | 175 + .../src/platform_impl/windows/event.rs | 421 + .../src/platform_impl/windows/event_loop.rs | 2465 ++ .../windows/event_loop/runner.rs | 447 + .../platform_impl/windows/global_shortcut.rs | 97 + .../src/platform_impl/windows/icon.rs | 165 + .../src/platform_impl/windows/keyboard.rs | 925 + .../platform_impl/windows/keyboard_layout.rs | 984 + .../src/platform_impl/windows/keycode.rs | 338 + .../src/platform_impl/windows/menu.rs | 580 + .../src/platform_impl/windows/minimal_ime.rs | 92 + .../src/platform_impl/windows/mod.rs | 157 + .../src/platform_impl/windows/monitor.rs | 261 + .../src/platform_impl/windows/raw_input.rs | 223 + .../src/platform_impl/windows/system_tray.rs | 402 + .../src/platform_impl/windows/util.rs | 409 + .../src/platform_impl/windows/window.rs | 1373 + .../src/platform_impl/windows/window_state.rs | 465 + src-tauri/libs/tao-0.16.7/src/system_tray.rs | 122 + src-tauri/libs/tao-0.16.7/src/window.rs | 1391 + .../libs/tao-0.16.7/tao-macros/CHANGELOG.md | 6 + .../libs/tao-0.16.7/tao-macros/Cargo.toml | 23 + .../tao-macros/examples/android_fn.rs | 33 + .../examples/generate_package_name.rs | 5 + .../libs/tao-0.16.7/tao-macros/src/lib.rs | 259 + src-tauri/src/clipboard/mod.rs | 313 + src-tauri/src/commands/clipboard_commands.rs | 655 + .../src/commands/collections_commands.rs | 193 + src-tauri/src/commands/history_commands.rs | 295 + src-tauri/src/commands/items_commands.rs | 453 + .../src/commands/link_metadata_commands.rs | 133 + src-tauri/src/commands/mod.rs | 10 + src-tauri/src/commands/request_commands.rs | 11 + src-tauri/src/commands/security_commands.rs | 45 + src-tauri/src/commands/shell_commands.rs | 26 + src-tauri/src/commands/tabs_commands.rs | 92 + .../src/commands/translations_commands.rs | 126 + src-tauri/src/constants.rs | 1 + src-tauri/src/cron_jobs.rs | 49 + src-tauri/src/db.rs | 268 + src-tauri/src/main.rs | 719 + src-tauri/src/menu.rs | 402 + src-tauri/src/metadata/mod.rs | 188 + src-tauri/src/models/mod.rs | 6 + src-tauri/src/models/models.rs | 321 + src-tauri/src/schema.rs | 193 + src-tauri/src/services/collections_service.rs | 736 + src-tauri/src/services/history_service.rs | 1100 + src-tauri/src/services/items_service.rs | 759 + .../src/services/link_metadata_service.rs | 88 + src-tauri/src/services/mod.rs | 10 + src-tauri/src/services/request_service.rs | 685 + src-tauri/src/services/settings_service.rs | 69 + src-tauri/src/services/shell_service.rs | 178 + src-tauri/src/services/tabs_service.rs | 88 + src-tauri/src/services/translations/mod.rs | 1 + .../src/services/translations/translations.rs | 51 + .../services/translations/translations.yaml | 65 + src-tauri/src/services/utils.rs | 232 + src-tauri/src/simple_cache.rs | 64 + src-tauri/src/window_ext.rs | 68 + src-tauri/tauri.conf.json | 92 + src-tauri/tauri.dev.config.json | 7 + src-tauri/tauri.windows.conf.json | 7 + tailwind-safelist.txt | 5390 +++ tailwind.config.js | 219 + tsconfig.json | 31 + tsconfig.node.json | 9 + vite.config.mts | 70 + 871 files changed, 158366 insertions(+) create mode 100644 .cargo/config.toml create mode 100644 .changeset/README.md create mode 100644 .changeset/chilled-lies-kneel.md create mode 100644 .changeset/config.json create mode 100644 .changeset/cool-pigs-study.md create mode 100644 .env create mode 100644 .env.sample create mode 100644 .eslintrc.js create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 assets/logo/paste-app-logo-5.icns create mode 100644 assets/logo/paste-app-logo-icon-shadows.png create mode 100644 assets/logo/paste-app-logo-opt.icns create mode 100644 assets/logo/paste-app-logo-opt.ico create mode 100644 assets/logo/paste-app-logo-opt.png create mode 100644 assets/logo/paste-app-logo-opt.svg create mode 100644 assets/logo/paste-app-logo-outline-shadow2.png create mode 100644 assets/logo/paste-app-logo-outline-shadows.icns create mode 100644 assets/logo/paste-app-logo-outline-shadows.ico create mode 100644 assets/logo/paste-app-logo-outline-shadows.png create mode 100644 assets/logo/paste-app-logo-outline.png create mode 100644 assets/logo/paste-app-logo-outline.psdb create mode 100644 assets/logo/paste-app-logo-shadows.png create mode 100644 assets/logo/paste-app-logo.icns create mode 100644 assets/logo/paste-app-logo.ico create mode 100644 assets/logo/paste-app-logo.png create mode 100644 assets/logo/paste-app-logo.svg create mode 100644 assets/logo/paste-app-logo128x128@1x.png create mode 100644 assets/logo/paste-app-logo128x128@2x.png create mode 100644 assets/logo/paste-app-logo2.png create mode 100644 assets/logo/paste-app-logo3.icns create mode 100644 assets/logo/paste-app-logo3.ico create mode 100644 assets/logo/paste-app-logo3.png create mode 100644 assets/logo/paste-app-logo32x32@1x.png create mode 100644 assets/logo/paste-app-logo4.png create mode 100644 assets/logo/paste-app-logo5.ico create mode 100644 assets/logo/paste-app-logo5.png create mode 100644 assets/logo/paste-app-logo64x64@1x.png create mode 100644 assets/logo/paste-bar-logo1-notification.png create mode 100644 assets/logo/paste-bar-logo1-notification.svg create mode 100644 assets/logo/paste-bar-logo1-notification2.png create mode 100644 assets/logo/paste-bar-logo1.png create mode 100644 assets/logo/paste-bar-logo1.svg create mode 100644 assets/logo/tray128x128-notification.psdb create mode 100644 assets/pastebar-logos/pastebar-app-logo-256@1x.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-256@2x.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-512@1x.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-512@2x.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text-800.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text-large.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text-large2.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text-large3.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text-original.svg create mode 100644 assets/pastebar-logos/pastebar-app-logo-text.svg create mode 100644 assets/pastebar-logos/pastebar-app-logo-text@x1.png create mode 100644 assets/pastebar-logos/pastebar-app-logo-text@x2.png create mode 100644 assets/pastebar-logos/pastebar-app-logo.svg create mode 100644 assets/pastebar-logos/pastebar-app-logo@x1.png create mode 100644 assets/pastebar-logos/pastebar-app-logo@x2.png create mode 100644 diesel.toml create mode 100644 dist-frontend/assets/Inter-Medium-B0NFony0.woff2 create mode 100644 dist-frontend/assets/Inter-Regular-B0QUfDW0.woff2 create mode 100644 dist-frontend/assets/Inter-SemiBold-_JLwM7Yv.woff2 create mode 100644 dist-frontend/assets/SourceCodePro-Regular.otf-Chr7uwKk.woff2 create mode 100644 dist-frontend/assets/TwemojiCountryFlags-Bje2crD2.woff2 create mode 100644 dist-frontend/assets/apl-BNUU5qT2.js create mode 100644 dist-frontend/assets/asciiarmor-Dme1RrXC.js create mode 100644 dist-frontend/assets/asn.1-F2CRehLK.js create mode 100644 dist-frontend/assets/asterisk-DXXb7CIe.js create mode 100644 dist-frontend/assets/brainfuck-CeDN_aVu.js create mode 100644 dist-frontend/assets/clike-CKh8RrsZ.js create mode 100644 dist-frontend/assets/clojure-IL83DiMe.js create mode 100644 dist-frontend/assets/cmake-CBK4FEFU.js create mode 100644 dist-frontend/assets/cobol-Cr7sthRy.js create mode 100644 dist-frontend/assets/coffeescript-UYn4tXgp.js create mode 100644 dist-frontend/assets/commonlisp-OgP-zwJC.js create mode 100644 dist-frontend/assets/crystal-DdaQepjy.js create mode 100644 dist-frontend/assets/css-D2W7DKD8.js create mode 100644 dist-frontend/assets/cypher-DHl2Df_p.js create mode 100644 dist-frontend/assets/d-BWFZb9L0.js create mode 100644 dist-frontend/assets/dart-C667kpDq.js create mode 100644 dist-frontend/assets/diff-yarkSHUY.js create mode 100644 dist-frontend/assets/django-BHkfok3M.js create mode 100644 dist-frontend/assets/dockerfile-DZNrmCx9.js create mode 100644 dist-frontend/assets/dtd-CBEuXgRr.js create mode 100644 dist-frontend/assets/dylan-B5hsWYhU.js create mode 100644 dist-frontend/assets/ebnf-b8GlOkaz.js create mode 100644 dist-frontend/assets/ecl-DtaFcOh0.js create mode 100644 dist-frontend/assets/eiffel-IO4mzJd1.js create mode 100644 dist-frontend/assets/elm-BbZFnA_F.js create mode 100644 dist-frontend/assets/emoji-picker-react.esm-B-CS8Os3.js create mode 100644 dist-frontend/assets/erlang-CqixHPO0.js create mode 100644 dist-frontend/assets/factor-BvAHKI6r.js create mode 100644 dist-frontend/assets/fcl-1IEbqCAc.js create mode 100644 dist-frontend/assets/forth-CDUdH4D4.js create mode 100644 dist-frontend/assets/fortran-CWoK8aFO.js create mode 100644 dist-frontend/assets/gas-DE4QdS-d.js create mode 100644 dist-frontend/assets/gfm-DIFGgWk3.js create mode 100644 dist-frontend/assets/gherkin-BxEScuMF.js create mode 100644 dist-frontend/assets/go-D8mq7sP4.js create mode 100644 dist-frontend/assets/groovy-C9RPG7vC.js create mode 100644 dist-frontend/assets/haml-DJceL8fb.js create mode 100644 dist-frontend/assets/handlebars-DR4e85cA.js create mode 100644 dist-frontend/assets/haskell-CwWQgmjX.js create mode 100644 dist-frontend/assets/haskell-literate-CIJKYWZj.js create mode 100644 dist-frontend/assets/haxe-CBSoEZry.js create mode 100644 dist-frontend/assets/htmlembedded-BY07fnzD.js create mode 100644 dist-frontend/assets/htmlmixed-D-5cijKW.js create mode 100644 dist-frontend/assets/htmlmixed-DYfBZbch.js create mode 100644 dist-frontend/assets/http-CfbTkW66.js create mode 100644 dist-frontend/assets/idl-CqKPtuqA.js create mode 100644 dist-frontend/assets/image-not-found-Cx6NJXh5.png create mode 100644 dist-frontend/assets/index-BIPqZpBm.js create mode 100644 dist-frontend/assets/index-B_Ugrscd.css create mode 100644 dist-frontend/assets/jinja2-CZ-2GBUs.js create mode 100644 dist-frontend/assets/jsx-BqYTd4Ox.js create mode 100644 dist-frontend/assets/julia-DzRJNze5.js create mode 100644 dist-frontend/assets/livescript-CTahV9d4.js create mode 100644 dist-frontend/assets/lua-DtLm0yzv.js create mode 100644 dist-frontend/assets/markdown-BzkH4IWd.js create mode 100644 dist-frontend/assets/markdown-nFIn21h-.js create mode 100644 dist-frontend/assets/mathematica-j2K5Nob2.js create mode 100644 dist-frontend/assets/mbox-DnT_eu6u.js create mode 100644 dist-frontend/assets/mirc-BsPlsCKq.js create mode 100644 dist-frontend/assets/mllike-Bul4RzWX.js create mode 100644 dist-frontend/assets/modelica-CN82Hjfx.js create mode 100644 dist-frontend/assets/mscgen-CXfyxN3O.js create mode 100644 dist-frontend/assets/multiplex-Cx617-xo.js create mode 100644 dist-frontend/assets/mumps-CByPgSeh.js create mode 100644 dist-frontend/assets/nginx-CZ9wXhkV.js create mode 100644 dist-frontend/assets/no-image-CF2LzJv7.png create mode 100644 dist-frontend/assets/nsis-WhSdmpHT.js create mode 100644 dist-frontend/assets/ntriples-DD9L1km0.js create mode 100644 dist-frontend/assets/octave-COXT1yn0.js create mode 100644 dist-frontend/assets/overlay-6jmI1xTp.js create mode 100644 dist-frontend/assets/oz-Da4VFWYm.js create mode 100644 dist-frontend/assets/pascal-B1y2XCyp.js create mode 100644 dist-frontend/assets/pastebar-accessibility-settings-monterey-CdsSxQWR.gif create mode 100644 dist-frontend/assets/pastebar-accessibility-settings-ventura-B5xWaNbv.gif create mode 100644 dist-frontend/assets/pegjs-Da3q5XnG.js create mode 100644 dist-frontend/assets/perl-Asp0f867.js create mode 100644 dist-frontend/assets/php-71tO0CUH.js create mode 100644 dist-frontend/assets/pig-CMgyeSfJ.js create mode 100644 dist-frontend/assets/powershell-CtO8JJd6.js create mode 100644 dist-frontend/assets/prism-c-BI05wwL9.js create mode 100644 dist-frontend/assets/prism-csharp-aZJd74Dz.js create mode 100644 dist-frontend/assets/prism-css-Bpx-unsJ.js create mode 100644 dist-frontend/assets/prism-java-Bz0cy7o8.js create mode 100644 dist-frontend/assets/prism-json-xwnKirkR.js create mode 100644 dist-frontend/assets/prism-markdown-4MKFcK2x.js create mode 100644 dist-frontend/assets/prism-markup-templating-Ct1xsyfA.js create mode 100644 dist-frontend/assets/prism-path-CC2I6U-X.js create mode 100644 dist-frontend/assets/prism-php-Y_bwvUTe.js create mode 100644 dist-frontend/assets/prism-regex-DCddBNSB.js create mode 100644 dist-frontend/assets/prism-ruby-pgU1Zfy6.js create mode 100644 dist-frontend/assets/prism-shell-session-C8ifCaAv.js create mode 100644 dist-frontend/assets/prism-sql-AgAyy5H_.js create mode 100644 dist-frontend/assets/prism-uri-BQNPRq5q.js create mode 100644 dist-frontend/assets/prism-yaml-Chm5ZdEN.js create mode 100644 dist-frontend/assets/properties-BIdqkyNt.js create mode 100644 dist-frontend/assets/protobuf-C2FX4XDW.js create mode 100644 dist-frontend/assets/pug-udiFjUiW.js create mode 100644 dist-frontend/assets/puppet-CuGQJUQz.js create mode 100644 dist-frontend/assets/python-a8ZN5Ifv.js create mode 100644 dist-frontend/assets/q-B5E7ZAlA.js create mode 100644 dist-frontend/assets/r-CXytZJ_z.js create mode 100644 dist-frontend/assets/rpm-loWZ38cd.js create mode 100644 dist-frontend/assets/rst-x-YdJKUf.js create mode 100644 dist-frontend/assets/ruby-CUv_2cE6.js create mode 100644 dist-frontend/assets/ruby-DrBlgSIX.js create mode 100644 dist-frontend/assets/rust-CECTlJlB.js create mode 100644 dist-frontend/assets/sas-F-7_6Jdg.js create mode 100644 dist-frontend/assets/sass-DfmYfR5p.js create mode 100644 dist-frontend/assets/scheme-E5v_T6DG.js create mode 100644 dist-frontend/assets/shell-uHqAcByi.js create mode 100644 dist-frontend/assets/sieve-CbDNJ0TM.js create mode 100644 dist-frontend/assets/slim-d7Z4lAts.js create mode 100644 dist-frontend/assets/smalltalk-CGLbf20e.js create mode 100644 dist-frontend/assets/smarty-BmZT5K8Q.js create mode 100644 dist-frontend/assets/solr-MnVTKpd2.js create mode 100644 dist-frontend/assets/soy-DcmltwnY.js create mode 100644 dist-frontend/assets/sparql-5VUUvode.js create mode 100644 dist-frontend/assets/spreadsheet-DB1FZ1v2.js create mode 100644 dist-frontend/assets/sql-C8uJ4o1L.js create mode 100644 dist-frontend/assets/stex-DJeqGD60.js create mode 100644 dist-frontend/assets/stex-nTWKGNDo.js create mode 100644 dist-frontend/assets/stylus-DBOiHsJ5.js create mode 100644 dist-frontend/assets/swift-CLOAQg_1.js create mode 100644 dist-frontend/assets/tcl-tnG6txJ2.js create mode 100644 dist-frontend/assets/textile-DMLzNI5U.js create mode 100644 dist-frontend/assets/tiddlywiki-RbU_yCyr.js create mode 100644 dist-frontend/assets/tiki-Btz-h5GF.js create mode 100644 dist-frontend/assets/toml-BBh1BnEP.js create mode 100644 dist-frontend/assets/tornado-B3jCObZ9.js create mode 100644 dist-frontend/assets/troff-CdBEHN9t.js create mode 100644 dist-frontend/assets/ttcn-cfg-iNj7-iEp.js create mode 100644 dist-frontend/assets/ttcn-uCpRF2MT.js create mode 100644 dist-frontend/assets/turtle-BMegzYZP.js create mode 100644 dist-frontend/assets/twig-CvmBDsDU.js create mode 100644 dist-frontend/assets/vb-DHcZeaZZ.js create mode 100644 dist-frontend/assets/vbscript-B_zDrSi1.js create mode 100644 dist-frontend/assets/velocity-B093arIW.js create mode 100644 dist-frontend/assets/verilog-BcnaaooT.js create mode 100644 dist-frontend/assets/vhdl-CagjzFgb.js create mode 100644 dist-frontend/assets/vue-NkNgpH_3.js create mode 100644 dist-frontend/assets/wast-Bay8xTdS.js create mode 100644 dist-frontend/assets/webidl-DXcfAv93.js create mode 100644 dist-frontend/assets/xquery-CsRHZ6N-.js create mode 100644 dist-frontend/assets/yacas-bzwHnb5K.js create mode 100644 dist-frontend/assets/yaml-0ip59n2H.js create mode 100644 dist-frontend/assets/yaml-frontmatter-DeWJDSuj.js create mode 100644 dist-frontend/assets/z80-BwkETLA0.js create mode 100644 dist-frontend/drop-image.html create mode 100644 dist-frontend/drop-path.html create mode 100644 dist-frontend/index.html create mode 100644 entitlements_dev.plist create mode 100644 migrations/.keep create mode 100644 migrations/2023-08-05-153510_create_collections/down.sql create mode 100644 migrations/2023-08-05-153510_create_collections/up.sql create mode 100644 migrations/2023-08-05-230732_seeds/down.sql create mode 100644 migrations/2023-08-05-230732_seeds/up.sql create mode 100644 migrations/2023-08-07-141400_seed2/down.sql create mode 100644 migrations/2023-08-07-141400_seed2/up.sql create mode 100644 migrations/2023-10-24-164344_seeds3/down.sql create mode 100644 migrations/2023-10-24-164344_seeds3/up.sql create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/pastebar-frontend/index.html create mode 100644 packages/pastebar-frontend/src/app.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/checkbox-filter/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/date-picker/custom-header.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/date-picker/date-picker.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/date-picker/time-picker.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/date-picker/types.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/date-picker/utils.ts create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/badge/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/button/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icon-badge/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/adjustments-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/alert-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/arrow-down-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/arrow-left-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/arrow-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/arrow-top-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/arrow-up-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/back-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/backspace-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/bell-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/bell-noti-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/bell-off-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/building-tax-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/buildings-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/calendar-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/cancel-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/cart-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/cash-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/channels-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/check-circle-fill-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/check-circle-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/check-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/chevron-down.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/chevron-left-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/chevron-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/chevron-up.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/circle-quarter-solid/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/clipboard-copy-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/clock-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/coins-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/corner-down-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/cross-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/crosshair-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/customer-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/details-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/discord-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/dollar-sign-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/down-left/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/download-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/duplicate-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/edit-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/edit-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/ellipsis-vertical-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/export-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/eye-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/eye-off-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/fast-delivery-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/file-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/folder-open-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/gear-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/gift-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/grip-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/happy-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/help-circle.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/image-placeholder-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/info-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/key-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/list-arrow-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/list-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/lock-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/log-out-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/long-arrow-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/mail-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/map-pin-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/medusa-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/medusa-vice/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/minus-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/more-horizontal-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/package-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/percent-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/plus-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/pointer-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/publish-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/refresh-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/refund.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/reorder-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/sad-face-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/sale-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/search-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/send-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/sided-mouth-face/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/sorting-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/sparkles-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/stop-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/swatch-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/tag-dot-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/tag-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/taxes-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/tile-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/trash-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/triangle-mini-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/triangle-right-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/truck-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/types/icon-type.ts create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/u-turn-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/unpublish-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/upload-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/users-icon/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/warning-circle.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/icons/x-circle-icon.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/input-header.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/fundamentals/status-indicator/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/image/image-with-fallback-on-error.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/keyshortcut/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/link-card/link-card.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/link-card/preview-link-card.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/notification/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/os-shortcut/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/page-description/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/save-notification/error-state.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/save-notification/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/save-notification/saving-state.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/save-notification/success-state.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/spacer/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/spinner.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/text/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/time-ago/TimeAgo.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/toaster-container/index.tsx create mode 100644 packages/pastebar-frontend/src/components/atoms/tooltip/index.tsx create mode 100644 packages/pastebar-frontend/src/components/icons.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/actionables.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/collections-dropdown/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/drop-zone/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/emoji-picker/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/icon-tooltip/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/indeterminate-checkbox/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/input-credit-card/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/input-signin/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/input/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/modal/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/modal/side-modal.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/modal/stepped-modal.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/notification/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/search-bar.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/containers.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/control.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/index.ts create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/input.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/menu.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/multi-value.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/placeholder.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/select-primitives.ts create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/components/single-value.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/createable-select/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/module-augmentation.ts create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/select/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/use-select-props.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/next-select/utils.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/select/select-components.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/status-selector/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/tag-grid.tsx/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/tag-input/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/textarea/index.tsx create mode 100644 packages/pastebar-frontend/src/components/molecules/unpin-all/index.tsx create mode 100644 packages/pastebar-frontend/src/components/organisms/export-modal/index.tsx create mode 100644 packages/pastebar-frontend/src/components/organisms/help-dialog/index.tsx create mode 100644 packages/pastebar-frontend/src/components/tailwind-indicator.tsx create mode 100644 packages/pastebar-frontend/src/components/theme-mode-toggle.tsx create mode 100644 packages/pastebar-frontend/src/components/theme-provider.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/accordion.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/alert-dialog.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/alert.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/aspect-ratio.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/avatar.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/badge.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/boxes.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/button.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/calendar.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/card.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/checkbox.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/collapsible.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/command.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/context-menu.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/dialog.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/dropdown-menu.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/hover-card.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/index.ts create mode 100644 packages/pastebar-frontend/src/components/ui/input.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/label.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/menubar.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/navigation-menu.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/popover.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/progress.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/radio-group.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/scroll-area.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/select.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/separator.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/sheet.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/skeleton.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/slider.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/switch.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/table.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/tabs.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/textarea.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/toast.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/toaster.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/toggle.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/tooltip.tsx create mode 100644 packages/pastebar-frontend/src/components/ui/use-toast.ts create mode 100644 packages/pastebar-frontend/src/components/utils/bytes-converter.ts create mode 100644 packages/pastebar-frontend/src/components/utils/convert-empty-string-to-null.js create mode 100644 packages/pastebar-frontend/src/components/utils/countries.ts create mode 100644 packages/pastebar-frontend/src/components/utils/equals-set.ts create mode 100644 packages/pastebar-frontend/src/components/utils/focus-by-name.ts create mode 100644 packages/pastebar-frontend/src/components/utils/format-address.js create mode 100644 packages/pastebar-frontend/src/components/utils/is-nullish-object.ts create mode 100644 packages/pastebar-frontend/src/components/utils/validate-email.ts create mode 100644 packages/pastebar-frontend/src/constants/index.ts create mode 100644 packages/pastebar-frontend/src/constants/theme.constant.ts create mode 100644 packages/pastebar-frontend/src/hooks/queries/use-collections.ts create mode 100644 packages/pastebar-frontend/src/hooks/queries/use-history-items.ts create mode 100644 packages/pastebar-frontend/src/hooks/queries/use-invoke.ts create mode 100644 packages/pastebar-frontend/src/hooks/queries/use-items.ts create mode 100644 packages/pastebar-frontend/src/hooks/queries/use-tabs.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-copypaste-clip-item.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-copypaste-history-item.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-copypaste.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-debounce.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-double-click.tsx create mode 100644 packages/pastebar-frontend/src/hooks/use-esc-press.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-localstorage.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-long-press.js create mode 100644 packages/pastebar-frontend/src/hooks/use-signal.ts create mode 100644 packages/pastebar-frontend/src/hooks/use-window-dimensions.ts create mode 100644 packages/pastebar-frontend/src/layout/Layout.tsx create mode 100644 packages/pastebar-frontend/src/layout/Logo.tsx create mode 100644 packages/pastebar-frontend/src/layout/NavBar.tsx create mode 100644 packages/pastebar-frontend/src/lib/commands.ts create mode 100644 packages/pastebar-frontend/src/lib/i18n-vite-loaded/loader.ts create mode 100644 packages/pastebar-frontend/src/lib/i18n-vite-loaded/utils.ts create mode 100644 packages/pastebar-frontend/src/lib/utils.ts create mode 100644 packages/pastebar-frontend/src/libs/acronym.ts create mode 100644 packages/pastebar-frontend/src/libs/deepParseJson.ts create mode 100644 packages/pastebar-frontend/src/libs/growShrinkColor.ts create mode 100644 packages/pastebar-frontend/src/libs/isLastChild.ts create mode 100644 packages/pastebar-frontend/src/libs/paginate.ts create mode 100644 packages/pastebar-frontend/src/libs/prismjs/components/prism-path.js create mode 100644 packages/pastebar-frontend/src/libs/prismjs/themes/prism-theme-github-dark.css create mode 100644 packages/pastebar-frontend/src/libs/prismjs/themes/prism-theme-github-light.css create mode 100644 packages/pastebar-frontend/src/libs/react-query-persister-idk.ts create mode 100644 packages/pastebar-frontend/src/libs/requiredFieldValidation.ts create mode 100644 packages/pastebar-frontend/src/libs/shadeColor.ts create mode 100644 packages/pastebar-frontend/src/libs/sortBy.ts create mode 100644 packages/pastebar-frontend/src/libs/utils.ts create mode 100644 packages/pastebar-frontend/src/libs/wildCardSearch.ts create mode 100644 packages/pastebar-frontend/src/libs/zustand-logger.ts create mode 100644 packages/pastebar-frontend/src/locales/date-locales/_lib/buildFormatLongFn/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/_lib/buildLocalizeFn/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/_lib/buildMatchFn/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/_lib/buildMatchPatternFn/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/_lib/formatDistance/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/_lib/formatLong/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/_lib/formatRelative/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/_lib/localize/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/_lib/match/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/index.js create mode 100644 packages/pastebar-frontend/src/locales/date-locales/en/package.json create mode 100644 packages/pastebar-frontend/src/locales/date-locales/index.ts create mode 100644 packages/pastebar-frontend/src/locales/format.ts create mode 100644 packages/pastebar-frontend/src/locales/index.ts create mode 100644 packages/pastebar-frontend/src/locales/lang/en/calendar.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/collections.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/common.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/contextMenus.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/dashboard.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/history.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/menus.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/navbar.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/pinned.yaml create mode 100644 packages/pastebar-frontend/src/locales/lang/en/settings.yaml create mode 100644 packages/pastebar-frontend/src/locales/languges.ts create mode 100644 packages/pastebar-frontend/src/locales/locales.ts create mode 100644 packages/pastebar-frontend/src/locales/translation-utils.ts create mode 100644 packages/pastebar-frontend/src/main.tsx create mode 100644 packages/pastebar-frontend/src/pages/components/ClipboardHistory/TrashHistory.tsx create mode 100644 packages/pastebar-frontend/src/pages/components/ClipboardHistory/index.ts create mode 100644 packages/pastebar-frontend/src/pages/components/Dashboard/Dashboard.tsx create mode 100644 packages/pastebar-frontend/src/pages/components/Dashboard/index.tsx create mode 100644 packages/pastebar-frontend/src/pages/components/Menu/MenuItem.tsx create mode 100644 packages/pastebar-frontend/src/pages/components/helpers.tsx create mode 100644 packages/pastebar-frontend/src/pages/index.tsx create mode 100644 packages/pastebar-frontend/src/pages/main/ClipboardHistoryPage.tsx create mode 100644 packages/pastebar-frontend/src/pages/main/PasteMenuPage.tsx create mode 100644 packages/pastebar-frontend/src/pages/settings/AppSettings.tsx create mode 100644 packages/pastebar-frontend/src/pages/settings/ClipboardHistorySettings.tsx create mode 100644 packages/pastebar-frontend/src/pages/settings/UserPreferences.tsx create mode 100644 packages/pastebar-frontend/src/store/clipboardHistoryStore.ts create mode 100644 packages/pastebar-frontend/src/store/collectionStore.ts create mode 100644 packages/pastebar-frontend/src/store/constants.ts create mode 100644 packages/pastebar-frontend/src/store/index.ts create mode 100644 packages/pastebar-frontend/src/store/settingsStore.ts create mode 100644 packages/pastebar-frontend/src/store/themeStore.ts create mode 100644 packages/pastebar-frontend/src/store/uiStore.ts create mode 100644 packages/pastebar-frontend/src/styles/globals.css create mode 100644 packages/pastebar-frontend/src/types/auth.ts create mode 100644 packages/pastebar-frontend/src/types/history.ts create mode 100644 packages/pastebar-frontend/src/types/menu.ts create mode 100644 packages/pastebar-frontend/src/types/navigation.ts create mode 100644 packages/pastebar-frontend/src/types/theme.ts create mode 100644 packages/pastebar-frontend/src/types/window.d.ts create mode 100644 packages/pastebar-frontend/src/vite-env.d.ts create mode 100644 postcss.config.js create mode 100644 prettier.config.js create mode 100644 rustfmt.toml create mode 100644 scripts/i18n-vite-loaded/loader.ts create mode 100644 scripts/i18n-vite-loaded/utils.ts create mode 100644 scripts/twSafelistGenerator/generator.js create mode 100644 scripts/twSafelistGenerator/index.js create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/assets/16x16.png create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/diesel.toml create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/512x512.png create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/__128x128-notification.png create mode 100644 src-tauri/icons/__32x32-notification.png create mode 100644 src-tauri/icons/__32x32.png create mode 100644 src-tauri/icons/__icon.icns create mode 100644 src-tauri/icons/__icon.ico create mode 100644 src-tauri/icons/_icon (2).ico create mode 100644 src-tauri/icons/_icon.ico create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/icons/paste-app-logo-outline-shadows.png create mode 100644 src-tauri/icons/tray128x128-notification.png create mode 100644 src-tauri/icons/tray128x128-white-notification.png create mode 100644 src-tauri/icons/tray128x128-white.png create mode 100644 src-tauri/icons/tray128x128.png create mode 100644 src-tauri/libs/auto-launch/Cargo.lock create mode 100644 src-tauri/libs/auto-launch/Cargo.toml create mode 100644 src-tauri/libs/auto-launch/LICENSE create mode 100644 src-tauri/libs/auto-launch/README.md create mode 100644 src-tauri/libs/auto-launch/rustfmt.toml create mode 100644 src-tauri/libs/auto-launch/src/lib.rs create mode 100644 src-tauri/libs/auto-launch/src/linux.rs create mode 100644 src-tauri/libs/auto-launch/src/macos.rs create mode 100644 src-tauri/libs/auto-launch/src/windows.rs create mode 100644 src-tauri/libs/inputbot/.gitignore create mode 100644 src-tauri/libs/inputbot/CHANGELOG.md create mode 100644 src-tauri/libs/inputbot/Cargo.toml create mode 100644 src-tauri/libs/inputbot/LICENSE-MIT create mode 100644 src-tauri/libs/inputbot/README.md create mode 100644 src-tauri/libs/inputbot/examples/autoclicker.rs create mode 100644 src-tauri/libs/inputbot/examples/bind_all.rs create mode 100644 src-tauri/libs/inputbot/examples/blockable_binds.rs create mode 100644 src-tauri/libs/inputbot/examples/key_sequences.rs create mode 100644 src-tauri/libs/inputbot/examples/move_mouse.rs create mode 100644 src-tauri/libs/inputbot/src/common.rs create mode 100644 src-tauri/libs/inputbot/src/lib.rs create mode 100644 src-tauri/libs/inputbot/src/linux/inputs.rs create mode 100644 src-tauri/libs/inputbot/src/linux/mod.rs create mode 100644 src-tauri/libs/inputbot/src/mac/inputs.rs create mode 100644 src-tauri/libs/inputbot/src/mac/mod.rs create mode 100644 src-tauri/libs/inputbot/src/public.rs create mode 100644 src-tauri/libs/inputbot/src/windows/inputs.rs create mode 100644 src-tauri/libs/inputbot/src/windows/mod.rs create mode 100644 src-tauri/libs/inputbotlinux/.gitignore create mode 100644 src-tauri/libs/inputbotlinux/Cargo.lock create mode 100644 src-tauri/libs/inputbotlinux/Cargo.toml create mode 100644 src-tauri/libs/inputbotlinux/src/lib.rs create mode 100644 src-tauri/libs/lang_detect/Cargo.toml create mode 100644 src-tauri/libs/lang_detect/src/detector.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/c.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/cpp.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/cs.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/css.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/docker.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/go.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/html.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/java.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/javascript.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/json.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/jsx.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/kotlin.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/markdown.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/mod.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/php.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/python.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/regex.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/ruby.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/rust.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/shell.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/sql.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/swift.rs create mode 100644 src-tauri/libs/lang_detect/src/languages/yaml.rs create mode 100644 src-tauri/libs/lang_detect/src/lib.rs create mode 100644 src-tauri/libs/lang_detect/src/points.rs create mode 100644 src-tauri/libs/lang_detect/src/shebang.rs create mode 100644 src-tauri/libs/lang_detect/src/types.rs create mode 100644 src-tauri/libs/tao-0.16.7/CHANGELOG.md create mode 100644 src-tauri/libs/tao-0.16.7/Cargo.toml create mode 100644 src-tauri/libs/tao-0.16.7/LICENSE create mode 100644 src-tauri/libs/tao-0.16.7/LICENSE.spdx create mode 100644 src-tauri/libs/tao-0.16.7/README.md create mode 100644 src-tauri/libs/tao-0.16.7/build.rs create mode 100644 src-tauri/libs/tao-0.16.7/lib.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/android.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/ios.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/linux.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/macos.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/run_return.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/unix.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform/windows.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/android/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/android/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/android/ndk_glue.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/app_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/view.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/ios/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/device.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/keyboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/x11/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/x11/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/linux/x11/xdisplay.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/app.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/app_delegate.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/app_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/carbon_hotkey/carbon_hotkey_binding.c create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/carbon_hotkey/carbon_hotkey_binding.h create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/event.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/observer.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/util/async.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/util/cursor.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/util/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/view.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/macos/window_delegate.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/accelerator.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/dark_mode.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/dpi.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/drop_handler.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/event.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/event_loop/runner.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/keyboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/keyboard_layout.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/minimal_ime.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/raw_input.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/util.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/platform_impl/windows/window_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/renovate.json create mode 100644 src-tauri/libs/tao-0.16.7/rustfmt.toml create mode 100644 src-tauri/libs/tao-0.16.7/src/accelerator.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/dpi.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/error.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/event.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/keyboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/lib.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/android.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/ios.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/linux.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/macos.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/run_return.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/unix.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform/windows.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/android/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/android/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/android/ndk_glue.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/app_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/view.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/ios/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/device.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/keyboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/x11/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/x11/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/linux/x11/xdisplay.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/app.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/app_delegate.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/app_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/carbon_hotkey/carbon_hotkey_binding.c create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/carbon_hotkey/carbon_hotkey_binding.h create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/event.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/ffi.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/observer.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/util/async.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/util/cursor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/util/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/view.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/macos/window_delegate.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/accelerator.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/clipboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/dark_mode.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/dpi.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/drop_handler.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/event.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/event_loop.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/event_loop/runner.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/global_shortcut.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/icon.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/keyboard.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/keyboard_layout.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/keycode.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/menu.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/minimal_ime.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/mod.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/monitor.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/raw_input.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/util.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/platform_impl/windows/window_state.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/system_tray.rs create mode 100644 src-tauri/libs/tao-0.16.7/src/window.rs create mode 100644 src-tauri/libs/tao-0.16.7/tao-macros/CHANGELOG.md create mode 100644 src-tauri/libs/tao-0.16.7/tao-macros/Cargo.toml create mode 100644 src-tauri/libs/tao-0.16.7/tao-macros/examples/android_fn.rs create mode 100644 src-tauri/libs/tao-0.16.7/tao-macros/examples/generate_package_name.rs create mode 100644 src-tauri/libs/tao-0.16.7/tao-macros/src/lib.rs create mode 100644 src-tauri/src/clipboard/mod.rs create mode 100644 src-tauri/src/commands/clipboard_commands.rs create mode 100644 src-tauri/src/commands/collections_commands.rs create mode 100644 src-tauri/src/commands/history_commands.rs create mode 100644 src-tauri/src/commands/items_commands.rs create mode 100644 src-tauri/src/commands/link_metadata_commands.rs create mode 100644 src-tauri/src/commands/mod.rs create mode 100644 src-tauri/src/commands/request_commands.rs create mode 100644 src-tauri/src/commands/security_commands.rs create mode 100644 src-tauri/src/commands/shell_commands.rs create mode 100644 src-tauri/src/commands/tabs_commands.rs create mode 100644 src-tauri/src/commands/translations_commands.rs create mode 100644 src-tauri/src/constants.rs create mode 100644 src-tauri/src/cron_jobs.rs create mode 100644 src-tauri/src/db.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/src/menu.rs create mode 100644 src-tauri/src/metadata/mod.rs create mode 100644 src-tauri/src/models/mod.rs create mode 100644 src-tauri/src/models/models.rs create mode 100644 src-tauri/src/schema.rs create mode 100644 src-tauri/src/services/collections_service.rs create mode 100644 src-tauri/src/services/history_service.rs create mode 100644 src-tauri/src/services/items_service.rs create mode 100644 src-tauri/src/services/link_metadata_service.rs create mode 100644 src-tauri/src/services/mod.rs create mode 100644 src-tauri/src/services/request_service.rs create mode 100644 src-tauri/src/services/settings_service.rs create mode 100644 src-tauri/src/services/shell_service.rs create mode 100644 src-tauri/src/services/tabs_service.rs create mode 100644 src-tauri/src/services/translations/mod.rs create mode 100644 src-tauri/src/services/translations/translations.rs create mode 100644 src-tauri/src/services/translations/translations.yaml create mode 100644 src-tauri/src/services/utils.rs create mode 100644 src-tauri/src/simple_cache.rs create mode 100644 src-tauri/src/window_ext.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src-tauri/tauri.dev.config.json create mode 100644 src-tauri/tauri.windows.conf.json create mode 100644 tailwind-safelist.txt create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.mts diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..c7b54e90 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[alias] +prisma = "run -p prisma --" \ No newline at end of file diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 00000000..e5b6d8d6 --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/chilled-lies-kneel.md b/.changeset/chilled-lies-kneel.md new file mode 100644 index 00000000..34afcbae --- /dev/null +++ b/.changeset/chilled-lies-kneel.md @@ -0,0 +1,5 @@ +--- +'pastebar-app': patch +--- + +Update to Dark Theme for Global Search diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 00000000..91b6a951 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.changeset/cool-pigs-study.md b/.changeset/cool-pigs-study.md new file mode 100644 index 00000000..18022114 --- /dev/null +++ b/.changeset/cool-pigs-study.md @@ -0,0 +1,5 @@ +--- +'pastebar-app': patch +--- + +Added Lock Screen and Security Settings for Applcation diff --git a/.env b/.env new file mode 100644 index 00000000..7073e1c9 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +DATABASE_URL=sqlite://local.pastebar-db.data +VITE_ENABLE_REACT_QUERY_DEVTOOLS= +VITE_DISABLE_SAVE_TRANSLATIONS= +VITE_DISABLE_LANGUAGE_FALLBACK= diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..7073e1c9 --- /dev/null +++ b/.env.sample @@ -0,0 +1,4 @@ +DATABASE_URL=sqlite://local.pastebar-db.data +VITE_ENABLE_REACT_QUERY_DEVTOOLS= +VITE_DISABLE_SAVE_TRANSLATIONS= +VITE_DISABLE_LANGUAGE_FALLBACK= diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..bd7cfada --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,66 @@ +module.exports = { + env: { + browser: true, + es6: true, + jquery: false, + node: false, + }, + root: false, + plugins: ['@typescript-eslint', 'prettier', 'sonarjs'], + extends: [ + 'plugin:@typescript-eslint/recommended', + 'plugin:sonarjs/recommended', + 'plugin:import/electron', + 'plugin:import/errors', + 'plugin:import/warnings', + 'plugin:import/typescript', + ], + rules: { + '@typescript-eslint/no-var-requires': 0, + 'no-empty-function': 'off', + 'import/no-named-as-default': 'off', + 'import/no-named-as-default-member': 'off', + '@typescript-eslint/ban-ts-comment': 0, + '@typescript-eslint/no-unused-vars': ['warn'], + '@typescript-eslint/no-empty-function': 0, + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/no-duplicated-branches': 'off', + 'sonarjs/no-nested-template-literals': 'off', + 'sonarjs/no-identical-functions': 'off', + 'cypress/no-unnecessary-waiting': 'off', + 'react/prop-types': 0, + 'sonarjs/cognitive-complexity': ['error', 200], + camelcase: ['error', { ignoreDestructuring: true }], + 'computed-property-spacing': [2, 'never'], + 'no-extend-native': 2, + 'no-trailing-spaces': 1, + 'no-mixed-spaces-and-tabs': ['warn', 'smart-tabs'], + 'no-use-before-define': [2, 'nofunc'], + 'object-curly-spacing': [2, 'always'], + quotes: [ + 2, + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true, + }, + ], + }, + parserOptions: { + parser: '@babel/eslint-parser', + requireConfigFile: false, + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 2018, + sourceType: 'module', + }, + settings: { + 'import/resolver': { + typescript: {}, // this loads /tsconfig.json to eslint + }, + react: { + version: 'detect', + }, + }, +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..b4e965fc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,55 @@ +name: Release +on: + push: + tags: + - 'v*' + workflow_dispatch: + +jobs: + release: + strategy: + fail-fast: false + # matrix: + # platform: [macos-latest, ubuntu-20.04, windows-latest] + #runs-on: ${{ matrix.platform }} + runs-on: windows-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-20.04' + # You can remove libayatana-appindicator3-dev if you don't use the system tray feature. + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + + - name: Rust setup + uses: dtolnay/rust-toolchain@stable + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' + + - name: Sync node version and setup cache + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: 'npm' # Set this to npm, yarn or pnpm. + + - name: Install app dependencies and build web + # Remove `&& yarn build` if you build your frontend in `beforeBuildCommand` + run: npm i && npm run build # Change this to npm, yarn or pnpm. + + - name: Build the app + uses: tauri-apps/tauri-action@v0 + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags. + releaseName: 'App Name v__VERSION__' # tauri-action replaces \_\_VERSION\_\_ with the app version. + releaseBody: 'See the assets to download and install this version.' + releaseDraft: true + prerelease: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..9a3fb498 --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* +local.pastebar.* +safelist.txt + +clipboard-images/**/* +clip-images/**/* +src-tauri/http-cacache/**/* + +node_modules +dist-ui/**/* +packages/dist-ui/**/* +dist-ssr +*.local +*.data + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + + +# Added by cargo + +/target diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..24d7cc6d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/README.md b/README.md new file mode 100644 index 00000000..c00c942c --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# PasteBar Tauri App for Mac and Windows + +* **Rust**: Tauri, Diesel ORM, Reqwest, Anyhow, Serde, Tokio. +* **Javascript**: Typescript, React, Vite, TailwindCSS, Signals, Jotai, Zustand. + +# Build PastBar App + +``` +$ npm run app:build +``` + +# Development Start + +After cloning run: +``` +$ cargo install diesel_cli --no-default-features --features sqlite +``` + +``` +$ npm install +$ npm run dev +``` + + diff --git a/assets/logo/paste-app-logo-5.icns b/assets/logo/paste-app-logo-5.icns new file mode 100644 index 0000000000000000000000000000000000000000..23bad75d0583839d2f20f7aba170c56e412feedf GIT binary patch literal 171401 zcmd42bxX;muIjF? z?vMA!)zoay?DX#RZufNebnn`l+q(cz*^##9>>L1qNENB7EQ5+fgaiNps+_E(`a2Z; zuOh&`A1iE~{=Nf{i@JV->>F&=1@3xUw&Xf zlc(gunbWn%lZQ5uVQEEv@208Hy97VZXvXT@6jy0Bs-z-~XpmMk$=NKIDHYKq2B{L6 zHTFjajjKE(+Xm^XDG7X3zh&%joWXP4F$>R5>(qp@-DsQg! zvKOw2#&-p=xUW-_oGE$ViFZC|qp=`Ia*|j)!P9!fbD%sJK%*k6ZE$e~9AP2}iRFxw z`${=bh|?l$Xw>1ZO>Uu|7ZPC*f(Mn3wMB;|G&{H}E(y1eT|=J^TH`#P3a&{J!C`5Q z`XTBy&Pc2=1+IHu{bZkKI_oBKx)<&0pr)oe+>0@ePM5ZyGe#Fa@ae(sK-{BOwhq8JY0J_PX+;NV#Gjd7h!dw@``tyze!nFsK-$ zmKzX|9zEplU1sJ+7SqXYF@1(fQ?uTk(;ts6GhvoEX0ld$ByN4@BQ`cju#raH42!sP zbs`-1+{NluRt|i)O(`-)?2`%BFoZi~Vfyj88m&f$SNPOOXR z$n!H|h={anB;P0X-qtlLTNu&wW}5ufea5d~QsE6#r9$@&tFJc(-qMxfB2YP>j$7nN`DX*83oU5!s1!~>w-XES} zd6vg>($8Y-R^WuwWsCuI<$c<<0WmOP$cQs5-UO{ zOTB4iqf1KMVhr0S)8pyY&a5c|yfx~1VSdb;C!Pl^_}O(-W@AK&a+cqwoI}O{2sxmu zy@PO6hKae9paPF5@5Z6xtkF`dL}c>_P5z;&vaN3t#Q>BqCQ|eI<9q9sTDo zlEYcB?SA97*Qc64>eA_HxGtOaD{IdY6M==20(FRS^5kurzDb+sOTa|a-xIXi|Ubrax=*&fqw6;Cc8E! z#d=8m)#7hy{`=Ic4N(U~WJzfNsc5}AY=Rc;1?tOrMRxkb?3y?4DqfBg9s&#};7eUp zIbmB$Oqt-9J$>Z0Dayms^KGyFyDhvZE4a57xX_)k`StXYW?t z>t_1@u}H6V4gvB4YB*miMPp;g9>yj?x#et7<=Mu8vn^SGq=3{6L*`6u90AA#;kWSj zc$4KF9hl&}Cy0MpVD}O(+hsd(%iCl())* z=4jH?&@RlzCiC+#Z*$mrr@6`wCUZ}QvP~c1bf8q|b2-uOJ4?w_y0h7bJaOf(e-OoT zk{$A&Ry!CQvtDW4L#KTkL72en1!5J-=Con(VFtHQpglGdwLs!X! zu^x3%ep4kC2k`|I+%>zVG?+9c@%wdIUDWjcM27_jsXtz_8=d<6sWr07izRf9V7(_D zAa)3uU*rKCFErN)Wkxz15MfR`&@XluFO0s%{esGaci6C4|IxMWV5xbK5!f@*$Ue##@M!&doa8g7oGWVhnT zEi$doSfo4!SGQdtriLS?#w8U?K(99^2F8;+){dOj zjMH0)=hHeZN;LQ+%{)Bchebb{a*rXGSP&Oa>D4Uo@=BR5oYY*J-M-e2+$vJr(z%rR zmizD;VD;*Cf~F=4g8KhfqCbGtLUtJk1-%fHuak7EJCI;`MjKhb=yZ2=P$`avvK(wY_^3zO^q09!4Y$Y3FFTBR@0}b6Y+fqoI)0z%z>zY z^pzjw&45l_RyK=DLGep(R>(bK@=tc#k)909vyZ~BJqIYcwqDhq&e9!)w&0HK{r<>Z zsv6>^8V5LxJ29blV1fsxdZ59(G$dNUz)0eOzo=-N?b4Vg!r%Mh-p3H3!Es4?lM%+B z7`R&a^0_8XvZ6OP`TM;flsoyDLu*&i9<2)x+%MjB-XZL_IhTK{TEFXKd+_W0>4P4k z29;uWi>XnK2Tqe!y|P)Ub&3?#USy`=e1DV_sCZ-_5lOTA*6!&Z93F3uBIz^8nr&BYQD%Kw9)Qo!J^<%kR7JiMb@piIF~e#qMy#2 zmWZ zs%QE2tCE|`4f}H|Ipd*NfdMAL2h!NT9G=z390ZoT=oTxmR9^$MBz7W2A6k#tO0RD$ zaT7)0!ZBFpBRMRSBW4d`d3ktJ=6Q0$7WFL4#h}nJ6Y9$AE|mPN1y}>iBNc3u=zidV zQ6UIgf8N~le9><*xEa-~LKM0o{5{16`JWOQ>JqRF@pILb4n99)WnBFI0du-kHa)LJ z)HsLCfNl<}gNcUhM$1EA?x8v}tQ_s{KT@zTsX(;vtm7o0ltl`Nd}U(Ms0^UikJ zX*@`FArYqWSuv@LZo8)qeg5r>QWAK`g#te^tj+t$U`=crg7W zu4%NzAL%T~6C&f!ENL8+PiXK+L49CBTc1V>Jr%O3Y4hPr{xvNrS6SOCIqeBx;Zm&T z4BM8e@^8*og8j?}f^!iAqSN}KMVpXG8LM*&`1}nbU9Ol`8codhQWAa>TK_t|@)1u- zvD}h2X8Jmfn0vWaTtT^hrF@A-XTC%`Rv8ViRD>)>` zME&wI$MtJh+)L{gPr7L#8B1SJjz{&Z&8r}f&xJ$dk84^HSylM6rqLhTi{%GcNQ7hppw!pV1eF59s^< z1|0w8=yT~Uf%6R>V$9Q}O*F=PO^r~vU-4E4d(q8d2$N+w^*dXjWR{U69#Y3 zX>&Jty&PL;NLfZ-ImE>8O7184BbT*X&xY_mr*B}%Efs_dZBp``WXAUpacSvs z6yB|EUmMOyHKLMN!L@*EfD@A^j3|TgW+0+uCgw%|iu7xFa*ouC94_nR8n~)xQ5d>==%f6~W^T+ZvIH4QDU~QkcG>I;Zn9rmP z7s=(zOtL>`pd8J9iYJu@S8IcB{`kSIb&>quJut58KCc@mdeQow=VFLAFr8JIX9~nN zNrOlpud{lgT2|rD6E5On`Gs0lX0YF)7Q|L*$N5We+P(qR(N$)^7>>gVf(q(JVI}ON zeyn)Kw?t^g)C1vvT~aE_$S%o0#qHL}Z6<~$W+e3f*5 zsw|9HW4_D7#Zr<&i_dM;zm;kY=I<{LED9g|&JiB37B%5E5`MOR$?sjvrDIg1mtkq~!V=^ezr&n zmYKGAeHf)_G?zRs@>TA|J#sLTpZYqa^!+m5{bKR8xLNTr8agv|(u**Q>aqQe`<#dt4c3aG*Ija@Y zgQe9it=$%`Jjt@MOOr(Bn^c!ZQQLNn9YB}$rE)U^yOe}cqsqhV7Mf4DCM&a`eF0&) zLtGUGEO6nm)#F@a%CX;RFDLSe(KZBM8}|_B`-5L|AFV9=$yfIC6Vryvbalx#ydpDT zcAnaT$JxM|ERh#M;(cZ7;3lm_{7l#v|a}YlL_S>A4{A`c-SaQ5r$|vktq4)JtIA5)IZ9K zUrZVqX5RC;_%u&}a|W0?m&{DXvB7*M{kS-wc-QWV z0&uV2ucphbM|CEbH*g)QUVKuVn@e<>tf3?&$`pBp&n>pJ>gLK4y*^v+?3Q~R*GH~? z)^#%x9>2ebE?OH7%M%Rb9i>_LQEUouD-}7cgjzEFT*Sf7*Pn7|PcC!U?Qw3TLJ?&$ zmeNzu?-6y!iHTxOW2UWh&Nj#CCS^i|o|@m}4#S$%t`qtbNf)0`HaVnj`e?_B2#qn$ z413o!+ZV5T4^>dzb5XaBo)!j5F%P#64A+l~>X!w}Yux4vNMG;wB(VV`_PE@zh2R41 z$$|-k#Lux(v3_be_J?CIM(Fmpn9>DQ?AB+57thMNpCZ-mQ0UZ=P{6p*#k58~nPd2O z+axPd9Yt+;NJ5V=wqNaUlPaw{f>;1mJ!n4*68?kEOI;<2PK&M!e(l%VZ!HM)Y=E}> zhw-l6^Z9Ui`Q&7s+ue9HTyj`Apg5w$3X8Z-{$MR^A6?5(UHTEPgT+9*rS3I6Q`Zy! z9&3%24~A+t3Q=KmZT=P7*aLP80YkKP$O{Q*4SQqGe$atXq6Uk{Mz%~g@ItC!K0aN z)Pi0}^ZxT+x2#~eIaIRaJA0SkmLy4fXSvi@b56dAy(=~Rk!{j;Pi?^=q-Z7ZEf%H# zi7Yb*p7T8ebDOBF`R@UqUET!6Kl|jmGmA#$- znoqyigKlhch0h)hyM1H$G2Syc<}9{2r-FnECw;T{(+5CR}Y2lNzM&%%2Ck-+OXN9NcVGE=SV zif7Zfw?i=j*+)|V?LlLA7v+BO&GwPs^=9mKw0>b&ngUDyL3K9l;01^2IgwZ9;qC5o z>f}N50Qtu%Pk~kheP}mQ6HFF3-A+TQmGv8`hp{>S3mVKbTHJ4biim75yZ( zBo&nYz#q1y%ScI8~CuZVTcT|z9=f(!8|`Cu^^=J3azn0)MD6FdJU1f=V>J> zCj#T7jX65UeLs(5OuBb0`vmjZojDirgxYlUGkNzwdL7;K=|%ZY2TWQeRNG;H~ggqpRUZ=9^n?j_-Pb zB_BTv_loc8$ToV|L63j*;DvVM3YLoO>3z~9UKcnM?V*;XHtv|M&x+UuOpR-P^pJbAT$0OdI zpryQKEef6tRVj&a=e4ObE%{7xXVMSN*r%SSI87^2E^i|W?4jSu{Yzw$!C;k-Ld&hS zSidLS>mQ%wH2+X_ujSrlw>@`?`^HDCi^_MLe?W`9?^cvj^R^nSf-Zasb|AxK6=