From 3cfb3951e3fad9740782f74a6bbdd1601fbe3c1a Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Sun, 22 Sep 2024 00:51:22 -0400 Subject: [PATCH 1/8] Reworking the layouts to allow for the new design --- package-lock.json | 208 +++++++++++++++++- package.json | 3 +- public/images/hutopymedia/icons/x.svg | 13 -- src/App.vue | 33 ++- src/assets/icons/facebook.svg | 1 + src/assets/icons/instagram.svg | 1 + .../assets}/icons/tiktok.svg | 0 src/assets/icons/x.svg | 1 + src/assets/logo.svg | 1 - src/locales/en.json | 10 - src/locales/fr.json | 10 - src/router/router.js | 88 ++++---- src/views/LoginView.vue | 2 - .../{creators => browser}/CreatorCard.vue | 0 .../{creators => browser}/CreatorList.vue | 8 +- src/views/contents/ContentList.vue | 49 +++-- .../contents/contentcards/NContentCard.vue | 2 +- src/views/creators/CreatorAbout.vue | 65 ------ src/views/creators/CreatorBanner.vue | 13 +- src/views/creators/CreatorContent.vue | 41 ++++ .../creators/CreatorExclusiveContent.vue | 80 ------- src/views/creators/CreatorHome.vue | 27 +++ ...atorPresentation.vue => CreatorLayout.vue} | 56 ++--- .../{CreatorPage.vue => CreatorNews.vue} | 16 +- src/views/creators/CreatorNewsSummary.vue | 156 +++++-------- src/views/creators/DonationButtonBanner.vue | 5 - .../creators/DonationButtonBannerSlim.vue | 5 - src/views/creators/FollowButton.vue | 6 +- src/views/creators/Rewards.vue | 107 +++------ src/views/creators/SubscribeButton.vue | 36 ++- .../banner/bannerlower/BannerActions.vue | 19 +- .../banner/bannerlower/BannerActionsLg.vue | 9 +- .../banner/bannerlower/BannerActionsMd.vue | 16 +- .../banner/bannerlower/BannerActionsSm.vue | 9 +- .../banner/bannerlower/BannerActionsXl.vue | 90 ++++---- src/views/documentation/About.vue | 8 +- src/views/documentation/ContentPolicy.vue | 8 +- src/views/documentation/CreatorGuide.vue | 6 - src/views/documentation/FAQ.vue | 5 - src/views/documentation/HelpAndContact.vue | 8 +- src/views/documentation/Pricing.vue | 7 +- .../documentation/TermsAndConditions.vue | 7 +- src/views/main/Footer.vue | 86 +++++++- src/views/main/Home.vue | 76 ++++--- src/views/main/Register.vue | 4 - src/views/main/SelectedFooter.vue | 55 ----- src/views/main/SideBar.vue | 35 ++- src/views/main/SiteMenu.vue | 44 ---- src/views/profile/creators/CreatorPage.vue | 26 ++- src/views/profile/creators/Socials.vue | 89 ++++---- vite.config.js | 41 ++-- 51 files changed, 819 insertions(+), 872 deletions(-) delete mode 100644 public/images/hutopymedia/icons/x.svg create mode 100644 src/assets/icons/facebook.svg create mode 100644 src/assets/icons/instagram.svg rename {public/images/hutopymedia => src/assets}/icons/tiktok.svg (100%) create mode 100644 src/assets/icons/x.svg delete mode 100644 src/assets/logo.svg rename src/views/{creators => browser}/CreatorCard.vue (100%) rename src/views/{creators => browser}/CreatorList.vue (75%) delete mode 100644 src/views/creators/CreatorAbout.vue create mode 100644 src/views/creators/CreatorContent.vue delete mode 100644 src/views/creators/CreatorExclusiveContent.vue create mode 100644 src/views/creators/CreatorHome.vue rename src/views/creators/{CreatorPresentation.vue => CreatorLayout.vue} (57%) rename src/views/creators/{CreatorPage.vue => CreatorNews.vue} (79%) delete mode 100644 src/views/main/SelectedFooter.vue delete mode 100644 src/views/main/SiteMenu.vue diff --git a/package-lock.json b/package-lock.json index 4de6623..e417dc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,8 @@ "eslint-plugin-vue": "^9.22.0", "postcss": "^8.4.35", "tailwindcss": "^3.4.1", - "vite": "^5.2.11" + "vite": "^5.2.11", + "vite-svg-loader": "^5.1.0" } }, "node_modules/@alloc/quick-lru": { @@ -994,6 +995,16 @@ "tailwindcss": ">=2.0.0" } }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -1692,6 +1703,50 @@ "node": ">= 8" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -1703,6 +1758,42 @@ "node": ">=4" } }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -1776,6 +1867,65 @@ "node": ">=6.0.0" } }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -2887,6 +3037,13 @@ "node": ">=0.10.0" } }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3931,6 +4088,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/tailwindcss": { "version": "3.4.10", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", @@ -4193,6 +4386,19 @@ } } }, + "node_modules/vite-svg-loader": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.0.tgz", + "integrity": "sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "svgo": "^3.0.2" + }, + "peerDependencies": { + "vue": ">=3.2.13" + } + }, "node_modules/vue": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", diff --git a/package.json b/package.json index 4c35ed2..0a10f11 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "eslint-plugin-vue": "^9.22.0", "postcss": "^8.4.35", "tailwindcss": "^3.4.1", - "vite": "^5.2.11" + "vite": "^5.2.11", + "vite-svg-loader": "^5.1.0" } } diff --git a/public/images/hutopymedia/icons/x.svg b/public/images/hutopymedia/icons/x.svg deleted file mode 100644 index 1a35538..0000000 --- a/public/images/hutopymedia/icons/x.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/src/App.vue b/src/App.vue index e1077b3..d91feb5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,30 +1,27 @@ diff --git a/src/views/contents/ContentList.vue b/src/views/contents/ContentList.vue index cf5fec3..567af2b 100644 --- a/src/views/contents/ContentList.vue +++ b/src/views/contents/ContentList.vue @@ -1,29 +1,38 @@  + - - diff --git a/src/views/creators/CreatorBanner.vue b/src/views/creators/CreatorBanner.vue index ef5032b..614530d 100644 --- a/src/views/creators/CreatorBanner.vue +++ b/src/views/creators/CreatorBanner.vue @@ -1,11 +1,8 @@ - + + \ No newline at end of file + \ No newline at end of file diff --git a/src/views/documentation/ContentPolicy.vue b/src/views/documentation/ContentPolicy.vue index 58fa7f1..ea71c38 100644 --- a/src/views/documentation/ContentPolicy.vue +++ b/src/views/documentation/ContentPolicy.vue @@ -123,14 +123,8 @@ Si vous avez des questions sur cette politique de contenu ou sur la manière dont nous l'appliquons, veuillez contacter notre équipe d'assistance à support@hutopy.com.

- - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/documentation/CreatorGuide.vue b/src/views/documentation/CreatorGuide.vue index cc0638c..913bd53 100644 --- a/src/views/documentation/CreatorGuide.vue +++ b/src/views/documentation/CreatorGuide.vue @@ -38,14 +38,8 @@
  • Continuez à Apprendre : Utilisez le Centre de Ressources Éducatives d’Hutopy pour améliorer vos compétences et rester à jour sur les tendances du secteur. (À venir)
  • - - - - \ No newline at end of file diff --git a/src/views/documentation/FAQ.vue b/src/views/documentation/FAQ.vue index a538412..5186875 100644 --- a/src/views/documentation/FAQ.vue +++ b/src/views/documentation/FAQ.vue @@ -80,8 +80,6 @@

    - - - \ No newline at end of file diff --git a/src/views/documentation/HelpAndContact.vue b/src/views/documentation/HelpAndContact.vue index faf76c5..4eca91f 100644 --- a/src/views/documentation/HelpAndContact.vue +++ b/src/views/documentation/HelpAndContact.vue @@ -34,14 +34,8 @@

    - - - - + \ No newline at end of file diff --git a/src/views/documentation/Pricing.vue b/src/views/documentation/Pricing.vue index e21cd1d..834bafc 100644 --- a/src/views/documentation/Pricing.vue +++ b/src/views/documentation/Pricing.vue @@ -21,14 +21,9 @@ Hutopy est plus qu'une plateforme ; c'est une communauté où la transformation de la passion en profit devient réalité, grâce au soutien indéfectible d'une équipe dévouée à enrichir votre parcours. Nous vous invitons à nous rejoindre pour explorer ensemble les avenues de succès, tout en vous garantissant une part conséquente de vos revenus. Embarquez dans une aventure où votre présence en ligne ne connaît pas de limites, soutenue par Hutopy, votre allié dans la quête du succès.

    - - - + \ No newline at end of file diff --git a/src/views/documentation/TermsAndConditions.vue b/src/views/documentation/TermsAndConditions.vue index afc6855..8e4c96f 100644 --- a/src/views/documentation/TermsAndConditions.vue +++ b/src/views/documentation/TermsAndConditions.vue @@ -63,13 +63,8 @@

    - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/main/Footer.vue b/src/views/main/Footer.vue index b0c8206..df80b12 100644 --- a/src/views/main/Footer.vue +++ b/src/views/main/Footer.vue @@ -1,9 +1,85 @@ - - diff --git a/src/views/main/SideBar.vue b/src/views/main/SideBar.vue index 4399d8a..6d9a4fd 100644 --- a/src/views/main/SideBar.vue +++ b/src/views/main/SideBar.vue @@ -1,12 +1,11 @@  @@ -92,7 +85,7 @@ nav { /* Firefox */ .custom-scrollbar { - scrollbar-width: thin; + scrollbar-width: thin; scrollbar-color: #903175 #f1f1f1; } diff --git a/src/views/main/SiteMenu.vue b/src/views/main/SiteMenu.vue deleted file mode 100644 index 63a87d1..0000000 --- a/src/views/main/SiteMenu.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/src/views/profile/creators/CreatorPage.vue b/src/views/profile/creators/CreatorPage.vue index 64c6108..a3c02da 100644 --- a/src/views/profile/creators/CreatorPage.vue +++ b/src/views/profile/creators/CreatorPage.vue @@ -1,4 +1,5 @@  + + + + From d70ff96d9d2b5ef7eea051ae26d01accdc1eba4c Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Tue, 24 Sep 2024 01:38:46 -0400 Subject: [PATCH 8/8] LoginWithGoogle feature now working. --- src/stores/authStore.js | 8 ++++---- src/views/main/LoginForm.vue | 32 ++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/stores/authStore.js b/src/stores/authStore.js index 681561d..0ad680a 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -63,12 +63,12 @@ export const useAuthStore = defineStore( } } - async function loginGoogle(accessToken) { + async function loginWithGoogle(accessToken) { try { const response = await clientApi.post( - 'api/google/sign-in', + 'api/users/login-with-google', { - accessToken: accessToken + token: accessToken }) updateTokens(response.data) } catch (error) { @@ -95,6 +95,6 @@ export const useAuthStore = defineStore( } } - return {accessToken, refreshToken, isAuthenticated, userId, login, loginGoogle, logout} + return {accessToken, refreshToken, isAuthenticated, userId, login, loginWithGoogle, logout} }) diff --git a/src/views/main/LoginForm.vue b/src/views/main/LoginForm.vue index 3434a8c..826aee2 100644 --- a/src/views/main/LoginForm.vue +++ b/src/views/main/LoginForm.vue @@ -16,11 +16,19 @@ Utilisateur
    - - - Connecter -

    Si vous n'avez pas de compte, cliquez ici pour en créer un.

    -
    Nom d'utilisateur ou mot de passe invalide.
    + + + Connecter + +

    Si vous n'avez pas de compte, cliquez + ici pour en créer un.

    +
    Nom d'utilisateur ou mot de passe invalide. + +
    @@ -40,7 +48,6 @@ const password = ref(""); const errorSnackBar = ref(false); const showEmailForm = ref(false); const showPassword = ref(false); -const googleCallback = ref(''); const props = defineProps({ onSuccess: { @@ -53,9 +60,18 @@ const props = defineProps({ } }); +async function googleCallback(token) { + const response = await authStore.loginWithGoogle(JSON.stringify(token)); + handleResponse(response) +} + async function login() { - const result = await authStore.login(email.value, password.value); - if (result === true) { + const response = await authStore.login(email.value, password.value); + handleResponse(response) +} + +function handleResponse(response) { + if (response === true) { props.onSuccess(); } else { if (props.onFailure) {