From 9050d84b03cd567f355efa4ef524c0312a8b18d0 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Mon, 12 Dec 2022 21:53:03 +0100 Subject: [PATCH] add site icons for OneClick installs --- .../images/third-party-icons/beast-saber.png | Bin 0 -> 17522 bytes .../images/third-party-icons/beat-saver.png | Bin 0 -> 1721 bytes .../images/third-party-icons/model-saber.svg | 14 ++ .../images/third-party-icons/score-saber.png | Bin 0 -> 2480 bytes package-lock.json | 181 +++++++----------- package.json | 2 + .../pages/settings-page.component.tsx | 42 +++- 7 files changed, 125 insertions(+), 114 deletions(-) create mode 100644 assets/images/third-party-icons/beast-saber.png create mode 100644 assets/images/third-party-icons/beat-saver.png create mode 100644 assets/images/third-party-icons/model-saber.svg create mode 100644 assets/images/third-party-icons/score-saber.png diff --git a/assets/images/third-party-icons/beast-saber.png b/assets/images/third-party-icons/beast-saber.png new file mode 100644 index 0000000000000000000000000000000000000000..07e7a144d18b98bb4c9d1353c925a27db78e90ab GIT binary patch literal 17522 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 N002ovPDHLkV1j{nUn&3q literal 0 HcmV?d00001 diff --git a/assets/images/third-party-icons/beat-saver.png b/assets/images/third-party-icons/beat-saver.png new file mode 100644 index 0000000000000000000000000000000000000000..0b48bdd86bf92a2143984ac2212bb92b11245740 GIT binary patch literal 1721 zcmV;q21fabP)Px#jZjQfMNDaNg#bo%06cO4JBt8He*i*-07icRLx})N zdjLRx077;EJ$(Q{a{xR40FeLx|NQ`u_W+CQ0E55)YN7yG{{WBJ0D02@b@Tv==Kz83 z0EN2%XWRgLoB&nD0BxuMT>t(4{|uP_pw_bhV%Gq8i~vjjO|$>)_x~=Y|GDA+*zW(5 z(EoG7{{xhk08y+zOalM_01k9gPE!E+hhpDHxi8Bg$P%nOYOTNw000F|Nkl;e{v#N2J+0qsC`$R%0|bsd1X?)mY7SYP{xZb=^1HDAX^$8pmyZt_a()X)KG2q_Ry_SVoR6pPFH-wmZ9tM@s7FRHS2)ml zCJwvwwEw!*=}?srGSpr+E?S2cIWpF1h+M5OPSg4|_nfmwi0^tB}E`kfW`AhBOBs zPygOTkoqXnEJjTm>9*!l4g7Z&zdyt%!)s^Q5nw^mm) zJUQmp>a9w1JN4^^C(qnU{j%Z7G`CT|inLsF3-ybJC)>=de$nvcn_1O=Bdx;Bs!mau znbdz8o+>ko`Z?0-%na(MhNsfZpg!U;)2bgMt=deferR~=&2;MfLkk8omHKWC$6=;X z|BuFErctNp%+2cC+JebUG1j|N@qHa8Gllwa-ln??DlG6=q(w8Z)0- zm6=Da&fH$D(%e?9*4$35+T2F1-psDXU}jb0Fte$#m|4_#%=BtZW?D5aGo2cnnMRGz z+^oiEZc^hk*Q>Fb>%JPtYrd&hvv)FI)$VHcz|NndL~Jh9`7NLOh|J8jkJ?<^m+>5b zy}G_sIwQku`I{*FK>d_0QAeAlOV~xNEH_4P&Tmv@;oMpJu0_iA9flbQ@W|LRu%0Xb(g z4UT;(IsgCwS9(-fbW&k=AaHVTW@&6?Aar?fWguyAbYlPjc%0+%3K74o@ + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/third-party-icons/score-saber.png b/assets/images/third-party-icons/score-saber.png new file mode 100644 index 0000000000000000000000000000000000000000..55dec558f2f2cfe2ab778d6876a1f5cfda72444c GIT binary patch literal 2480 zcmdT_c~p~E7XOk6Apxl+jDjqJz(83O0w_xwL=YkcWGOoW1}Lk95H{IGp<+N36)-HL zD5!)j5fxd5AhbXtL?kdssBBuyuv(U|G`2IIgN6P-=X~$G=e&29-|yc0?z?o#)^acW zARGXIy*Mj#2Z3z;v_ymje}|D!s6fC7R&J31psn<2fnx7rqX7USf-^tn6kEu9bL^z- zF{u=L;|U2x(4`BW3Y0=s=%UHl##E_2Dts!W$Y#Gi>bzHf(b}koxP#tsiT?4e4$YZo z#ij$4CLQ26WuSkL>F~cZbTqqZolzr^(QD74xiBy8$bXU|G3z}cPz4*{E-Xb4l=II| znzsNe1P}z?zBybP@lNYR7RuYJILkFXZFOnVuWJKEqz;SktiOvBgs+Eflvg1)tl<{+ zW=TsrwY}EUD@mTle39$FY@0g-+9C9gt^}JhYjVDht1I|f4XGJ^LsRuw&WBxTJgT=; z43PPObEbRt%v)4uJ%kf{6Wf@)$8KT&k2~|WJHIt)H4Z7BYW}26L@=YZBze~wtUv{YWYjm5?$Z^om$R? zGC)~RNa6N30L%tt6$m#q3z_$QsUB(Az~dT}s8q(^etka$EBa z5-orGNiq}^3S$`|KIDh9(-)Ps#9HS`#A(;M;un_jowfQ|`PzW4Nf?DLq1_cQ5E z9d0I=uJ!7-K?e3OpM}Lj0z&|#%t}MDVP;XwV_n%YDWhKFOiW~bJI*ro3o4F) z#4T{nOZNo%)-DQ*&Mys{WO_5>QqrDISWOvXf;QT8aC3@u5c!s3NGmh|@a4hfx=t?(^H6#8{`HN!9hUI z5oF;x{;XwS5?MM-nh~{Q4L=hpwFuC)T}9! zp{G$3%=3A?nBxd+bs|e@YBqESR$?Z;OON#M8{U#+k2><76(Rizi=qW+=hR@Wna#Q^ z@YD9|%y%vmy)zHymiAFPPnVs%LJNoV!22hn&dG4AE)oi=ZZJqspapX=1xw2!t z@65b%jR21lmw6++uBso7 z%7RI$9V1as(OMGIwT-jNU3~#_P0!m_RwPIxm4#SK#=11.0.1" - } - }, "@types/prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", @@ -2361,13 +2361,6 @@ "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, - "@types/verror": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", - "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", - "dev": true, - "optional": true - }, "@types/webpack-bundle-analyzer": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.0.tgz", @@ -3173,13 +3166,6 @@ } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "optional": true - }, "ast-metadata-inferer": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", @@ -4269,16 +4255,6 @@ "yaml": "^1.10.0" } }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "optional": true, - "requires": { - "buffer": "^5.1.0" - } - }, "crc-32": { "version": "1.2.2", "resolved": "https://npm.zone51.tf/crc-32/-/crc-32-1.2.2.tgz", @@ -4564,6 +4540,11 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==" + }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -4858,45 +4839,17 @@ "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "optional": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "optional": true - } + } + }, + "dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "optional": true, + "requires": { + "plist": "^3.0.4", + "smart-buffer": "^4.0.2" } }, "dns-equal": { @@ -6626,13 +6579,6 @@ "yauzl": "^2.10.0" } }, - "extsprintf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", - "dev": true, - "optional": true - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6711,6 +6657,15 @@ "pend": "~1.2.0" } }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -6861,6 +6816,14 @@ "mime-types": "^2.1.12" } }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -7520,13 +7483,6 @@ "ms": "^2.0.0" } }, - "iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "optional": true - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -10202,6 +10158,11 @@ "semver": "^7.3.5" } }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + }, "node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -10211,6 +10172,16 @@ "lodash": "^4.17.21" } }, + "node-fetch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.0.tgz", + "integrity": "sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -13095,6 +13066,14 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "tippy.js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "requires": { + "@popperjs/core": "^2.9.0" + } + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -13596,27 +13575,6 @@ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, - "verror": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", - "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "optional": true - } - } - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -13692,6 +13650,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", diff --git a/package.json b/package.json index 14f7f10b..0afd4fd8 100644 --- a/package.json +++ b/package.json @@ -224,6 +224,7 @@ }, "dependencies": { "@node-steam/vdf": "^2.2.0", + "@tippyjs/react": "^4.2.6", "archiver": "^5.3.1", "dateformat": "^5.0.3", "dot-prop": "^7.2.0", @@ -237,6 +238,7 @@ "history": "^5.3.0", "is-online": "^9.0.1", "md5-file": "^5.0.0", + "node-fetch": "^3.3.0", "node-stream-zip": "^1.15.0", "react": "^18.2.0", "react-colorful": "^5.6.1", diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index e8ffef0d..87aab2df 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -20,8 +20,14 @@ import { SupportersView } from "renderer/components/settings/supporters-view/sup import { LinkOpenerService } from "renderer/services/link-opener.service"; import { useNavigate } from "react-router-dom"; import { InstallationFolderModal } from "renderer/components/modal/modal-types/installation-folder-modal.component"; -import { motion } from "framer-motion"; import { BsmCheckbox } from "renderer/components/shared/bsm-checkbox.component"; +import { BsmImage } from "renderer/components/shared/bsm-image.component"; +import modelSaberIcon from "../../../assets/images/third-party-icons/model-saber.svg"; +import beatSaverIcon from "../../../assets/images/third-party-icons/beat-saver.png"; +import beastSaberIcon from "../../../assets/images/third-party-icons/beast-saber.png"; +import scoreSaberIcon from "../../../assets/images/third-party-icons/score-saber.png"; +import Tippy from '@tippyjs/react'; +import { MapsManagerService } from "renderer/services/maps-manager.service"; export function SettingsPage() { @@ -35,6 +41,7 @@ export function SettingsPage() { const notificationService: NotificationService = NotificationService.getInstance(); const i18nService: I18nService = I18nService.getInstance(); const linkOpener: LinkOpenerService = LinkOpenerService.getInstance(); + const mapsManager = MapsManagerService.getInstance(); const {firstColor, secondColor} = useThemeColor(); const sessionExist = useObservable(authService.sessionExist$); @@ -131,6 +138,10 @@ export function SettingsPage() { const openLogs = () => ipcService.sendLazy("open-logs"); + const enableMapsDeepLink = () => { + mapsManager.enableDeepLink(); + } + return (
@@ -170,23 +181,44 @@ export function SettingsPage() {
    -
  • +
  • - + Maps
    +
    + + {e.stopPropagation(); linkOpener.open("https://beatsaver.com/")}}/> + + + {e.stopPropagation(); linkOpener.open("https://bsaber.com/")}}/> + + + {e.stopPropagation(); linkOpener.open("https://scoresaber.com/")}}/> + +
  • -
  • +
  • Playlists
    +
    + + {e.stopPropagation(); linkOpener.open("https://beatsaver.com/")}}/> + +
  • -
  • +
  • Modèles
    +
    + + {e.stopPropagation(); linkOpener.open("https://modelsaber.com/")}}/> + +