From c8e49ba49c0d1825744cee5a2369db65315c7f95 Mon Sep 17 00:00:00 2001 From: James Collins Date: Mon, 27 Feb 2023 14:52:01 +1000 Subject: [PATCH] cleanup --- import-meta.d.ts | 6 + package-lock.json | 12 +- package.json | 1 + resources/css/app.scss | 95 ----- resources/css/utils.scss | 1 + resources/js/components/SMAttachments.vue | 20 +- resources/js/components/SMBreadcrumbs.vue | 64 ++-- resources/js/components/SMButton.vue | 204 +++++++--- resources/js/components/SMCaptchaNotice.vue | 4 +- resources/js/components/SMCarousel.vue | 176 ++++++--- resources/js/components/SMCarouselSlide.vue | 64 ++-- resources/js/components/SMContainer.vue | 74 +--- resources/js/components/SMDialog.vue | 23 +- resources/js/components/SMEditor.vue | 60 ++- resources/js/components/SMFileLink.vue | 46 +-- resources/js/components/SMForm.vue | 3 + resources/js/components/SMHTML.vue | 11 +- resources/js/components/SMHeading.vue | 25 +- resources/js/components/SMInput.vue | 12 +- resources/js/components/SMLoadingIcon.vue | 1 + resources/js/components/SMMediaInput.vue | 360 ------------------ resources/js/components/SMMessage.vue | 82 ++-- resources/js/components/SMModal.vue | 2 +- resources/js/components/SMNavbar.vue | 101 ++--- resources/js/components/SMPage.vue | 14 +- resources/js/components/SMPageError.vue | 25 -- resources/js/components/SMPanel.vue | 107 +++--- resources/js/components/SMPanelList.vue | 16 +- resources/js/components/SMTab.vue | 6 +- resources/js/components/SMTabGroup.vue | 14 +- resources/js/components/SMToolbar.vue | 14 +- .../js/components/dialogs/SMDialogConfirm.vue | 55 ++- .../js/components/dialogs/SMDialogMedia.vue | 53 ++- resources/js/components/errors/Forbidden.vue | 4 +- resources/js/components/errors/Internal.vue | 4 +- resources/js/components/errors/NotFound.vue | 4 +- resources/js/helpers/api.ts | 74 +--- resources/js/helpers/form.ts | 10 +- resources/js/helpers/utils.ts | 20 +- resources/js/main.js | 22 +- resources/js/router/index.js | 4 +- resources/js/views/Contact.vue | 7 +- resources/js/views/EmailVerify.vue | 22 +- resources/js/views/ForgotPassword.vue | 11 +- resources/js/views/ForgotUsername.vue | 9 +- resources/js/views/Home.vue | 18 +- resources/js/views/Login.vue | 16 +- resources/js/views/Logout.vue | 3 +- resources/js/views/NewsList.vue | 8 +- resources/js/views/NewsView.vue | 6 +- resources/js/views/Register.vue | 13 +- resources/js/views/ResendEmailVerify.vue | 14 +- resources/js/views/ResetPassword.vue | 14 +- resources/js/views/Rules.vue | 4 +- resources/js/views/Terms.vue | 4 +- resources/js/views/Unsubscribe.vue | 14 +- resources/js/views/WorkshopList.vue | 7 +- resources/js/views/WorkshopView.vue | 10 +- resources/js/views/dashboard/CreatePost.vue | 12 +- resources/js/views/dashboard/Dashboard.vue | 1 - .../js/views/dashboard/DiscordBotLogs.vue | 10 +- resources/js/views/dashboard/EventEdit.vue | 34 +- resources/js/views/dashboard/EventList.vue | 22 +- resources/js/views/dashboard/MediaEdit.vue | 15 +- resources/js/views/dashboard/MediaList.vue | 22 +- resources/js/views/dashboard/PostEdit.vue | 57 +-- resources/js/views/dashboard/PostList.vue | 15 +- resources/js/views/dashboard/UserEdit.vue | 20 +- resources/js/views/dashboard/UserList.vue | 18 +- tsconfig.json | 13 + vite.config.js | 4 +- 71 files changed, 958 insertions(+), 1358 deletions(-) create mode 100644 import-meta.d.ts delete mode 100644 resources/js/components/SMMediaInput.vue delete mode 100644 resources/js/components/SMPageError.vue create mode 100644 tsconfig.json diff --git a/import-meta.d.ts b/import-meta.d.ts new file mode 100644 index 0000000..3a28cb1 --- /dev/null +++ b/import-meta.d.ts @@ -0,0 +1,6 @@ +interface ImportMeta { + env: { + APP_URL: string; + [key: string]: string; + }; +} diff --git a/package-lock.json b/package-lock.json index db9a3a8..388a0e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "@tinymce/tinymce-vue": "^4.0.7", "@vitejs/plugin-vue": "^4.0.0", "@vuepic/vue-datepicker": "^3.6.4", + "dompurify": "^3.0.0", "dotenv": "^16.0.3", "normalize.css": "^8.0.1", "pinia": "^2.0.28", @@ -1721,9 +1722,9 @@ } }, "node_modules/dompurify": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.4.tgz", - "integrity": "sha512-1e2SpqHiRx4DPvmRuXU5J0di3iQACwJM+mFGE2HAkkK7Tbnfk9WcghcAmyWc9CRrjyRRUpmuhPUH6LphQQR3EQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.0.tgz", + "integrity": "sha512-0g/yr2IJn4nTbxwL785YxS7/AvvgGFJw6LLWP+BzWzB1+BYOqPUT9Hy0rXrZh5HLdHnxH72aDdzvC9SdTjsuaA==" }, "node_modules/dotenv": { "version": "16.0.3", @@ -4071,6 +4072,11 @@ "vue": "^2.7.0 || ^3.0.0" } }, + "node_modules/vue-dompurify-html/node_modules/dompurify": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.4.tgz", + "integrity": "sha512-1e2SpqHiRx4DPvmRuXU5J0di3iQACwJM+mFGE2HAkkK7Tbnfk9WcghcAmyWc9CRrjyRRUpmuhPUH6LphQQR3EQ==" + }, "node_modules/vue-eslint-parser": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz", diff --git a/package.json b/package.json index 44a54b9..c647b57 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@tinymce/tinymce-vue": "^4.0.7", "@vitejs/plugin-vue": "^4.0.0", "@vuepic/vue-datepicker": "^3.6.4", + "dompurify": "^3.0.0", "dotenv": "^16.0.3", "normalize.css": "^8.0.1", "pinia": "^2.0.28", diff --git a/resources/css/app.scss b/resources/css/app.scss index bd4c172..4254fbc 100644 --- a/resources/css/app.scss +++ b/resources/css/app.scss @@ -124,11 +124,6 @@ select { } } -svg, -button { - @extend .prevent-select; -} - code { display: block; font-size: 0.8rem; @@ -165,96 +160,6 @@ code { } } -/* Button */ -button.button, -a.button, -label.button { - padding: map-get($spacer, 2) map-get($spacer, 4); - color: white; - font-weight: 800; - border-width: 2px; - border-style: solid; - border-radius: 24px; - transition: background-color 0.1s, color 0.1s; - cursor: pointer; - background-color: $secondary-color; - border-color: $secondary-color; - min-width: 7rem; - text-align: center; - - &:disabled { - cursor: not-allowed; - background-color: $secondary-color !important; - border-color: $secondary-color !important; - opacity: 0.5; - } - - &:hover:not(:disabled) { - text-decoration: none; - color: $secondary-color; - } - - &.primary { - background-color: $primary-color; - border-color: $primary-color; - - &:hover:not(:disabled) { - color: $primary-color; - } - } - - &.secondary { - background-color: $secondary-color; - border-color: $secondary-color; - - &:hover:not(:disabled) { - color: $secondary-color; - } - } - - &.danger { - background-color: $danger-color; - border-color: $danger-color; - - &:hover:not(:disabled) { - color: $danger-color; - } - } - - &.outline { - background-color: transparent; - border-color: $outline-color; - color: $outline-color; - - &:hover:not(:disabled) { - background-color: $outline-color; - border-color: $outline-color; - color: $outline-hover-color; - } - } - - &:hover:not(:disabled) { - background-color: #fff; - } - - svg { - padding-left: 0.5rem; - vertical-align: middle !important; - } -} - -.button + .button { - margin: 0 map-get($spacer, 2); - - &:first-child { - margin-left: 0; - } - - &:last-child { - margin-right: 0; - } -} - /* Page Errors */ .page-error { display: flex; diff --git a/resources/css/utils.scss b/resources/css/utils.scss index 2788096..395110d 100644 --- a/resources/css/utils.scss +++ b/resources/css/utils.scss @@ -193,6 +193,7 @@ /* Utility */ .prevent-select { -webkit-user-select: none; + -moz-user-select: none; -ms-user-select: none; user-select: none; } diff --git a/resources/js/components/SMAttachments.vue b/resources/js/components/SMAttachments.vue index 0870144..05b12dc 100644 --- a/resources/js/components/SMAttachments.vue +++ b/resources/js/components/SMAttachments.vue @@ -6,17 +6,17 @@
-
+ class="sm-attachment-row"> +
- {{ + {{ file.title || file.name }} -
+
({{ bytesReadable(file.size) }})
@@ -25,6 +25,7 @@ diff --git a/resources/js/components/SMMessage.vue b/resources/js/components/SMMessage.vue index 9d0f656..9e5493c 100644 --- a/resources/js/components/SMMessage.vue +++ b/resources/js/components/SMMessage.vue @@ -1,6 +1,6 @@