From 83b162d2bd10ed8ceff0c23db6c2f365c3f85730 Mon Sep 17 00:00:00 2001 From: poptong Date: Wed, 1 Oct 2025 01:47:51 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20=EC=9B=B9=ED=9B=85=20URL?= =?UTF-8?q?=EC=9D=84=20HTTPS=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 웹훅 URL을 https://admin.youtooplay.com/webhook로 변경 - Nginx 리버스 프록시 설정 파일 추가 - 배포 가이드 업데이트 --- .env | 1 + .nuxt/app.config.mjs | 18 + .nuxt/components.d.ts | 140 + .nuxt/dev/index.mjs | 2238 ++ .nuxt/dist/server/client.manifest.json | 18 + .nuxt/dist/server/client.manifest.mjs | 1 + .nuxt/dist/server/server.mjs | 1 + .nuxt/imports.d.ts | 41 + .nuxt/manifest/latest.json | 1 + .nuxt/manifest/meta/dev.json | 1 + .nuxt/nitro.json | 17 + .nuxt/nuxt.d.ts | 26 + .nuxt/nuxt.json | 9 + .nuxt/schema/nuxt.schema.d.ts | 17 + .nuxt/schema/nuxt.schema.json | 3 + .nuxt/tsconfig.json | 198 + .nuxt/tsconfig.server.json | 142 + .nuxt/types/app-defaults.d.ts | 7 + .nuxt/types/app.config.d.ts | 31 + .nuxt/types/build.d.ts | 23 + .nuxt/types/imports.d.ts | 862 + .nuxt/types/layouts.d.ts | 7 + .nuxt/types/middleware.d.ts | 12 + .nuxt/types/nitro-config.d.ts | 14 + .nuxt/types/nitro-imports.d.ts | 141 + .nuxt/types/nitro-nuxt.d.ts | 29 + .nuxt/types/nitro-routes.d.ts | 20 + .nuxt/types/nitro.d.ts | 3 + .nuxt/types/plugins.d.ts | 41 + .nuxt/types/schema.d.ts | 134 + .nuxt/types/typed-router.d.ts | 31 + .nuxt/types/vue-shim.d.ts | 0 .output/nitro.json | 15 + .../public/_nuxt/1.M41J_I81.png | Bin .../public/_nuxt/2.-m0KoIht.png | Bin .../public/_nuxt/2.xjy_pXoW.png | Bin .../public/_nuxt/3.BZq9BJpS.png | Bin .../public/_nuxt/404.CFRyiToj.png | Bin .../public/_nuxt/5.CFPERer_.jpg | Bin .output/public/_nuxt/5zhjgqfi.js | 1 + .../public/_nuxt/6.C2cDgitj.jpg | Bin .output/public/_nuxt/B-WfXDwG.js | 1 + .output/public/_nuxt/B1lTaUKS.js | 1 + .output/public/_nuxt/BFEYBn8P.js | 1 + .output/public/_nuxt/BK2mOCZY.js | 1 + .output/public/_nuxt/BMKr9CCw.js | 1 + .output/public/_nuxt/BQaMK7Q4.js | 1 + .output/public/_nuxt/BVhkMzlw.js | 1 + .output/public/_nuxt/Byx8O7ep.js | 1 + .output/public/_nuxt/C-wFOR9d.js | 1 + .output/public/_nuxt/C0u2Lk3h.js | 33 + .output/public/_nuxt/C3eWIkoe.js | 1 + .output/public/_nuxt/C9VE9OU6.js | 1 + .output/public/_nuxt/CCmxpPjt.js | 1 + .output/public/_nuxt/CHrTZ85L.js | 1 + .output/public/_nuxt/CIz8R0Jd.js | 1 + .output/public/_nuxt/CSv7hpo5.js | 1 + .output/public/_nuxt/CVGOOTAD.js | 1 + .output/public/_nuxt/CWHzxVR1.js | 1 + .output/public/_nuxt/CaO2gbdK.js | 703 + .output/public/_nuxt/CewcwZMD.js | 1 + .output/public/_nuxt/Cr9s0UKx.js | 1 + .output/public/_nuxt/CzJbC_gC.js | 1 + .output/public/_nuxt/CzwNFFo0.js | 5 + .../public/_nuxt/D3Ia18PY.js | 3 +- .output/public/_nuxt/D7WsOSrJ.js | 1 + .output/public/_nuxt/DHdvWMV9.js | 1 + .output/public/_nuxt/DIh46KVW.js | 1 + .output/public/_nuxt/DSEcO8b-.js | 1 + .output/public/_nuxt/DZW8D_6A.js | 1 + .../DefaultLayoutWithVerticalNav.8_WXw_dQ.css | 1 + .output/public/_nuxt/DesO6ExF.js | 1 + .output/public/_nuxt/Dfij7AJr.js | 1 + .output/public/_nuxt/DlJCaRaK.js | 1 + .output/public/_nuxt/DtFCdNDb.js | 1 + .output/public/_nuxt/Dv2BvCMR.js | 1 + .output/public/_nuxt/M3HjjlDm.js | 1 + .output/public/_nuxt/MNtG3NDc.js | 1 + .output/public/_nuxt/NavItems.DhbwqETx.css | 1 + .output/public/_nuxt/RFFjrLOl.js | 1 + .output/public/_nuxt/UserProfile.Cb99yl0N.css | 1 + .output/public/_nuxt/VCheckbox.D106PB0Y.css | 1 + .output/public/_nuxt/VChip.BcnQjLrT.css | 1 + .output/public/_nuxt/VDivider.CRhg1j9w.css | 1 + .output/public/_nuxt/VGrid.B47qK9tN.css | 1 + .output/public/_nuxt/VList.CvkXYftj.css | 1 + .output/public/_nuxt/VTable.Bd6FXRNG.css | 1 + .output/public/_nuxt/VTabs.STZ6tzVD.css | 1 + .output/public/_nuxt/VTextField.B8ihOk7u.css | 1 + .output/public/_nuxt/VTooltip.CybdpSdB.css | 1 + .output/public/_nuxt/ZsWsy49S.js | 1 + .../_nuxt/account-settings.BJB4IsWe.css | 1 + .../_nuxt/auth-v1-bottom-shape.crxWNCWd.svg | 0 .../_nuxt/auth-v1-top-shape.eAwqa87i.svg | 0 .../public/_nuxt/avatar-1.DL1ARROH.png | Bin .../public/_nuxt/avatar-2.D-0hhBDR.png | Bin .../public/_nuxt/avatar-3.BowASP-2.png | Bin .../public/_nuxt/avatar-4.DTP-WtUz.png | Bin .../public/_nuxt/avatar-8.DRlSCgqr.png | Bin .output/public/_nuxt/blank.CExWZhJD.css | 1 + .output/public/_nuxt/builds/latest.json | 1 + .../949426af-f050-4b34-ad3b-8d270feb6b94.json | 1 + .output/public/_nuxt/cards.KKBB6AMU.css | 1 + .output/public/_nuxt/dashboard.DUCv-c6O.css | 1 + .output/public/_nuxt/default.OoQ_6ro-.css | 1 + .output/public/_nuxt/entry._znlUGac.css | 5 + .../_nuxt/illustration-john-dark.CXq7qNOq.png | Bin .../illustration-john-light.1Av6zeMt.png | Bin .output/public/_nuxt/kUwpeLub.js | 1 + .output/public/_nuxt/login.Dyn8djeC.css | 1 + .output/public/_nuxt/register.DPAft05s.css | 1 + .output/public/_nuxt/t0SGIztV.js | 4 + .output/public/_nuxt/vJlLu25e.js | 1 + .../public/favicon.ico | Bin .../public/robots.txt | 0 .output/server/chunks/_/error-500.mjs | 7 + ...ingsNotification-styles-1.mjs-COfCEDLT.mjs | 3 + ...ntSettingsNotification-styles.GmPspwBO.mjs | 5 + ...ntSettingsNotification-styles.c6ezO7eT.mjs | 5 + ...sCongratulations-styles-1.mjs-CY43QUpu.mjs | 3 + ...alyticsCongratulations-styles.7f44haZ6.mjs | 5 + ...alyticsCongratulations-styles.DqII_Bwb.mjs | 5 + ...sOrderStatistics-styles-1.mjs-ClmxzPXa.mjs | 3 + ...alyticsOrderStatistics-styles.CYw_yRNL.mjs | 5 + ...alyticsOrderStatistics-styles.CnbIVwCv.mjs | 5 + ...ticsTotalRevenue-styles-1.mjs-wuWbQzUR.mjs | 3 + .../AnalyticsTotalRevenue-styles.BJg6STC_.mjs | 5 + .../AnalyticsTotalRevenue-styles.BikINTAl.mjs | 5 + ...ticsTransactions-styles-1.mjs-BsPHKSrz.mjs | 3 + .../AnalyticsTransactions-styles.CAOv2ENt.mjs | 5 + .../AnalyticsTransactions-styles.U8JYrSnn.mjs | 5 + .../build/CardBasic-styles-1.mjs-BB7jL9Bb.mjs | 3 + .../build/CardBasic-styles.C-Pxu70S.mjs | 5 + .../build/CardBasic-styles.Duzdg6PU.mjs | 5 + .../DefaultLayoutWithVerticalNav-CwFd3qmL.mjs | 504 + ...tWithVerticalNav-styles-1.mjs-C8Nc23qi.mjs | 3 + ...tLayoutWithVerticalNav-styles.BETWH2ct.mjs | 5 + ...tLayoutWithVerticalNav-styles.bLKRe82Y.mjs | 5 + .../build/ErrorHeader-styles.CfiV342G.mjs | 5 + .../build/ErrorHeader-styles.RU_hCB2x.mjs | 5 + .../server/chunks/build/Footer-BdPuYOuS.mjs | 41 + .../server/chunks/build/NavItems-BE_iATXh.mjs | 403 + .../build/NavbarThemeSwitcher-B8gKKvoR.mjs | 166 + .../build/UpgradeToPro-styles.CE58FfDk.mjs | 5 + .../build/UpgradeToPro-styles.CcXTmuY4.mjs | 5 + .../chunks/build/UserProfile-D3XrMU_d.mjs | 1166 + .../chunks/build/VCheckbox-BsGzFEMx.mjs | 421 + .../server/chunks/build/VChip-DNdty0q7.mjs | 329 + .../server/chunks/build/VDivider-C0e0b_O5.mjs | 66 + .../server/chunks/build/VList-C7tHrCmP.mjs | 1503 ++ .../chunks/build/VListItemAction-DeAgZ_Zv.mjs | 28 + .output/server/chunks/build/VRow-MQIguEmB.mjs | 230 + .../server/chunks/build/VSpacer-CWwQJ4s3.mjs | 5 + .../server/chunks/build/VTable-CfOk5VYL.mjs | 53 + .../server/chunks/build/VTabs-BaH4QY_R.mjs | 1011 + .../chunks/build/VTextField-Bxu4ONGD.mjs | 1183 + .../server/chunks/build/VTooltip-D5G-PTk1.mjs | 86 + .../VerticalNav-styles-1.mjs-tF4UfE7y.mjs | 3 + .../VerticalNav-styles-2.mjs-r5GrVkZi.mjs | 3 + .../build/VerticalNav-styles.2VwlF1LL.mjs | 6 + .../build/VerticalNav-styles.BloOnUHk.mjs | 5 + .../build/VerticalNav-styles.Dopg7Lx3.mjs | 5 + ...VerticalNavGroup-styles-1.mjs-CxRumQ9M.mjs | 3 + .../VerticalNavGroup-styles.BmAjzMhv.mjs | 5 + .../VerticalNavGroup-styles.Dzie0S6_.mjs | 5 + ...erticalNavLayout-styles-1.mjs-CrJUR1Zt.mjs | 3 + .../VerticalNavLayout-styles.BB70nmLk.mjs | 5 + .../VerticalNavLayout-styles.DIg01pzh.mjs | 5 + .../VerticalNavLink-styles-1.mjs-o72Sf6Ja.mjs | 3 + .../build/VerticalNavLink-styles.CPRYTaxa.mjs | 5 + .../build/VerticalNavLink-styles.CupzBSVH.mjs | 5 + .../build/account-settings-BQznxZuU.mjs | 8154 ++++++ .output/server/chunks/build/auth-1-RRzcPb.mjs | 35 + .../build/auth-v1-top-shape-smMuVKoE.mjs | 6 + .../server/chunks/build/avatar-1-BLwzgS8N.mjs | 5 + .../server/chunks/build/blank-Bf4PtoY-.mjs | 39 + .../build/blank-styles-1.mjs-Cvm7AgR3.mjs | 3 + .../chunks/build/blank-styles.J2lJ6pRm.mjs | 5 + .../chunks/build/blank-styles.ip4oH0FR.mjs | 5 + .../server/chunks/build/cards-_QfDIPNa.mjs | 4600 ++++ .../server/chunks/build/client.manifest.mjs | 1115 + .../chunks/build/dashboard-DIw14Lwt.mjs | 3540 +++ .../server/chunks/build/default-BGiPi0E4.mjs | 66 + .../build/default-styles-1.mjs-DVOYTV7T.mjs | 3 + .../chunks/build/default-styles.Cyug3X5Q.mjs | 5 + .../chunks/build/default-styles.DKpzDQLQ.mjs | 5 + .../build/entry-styles-6.mjs-56WdIDRV.mjs | 3 + .../build/entry-styles-7.mjs-BxAtUIoB.mjs | 3 + .../build/entry-styles-8.mjs-BakX-vIf.mjs | 3 + .../chunks/build/entry-styles.DhO-80qM.mjs | 17 + .../chunks/build/error-styles.CN_77ni1.mjs | 5 + .../chunks/build/error-styles.D1w1kL2I.mjs | 5 + .../chunks/build/form-layouts-CTRCMT6u.mjs | 4141 +++ .../server/chunks/build/guest-BVuhP81c.mjs | 26 + .../server/chunks/build/icons-4rFVWfzn.mjs | 174 + .../server/chunks/build/index-BNHdF426.mjs | 188 + .../server/chunks/build/index-BkwMfZcG.mjs | 164 + .../server/chunks/build/login-BwTR74Z-.mjs | 862 + .../build/login-styles-1.mjs-B3mVmIEa.mjs | 3 + .../chunks/build/login-styles.DFtZeGCf.mjs | 5 + .../chunks/build/login-styles.rz0t5XLu.mjs | 5 + .output/server/chunks/build/logo-C2NYPRdy.mjs | 3 + .../chunks/build/nuxt-link-DwrCF35s.mjs | 304 + .../server/chunks/build/register-Dm3ZIgcF.mjs | 939 + .../build/register-styles-1.mjs-RsEWMcwk.mjs | 3 + .../chunks/build/register-styles.CcLsaXFP.mjs | 5 + .../chunks/build/register-styles.CumeBmK_.mjs | 5 + .output/server/chunks/build/server.mjs | 9721 +++++++ .../server/chunks/build/ssrBoot-BtvJZs44.mjs | 14 + .output/server/chunks/build/styles.mjs | 43 + .../server/chunks/build/tables-Qmz6ULZO.mjs | 842 + .../chunks/build/typography-C-9CLLLs.mjs | 1215 + .output/server/chunks/nitro/nitro.mjs | 6011 +++++ .../chunks/routes/api/auth/login.post.mjs | 72 + .../chunks/routes/api/auth/register.post.mjs | 66 + .../chunks/routes/api/auth/verify.get.mjs | 41 + .output/server/chunks/routes/renderer.mjs | 390 + .../chunks/virtual/_virtual_spa-template.mjs | 3 + .output/server/index.mjs | 9 + .output/server/package.json | 67 + .vscode/settings.json | 15 + .../@core => @core}/components/MoreBtn.vue | 0 .../components/ThemeSwitcher.vue | 0 .../cards/CardStatisticsHorizontal.vue | 0 .../cards/CardStatisticsVertical.vue | 0 .../cards/CardStatisticsWithImages.vue | 0 .../scss/base/_components.scss | 0 .../@core => @core}/scss/base/_dark.scss | 0 .../base/_default-layout-w-vertical-nav.scss | 0 .../scss/base/_default-layout.scss | 0 .../@core => @core}/scss/base/_index.scss | 0 .../@core => @core}/scss/base/_layouts.scss | 0 .../@core => @core}/scss/base/_misc.scss | 0 .../@core => @core}/scss/base/_mixins.scss | 0 .../@core => @core}/scss/base/_utilities.scss | 0 .../@core => @core}/scss/base/_utils.scss | 0 .../@core => @core}/scss/base/_variables.scss | 0 .../scss/base/_vertical-nav.scss | 0 .../scss/base/libs/_perfect-scrollbar.scss | 0 .../scss/base/libs/vuetify/_index.scss | 0 .../scss/base/libs/vuetify/_overrides.scss | 0 .../scss/base/libs/vuetify/_variables.scss | 0 .../_default-layout-vertical-nav.scss | 0 .../base/placeholders/_default-layout.scss | 0 .../scss/base/placeholders/_index.scss | 0 .../scss/base/placeholders/_misc.scss | 0 .../scss/base/placeholders/_nav.scss | 0 .../scss/base/placeholders/_vertical-nav.scss | 0 .../scss/template/_components.scss | 0 .../@core => @core}/scss/template/_dark.scss | 0 .../_default-layout-w-vertical-nav.scss | 0 .../scss/template/_mixins.scss | 0 .../scss/template/_utilities.scss | 0 .../@core => @core}/scss/template/_utils.scss | 0 .../scss/template/_variables.scss | 0 .../scss/template/_vertical-nav.scss | 0 .../@core => @core}/scss/template/index.scss | 0 .../scss/template/libs/apex-chart.scss | 0 .../template/libs/vuetify/_variables.scss | 0 .../libs/vuetify/components/_alert.scss | 0 .../libs/vuetify/components/_avatar.scss | 0 .../libs/vuetify/components/_badge.scss | 0 .../libs/vuetify/components/_button.scss | 0 .../libs/vuetify/components/_cards.scss | 0 .../libs/vuetify/components/_checkbox.scss | 0 .../libs/vuetify/components/_chip.scss | 0 .../libs/vuetify/components/_dialog.scss | 0 .../vuetify/components/_expansion-panels.scss | 0 .../libs/vuetify/components/_field.scss | 0 .../libs/vuetify/components/_list.scss | 0 .../libs/vuetify/components/_menu.scss | 0 .../libs/vuetify/components/_otp-input.scss | 0 .../libs/vuetify/components/_pagination.scss | 0 .../libs/vuetify/components/_progress.scss | 0 .../libs/vuetify/components/_radio.scss | 0 .../libs/vuetify/components/_rating.scss | 0 .../libs/vuetify/components/_slider.scss | 0 .../libs/vuetify/components/_snackbar.scss | 0 .../libs/vuetify/components/_switch.scss | 0 .../libs/vuetify/components/_table.scss | 0 .../libs/vuetify/components/_tabs.scss | 0 .../libs/vuetify/components/_textarea.scss | 0 .../libs/vuetify/components/_timeline.scss | 0 .../libs/vuetify/components/_tooltip.scss | 0 .../libs/vuetify/components/index.scss | 0 .../scss/template/libs/vuetify/index.scss | 0 .../scss/template/libs/vuetify/overrides.scss | 0 .../scss/template/pages/misc.scss | 0 .../scss/template/pages/page-auth.scss | 0 .../_default-layout-vertical-nav.scss | 0 .../scss/template/placeholders/_index.scss | 0 .../scss/template/placeholders/_misc.scss | 0 .../scss/template/placeholders/_nav.scss | 0 .../template/placeholders/_vertical-nav.scss | 0 .../@core => @core}/utils/colorConverter.ts | 0 .../@core => @core}/utils/formatters.ts | 0 .../@core => @core}/utils/helpers.ts | 0 .../@core => @core}/utils/plugins.ts | 0 .../components/TransitionExpand.vue | 0 .../components/VerticalNav.vue | 0 .../components/VerticalNavGroup.vue | 0 .../components/VerticalNavLayout.vue | 0 .../components/VerticalNavLink.vue | 0 .../components/VerticalNavSectionTitle.vue | 0 .../styles/_classes.scss | 0 .../styles/_default-layout.scss | 0 .../@layouts => @layouts}/styles/_global.scss | 0 .../@layouts => @layouts}/styles/_mixins.scss | 0 .../styles/_placeholders.scss | 0 .../@layouts => @layouts}/styles/_rtl.scss | 0 .../styles/_variables.scss | 0 .../@layouts => @layouts}/styles/index.scss | 0 .../@layouts => @layouts}/types.ts | 0 .../@layouts => @layouts}/utils.ts | 0 DEPLOYMENT.md | 2 +- README.md | 208 +- app.vue | 76 + .../app => app}/router.options.ts | 2 +- .../images/avatars/avatar-1.png | Bin .../images/avatars/avatar-10.png | Bin .../images/avatars/avatar-11.png | Bin .../images/avatars/avatar-12.png | Bin .../images/avatars/avatar-13.png | Bin .../images/avatars/avatar-14.png | Bin .../images/avatars/avatar-15.png | Bin .../images/avatars/avatar-2.png | Bin .../images/avatars/avatar-3.png | Bin .../images/avatars/avatar-4.png | Bin .../images/avatars/avatar-5.png | Bin .../images/avatars/avatar-6.png | Bin .../images/avatars/avatar-7.png | Bin .../images/avatars/avatar-8.png | Bin .../images/avatars/avatar-9.png | Bin .../images/cards/chart-info.png | Bin .../images/cards/chart-success.png | Bin .../images/cards/credit-card-primary.png | Bin .../images/cards/credit-card-success.png | Bin .../images/cards/credit-card-warning.png | Bin .../images/cards/illustration-john-dark.png | Bin .../images/cards/illustration-john-light.png | Bin .../images/cards/paypal-error.png | Bin .../images/cards/wallet-info.png | Bin .../images/cards/wallet-primary.png | Bin .../customizer-icons/horizontal-light.svg | 0 .../assets => assets}/images/eCommerce/2.png | Bin .../images/iconify-svg/checked-checkbox.svg | 0 .../images/iconify-svg/checked-radio.svg | 0 .../iconify-svg/indeterminate-checkbox.svg | 0 .../images/iconify-svg/javascript.svg | 0 .../images/iconify-svg/typescript.svg | 0 .../images/iconify-svg/unchecked-checkbox.svg | 0 .../images/iconify-svg/unchecked-radio.svg | 0 .../images/icons/flags/australia.png | Bin .../images/icons/flags/belgium.png | Bin .../images/icons/flags/brazil.png | Bin .../images/icons/flags/china.png | Bin .../images/icons/flags/france.png | Bin .../images/icons/flags/india.png | Bin .../images/icons/flags/usa.png | Bin .../images/icons/logo/brave.png | Bin .../images/icons/logo/cent.png | Bin .../images/icons/logo/chrome.png | Bin .../images/icons/logo/edge.png | Bin .../images/icons/logo/firefox.png | Bin .../images/icons/logo/linux.png | Bin .../images/icons/logo/mac.png | Bin .../images/icons/logo/opera.png | Bin .../images/icons/logo/safari.png | Bin .../images/icons/logo/ubuntu.png | Bin .../images/icons/logo/windows.png | Bin .../assets => assets}/images/logo.svg | 0 .../images/misc/triangle-dark.png | Bin .../images/misc/triangle-light.png | Bin .../assets => assets}/images/pages/1.png | Bin .../assets => assets}/images/pages/2.png | Bin .../assets => assets}/images/pages/3.png | Bin .../assets => assets}/images/pages/404.png | Bin .../assets => assets}/images/pages/5.jpg | Bin .../assets => assets}/images/pages/6.jpg | Bin .../images/pages/empty-cart.png | Bin .../images/pages/pose-fs-9.png | Bin .../images/pro/upgrade-banner-dark.png | Bin .../images/pro/upgrade-banner-light.png | Bin .../images/svg/auth-v1-bottom-shape.svg | 0 .../images/svg/auth-v1-top-shape.svg | 0 .../images/svg/checkbox-checked.svg | 0 .../images/svg/checkbox-indeterminate.svg | 0 .../images/svg/checkbox-unchecked.svg | 0 .../images/svg/radio-checked.svg | 0 .../images/svg/radio-unchecked.svg | 0 .../assets => assets}/styles/styles.scss | 0 .../styles/variables/_template.scss | 0 .../styles/variables/_vuetify.scss | 0 .../components => components}/ErrorHeader.vue | 0 .../UpgradeToPro.vue | 0 .../VueApexCharts.client.vue | 0 typescript-version/env.d.ts => env.d.ts | 0 typescript-version/error.vue => error.vue | 0 javascript-version/.editorconfig | 38 - javascript-version/.eslintrc-auto-import.json | 329 - javascript-version/.eslintrc.cjs | 238 - javascript-version/.gitattributes | 207 - javascript-version/.gitignore | 50 - javascript-version/.npmrc | 2 - javascript-version/.nvmrc | 1 - javascript-version/.stylelintrc.json | 46 - .../.vscode/anchor-comments.code-snippets | 23 - javascript-version/.vscode/extensions.json | 15 - javascript-version/.vscode/settings.json | 109 - .../.vscode/vue-ts.code-snippets | 18 - javascript-version/.vscode/vue.code-snippets | 63 - .../.vscode/vuetify.code-snippets | 52 - .../@core/components/MoreBtn.vue | 35 - .../@core/components/ThemeSwitcher.vue | 43 - .../cards/CardStatisticsHorizontal.vue | 60 - .../cards/CardStatisticsVertical.vue | 75 - .../cards/CardStatisticsWithImages.vue | 80 - .../@core/utils/colorConverter.js | 31 - javascript-version/@core/utils/formatters.js | 6 - javascript-version/@core/utils/helpers.js | 29 - javascript-version/@core/utils/plugins.js | 50 - .../@layouts/components/TransitionExpand.vue | 87 - .../@layouts/components/VerticalNav.vue | 187 - .../@layouts/components/VerticalNavGroup.vue | 71 - .../@layouts/components/VerticalNavLayout.vue | 176 - .../@layouts/components/VerticalNavLink.vue | 50 - .../components/VerticalNavSectionTitle.vue | 21 - javascript-version/@layouts/types.js | 1 - javascript-version/@layouts/utils.js | 12 - javascript-version/README.md | 35 - javascript-version/app.vue | 16 - javascript-version/app/router.options.js | 13 - javascript-version/components/ErrorHeader.vue | 50 - .../components/VueApexCharts.client.vue | 12 - javascript-version/error.vue | 82 - javascript-version/jsconfig.json | 45 - .../DefaultLayoutWithVerticalNav.vue | 120 - .../layouts/components/NavItems.vue | 278 - .../components/NavbarThemeSwitcher.vue | 16 - .../layouts/components/UserProfile.vue | 129 - javascript-version/layouts/default.vue | 14 - javascript-version/nuxt.config.ts | 124 - javascript-version/package.json | 78 - javascript-version/pages/account-settings.vue | 70 - javascript-version/pages/cards.vue | 27 - javascript-version/pages/dashboard.vue | 153 - javascript-version/pages/form-layouts.vue | 66 - javascript-version/pages/icons.vue | 91 - javascript-version/pages/login.vue | 159 - javascript-version/pages/register.vue | 168 - javascript-version/pages/tables.vue | 53 - .../plugins/iconify/build-icons.js | 218 - javascript-version/plugins/iconify/index.js | 4 - .../plugins/vuetify/defaults.js | 198 - javascript-version/plugins/vuetify/icons.js | 77 - javascript-version/plugins/vuetify/index.js | 26 - javascript-version/plugins/vuetify/theme.js | 164 - .../plugins/webfontloader.client.js | 17 - javascript-version/pnpm-lock.yaml | 11261 -------- .../server/plugins/vuetify.fix.js | 5 - javascript-version/utils/paginationMeta.js | 6 - .../dashboard/AnalyticsCongratulations.vue | 63 - .../views/dashboard/AnalyticsFinanceTab.vue | 264 - .../views/dashboard/AnalyticsOrder.vue | 117 - .../dashboard/AnalyticsOrderStatistics.vue | 208 - .../views/dashboard/AnalyticsProfitReport.vue | 125 - .../views/dashboard/AnalyticsRevenue.vue | 116 - .../views/dashboard/AnalyticsTotalRevenue.vue | 406 - .../views/dashboard/AnalyticsTransactions.vue | 114 - .../AccountSettingsAccount.vue | 373 - .../AccountSettingsNotification.vue | 130 - .../AccountSettingsSecurity.vue | 366 - .../pages/authentication/AuthProvider.vue | 38 - .../pages/cards/card-basic/CardBasic.vue | 477 - .../pages/cards/card-basic/CardNavigation.vue | 98 - .../pages/cards/card-basic/CardSolid.vue | 97 - .../DemoFormLayoutHorizontalForm.vue | 160 - .../DemoFormLayoutHorizontalFormWithIcons.vue | 164 - .../DemoFormLayoutMultipleColumn.vue | 119 - .../DemoFormLayoutVerticalForm.vue | 78 - .../DemoFormLayoutVerticalFormWithIcons.vue | 82 - .../pages/tables/DemoSimpleTableBasics.vue | 86 - .../pages/tables/DemoSimpleTableDensity.vue | 86 - .../tables/DemoSimpleTableFixedHeader.vue | 89 - .../pages/tables/DemoSimpleTableHeight.vue | 86 - .../pages/tables/DemoSimpleTableTheme.vue | 89 - .../layouts => layouts}/blank.vue | 0 .../DefaultLayoutWithVerticalNav.vue | 0 .../layouts => layouts}/components/Footer.vue | 0 .../components/NavItems.vue | 0 .../components/NavbarThemeSwitcher.vue | 0 .../components/UserProfile.vue | 0 .../layouts => layouts}/default.vue | 0 middleware/auth.ts | 23 + middleware/guest.ts | 11 + nginx-webhook-config.conf | 56 + .../nuxt.config.ts => nuxt.config.ts | 0 package-lock.json | 21311 ++++++++++++++++ package.json | 96 +- .../pages => pages}/account-settings.vue | 0 {typescript-version/pages => pages}/cards.vue | 4 + .../pages => pages}/dashboard.vue | 4 + .../pages => pages}/form-layouts.vue | 4 + {typescript-version/pages => pages}/icons.vue | 0 pages/login.vue | 197 + .../pages => pages}/register.vue | 5 +- .../pages => pages}/tables.vue | 4 + .../pages => pages}/typography.vue | 0 .../iconify/build-icons.ts | 0 plugins/iconify/icons.css | 9821 +++++++ .../plugins => plugins}/iconify/index.ts | 0 .../plugins => plugins}/iconify/package.json | 0 .../plugins => plugins}/vuetify/defaults.ts | 0 .../plugins => plugins}/vuetify/icons.ts | 0 .../plugins => plugins}/vuetify/index.ts | 0 .../plugins => plugins}/vuetify/theme.ts | 0 .../webfontloader.client.ts | 0 pnpm-lock.yaml | 11309 +++++++- .../public => public}/favicon.ico | Bin .../public => public}/robots.txt | 0 server/api/auth/login.post.ts | 73 + server/api/auth/register.post.ts | 71 + server/api/auth/verify.get.ts | 34 + .../server => server}/plugins/vuetify.fix.ts | 0 .../server => server}/tsconfig.json | 0 typescript-version/shims.d.ts => shims.d.ts | 0 .../tsconfig.json => tsconfig.json | 0 typescript-version/.editorconfig | 38 - typescript-version/.eslintrc.cjs | 247 - typescript-version/.gitattributes | 207 - typescript-version/.gitignore | 50 - typescript-version/.npmrc | 2 - typescript-version/.nvmrc | 1 - typescript-version/.stylelintrc.json | 46 - .../.vscode/anchor-comments.code-snippets | 23 - typescript-version/.vscode/extensions.json | 15 - typescript-version/.vscode/settings.json | 109 - .../.vscode/vue-ts.code-snippets | 18 - typescript-version/.vscode/vue.code-snippets | 63 - .../.vscode/vuetify.code-snippets | 52 - .../@core/scss/base/_components.scss | 191 - typescript-version/@core/scss/base/_dark.scss | 16 - .../base/_default-layout-w-vertical-nav.scss | 103 - .../@core/scss/base/_default-layout.scss | 16 - .../@core/scss/base/_index.scss | 40 - .../@core/scss/base/_layouts.scss | 63 - typescript-version/@core/scss/base/_misc.scss | 20 - .../@core/scss/base/_mixins.scss | 63 - .../@core/scss/base/_utilities.scss | 184 - .../@core/scss/base/_utils.scss | 90 - .../@core/scss/base/_variables.scss | 198 - .../@core/scss/base/_vertical-nav.scss | 259 - .../scss/base/libs/_perfect-scrollbar.scss | 35 - .../@core/scss/base/libs/vuetify/_index.scss | 1 - .../scss/base/libs/vuetify/_overrides.scss | 257 - .../scss/base/libs/vuetify/_variables.scss | 64 - .../_default-layout-vertical-nav.scss | 45 - .../base/placeholders/_default-layout.scss | 3 - .../@core/scss/base/placeholders/_index.scss | 5 - .../@core/scss/base/placeholders/_misc.scss | 7 - .../@core/scss/base/placeholders/_nav.scss | 33 - .../scss/base/placeholders/_vertical-nav.scss | 80 - .../@core/scss/template/_components.scss | 69 - .../@core/scss/template/_dark.scss | 61 - .../_default-layout-w-vertical-nav.scss | 20 - .../@core/scss/template/_mixins.scss | 6 - .../@core/scss/template/_utilities.scss | 49 - .../@core/scss/template/_utils.scss | 43 - .../@core/scss/template/_variables.scss | 109 - .../@core/scss/template/_vertical-nav.scss | 110 - .../@core/scss/template/index.scss | 18 - .../@core/scss/template/libs/apex-chart.scss | 108 - .../template/libs/vuetify/_variables.scss | 557 - .../libs/vuetify/components/_alert.scss | 70 - .../libs/vuetify/components/_avatar.scss | 27 - .../libs/vuetify/components/_badge.scss | 25 - .../libs/vuetify/components/_button.scss | 278 - .../libs/vuetify/components/_cards.scss | 3 - .../libs/vuetify/components/_checkbox.scss | 63 - .../libs/vuetify/components/_chip.scss | 122 - .../libs/vuetify/components/_dialog.scss | 24 - .../vuetify/components/_expansion-panels.scss | 84 - .../libs/vuetify/components/_field.scss | 316 - .../libs/vuetify/components/_list.scss | 30 - .../libs/vuetify/components/_menu.scss | 33 - .../libs/vuetify/components/_otp-input.scss | 17 - .../libs/vuetify/components/_pagination.scss | 167 - .../libs/vuetify/components/_progress.scss | 13 - .../libs/vuetify/components/_radio.scss | 54 - .../libs/vuetify/components/_rating.scss | 14 - .../libs/vuetify/components/_slider.scss | 26 - .../libs/vuetify/components/_snackbar.scss | 10 - .../libs/vuetify/components/_switch.scss | 68 - .../libs/vuetify/components/_table.scss | 43 - .../libs/vuetify/components/_tabs.scss | 94 - .../libs/vuetify/components/_textarea.scss | 9 - .../libs/vuetify/components/_timeline.scss | 99 - .../libs/vuetify/components/_tooltip.scss | 6 - .../libs/vuetify/components/index.scss | 25 - .../scss/template/libs/vuetify/index.scss | 3 - .../scss/template/libs/vuetify/overrides.scss | 34 - .../@core/scss/template/pages/misc.scss | 14 - .../@core/scss/template/pages/page-auth.scss | 54 - .../_default-layout-vertical-nav.scss | 11 - .../scss/template/placeholders/_index.scss | 4 - .../scss/template/placeholders/_misc.scss | 7 - .../scss/template/placeholders/_nav.scss | 45 - .../template/placeholders/_vertical-nav.scss | 57 - .../@layouts/styles/_classes.scss | 3 - .../@layouts/styles/_default-layout.scss | 35 - .../@layouts/styles/_global.scss | 10 - .../@layouts/styles/_mixins.scss | 30 - .../@layouts/styles/_placeholders.scss | 53 - typescript-version/@layouts/styles/_rtl.scss | 7 - .../@layouts/styles/_variables.scss | 29 - typescript-version/@layouts/styles/index.scss | 3 - typescript-version/README.md | 35 - typescript-version/app.vue | 16 - .../assets/images/avatars/avatar-10.png | Bin 17363 -> 0 bytes .../assets/images/avatars/avatar-11.png | Bin 17032 -> 0 bytes .../assets/images/avatars/avatar-12.png | Bin 18769 -> 0 bytes .../assets/images/avatars/avatar-13.png | Bin 14350 -> 0 bytes .../assets/images/avatars/avatar-14.png | Bin 16373 -> 0 bytes .../assets/images/avatars/avatar-15.png | Bin 17771 -> 0 bytes .../assets/images/avatars/avatar-5.png | Bin 20488 -> 0 bytes .../assets/images/avatars/avatar-6.png | Bin 15198 -> 0 bytes .../assets/images/avatars/avatar-7.png | Bin 15180 -> 0 bytes .../assets/images/avatars/avatar-9.png | Bin 13979 -> 0 bytes .../assets/images/cards/chart-info.png | Bin 522 -> 0 bytes .../assets/images/cards/chart-success.png | Bin 611 -> 0 bytes .../images/cards/credit-card-primary.png | Bin 434 -> 0 bytes .../images/cards/credit-card-success.png | Bin 405 -> 0 bytes .../images/cards/credit-card-warning.png | Bin 398 -> 0 bytes .../assets/images/cards/paypal-error.png | Bin 646 -> 0 bytes .../assets/images/cards/wallet-info.png | Bin 440 -> 0 bytes .../assets/images/cards/wallet-primary.png | Bin 423 -> 0 bytes .../customizer-icons/horizontal-light.svg | 12 - .../images/iconify-svg/checked-checkbox.svg | 4 - .../images/iconify-svg/checked-radio.svg | 4 - .../iconify-svg/indeterminate-checkbox.svg | 4 - .../assets/images/iconify-svg/javascript.svg | 1 - .../assets/images/iconify-svg/typescript.svg | 1 - .../images/iconify-svg/unchecked-checkbox.svg | 3 - .../images/iconify-svg/unchecked-radio.svg | 3 - .../assets/images/icons/flags/australia.png | Bin 2212 -> 0 bytes .../assets/images/icons/flags/belgium.png | Bin 1018 -> 0 bytes .../assets/images/icons/flags/brazil.png | Bin 2836 -> 0 bytes .../assets/images/icons/flags/china.png | Bin 1603 -> 0 bytes .../assets/images/icons/flags/france.png | Bin 762 -> 0 bytes .../assets/images/icons/flags/india.png | Bin 1564 -> 0 bytes .../assets/images/icons/flags/usa.png | Bin 2249 -> 0 bytes .../assets/images/icons/logo/brave.png | Bin 1855 -> 0 bytes .../assets/images/icons/logo/cent.png | Bin 3499 -> 0 bytes .../assets/images/icons/logo/chrome.png | Bin 1834 -> 0 bytes .../assets/images/icons/logo/edge.png | Bin 1034 -> 0 bytes .../assets/images/icons/logo/firefox.png | Bin 2367 -> 0 bytes .../assets/images/icons/logo/linux.png | Bin 1663 -> 0 bytes .../assets/images/icons/logo/mac.png | Bin 1437 -> 0 bytes .../assets/images/icons/logo/opera.png | Bin 829 -> 0 bytes .../assets/images/icons/logo/safari.png | Bin 763 -> 0 bytes .../assets/images/icons/logo/ubuntu.png | Bin 3980 -> 0 bytes .../assets/images/icons/logo/windows.png | Bin 3452 -> 0 bytes .../assets/images/misc/triangle-dark.png | Bin 757 -> 0 bytes .../assets/images/misc/triangle-light.png | Bin 6538 -> 0 bytes .../assets/images/pages/empty-cart.png | Bin 53189 -> 0 bytes .../assets/images/pages/pose-fs-9.png | Bin 29430 -> 0 bytes .../assets/images/pro/upgrade-banner-dark.png | Bin 57394 -> 0 bytes .../images/pro/upgrade-banner-light.png | Bin 52815 -> 0 bytes .../assets/images/svg/checkbox-checked.svg | 4 - .../images/svg/checkbox-indeterminate.svg | 4 - .../assets/images/svg/checkbox-unchecked.svg | 3 - .../assets/images/svg/radio-checked.svg | 3 - .../assets/images/svg/radio-unchecked.svg | 3 - typescript-version/assets/styles/styles.scss | 1 - .../assets/styles/variables/_template.scss | 6 - .../assets/styles/variables/_vuetify.scss | 7 - .../components/UpgradeToPro.vue | 118 - typescript-version/layouts/blank.vue | 14 - .../layouts/components/Footer.vue | 41 - typescript-version/package.json | 84 - typescript-version/pages/login.vue | 159 - typescript-version/pages/typography.vue | 178 - .../plugins/iconify/package.json | 3 - typescript-version/pnpm-lock.yaml | 11487 --------- typescript-version/server/tsconfig.json | 3 - typescript-version/tsconfig.json | 4 - .../utils => utils}/paginationMeta.ts | 0 .../dashboard/AnalyticsCongratulations.vue | 0 .../dashboard/AnalyticsFinanceTab.vue | 0 .../dashboard/AnalyticsOrder.vue | 0 .../dashboard/AnalyticsOrderStatistics.vue | 0 .../dashboard/AnalyticsProfitReport.vue | 0 .../dashboard/AnalyticsRevenue.vue | 0 .../dashboard/AnalyticsTotalRevenue.vue | 0 .../dashboard/AnalyticsTransactions.vue | 0 .../AccountSettingsAccount.vue | 0 .../AccountSettingsNotification.vue | 0 .../AccountSettingsSecurity.vue | 0 .../pages/authentication/AuthProvider.vue | 0 .../pages/cards/card-basic/CardBasic.vue | 0 .../pages/cards/card-basic/CardNavigation.vue | 0 .../pages/cards/card-basic/CardSolid.vue | 0 .../DemoFormLayoutHorizontalForm.vue | 0 .../DemoFormLayoutHorizontalFormWithIcons.vue | 0 .../DemoFormLayoutMultipleColumn.vue | 0 .../DemoFormLayoutVerticalForm.vue | 0 .../DemoFormLayoutVerticalFormWithIcons.vue | 0 .../pages/tables/DemoSimpleTableBasics.vue | 0 .../pages/tables/DemoSimpleTableDensity.vue | 0 .../tables/DemoSimpleTableFixedHeader.vue | 0 .../pages/tables/DemoSimpleTableHeight.vue | 0 .../pages/tables/DemoSimpleTableTheme.vue | 0 webhook-server.js | 2 +- 713 files changed, 98449 insertions(+), 38378 deletions(-) create mode 100644 .env create mode 100644 .nuxt/app.config.mjs create mode 100644 .nuxt/components.d.ts create mode 100644 .nuxt/dev/index.mjs create mode 100644 .nuxt/dist/server/client.manifest.json create mode 100644 .nuxt/dist/server/client.manifest.mjs create mode 100644 .nuxt/dist/server/server.mjs create mode 100644 .nuxt/imports.d.ts create mode 100644 .nuxt/manifest/latest.json create mode 100644 .nuxt/manifest/meta/dev.json create mode 100644 .nuxt/nitro.json create mode 100644 .nuxt/nuxt.d.ts create mode 100644 .nuxt/nuxt.json create mode 100644 .nuxt/schema/nuxt.schema.d.ts create mode 100644 .nuxt/schema/nuxt.schema.json create mode 100644 .nuxt/tsconfig.json create mode 100644 .nuxt/tsconfig.server.json create mode 100644 .nuxt/types/app-defaults.d.ts create mode 100644 .nuxt/types/app.config.d.ts create mode 100644 .nuxt/types/build.d.ts create mode 100644 .nuxt/types/imports.d.ts create mode 100644 .nuxt/types/layouts.d.ts create mode 100644 .nuxt/types/middleware.d.ts create mode 100644 .nuxt/types/nitro-config.d.ts create mode 100644 .nuxt/types/nitro-imports.d.ts create mode 100644 .nuxt/types/nitro-nuxt.d.ts create mode 100644 .nuxt/types/nitro-routes.d.ts create mode 100644 .nuxt/types/nitro.d.ts create mode 100644 .nuxt/types/plugins.d.ts create mode 100644 .nuxt/types/schema.d.ts create mode 100644 .nuxt/types/typed-router.d.ts create mode 100644 .nuxt/types/vue-shim.d.ts create mode 100644 .output/nitro.json rename javascript-version/assets/images/pages/1.png => .output/public/_nuxt/1.M41J_I81.png (100%) rename javascript-version/assets/images/pages/2.png => .output/public/_nuxt/2.-m0KoIht.png (100%) rename javascript-version/assets/images/eCommerce/2.png => .output/public/_nuxt/2.xjy_pXoW.png (100%) rename javascript-version/assets/images/pages/3.png => .output/public/_nuxt/3.BZq9BJpS.png (100%) rename javascript-version/assets/images/pages/404.png => .output/public/_nuxt/404.CFRyiToj.png (100%) rename javascript-version/assets/images/pages/5.jpg => .output/public/_nuxt/5.CFPERer_.jpg (100%) create mode 100644 .output/public/_nuxt/5zhjgqfi.js rename javascript-version/assets/images/pages/6.jpg => .output/public/_nuxt/6.C2cDgitj.jpg (100%) create mode 100644 .output/public/_nuxt/B-WfXDwG.js create mode 100644 .output/public/_nuxt/B1lTaUKS.js create mode 100644 .output/public/_nuxt/BFEYBn8P.js create mode 100644 .output/public/_nuxt/BK2mOCZY.js create mode 100644 .output/public/_nuxt/BMKr9CCw.js create mode 100644 .output/public/_nuxt/BQaMK7Q4.js create mode 100644 .output/public/_nuxt/BVhkMzlw.js create mode 100644 .output/public/_nuxt/Byx8O7ep.js create mode 100644 .output/public/_nuxt/C-wFOR9d.js create mode 100644 .output/public/_nuxt/C0u2Lk3h.js create mode 100644 .output/public/_nuxt/C3eWIkoe.js create mode 100644 .output/public/_nuxt/C9VE9OU6.js create mode 100644 .output/public/_nuxt/CCmxpPjt.js create mode 100644 .output/public/_nuxt/CHrTZ85L.js create mode 100644 .output/public/_nuxt/CIz8R0Jd.js create mode 100644 .output/public/_nuxt/CSv7hpo5.js create mode 100644 .output/public/_nuxt/CVGOOTAD.js create mode 100644 .output/public/_nuxt/CWHzxVR1.js create mode 100644 .output/public/_nuxt/CaO2gbdK.js create mode 100644 .output/public/_nuxt/CewcwZMD.js create mode 100644 .output/public/_nuxt/Cr9s0UKx.js create mode 100644 .output/public/_nuxt/CzJbC_gC.js create mode 100644 .output/public/_nuxt/CzwNFFo0.js rename typescript-version/assets/images/logo.svg => .output/public/_nuxt/D3Ia18PY.js (94%) create mode 100644 .output/public/_nuxt/D7WsOSrJ.js create mode 100644 .output/public/_nuxt/DHdvWMV9.js create mode 100644 .output/public/_nuxt/DIh46KVW.js create mode 100644 .output/public/_nuxt/DSEcO8b-.js create mode 100644 .output/public/_nuxt/DZW8D_6A.js create mode 100644 .output/public/_nuxt/DefaultLayoutWithVerticalNav.8_WXw_dQ.css create mode 100644 .output/public/_nuxt/DesO6ExF.js create mode 100644 .output/public/_nuxt/Dfij7AJr.js create mode 100644 .output/public/_nuxt/DlJCaRaK.js create mode 100644 .output/public/_nuxt/DtFCdNDb.js create mode 100644 .output/public/_nuxt/Dv2BvCMR.js create mode 100644 .output/public/_nuxt/M3HjjlDm.js create mode 100644 .output/public/_nuxt/MNtG3NDc.js create mode 100644 .output/public/_nuxt/NavItems.DhbwqETx.css create mode 100644 .output/public/_nuxt/RFFjrLOl.js create mode 100644 .output/public/_nuxt/UserProfile.Cb99yl0N.css create mode 100644 .output/public/_nuxt/VCheckbox.D106PB0Y.css create mode 100644 .output/public/_nuxt/VChip.BcnQjLrT.css create mode 100644 .output/public/_nuxt/VDivider.CRhg1j9w.css create mode 100644 .output/public/_nuxt/VGrid.B47qK9tN.css create mode 100644 .output/public/_nuxt/VList.CvkXYftj.css create mode 100644 .output/public/_nuxt/VTable.Bd6FXRNG.css create mode 100644 .output/public/_nuxt/VTabs.STZ6tzVD.css create mode 100644 .output/public/_nuxt/VTextField.B8ihOk7u.css create mode 100644 .output/public/_nuxt/VTooltip.CybdpSdB.css create mode 100644 .output/public/_nuxt/ZsWsy49S.js create mode 100644 .output/public/_nuxt/account-settings.BJB4IsWe.css rename javascript-version/assets/images/svg/auth-v1-bottom-shape.svg => .output/public/_nuxt/auth-v1-bottom-shape.crxWNCWd.svg (100%) rename javascript-version/assets/images/svg/auth-v1-top-shape.svg => .output/public/_nuxt/auth-v1-top-shape.eAwqa87i.svg (100%) rename javascript-version/assets/images/avatars/avatar-1.png => .output/public/_nuxt/avatar-1.DL1ARROH.png (100%) rename javascript-version/assets/images/avatars/avatar-2.png => .output/public/_nuxt/avatar-2.D-0hhBDR.png (100%) rename javascript-version/assets/images/avatars/avatar-3.png => .output/public/_nuxt/avatar-3.BowASP-2.png (100%) rename javascript-version/assets/images/avatars/avatar-4.png => .output/public/_nuxt/avatar-4.DTP-WtUz.png (100%) rename javascript-version/assets/images/avatars/avatar-8.png => .output/public/_nuxt/avatar-8.DRlSCgqr.png (100%) create mode 100644 .output/public/_nuxt/blank.CExWZhJD.css create mode 100644 .output/public/_nuxt/builds/latest.json create mode 100644 .output/public/_nuxt/builds/meta/949426af-f050-4b34-ad3b-8d270feb6b94.json create mode 100644 .output/public/_nuxt/cards.KKBB6AMU.css create mode 100644 .output/public/_nuxt/dashboard.DUCv-c6O.css create mode 100644 .output/public/_nuxt/default.OoQ_6ro-.css create mode 100644 .output/public/_nuxt/entry._znlUGac.css rename javascript-version/assets/images/cards/illustration-john-dark.png => .output/public/_nuxt/illustration-john-dark.CXq7qNOq.png (100%) rename javascript-version/assets/images/cards/illustration-john-light.png => .output/public/_nuxt/illustration-john-light.1Av6zeMt.png (100%) create mode 100644 .output/public/_nuxt/kUwpeLub.js create mode 100644 .output/public/_nuxt/login.Dyn8djeC.css create mode 100644 .output/public/_nuxt/register.DPAft05s.css create mode 100644 .output/public/_nuxt/t0SGIztV.js create mode 100644 .output/public/_nuxt/vJlLu25e.js rename {javascript-version => .output}/public/favicon.ico (100%) rename {javascript-version => .output}/public/robots.txt (100%) create mode 100644 .output/server/chunks/_/error-500.mjs create mode 100644 .output/server/chunks/build/AccountSettingsNotification-styles-1.mjs-COfCEDLT.mjs create mode 100644 .output/server/chunks/build/AccountSettingsNotification-styles.GmPspwBO.mjs create mode 100644 .output/server/chunks/build/AccountSettingsNotification-styles.c6ezO7eT.mjs create mode 100644 .output/server/chunks/build/AnalyticsCongratulations-styles-1.mjs-CY43QUpu.mjs create mode 100644 .output/server/chunks/build/AnalyticsCongratulations-styles.7f44haZ6.mjs create mode 100644 .output/server/chunks/build/AnalyticsCongratulations-styles.DqII_Bwb.mjs create mode 100644 .output/server/chunks/build/AnalyticsOrderStatistics-styles-1.mjs-ClmxzPXa.mjs create mode 100644 .output/server/chunks/build/AnalyticsOrderStatistics-styles.CYw_yRNL.mjs create mode 100644 .output/server/chunks/build/AnalyticsOrderStatistics-styles.CnbIVwCv.mjs create mode 100644 .output/server/chunks/build/AnalyticsTotalRevenue-styles-1.mjs-wuWbQzUR.mjs create mode 100644 .output/server/chunks/build/AnalyticsTotalRevenue-styles.BJg6STC_.mjs create mode 100644 .output/server/chunks/build/AnalyticsTotalRevenue-styles.BikINTAl.mjs create mode 100644 .output/server/chunks/build/AnalyticsTransactions-styles-1.mjs-BsPHKSrz.mjs create mode 100644 .output/server/chunks/build/AnalyticsTransactions-styles.CAOv2ENt.mjs create mode 100644 .output/server/chunks/build/AnalyticsTransactions-styles.U8JYrSnn.mjs create mode 100644 .output/server/chunks/build/CardBasic-styles-1.mjs-BB7jL9Bb.mjs create mode 100644 .output/server/chunks/build/CardBasic-styles.C-Pxu70S.mjs create mode 100644 .output/server/chunks/build/CardBasic-styles.Duzdg6PU.mjs create mode 100644 .output/server/chunks/build/DefaultLayoutWithVerticalNav-CwFd3qmL.mjs create mode 100644 .output/server/chunks/build/DefaultLayoutWithVerticalNav-styles-1.mjs-C8Nc23qi.mjs create mode 100644 .output/server/chunks/build/DefaultLayoutWithVerticalNav-styles.BETWH2ct.mjs create mode 100644 .output/server/chunks/build/DefaultLayoutWithVerticalNav-styles.bLKRe82Y.mjs create mode 100644 .output/server/chunks/build/ErrorHeader-styles.CfiV342G.mjs create mode 100644 .output/server/chunks/build/ErrorHeader-styles.RU_hCB2x.mjs create mode 100644 .output/server/chunks/build/Footer-BdPuYOuS.mjs create mode 100644 .output/server/chunks/build/NavItems-BE_iATXh.mjs create mode 100644 .output/server/chunks/build/NavbarThemeSwitcher-B8gKKvoR.mjs create mode 100644 .output/server/chunks/build/UpgradeToPro-styles.CE58FfDk.mjs create mode 100644 .output/server/chunks/build/UpgradeToPro-styles.CcXTmuY4.mjs create mode 100644 .output/server/chunks/build/UserProfile-D3XrMU_d.mjs create mode 100644 .output/server/chunks/build/VCheckbox-BsGzFEMx.mjs create mode 100644 .output/server/chunks/build/VChip-DNdty0q7.mjs create mode 100644 .output/server/chunks/build/VDivider-C0e0b_O5.mjs create mode 100644 .output/server/chunks/build/VList-C7tHrCmP.mjs create mode 100644 .output/server/chunks/build/VListItemAction-DeAgZ_Zv.mjs create mode 100644 .output/server/chunks/build/VRow-MQIguEmB.mjs create mode 100644 .output/server/chunks/build/VSpacer-CWwQJ4s3.mjs create mode 100644 .output/server/chunks/build/VTable-CfOk5VYL.mjs create mode 100644 .output/server/chunks/build/VTabs-BaH4QY_R.mjs create mode 100644 .output/server/chunks/build/VTextField-Bxu4ONGD.mjs create mode 100644 .output/server/chunks/build/VTooltip-D5G-PTk1.mjs create mode 100644 .output/server/chunks/build/VerticalNav-styles-1.mjs-tF4UfE7y.mjs create mode 100644 .output/server/chunks/build/VerticalNav-styles-2.mjs-r5GrVkZi.mjs create mode 100644 .output/server/chunks/build/VerticalNav-styles.2VwlF1LL.mjs create mode 100644 .output/server/chunks/build/VerticalNav-styles.BloOnUHk.mjs create mode 100644 .output/server/chunks/build/VerticalNav-styles.Dopg7Lx3.mjs create mode 100644 .output/server/chunks/build/VerticalNavGroup-styles-1.mjs-CxRumQ9M.mjs create mode 100644 .output/server/chunks/build/VerticalNavGroup-styles.BmAjzMhv.mjs create mode 100644 .output/server/chunks/build/VerticalNavGroup-styles.Dzie0S6_.mjs create mode 100644 .output/server/chunks/build/VerticalNavLayout-styles-1.mjs-CrJUR1Zt.mjs create mode 100644 .output/server/chunks/build/VerticalNavLayout-styles.BB70nmLk.mjs create mode 100644 .output/server/chunks/build/VerticalNavLayout-styles.DIg01pzh.mjs create mode 100644 .output/server/chunks/build/VerticalNavLink-styles-1.mjs-o72Sf6Ja.mjs create mode 100644 .output/server/chunks/build/VerticalNavLink-styles.CPRYTaxa.mjs create mode 100644 .output/server/chunks/build/VerticalNavLink-styles.CupzBSVH.mjs create mode 100644 .output/server/chunks/build/account-settings-BQznxZuU.mjs create mode 100644 .output/server/chunks/build/auth-1-RRzcPb.mjs create mode 100644 .output/server/chunks/build/auth-v1-top-shape-smMuVKoE.mjs create mode 100644 .output/server/chunks/build/avatar-1-BLwzgS8N.mjs create mode 100644 .output/server/chunks/build/blank-Bf4PtoY-.mjs create mode 100644 .output/server/chunks/build/blank-styles-1.mjs-Cvm7AgR3.mjs create mode 100644 .output/server/chunks/build/blank-styles.J2lJ6pRm.mjs create mode 100644 .output/server/chunks/build/blank-styles.ip4oH0FR.mjs create mode 100644 .output/server/chunks/build/cards-_QfDIPNa.mjs create mode 100644 .output/server/chunks/build/client.manifest.mjs create mode 100644 .output/server/chunks/build/dashboard-DIw14Lwt.mjs create mode 100644 .output/server/chunks/build/default-BGiPi0E4.mjs create mode 100644 .output/server/chunks/build/default-styles-1.mjs-DVOYTV7T.mjs create mode 100644 .output/server/chunks/build/default-styles.Cyug3X5Q.mjs create mode 100644 .output/server/chunks/build/default-styles.DKpzDQLQ.mjs create mode 100644 .output/server/chunks/build/entry-styles-6.mjs-56WdIDRV.mjs create mode 100644 .output/server/chunks/build/entry-styles-7.mjs-BxAtUIoB.mjs create mode 100644 .output/server/chunks/build/entry-styles-8.mjs-BakX-vIf.mjs create mode 100644 .output/server/chunks/build/entry-styles.DhO-80qM.mjs create mode 100644 .output/server/chunks/build/error-styles.CN_77ni1.mjs create mode 100644 .output/server/chunks/build/error-styles.D1w1kL2I.mjs create mode 100644 .output/server/chunks/build/form-layouts-CTRCMT6u.mjs create mode 100644 .output/server/chunks/build/guest-BVuhP81c.mjs create mode 100644 .output/server/chunks/build/icons-4rFVWfzn.mjs create mode 100644 .output/server/chunks/build/index-BNHdF426.mjs create mode 100644 .output/server/chunks/build/index-BkwMfZcG.mjs create mode 100644 .output/server/chunks/build/login-BwTR74Z-.mjs create mode 100644 .output/server/chunks/build/login-styles-1.mjs-B3mVmIEa.mjs create mode 100644 .output/server/chunks/build/login-styles.DFtZeGCf.mjs create mode 100644 .output/server/chunks/build/login-styles.rz0t5XLu.mjs create mode 100644 .output/server/chunks/build/logo-C2NYPRdy.mjs create mode 100644 .output/server/chunks/build/nuxt-link-DwrCF35s.mjs create mode 100644 .output/server/chunks/build/register-Dm3ZIgcF.mjs create mode 100644 .output/server/chunks/build/register-styles-1.mjs-RsEWMcwk.mjs create mode 100644 .output/server/chunks/build/register-styles.CcLsaXFP.mjs create mode 100644 .output/server/chunks/build/register-styles.CumeBmK_.mjs create mode 100644 .output/server/chunks/build/server.mjs create mode 100644 .output/server/chunks/build/ssrBoot-BtvJZs44.mjs create mode 100644 .output/server/chunks/build/styles.mjs create mode 100644 .output/server/chunks/build/tables-Qmz6ULZO.mjs create mode 100644 .output/server/chunks/build/typography-C-9CLLLs.mjs create mode 100644 .output/server/chunks/nitro/nitro.mjs create mode 100644 .output/server/chunks/routes/api/auth/login.post.mjs create mode 100644 .output/server/chunks/routes/api/auth/register.post.mjs create mode 100644 .output/server/chunks/routes/api/auth/verify.get.mjs create mode 100644 .output/server/chunks/routes/renderer.mjs create mode 100644 .output/server/chunks/virtual/_virtual_spa-template.mjs create mode 100644 .output/server/index.mjs create mode 100644 .output/server/package.json create mode 100644 .vscode/settings.json rename {typescript-version/@core => @core}/components/MoreBtn.vue (100%) rename {typescript-version/@core => @core}/components/ThemeSwitcher.vue (100%) rename {typescript-version/@core => @core}/components/cards/CardStatisticsHorizontal.vue (100%) rename {typescript-version/@core => @core}/components/cards/CardStatisticsVertical.vue (100%) rename {typescript-version/@core => @core}/components/cards/CardStatisticsWithImages.vue (100%) rename {javascript-version/@core => @core}/scss/base/_components.scss (100%) rename {javascript-version/@core => @core}/scss/base/_dark.scss (100%) rename {javascript-version/@core => @core}/scss/base/_default-layout-w-vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/base/_default-layout.scss (100%) rename {javascript-version/@core => @core}/scss/base/_index.scss (100%) rename {javascript-version/@core => @core}/scss/base/_layouts.scss (100%) rename {javascript-version/@core => @core}/scss/base/_misc.scss (100%) rename {javascript-version/@core => @core}/scss/base/_mixins.scss (100%) rename {javascript-version/@core => @core}/scss/base/_utilities.scss (100%) rename {javascript-version/@core => @core}/scss/base/_utils.scss (100%) rename {javascript-version/@core => @core}/scss/base/_variables.scss (100%) rename {javascript-version/@core => @core}/scss/base/_vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/base/libs/_perfect-scrollbar.scss (100%) rename {javascript-version/@core => @core}/scss/base/libs/vuetify/_index.scss (100%) rename {javascript-version/@core => @core}/scss/base/libs/vuetify/_overrides.scss (100%) rename {javascript-version/@core => @core}/scss/base/libs/vuetify/_variables.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_default-layout-vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_default-layout.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_index.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_misc.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_nav.scss (100%) rename {javascript-version/@core => @core}/scss/base/placeholders/_vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/template/_components.scss (100%) rename {javascript-version/@core => @core}/scss/template/_dark.scss (100%) rename {javascript-version/@core => @core}/scss/template/_default-layout-w-vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/template/_mixins.scss (100%) rename {javascript-version/@core => @core}/scss/template/_utilities.scss (100%) rename {javascript-version/@core => @core}/scss/template/_utils.scss (100%) rename {javascript-version/@core => @core}/scss/template/_variables.scss (100%) rename {javascript-version/@core => @core}/scss/template/_vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/template/index.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/apex-chart.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/_variables.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_alert.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_avatar.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_badge.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_button.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_cards.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_checkbox.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_chip.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_dialog.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_expansion-panels.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_field.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_list.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_menu.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_otp-input.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_pagination.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_progress.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_radio.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_rating.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_slider.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_snackbar.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_switch.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_table.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_tabs.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_textarea.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_timeline.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/_tooltip.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/components/index.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/index.scss (100%) rename {javascript-version/@core => @core}/scss/template/libs/vuetify/overrides.scss (100%) rename {javascript-version/@core => @core}/scss/template/pages/misc.scss (100%) rename {javascript-version/@core => @core}/scss/template/pages/page-auth.scss (100%) rename {javascript-version/@core => @core}/scss/template/placeholders/_default-layout-vertical-nav.scss (100%) rename {javascript-version/@core => @core}/scss/template/placeholders/_index.scss (100%) rename {javascript-version/@core => @core}/scss/template/placeholders/_misc.scss (100%) rename {javascript-version/@core => @core}/scss/template/placeholders/_nav.scss (100%) rename {javascript-version/@core => @core}/scss/template/placeholders/_vertical-nav.scss (100%) rename {typescript-version/@core => @core}/utils/colorConverter.ts (100%) rename {typescript-version/@core => @core}/utils/formatters.ts (100%) rename {typescript-version/@core => @core}/utils/helpers.ts (100%) rename {typescript-version/@core => @core}/utils/plugins.ts (100%) rename {typescript-version/@layouts => @layouts}/components/TransitionExpand.vue (100%) rename {typescript-version/@layouts => @layouts}/components/VerticalNav.vue (100%) rename {typescript-version/@layouts => @layouts}/components/VerticalNavGroup.vue (100%) rename {typescript-version/@layouts => @layouts}/components/VerticalNavLayout.vue (100%) rename {typescript-version/@layouts => @layouts}/components/VerticalNavLink.vue (100%) rename {typescript-version/@layouts => @layouts}/components/VerticalNavSectionTitle.vue (100%) rename {javascript-version/@layouts => @layouts}/styles/_classes.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_default-layout.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_global.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_mixins.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_placeholders.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_rtl.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/_variables.scss (100%) rename {javascript-version/@layouts => @layouts}/styles/index.scss (100%) rename {typescript-version/@layouts => @layouts}/types.ts (100%) rename {typescript-version/@layouts => @layouts}/utils.ts (100%) create mode 100644 app.vue rename {typescript-version/app => app}/router.options.ts (89%) rename {typescript-version/assets => assets}/images/avatars/avatar-1.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-10.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-11.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-12.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-13.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-14.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-15.png (100%) rename {typescript-version/assets => assets}/images/avatars/avatar-2.png (100%) rename {typescript-version/assets => assets}/images/avatars/avatar-3.png (100%) rename {typescript-version/assets => assets}/images/avatars/avatar-4.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-5.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-6.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-7.png (100%) rename {typescript-version/assets => assets}/images/avatars/avatar-8.png (100%) rename {javascript-version/assets => assets}/images/avatars/avatar-9.png (100%) rename {javascript-version/assets => assets}/images/cards/chart-info.png (100%) rename {javascript-version/assets => assets}/images/cards/chart-success.png (100%) rename {javascript-version/assets => assets}/images/cards/credit-card-primary.png (100%) rename {javascript-version/assets => assets}/images/cards/credit-card-success.png (100%) rename {javascript-version/assets => assets}/images/cards/credit-card-warning.png (100%) rename {typescript-version/assets => assets}/images/cards/illustration-john-dark.png (100%) rename {typescript-version/assets => assets}/images/cards/illustration-john-light.png (100%) rename {javascript-version/assets => assets}/images/cards/paypal-error.png (100%) rename {javascript-version/assets => assets}/images/cards/wallet-info.png (100%) rename {javascript-version/assets => assets}/images/cards/wallet-primary.png (100%) rename {javascript-version/assets => assets}/images/customizer-icons/horizontal-light.svg (100%) rename {typescript-version/assets => assets}/images/eCommerce/2.png (100%) rename {javascript-version/assets => assets}/images/iconify-svg/checked-checkbox.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/checked-radio.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/indeterminate-checkbox.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/javascript.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/typescript.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/unchecked-checkbox.svg (100%) rename {javascript-version/assets => assets}/images/iconify-svg/unchecked-radio.svg (100%) rename {javascript-version/assets => assets}/images/icons/flags/australia.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/belgium.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/brazil.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/china.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/france.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/india.png (100%) rename {javascript-version/assets => assets}/images/icons/flags/usa.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/brave.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/cent.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/chrome.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/edge.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/firefox.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/linux.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/mac.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/opera.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/safari.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/ubuntu.png (100%) rename {javascript-version/assets => assets}/images/icons/logo/windows.png (100%) rename {javascript-version/assets => assets}/images/logo.svg (100%) rename {javascript-version/assets => assets}/images/misc/triangle-dark.png (100%) rename {javascript-version/assets => assets}/images/misc/triangle-light.png (100%) rename {typescript-version/assets => assets}/images/pages/1.png (100%) rename {typescript-version/assets => assets}/images/pages/2.png (100%) rename {typescript-version/assets => assets}/images/pages/3.png (100%) rename {typescript-version/assets => assets}/images/pages/404.png (100%) rename {typescript-version/assets => assets}/images/pages/5.jpg (100%) rename {typescript-version/assets => assets}/images/pages/6.jpg (100%) rename {javascript-version/assets => assets}/images/pages/empty-cart.png (100%) rename {javascript-version/assets => assets}/images/pages/pose-fs-9.png (100%) rename {javascript-version/assets => assets}/images/pro/upgrade-banner-dark.png (100%) rename {javascript-version/assets => assets}/images/pro/upgrade-banner-light.png (100%) rename {typescript-version/assets => assets}/images/svg/auth-v1-bottom-shape.svg (100%) rename {typescript-version/assets => assets}/images/svg/auth-v1-top-shape.svg (100%) rename {javascript-version/assets => assets}/images/svg/checkbox-checked.svg (100%) rename {javascript-version/assets => assets}/images/svg/checkbox-indeterminate.svg (100%) rename {javascript-version/assets => assets}/images/svg/checkbox-unchecked.svg (100%) rename {javascript-version/assets => assets}/images/svg/radio-checked.svg (100%) rename {javascript-version/assets => assets}/images/svg/radio-unchecked.svg (100%) rename {javascript-version/assets => assets}/styles/styles.scss (100%) rename {javascript-version/assets => assets}/styles/variables/_template.scss (100%) rename {javascript-version/assets => assets}/styles/variables/_vuetify.scss (100%) rename {typescript-version/components => components}/ErrorHeader.vue (100%) rename {javascript-version/components => components}/UpgradeToPro.vue (100%) rename {typescript-version/components => components}/VueApexCharts.client.vue (100%) rename typescript-version/env.d.ts => env.d.ts (100%) rename typescript-version/error.vue => error.vue (100%) delete mode 100644 javascript-version/.editorconfig delete mode 100644 javascript-version/.eslintrc-auto-import.json delete mode 100644 javascript-version/.eslintrc.cjs delete mode 100644 javascript-version/.gitattributes delete mode 100644 javascript-version/.gitignore delete mode 100644 javascript-version/.npmrc delete mode 100644 javascript-version/.nvmrc delete mode 100644 javascript-version/.stylelintrc.json delete mode 100644 javascript-version/.vscode/anchor-comments.code-snippets delete mode 100644 javascript-version/.vscode/extensions.json delete mode 100644 javascript-version/.vscode/settings.json delete mode 100644 javascript-version/.vscode/vue-ts.code-snippets delete mode 100644 javascript-version/.vscode/vue.code-snippets delete mode 100644 javascript-version/.vscode/vuetify.code-snippets delete mode 100644 javascript-version/@core/components/MoreBtn.vue delete mode 100644 javascript-version/@core/components/ThemeSwitcher.vue delete mode 100644 javascript-version/@core/components/cards/CardStatisticsHorizontal.vue delete mode 100644 javascript-version/@core/components/cards/CardStatisticsVertical.vue delete mode 100644 javascript-version/@core/components/cards/CardStatisticsWithImages.vue delete mode 100644 javascript-version/@core/utils/colorConverter.js delete mode 100644 javascript-version/@core/utils/formatters.js delete mode 100644 javascript-version/@core/utils/helpers.js delete mode 100644 javascript-version/@core/utils/plugins.js delete mode 100644 javascript-version/@layouts/components/TransitionExpand.vue delete mode 100644 javascript-version/@layouts/components/VerticalNav.vue delete mode 100644 javascript-version/@layouts/components/VerticalNavGroup.vue delete mode 100644 javascript-version/@layouts/components/VerticalNavLayout.vue delete mode 100644 javascript-version/@layouts/components/VerticalNavLink.vue delete mode 100644 javascript-version/@layouts/components/VerticalNavSectionTitle.vue delete mode 100644 javascript-version/@layouts/types.js delete mode 100644 javascript-version/@layouts/utils.js delete mode 100644 javascript-version/README.md delete mode 100644 javascript-version/app.vue delete mode 100644 javascript-version/app/router.options.js delete mode 100644 javascript-version/components/ErrorHeader.vue delete mode 100644 javascript-version/components/VueApexCharts.client.vue delete mode 100644 javascript-version/error.vue delete mode 100644 javascript-version/jsconfig.json delete mode 100644 javascript-version/layouts/components/DefaultLayoutWithVerticalNav.vue delete mode 100644 javascript-version/layouts/components/NavItems.vue delete mode 100644 javascript-version/layouts/components/NavbarThemeSwitcher.vue delete mode 100644 javascript-version/layouts/components/UserProfile.vue delete mode 100644 javascript-version/layouts/default.vue delete mode 100644 javascript-version/nuxt.config.ts delete mode 100644 javascript-version/package.json delete mode 100644 javascript-version/pages/account-settings.vue delete mode 100644 javascript-version/pages/cards.vue delete mode 100644 javascript-version/pages/dashboard.vue delete mode 100644 javascript-version/pages/form-layouts.vue delete mode 100644 javascript-version/pages/icons.vue delete mode 100644 javascript-version/pages/login.vue delete mode 100644 javascript-version/pages/register.vue delete mode 100644 javascript-version/pages/tables.vue delete mode 100644 javascript-version/plugins/iconify/build-icons.js delete mode 100644 javascript-version/plugins/iconify/index.js delete mode 100644 javascript-version/plugins/vuetify/defaults.js delete mode 100644 javascript-version/plugins/vuetify/icons.js delete mode 100644 javascript-version/plugins/vuetify/index.js delete mode 100644 javascript-version/plugins/vuetify/theme.js delete mode 100644 javascript-version/plugins/webfontloader.client.js delete mode 100644 javascript-version/pnpm-lock.yaml delete mode 100644 javascript-version/server/plugins/vuetify.fix.js delete mode 100644 javascript-version/utils/paginationMeta.js delete mode 100644 javascript-version/views/dashboard/AnalyticsCongratulations.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsFinanceTab.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsOrder.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsOrderStatistics.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsProfitReport.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsRevenue.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsTotalRevenue.vue delete mode 100644 javascript-version/views/dashboard/AnalyticsTransactions.vue delete mode 100644 javascript-version/views/pages/account-settings/AccountSettingsAccount.vue delete mode 100644 javascript-version/views/pages/account-settings/AccountSettingsNotification.vue delete mode 100644 javascript-version/views/pages/account-settings/AccountSettingsSecurity.vue delete mode 100644 javascript-version/views/pages/authentication/AuthProvider.vue delete mode 100644 javascript-version/views/pages/cards/card-basic/CardBasic.vue delete mode 100644 javascript-version/views/pages/cards/card-basic/CardNavigation.vue delete mode 100644 javascript-version/views/pages/cards/card-basic/CardSolid.vue delete mode 100644 javascript-version/views/pages/form-layouts/DemoFormLayoutHorizontalForm.vue delete mode 100644 javascript-version/views/pages/form-layouts/DemoFormLayoutHorizontalFormWithIcons.vue delete mode 100644 javascript-version/views/pages/form-layouts/DemoFormLayoutMultipleColumn.vue delete mode 100644 javascript-version/views/pages/form-layouts/DemoFormLayoutVerticalForm.vue delete mode 100644 javascript-version/views/pages/form-layouts/DemoFormLayoutVerticalFormWithIcons.vue delete mode 100644 javascript-version/views/pages/tables/DemoSimpleTableBasics.vue delete mode 100644 javascript-version/views/pages/tables/DemoSimpleTableDensity.vue delete mode 100644 javascript-version/views/pages/tables/DemoSimpleTableFixedHeader.vue delete mode 100644 javascript-version/views/pages/tables/DemoSimpleTableHeight.vue delete mode 100644 javascript-version/views/pages/tables/DemoSimpleTableTheme.vue rename {javascript-version/layouts => layouts}/blank.vue (100%) rename {typescript-version/layouts => layouts}/components/DefaultLayoutWithVerticalNav.vue (100%) rename {javascript-version/layouts => layouts}/components/Footer.vue (100%) rename {typescript-version/layouts => layouts}/components/NavItems.vue (100%) rename {typescript-version/layouts => layouts}/components/NavbarThemeSwitcher.vue (100%) rename {typescript-version/layouts => layouts}/components/UserProfile.vue (100%) rename {typescript-version/layouts => layouts}/default.vue (100%) create mode 100644 middleware/auth.ts create mode 100644 middleware/guest.ts create mode 100644 nginx-webhook-config.conf rename typescript-version/nuxt.config.ts => nuxt.config.ts (100%) create mode 100644 package-lock.json rename {typescript-version/pages => pages}/account-settings.vue (100%) rename {typescript-version/pages => pages}/cards.vue (92%) rename {typescript-version/pages => pages}/dashboard.vue (98%) rename {typescript-version/pages => pages}/form-layouts.vue (97%) rename {typescript-version/pages => pages}/icons.vue (100%) create mode 100644 pages/login.vue rename {typescript-version/pages => pages}/register.vue (98%) rename {typescript-version/pages => pages}/tables.vue (97%) rename {javascript-version/pages => pages}/typography.vue (100%) rename {typescript-version/plugins => plugins}/iconify/build-icons.ts (100%) create mode 100644 plugins/iconify/icons.css rename {typescript-version/plugins => plugins}/iconify/index.ts (100%) rename {javascript-version/plugins => plugins}/iconify/package.json (100%) rename {typescript-version/plugins => plugins}/vuetify/defaults.ts (100%) rename {typescript-version/plugins => plugins}/vuetify/icons.ts (100%) rename {typescript-version/plugins => plugins}/vuetify/index.ts (100%) rename {typescript-version/plugins => plugins}/vuetify/theme.ts (100%) rename {typescript-version/plugins => plugins}/webfontloader.client.ts (100%) rename {typescript-version/public => public}/favicon.ico (100%) rename {typescript-version/public => public}/robots.txt (100%) create mode 100644 server/api/auth/login.post.ts create mode 100644 server/api/auth/register.post.ts create mode 100644 server/api/auth/verify.get.ts rename {typescript-version/server => server}/plugins/vuetify.fix.ts (100%) rename {javascript-version/server => server}/tsconfig.json (100%) rename typescript-version/shims.d.ts => shims.d.ts (100%) rename javascript-version/tsconfig.json => tsconfig.json (100%) delete mode 100644 typescript-version/.editorconfig delete mode 100644 typescript-version/.eslintrc.cjs delete mode 100644 typescript-version/.gitattributes delete mode 100644 typescript-version/.gitignore delete mode 100644 typescript-version/.npmrc delete mode 100644 typescript-version/.nvmrc delete mode 100644 typescript-version/.stylelintrc.json delete mode 100644 typescript-version/.vscode/anchor-comments.code-snippets delete mode 100644 typescript-version/.vscode/extensions.json delete mode 100644 typescript-version/.vscode/settings.json delete mode 100644 typescript-version/.vscode/vue-ts.code-snippets delete mode 100644 typescript-version/.vscode/vue.code-snippets delete mode 100644 typescript-version/.vscode/vuetify.code-snippets delete mode 100644 typescript-version/@core/scss/base/_components.scss delete mode 100644 typescript-version/@core/scss/base/_dark.scss delete mode 100644 typescript-version/@core/scss/base/_default-layout-w-vertical-nav.scss delete mode 100644 typescript-version/@core/scss/base/_default-layout.scss delete mode 100644 typescript-version/@core/scss/base/_index.scss delete mode 100644 typescript-version/@core/scss/base/_layouts.scss delete mode 100644 typescript-version/@core/scss/base/_misc.scss delete mode 100644 typescript-version/@core/scss/base/_mixins.scss delete mode 100644 typescript-version/@core/scss/base/_utilities.scss delete mode 100644 typescript-version/@core/scss/base/_utils.scss delete mode 100644 typescript-version/@core/scss/base/_variables.scss delete mode 100644 typescript-version/@core/scss/base/_vertical-nav.scss delete mode 100644 typescript-version/@core/scss/base/libs/_perfect-scrollbar.scss delete mode 100644 typescript-version/@core/scss/base/libs/vuetify/_index.scss delete mode 100644 typescript-version/@core/scss/base/libs/vuetify/_overrides.scss delete mode 100644 typescript-version/@core/scss/base/libs/vuetify/_variables.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_default-layout-vertical-nav.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_default-layout.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_index.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_misc.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_nav.scss delete mode 100644 typescript-version/@core/scss/base/placeholders/_vertical-nav.scss delete mode 100644 typescript-version/@core/scss/template/_components.scss delete mode 100644 typescript-version/@core/scss/template/_dark.scss delete mode 100644 typescript-version/@core/scss/template/_default-layout-w-vertical-nav.scss delete mode 100644 typescript-version/@core/scss/template/_mixins.scss delete mode 100644 typescript-version/@core/scss/template/_utilities.scss delete mode 100644 typescript-version/@core/scss/template/_utils.scss delete mode 100644 typescript-version/@core/scss/template/_variables.scss delete mode 100644 typescript-version/@core/scss/template/_vertical-nav.scss delete mode 100644 typescript-version/@core/scss/template/index.scss delete mode 100644 typescript-version/@core/scss/template/libs/apex-chart.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/_variables.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_alert.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_avatar.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_badge.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_button.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_cards.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_checkbox.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_chip.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_dialog.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_expansion-panels.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_field.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_list.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_menu.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_otp-input.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_pagination.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_progress.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_radio.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_rating.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_slider.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_snackbar.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_switch.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_table.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_tabs.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_textarea.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_timeline.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/_tooltip.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/components/index.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/index.scss delete mode 100644 typescript-version/@core/scss/template/libs/vuetify/overrides.scss delete mode 100644 typescript-version/@core/scss/template/pages/misc.scss delete mode 100644 typescript-version/@core/scss/template/pages/page-auth.scss delete mode 100644 typescript-version/@core/scss/template/placeholders/_default-layout-vertical-nav.scss delete mode 100644 typescript-version/@core/scss/template/placeholders/_index.scss delete mode 100644 typescript-version/@core/scss/template/placeholders/_misc.scss delete mode 100644 typescript-version/@core/scss/template/placeholders/_nav.scss delete mode 100644 typescript-version/@core/scss/template/placeholders/_vertical-nav.scss delete mode 100644 typescript-version/@layouts/styles/_classes.scss delete mode 100644 typescript-version/@layouts/styles/_default-layout.scss delete mode 100644 typescript-version/@layouts/styles/_global.scss delete mode 100644 typescript-version/@layouts/styles/_mixins.scss delete mode 100644 typescript-version/@layouts/styles/_placeholders.scss delete mode 100644 typescript-version/@layouts/styles/_rtl.scss delete mode 100644 typescript-version/@layouts/styles/_variables.scss delete mode 100644 typescript-version/@layouts/styles/index.scss delete mode 100644 typescript-version/README.md delete mode 100644 typescript-version/app.vue delete mode 100644 typescript-version/assets/images/avatars/avatar-10.png delete mode 100644 typescript-version/assets/images/avatars/avatar-11.png delete mode 100644 typescript-version/assets/images/avatars/avatar-12.png delete mode 100644 typescript-version/assets/images/avatars/avatar-13.png delete mode 100644 typescript-version/assets/images/avatars/avatar-14.png delete mode 100644 typescript-version/assets/images/avatars/avatar-15.png delete mode 100644 typescript-version/assets/images/avatars/avatar-5.png delete mode 100644 typescript-version/assets/images/avatars/avatar-6.png delete mode 100644 typescript-version/assets/images/avatars/avatar-7.png delete mode 100644 typescript-version/assets/images/avatars/avatar-9.png delete mode 100644 typescript-version/assets/images/cards/chart-info.png delete mode 100644 typescript-version/assets/images/cards/chart-success.png delete mode 100644 typescript-version/assets/images/cards/credit-card-primary.png delete mode 100644 typescript-version/assets/images/cards/credit-card-success.png delete mode 100644 typescript-version/assets/images/cards/credit-card-warning.png delete mode 100644 typescript-version/assets/images/cards/paypal-error.png delete mode 100644 typescript-version/assets/images/cards/wallet-info.png delete mode 100644 typescript-version/assets/images/cards/wallet-primary.png delete mode 100644 typescript-version/assets/images/customizer-icons/horizontal-light.svg delete mode 100644 typescript-version/assets/images/iconify-svg/checked-checkbox.svg delete mode 100644 typescript-version/assets/images/iconify-svg/checked-radio.svg delete mode 100644 typescript-version/assets/images/iconify-svg/indeterminate-checkbox.svg delete mode 100644 typescript-version/assets/images/iconify-svg/javascript.svg delete mode 100644 typescript-version/assets/images/iconify-svg/typescript.svg delete mode 100644 typescript-version/assets/images/iconify-svg/unchecked-checkbox.svg delete mode 100644 typescript-version/assets/images/iconify-svg/unchecked-radio.svg delete mode 100644 typescript-version/assets/images/icons/flags/australia.png delete mode 100644 typescript-version/assets/images/icons/flags/belgium.png delete mode 100644 typescript-version/assets/images/icons/flags/brazil.png delete mode 100644 typescript-version/assets/images/icons/flags/china.png delete mode 100644 typescript-version/assets/images/icons/flags/france.png delete mode 100644 typescript-version/assets/images/icons/flags/india.png delete mode 100644 typescript-version/assets/images/icons/flags/usa.png delete mode 100644 typescript-version/assets/images/icons/logo/brave.png delete mode 100644 typescript-version/assets/images/icons/logo/cent.png delete mode 100644 typescript-version/assets/images/icons/logo/chrome.png delete mode 100644 typescript-version/assets/images/icons/logo/edge.png delete mode 100644 typescript-version/assets/images/icons/logo/firefox.png delete mode 100644 typescript-version/assets/images/icons/logo/linux.png delete mode 100644 typescript-version/assets/images/icons/logo/mac.png delete mode 100644 typescript-version/assets/images/icons/logo/opera.png delete mode 100644 typescript-version/assets/images/icons/logo/safari.png delete mode 100644 typescript-version/assets/images/icons/logo/ubuntu.png delete mode 100644 typescript-version/assets/images/icons/logo/windows.png delete mode 100644 typescript-version/assets/images/misc/triangle-dark.png delete mode 100644 typescript-version/assets/images/misc/triangle-light.png delete mode 100644 typescript-version/assets/images/pages/empty-cart.png delete mode 100644 typescript-version/assets/images/pages/pose-fs-9.png delete mode 100644 typescript-version/assets/images/pro/upgrade-banner-dark.png delete mode 100644 typescript-version/assets/images/pro/upgrade-banner-light.png delete mode 100644 typescript-version/assets/images/svg/checkbox-checked.svg delete mode 100644 typescript-version/assets/images/svg/checkbox-indeterminate.svg delete mode 100644 typescript-version/assets/images/svg/checkbox-unchecked.svg delete mode 100644 typescript-version/assets/images/svg/radio-checked.svg delete mode 100644 typescript-version/assets/images/svg/radio-unchecked.svg delete mode 100644 typescript-version/assets/styles/styles.scss delete mode 100644 typescript-version/assets/styles/variables/_template.scss delete mode 100644 typescript-version/assets/styles/variables/_vuetify.scss delete mode 100644 typescript-version/components/UpgradeToPro.vue delete mode 100644 typescript-version/layouts/blank.vue delete mode 100644 typescript-version/layouts/components/Footer.vue delete mode 100644 typescript-version/package.json delete mode 100644 typescript-version/pages/login.vue delete mode 100644 typescript-version/pages/typography.vue delete mode 100644 typescript-version/plugins/iconify/package.json delete mode 100644 typescript-version/pnpm-lock.yaml delete mode 100644 typescript-version/server/tsconfig.json delete mode 100644 typescript-version/tsconfig.json rename {typescript-version/utils => utils}/paginationMeta.ts (100%) rename {typescript-version/views => views}/dashboard/AnalyticsCongratulations.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsFinanceTab.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsOrder.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsOrderStatistics.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsProfitReport.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsRevenue.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsTotalRevenue.vue (100%) rename {typescript-version/views => views}/dashboard/AnalyticsTransactions.vue (100%) rename {typescript-version/views => views}/pages/account-settings/AccountSettingsAccount.vue (100%) rename {typescript-version/views => views}/pages/account-settings/AccountSettingsNotification.vue (100%) rename {typescript-version/views => views}/pages/account-settings/AccountSettingsSecurity.vue (100%) rename {typescript-version/views => views}/pages/authentication/AuthProvider.vue (100%) rename {typescript-version/views => views}/pages/cards/card-basic/CardBasic.vue (100%) rename {typescript-version/views => views}/pages/cards/card-basic/CardNavigation.vue (100%) rename {typescript-version/views => views}/pages/cards/card-basic/CardSolid.vue (100%) rename {typescript-version/views => views}/pages/form-layouts/DemoFormLayoutHorizontalForm.vue (100%) rename {typescript-version/views => views}/pages/form-layouts/DemoFormLayoutHorizontalFormWithIcons.vue (100%) rename {typescript-version/views => views}/pages/form-layouts/DemoFormLayoutMultipleColumn.vue (100%) rename {typescript-version/views => views}/pages/form-layouts/DemoFormLayoutVerticalForm.vue (100%) rename {typescript-version/views => views}/pages/form-layouts/DemoFormLayoutVerticalFormWithIcons.vue (100%) rename {typescript-version/views => views}/pages/tables/DemoSimpleTableBasics.vue (100%) rename {typescript-version/views => views}/pages/tables/DemoSimpleTableDensity.vue (100%) rename {typescript-version/views => views}/pages/tables/DemoSimpleTableFixedHeader.vue (100%) rename {typescript-version/views => views}/pages/tables/DemoSimpleTableHeight.vue (100%) rename {typescript-version/views => views}/pages/tables/DemoSimpleTableTheme.vue (100%) diff --git a/.env b/.env new file mode 100644 index 0000000..ca4ceaf --- /dev/null +++ b/.env @@ -0,0 +1 @@ +DATABASE_URL="postgresql://musicuser:Tjqjqhdks$321@localhost:5432/musicdb" diff --git a/.nuxt/app.config.mjs b/.nuxt/app.config.mjs new file mode 100644 index 0000000..e206fb9 --- /dev/null +++ b/.nuxt/app.config.mjs @@ -0,0 +1,18 @@ + +import { updateAppConfig } from '#app/config' +import { defuFn } from 'defu' + +const inlineConfig = { + "nuxt": {} +} + +// Vite - webpack is handled directly in #app/config +if (import.meta.hot) { + import.meta.hot.accept((newModule) => { + updateAppConfig(newModule.default) + }) +} + + + +export default /*@__PURE__*/ defuFn(inlineConfig) diff --git a/.nuxt/components.d.ts b/.nuxt/components.d.ts new file mode 100644 index 0000000..b43c207 --- /dev/null +++ b/.nuxt/components.d.ts @@ -0,0 +1,140 @@ + +import type { DefineComponent, SlotsType } from 'vue' +type IslandComponent = T & DefineComponent<{}, {refresh: () => Promise}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> +interface _GlobalComponents { + 'MoreBtn': typeof import("../@core/components/MoreBtn.vue")['default'] + 'ThemeSwitcher': typeof import("../@core/components/ThemeSwitcher.vue")['default'] + 'CardStatisticsHorizontal': typeof import("../@core/components/cards/CardStatisticsHorizontal.vue")['default'] + 'CardStatisticsVertical': typeof import("../@core/components/cards/CardStatisticsVertical.vue")['default'] + 'CardStatisticsWithImages': typeof import("../@core/components/cards/CardStatisticsWithImages.vue")['default'] + 'ErrorHeader': typeof import("../components/ErrorHeader.vue")['default'] + 'UpgradeToPro': typeof import("../components/UpgradeToPro.vue")['default'] + 'VueApexCharts': typeof import("../components/VueApexCharts.client.vue")['default'] + 'NuxtWelcome': typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default'] + 'NuxtLayout': typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default'] + 'NuxtErrorBoundary': typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] + 'ClientOnly': typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] + 'DevOnly': typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] + 'ServerPlaceholder': typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] + 'NuxtLink': typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] + 'NuxtLoadingIndicator': typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] + 'NuxtRouteAnnouncer': typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default'] + 'NuxtImg': typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg'] + 'NuxtPicture': typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture'] + 'NuxtPage': typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] + 'NoScript': typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] + 'Link': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] + 'Base': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] + 'Title': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] + 'Meta': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] + 'Style': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] + 'Head': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] + 'Html': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] + 'Body': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] + 'NuxtIsland': typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default'] + 'VueApexCharts': IslandComponent + 'NuxtRouteAnnouncer': IslandComponent + 'LazyMoreBtn': typeof import("../@core/components/MoreBtn.vue")['default'] + 'LazyThemeSwitcher': typeof import("../@core/components/ThemeSwitcher.vue")['default'] + 'LazyCardStatisticsHorizontal': typeof import("../@core/components/cards/CardStatisticsHorizontal.vue")['default'] + 'LazyCardStatisticsVertical': typeof import("../@core/components/cards/CardStatisticsVertical.vue")['default'] + 'LazyCardStatisticsWithImages': typeof import("../@core/components/cards/CardStatisticsWithImages.vue")['default'] + 'LazyErrorHeader': typeof import("../components/ErrorHeader.vue")['default'] + 'LazyUpgradeToPro': typeof import("../components/UpgradeToPro.vue")['default'] + 'LazyVueApexCharts': typeof import("../components/VueApexCharts.client.vue")['default'] + 'LazyNuxtWelcome': typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default'] + 'LazyNuxtLayout': typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default'] + 'LazyNuxtErrorBoundary': typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] + 'LazyClientOnly': typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] + 'LazyDevOnly': typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] + 'LazyServerPlaceholder': typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] + 'LazyNuxtLink': typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] + 'LazyNuxtLoadingIndicator': typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] + 'LazyNuxtRouteAnnouncer': typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default'] + 'LazyNuxtImg': typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg'] + 'LazyNuxtPicture': typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture'] + 'LazyNuxtPage': typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] + 'LazyNoScript': typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] + 'LazyLink': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] + 'LazyBase': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] + 'LazyTitle': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] + 'LazyMeta': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] + 'LazyStyle': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] + 'LazyHead': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] + 'LazyHtml': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] + 'LazyBody': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] + 'LazyNuxtIsland': typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default'] + 'LazyVueApexCharts': IslandComponent + 'LazyNuxtRouteAnnouncer': IslandComponent +} + +declare module 'vue' { + export interface GlobalComponents extends _GlobalComponents { } +} + +export const MoreBtn: typeof import("../@core/components/MoreBtn.vue")['default'] +export const ThemeSwitcher: typeof import("../@core/components/ThemeSwitcher.vue")['default'] +export const CardStatisticsHorizontal: typeof import("../@core/components/cards/CardStatisticsHorizontal.vue")['default'] +export const CardStatisticsVertical: typeof import("../@core/components/cards/CardStatisticsVertical.vue")['default'] +export const CardStatisticsWithImages: typeof import("../@core/components/cards/CardStatisticsWithImages.vue")['default'] +export const ErrorHeader: typeof import("../components/ErrorHeader.vue")['default'] +export const UpgradeToPro: typeof import("../components/UpgradeToPro.vue")['default'] +export const VueApexCharts: typeof import("../components/VueApexCharts.client.vue")['default'] +export const NuxtWelcome: typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default'] +export const NuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default'] +export const NuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] +export const ClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] +export const DevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] +export const ServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] +export const NuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] +export const NuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] +export const NuxtRouteAnnouncer: typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default'] +export const NuxtImg: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg'] +export const NuxtPicture: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture'] +export const NuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] +export const NoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] +export const Link: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] +export const Base: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] +export const Title: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] +export const Meta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] +export const Style: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] +export const Head: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] +export const Html: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] +export const Body: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] +export const NuxtIsland: typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default'] +export const VueApexCharts: IslandComponent +export const NuxtRouteAnnouncer: IslandComponent +export const LazyMoreBtn: typeof import("../@core/components/MoreBtn.vue")['default'] +export const LazyThemeSwitcher: typeof import("../@core/components/ThemeSwitcher.vue")['default'] +export const LazyCardStatisticsHorizontal: typeof import("../@core/components/cards/CardStatisticsHorizontal.vue")['default'] +export const LazyCardStatisticsVertical: typeof import("../@core/components/cards/CardStatisticsVertical.vue")['default'] +export const LazyCardStatisticsWithImages: typeof import("../@core/components/cards/CardStatisticsWithImages.vue")['default'] +export const LazyErrorHeader: typeof import("../components/ErrorHeader.vue")['default'] +export const LazyUpgradeToPro: typeof import("../components/UpgradeToPro.vue")['default'] +export const LazyVueApexCharts: typeof import("../components/VueApexCharts.client.vue")['default'] +export const LazyNuxtWelcome: typeof import("../node_modules/nuxt/dist/app/components/welcome.vue")['default'] +export const LazyNuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/nuxt-layout")['default'] +export const LazyNuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] +export const LazyClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] +export const LazyDevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] +export const LazyServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] +export const LazyNuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] +export const LazyNuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] +export const LazyNuxtRouteAnnouncer: typeof import("../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default'] +export const LazyNuxtImg: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg'] +export const LazyNuxtPicture: typeof import("../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture'] +export const LazyNuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] +export const LazyNoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] +export const LazyLink: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] +export const LazyBase: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] +export const LazyTitle: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] +export const LazyMeta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] +export const LazyStyle: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] +export const LazyHead: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] +export const LazyHtml: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] +export const LazyBody: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] +export const LazyNuxtIsland: typeof import("../node_modules/nuxt/dist/app/components/nuxt-island")['default'] +export const LazyVueApexCharts: IslandComponent +export const LazyNuxtRouteAnnouncer: IslandComponent + +export const componentNames: string[] diff --git a/.nuxt/dev/index.mjs b/.nuxt/dev/index.mjs new file mode 100644 index 0000000..24da332 --- /dev/null +++ b/.nuxt/dev/index.mjs @@ -0,0 +1,2238 @@ +import process from 'node:process';globalThis._importMeta_={url:import.meta.url,env:process.env};import { tmpdir } from 'node:os'; +import { defineEventHandler, handleCacheHeaders, splitCookiesString, createEvent, fetchWithEvent, isEvent, eventHandler, setHeaders, sendRedirect, proxyRequest, getRequestHeader, setResponseStatus, setResponseHeader, send, getRequestHeaders, getRequestURL, getResponseHeader, setResponseHeaders, appendResponseHeader, removeResponseHeader, createError, createApp, createRouter as createRouter$1, toNodeListener, lazyEventHandler, getResponseStatus, getRouterParam, readBody, getQuery as getQuery$1, getCookie, getHeader, getResponseStatusText } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/h3/dist/index.mjs'; +import { Server } from 'node:http'; +import { resolve, dirname, join } from 'node:path'; +import nodeCrypto from 'node:crypto'; +import { parentPort, threadId } from 'node:worker_threads'; +import { PrismaClient } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/@prisma/client/default.js'; +import jwt from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/jsonwebtoken/index.js'; +import { Pool } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/pg/esm/index.mjs'; +import { getRequestDependencies, getPreloadLinks, getPrefetchLinks, createRenderer } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/vue-bundle-renderer/dist/runtime.mjs'; +import { stringify, uneval } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/devalue/index.js'; +import destr from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/destr/dist/index.mjs'; +import { parseURL, withoutBase, joinURL, getQuery, withQuery, withTrailingSlash, decodePath, withLeadingSlash, withoutTrailingSlash, joinRelativeURL } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/ufo/dist/index.mjs'; +import { renderToString } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/vue/server-renderer/index.mjs'; +import { propsToString, renderSSRHead } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/@unhead/ssr/dist/index.mjs'; +import { createHooks } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/hookable/dist/index.mjs'; +import { createFetch, Headers as Headers$1 } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/ofetch/dist/node.mjs'; +import { fetchNodeRequestHandler, callNodeRequestHandler } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/node-mock-http/dist/index.mjs'; +import { prefixStorage } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/nitropack/node_modules/unstorage/dist/index.mjs'; +import { createStorage } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/nuxt/node_modules/unstorage/dist/index.mjs'; +import unstorage_47drivers_47fs from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/nuxt/node_modules/unstorage/drivers/fs.mjs'; +import { digest } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/ohash/dist/index.mjs'; +import { klona } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/klona/dist/index.mjs'; +import defu, { defuFn } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/defu/dist/defu.mjs'; +import { snakeCase } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/scule/dist/index.mjs'; +import { getContext } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/unctx/dist/index.mjs'; +import { toRouteMatcher, createRouter } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/radix3/dist/index.mjs'; +import { readFile } from 'node:fs/promises'; +import consola, { consola as consola$1 } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/consola/dist/index.mjs'; +import { ErrorParser } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/youch-core/build/index.js'; +import { Youch } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/youch/build/index.js'; +import { SourceMapConsumer } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/source-map/source-map.js'; +import { AsyncLocalStorage } from 'node:async_hooks'; +import { captureRawStackTrace, parseRawStackTrace } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/errx/dist/index.js'; +import { isVNode, unref, version } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/vue/index.mjs'; +import { promises } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { dirname as dirname$1, resolve as resolve$1 } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/pathe/dist/index.mjs'; +import { createServerHead as createServerHead$1, CapoPlugin } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/unhead/dist/index.mjs'; +import { defineHeadPlugin } from 'file:///Users/dragonz/works/myapp/youtooplay/music-admin/node_modules/@unhead/shared/dist/index.mjs'; + +const serverAssets = [{"baseName":"server","dir":"/Users/dragonz/works/myapp/youtooplay/music-admin/server/assets"}]; + +const assets$1 = createStorage(); + +for (const asset of serverAssets) { + assets$1.mount(asset.baseName, unstorage_47drivers_47fs({ base: asset.dir, ignore: (asset?.ignore || []) })); +} + +const storage = createStorage({}); + +storage.mount('/assets', assets$1); + +storage.mount('root', unstorage_47drivers_47fs({"driver":"fs","readOnly":true,"base":"/Users/dragonz/works/myapp/youtooplay/music-admin"})); +storage.mount('src', unstorage_47drivers_47fs({"driver":"fs","readOnly":true,"base":"/Users/dragonz/works/myapp/youtooplay/music-admin/server"})); +storage.mount('build', unstorage_47drivers_47fs({"driver":"fs","readOnly":false,"base":"/Users/dragonz/works/myapp/youtooplay/music-admin/.nuxt"})); +storage.mount('cache', unstorage_47drivers_47fs({"driver":"fs","readOnly":false,"base":"/Users/dragonz/works/myapp/youtooplay/music-admin/.nuxt/cache"})); +storage.mount('data', unstorage_47drivers_47fs({"driver":"fs","base":"/Users/dragonz/works/myapp/youtooplay/music-admin/.data/kv"})); + +function useStorage(base = "") { + return base ? prefixStorage(storage, base) : storage; +} + +const Hasher = /* @__PURE__ */ (() => { + class Hasher2 { + buff = ""; + #context = /* @__PURE__ */ new Map(); + write(str) { + this.buff += str; + } + dispatch(value) { + const type = value === null ? "null" : typeof value; + return this[type](value); + } + object(object) { + if (object && typeof object.toJSON === "function") { + return this.object(object.toJSON()); + } + const objString = Object.prototype.toString.call(object); + let objType = ""; + const objectLength = objString.length; + objType = objectLength < 10 ? "unknown:[" + objString + "]" : objString.slice(8, objectLength - 1); + objType = objType.toLowerCase(); + let objectNumber = null; + if ((objectNumber = this.#context.get(object)) === void 0) { + this.#context.set(object, this.#context.size); + } else { + return this.dispatch("[CIRCULAR:" + objectNumber + "]"); + } + if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) { + this.write("buffer:"); + return this.write(object.toString("utf8")); + } + if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") { + if (this[objType]) { + this[objType](object); + } else { + this.unknown(object, objType); + } + } else { + const keys = Object.keys(object).sort(); + const extraKeys = []; + this.write("object:" + (keys.length + extraKeys.length) + ":"); + const dispatchForKey = (key) => { + this.dispatch(key); + this.write(":"); + this.dispatch(object[key]); + this.write(","); + }; + for (const key of keys) { + dispatchForKey(key); + } + for (const key of extraKeys) { + dispatchForKey(key); + } + } + } + array(arr, unordered) { + unordered = unordered === void 0 ? false : unordered; + this.write("array:" + arr.length + ":"); + if (!unordered || arr.length <= 1) { + for (const entry of arr) { + this.dispatch(entry); + } + return; + } + const contextAdditions = /* @__PURE__ */ new Map(); + const entries = arr.map((entry) => { + const hasher = new Hasher2(); + hasher.dispatch(entry); + for (const [key, value] of hasher.#context) { + contextAdditions.set(key, value); + } + return hasher.toString(); + }); + this.#context = contextAdditions; + entries.sort(); + return this.array(entries, false); + } + date(date) { + return this.write("date:" + date.toJSON()); + } + symbol(sym) { + return this.write("symbol:" + sym.toString()); + } + unknown(value, type) { + this.write(type); + if (!value) { + return; + } + this.write(":"); + if (value && typeof value.entries === "function") { + return this.array( + [...value.entries()], + true + /* ordered */ + ); + } + } + error(err) { + return this.write("error:" + err.toString()); + } + boolean(bool) { + return this.write("bool:" + bool); + } + string(string) { + this.write("string:" + string.length + ":"); + this.write(string); + } + function(fn) { + this.write("fn:"); + if (isNativeFunction(fn)) { + this.dispatch("[native]"); + } else { + this.dispatch(fn.toString()); + } + } + number(number) { + return this.write("number:" + number); + } + null() { + return this.write("Null"); + } + undefined() { + return this.write("Undefined"); + } + regexp(regex) { + return this.write("regex:" + regex.toString()); + } + arraybuffer(arr) { + this.write("arraybuffer:"); + return this.dispatch(new Uint8Array(arr)); + } + url(url) { + return this.write("url:" + url.toString()); + } + map(map) { + this.write("map:"); + const arr = [...map]; + return this.array(arr, false); + } + set(set) { + this.write("set:"); + const arr = [...set]; + return this.array(arr, false); + } + bigint(number) { + return this.write("bigint:" + number.toString()); + } + } + for (const type of [ + "uint8array", + "uint8clampedarray", + "unt8array", + "uint16array", + "unt16array", + "uint32array", + "unt32array", + "float32array", + "float64array" + ]) { + Hasher2.prototype[type] = function(arr) { + this.write(type + ":"); + return this.array([...arr], false); + }; + } + function isNativeFunction(f) { + if (typeof f !== "function") { + return false; + } + return Function.prototype.toString.call(f).slice( + -15 + /* "[native code] }".length */ + ) === "[native code] }"; + } + return Hasher2; +})(); +function serialize(object) { + const hasher = new Hasher(); + hasher.dispatch(object); + return hasher.buff; +} +function hash(value) { + return digest(typeof value === "string" ? value : serialize(value)).replace(/[-_]/g, "").slice(0, 10); +} + +function defaultCacheOptions() { + return { + name: "_", + base: "/cache", + swr: true, + maxAge: 1 + }; +} +function defineCachedFunction(fn, opts = {}) { + opts = { ...defaultCacheOptions(), ...opts }; + const pending = {}; + const group = opts.group || "nitro/functions"; + const name = opts.name || fn.name || "_"; + const integrity = opts.integrity || hash([fn, opts]); + const validate = opts.validate || ((entry) => entry.value !== void 0); + async function get(key, resolver, shouldInvalidateCache, event) { + const cacheKey = [opts.base, group, name, key + ".json"].filter(Boolean).join(":").replace(/:\/$/, ":index"); + let entry = await useStorage().getItem(cacheKey).catch((error) => { + console.error(`[cache] Cache read error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }) || {}; + if (typeof entry !== "object") { + entry = {}; + const error = new Error("Malformed data read from cache."); + console.error("[cache]", error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + } + const ttl = (opts.maxAge ?? 0) * 1e3; + if (ttl) { + entry.expires = Date.now() + ttl; + } + const expired = shouldInvalidateCache || entry.integrity !== integrity || ttl && Date.now() - (entry.mtime || 0) > ttl || validate(entry) === false; + const _resolve = async () => { + const isPending = pending[key]; + if (!isPending) { + if (entry.value !== void 0 && (opts.staleMaxAge || 0) >= 0 && opts.swr === false) { + entry.value = void 0; + entry.integrity = void 0; + entry.mtime = void 0; + entry.expires = void 0; + } + pending[key] = Promise.resolve(resolver()); + } + try { + entry.value = await pending[key]; + } catch (error) { + if (!isPending) { + delete pending[key]; + } + throw error; + } + if (!isPending) { + entry.mtime = Date.now(); + entry.integrity = integrity; + delete pending[key]; + if (validate(entry) !== false) { + let setOpts; + if (opts.maxAge && !opts.swr) { + setOpts = { ttl: opts.maxAge }; + } + const promise = useStorage().setItem(cacheKey, entry, setOpts).catch((error) => { + console.error(`[cache] Cache write error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + if (event?.waitUntil) { + event.waitUntil(promise); + } + } + } + }; + const _resolvePromise = expired ? _resolve() : Promise.resolve(); + if (entry.value === void 0) { + await _resolvePromise; + } else if (expired && event && event.waitUntil) { + event.waitUntil(_resolvePromise); + } + if (opts.swr && validate(entry) !== false) { + _resolvePromise.catch((error) => { + console.error(`[cache] SWR handler error.`, error); + useNitroApp().captureError(error, { event, tags: ["cache"] }); + }); + return entry; + } + return _resolvePromise.then(() => entry); + } + return async (...args) => { + const shouldBypassCache = await opts.shouldBypassCache?.(...args); + if (shouldBypassCache) { + return fn(...args); + } + const key = await (opts.getKey || getKey)(...args); + const shouldInvalidateCache = await opts.shouldInvalidateCache?.(...args); + const entry = await get( + key, + () => fn(...args), + shouldInvalidateCache, + args[0] && isEvent(args[0]) ? args[0] : void 0 + ); + let value = entry.value; + if (opts.transform) { + value = await opts.transform(entry, ...args) || value; + } + return value; + }; +} +function cachedFunction(fn, opts = {}) { + return defineCachedFunction(fn, opts); +} +function getKey(...args) { + return args.length > 0 ? hash(args) : ""; +} +function escapeKey(key) { + return String(key).replace(/\W/g, ""); +} +function defineCachedEventHandler(handler, opts = defaultCacheOptions()) { + const variableHeaderNames = (opts.varies || []).filter(Boolean).map((h) => h.toLowerCase()).sort(); + const _opts = { + ...opts, + getKey: async (event) => { + const customKey = await opts.getKey?.(event); + if (customKey) { + return escapeKey(customKey); + } + const _path = event.node.req.originalUrl || event.node.req.url || event.path; + let _pathname; + try { + _pathname = escapeKey(decodeURI(parseURL(_path).pathname)).slice(0, 16) || "index"; + } catch { + _pathname = "-"; + } + const _hashedPath = `${_pathname}.${hash(_path)}`; + const _headers = variableHeaderNames.map((header) => [header, event.node.req.headers[header]]).map(([name, value]) => `${escapeKey(name)}.${hash(value)}`); + return [_hashedPath, ..._headers].join(":"); + }, + validate: (entry) => { + if (!entry.value) { + return false; + } + if (entry.value.code >= 400) { + return false; + } + if (entry.value.body === void 0) { + return false; + } + if (entry.value.headers.etag === "undefined" || entry.value.headers["last-modified"] === "undefined") { + return false; + } + return true; + }, + group: opts.group || "nitro/handlers", + integrity: opts.integrity || hash([handler, opts]) + }; + const _cachedHandler = cachedFunction( + async (incomingEvent) => { + const variableHeaders = {}; + for (const header of variableHeaderNames) { + const value = incomingEvent.node.req.headers[header]; + if (value !== void 0) { + variableHeaders[header] = value; + } + } + const reqProxy = cloneWithProxy(incomingEvent.node.req, { + headers: variableHeaders + }); + const resHeaders = {}; + let _resSendBody; + const resProxy = cloneWithProxy(incomingEvent.node.res, { + statusCode: 200, + writableEnded: false, + writableFinished: false, + headersSent: false, + closed: false, + getHeader(name) { + return resHeaders[name]; + }, + setHeader(name, value) { + resHeaders[name] = value; + return this; + }, + getHeaderNames() { + return Object.keys(resHeaders); + }, + hasHeader(name) { + return name in resHeaders; + }, + removeHeader(name) { + delete resHeaders[name]; + }, + getHeaders() { + return resHeaders; + }, + end(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + write(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(void 0); + } + if (typeof arg3 === "function") { + arg3(); + } + return true; + }, + writeHead(statusCode, headers2) { + this.statusCode = statusCode; + if (headers2) { + if (Array.isArray(headers2) || typeof headers2 === "string") { + throw new TypeError("Raw headers is not supported."); + } + for (const header in headers2) { + const value = headers2[header]; + if (value !== void 0) { + this.setHeader( + header, + value + ); + } + } + } + return this; + } + }); + const event = createEvent(reqProxy, resProxy); + event.fetch = (url, fetchOptions) => fetchWithEvent(event, url, fetchOptions, { + fetch: useNitroApp().localFetch + }); + event.$fetch = (url, fetchOptions) => fetchWithEvent(event, url, fetchOptions, { + fetch: globalThis.$fetch + }); + event.waitUntil = incomingEvent.waitUntil; + event.context = incomingEvent.context; + event.context.cache = { + options: _opts + }; + const body = await handler(event) || _resSendBody; + const headers = event.node.res.getHeaders(); + headers.etag = String( + headers.Etag || headers.etag || `W/"${hash(body)}"` + ); + headers["last-modified"] = String( + headers["Last-Modified"] || headers["last-modified"] || (/* @__PURE__ */ new Date()).toUTCString() + ); + const cacheControl = []; + if (opts.swr) { + if (opts.maxAge) { + cacheControl.push(`s-maxage=${opts.maxAge}`); + } + if (opts.staleMaxAge) { + cacheControl.push(`stale-while-revalidate=${opts.staleMaxAge}`); + } else { + cacheControl.push("stale-while-revalidate"); + } + } else if (opts.maxAge) { + cacheControl.push(`max-age=${opts.maxAge}`); + } + if (cacheControl.length > 0) { + headers["cache-control"] = cacheControl.join(", "); + } + const cacheEntry = { + code: event.node.res.statusCode, + headers, + body + }; + return cacheEntry; + }, + _opts + ); + return defineEventHandler(async (event) => { + if (opts.headersOnly) { + if (handleCacheHeaders(event, { maxAge: opts.maxAge })) { + return; + } + return handler(event); + } + const response = await _cachedHandler( + event + ); + if (event.node.res.headersSent || event.node.res.writableEnded) { + return response.body; + } + if (handleCacheHeaders(event, { + modifiedTime: new Date(response.headers["last-modified"]), + etag: response.headers.etag, + maxAge: opts.maxAge + })) { + return; + } + event.node.res.statusCode = response.code; + for (const name in response.headers) { + const value = response.headers[name]; + if (name === "set-cookie") { + event.node.res.appendHeader( + name, + splitCookiesString(value) + ); + } else { + if (value !== void 0) { + event.node.res.setHeader(name, value); + } + } + } + return response.body; + }); +} +function cloneWithProxy(obj, overrides) { + return new Proxy(obj, { + get(target, property, receiver) { + if (property in overrides) { + return overrides[property]; + } + return Reflect.get(target, property, receiver); + }, + set(target, property, value, receiver) { + if (property in overrides) { + overrides[property] = value; + return true; + } + return Reflect.set(target, property, value, receiver); + } + }); +} +const cachedEventHandler = defineCachedEventHandler; + +const inlineAppConfig = { + "nuxt": {} +}; + + + +const appConfig = defuFn(inlineAppConfig); + +function getEnv(key, opts) { + const envKey = snakeCase(key).toUpperCase(); + return destr( + process.env[opts.prefix + envKey] ?? process.env[opts.altPrefix + envKey] + ); +} +function _isObject(input) { + return typeof input === "object" && !Array.isArray(input); +} +function applyEnv(obj, opts, parentKey = "") { + for (const key in obj) { + const subKey = parentKey ? `${parentKey}_${key}` : key; + const envValue = getEnv(subKey, opts); + if (_isObject(obj[key])) { + if (_isObject(envValue)) { + obj[key] = { ...obj[key], ...envValue }; + applyEnv(obj[key], opts, subKey); + } else if (envValue === void 0) { + applyEnv(obj[key], opts, subKey); + } else { + obj[key] = envValue ?? obj[key]; + } + } else { + obj[key] = envValue ?? obj[key]; + } + if (opts.envExpansion && typeof obj[key] === "string") { + obj[key] = _expandFromEnv(obj[key]); + } + } + return obj; +} +const envExpandRx = /\{\{([^{}]*)\}\}/g; +function _expandFromEnv(value) { + return value.replace(envExpandRx, (match, key) => { + return process.env[key] || match; + }); +} + +const _inlineRuntimeConfig = { + "app": { + "baseURL": "/", + "buildId": "dev", + "buildAssetsDir": "/_nuxt/", + "cdnURL": "" + }, + "nitro": { + "envPrefix": "NUXT_", + "routeRules": { + "/__nuxt_error": { + "cache": false + }, + "/_nuxt/builds/meta/**": { + "headers": { + "cache-control": "public, max-age=31536000, immutable" + } + }, + "/_nuxt/builds/**": { + "headers": { + "cache-control": "public, max-age=1, immutable" + } + } + } + }, + "public": { + "device": { + "defaultUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.39 Safari/537.36", + "enabled": true, + "refreshOnResize": false + } + } +}; +const envOptions = { + prefix: "NITRO_", + altPrefix: _inlineRuntimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_", + envExpansion: _inlineRuntimeConfig.nitro.envExpansion ?? process.env.NITRO_ENV_EXPANSION ?? false +}; +const _sharedRuntimeConfig = _deepFreeze( + applyEnv(klona(_inlineRuntimeConfig), envOptions) +); +function useRuntimeConfig(event) { + if (!event) { + return _sharedRuntimeConfig; + } + if (event.context.nitro.runtimeConfig) { + return event.context.nitro.runtimeConfig; + } + const runtimeConfig = klona(_inlineRuntimeConfig); + applyEnv(runtimeConfig, envOptions); + event.context.nitro.runtimeConfig = runtimeConfig; + return runtimeConfig; +} +_deepFreeze(klona(appConfig)); +function _deepFreeze(object) { + const propNames = Object.getOwnPropertyNames(object); + for (const name of propNames) { + const value = object[name]; + if (value && typeof value === "object") { + _deepFreeze(value); + } + } + return Object.freeze(object); +} +new Proxy(/* @__PURE__ */ Object.create(null), { + get: (_, prop) => { + console.warn( + "Please use `useRuntimeConfig()` instead of accessing config directly." + ); + const runtimeConfig = useRuntimeConfig(); + if (prop in runtimeConfig) { + return runtimeConfig[prop]; + } + return void 0; + } +}); + +getContext("nitro-app", { + asyncContext: false, + AsyncLocalStorage: void 0 +}); + +const config = useRuntimeConfig(); +const _routeRulesMatcher = toRouteMatcher( + createRouter({ routes: config.nitro.routeRules }) +); +function createRouteRulesHandler(ctx) { + return eventHandler((event) => { + const routeRules = getRouteRules(event); + if (routeRules.headers) { + setHeaders(event, routeRules.headers); + } + if (routeRules.redirect) { + let target = routeRules.redirect.to; + if (target.endsWith("/**")) { + let targetPath = event.path; + const strpBase = routeRules.redirect._redirectStripBase; + if (strpBase) { + targetPath = withoutBase(targetPath, strpBase); + } + target = joinURL(target.slice(0, -3), targetPath); + } else if (event.path.includes("?")) { + const query = getQuery(event.path); + target = withQuery(target, query); + } + return sendRedirect(event, target, routeRules.redirect.statusCode); + } + if (routeRules.proxy) { + let target = routeRules.proxy.to; + if (target.endsWith("/**")) { + let targetPath = event.path; + const strpBase = routeRules.proxy._proxyStripBase; + if (strpBase) { + targetPath = withoutBase(targetPath, strpBase); + } + target = joinURL(target.slice(0, -3), targetPath); + } else if (event.path.includes("?")) { + const query = getQuery(event.path); + target = withQuery(target, query); + } + return proxyRequest(event, target, { + fetch: ctx.localFetch, + ...routeRules.proxy + }); + } + }); +} +function getRouteRules(event) { + event.context._nitro = event.context._nitro || {}; + if (!event.context._nitro.routeRules) { + event.context._nitro.routeRules = getRouteRulesForPath( + withoutBase(event.path.split("?")[0], useRuntimeConfig().app.baseURL) + ); + } + return event.context._nitro.routeRules; +} +function getRouteRulesForPath(path) { + return defu({}, ..._routeRulesMatcher.matchAll(path).reverse()); +} + +function _captureError(error, type) { + console.error(`[${type}]`, error); + useNitroApp().captureError(error, { tags: [type] }); +} +function trapUnhandledNodeErrors() { + process.on( + "unhandledRejection", + (error) => _captureError(error, "unhandledRejection") + ); + process.on( + "uncaughtException", + (error) => _captureError(error, "uncaughtException") + ); +} +function joinHeaders(value) { + return Array.isArray(value) ? value.join(", ") : String(value); +} +function normalizeFetchResponse(response) { + if (!response.headers.has("set-cookie")) { + return response; + } + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: normalizeCookieHeaders(response.headers) + }); +} +function normalizeCookieHeader(header = "") { + return splitCookiesString(joinHeaders(header)); +} +function normalizeCookieHeaders(headers) { + const outgoingHeaders = new Headers(); + for (const [name, header] of headers) { + if (name === "set-cookie") { + for (const cookie of normalizeCookieHeader(header)) { + outgoingHeaders.append("set-cookie", cookie); + } + } else { + outgoingHeaders.set(name, joinHeaders(header)); + } + } + return outgoingHeaders; +} + +function isJsonRequest(event) { + if (hasReqHeader(event, "accept", "text/html")) { + return false; + } + return hasReqHeader(event, "accept", "application/json") || hasReqHeader(event, "user-agent", "curl/") || hasReqHeader(event, "user-agent", "httpie/") || hasReqHeader(event, "sec-fetch-mode", "cors") || event.path.startsWith("/api/") || event.path.endsWith(".json"); +} +function hasReqHeader(event, name, includes) { + const value = getRequestHeader(event, name); + return value && typeof value === "string" && value.toLowerCase().includes(includes); +} +function normalizeError(error, isDev) { + const cwd = typeof process.cwd === "function" ? process.cwd() : "/"; + const stack = (error.unhandled || error.fatal) ? [] : (error.stack || "").split("\n").splice(1).filter((line) => line.includes("at ")).map((line) => { + const text = line.replace(cwd + "/", "./").replace("webpack:/", "").replace("file://", "").trim(); + return { + text, + internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise") + }; + }); + const statusCode = error.statusCode || 500; + const statusMessage = error.statusMessage ?? (statusCode === 404 ? "Not Found" : ""); + const message = error.unhandled ? "internal server error" : error.message || error.toString(); + return { + stack, + statusCode, + statusMessage, + message + }; +} + +const errorHandler$0 = (async function errorhandler(error, event) { + const { stack, statusCode, statusMessage, message } = normalizeError(error); + const errorObject = { + url: event.path, + statusCode, + statusMessage, + message, + stack: statusCode !== 404 ? `
${stack.map((i) => `${i.text}`).join("\n")}
` : "", + // TODO: check and validate error.data for serialisation into query + data: error.data + }; + if (error.unhandled || error.fatal) { + const tags = [ + "[nuxt]", + "[request error]", + error.unhandled && "[unhandled]", + error.fatal && "[fatal]", + Number(errorObject.statusCode) !== 200 && `[${errorObject.statusCode}]` + ].filter(Boolean).join(" "); + console.error(tags, (error.message || error.toString() || "internal server error") + "\n" + stack.map((l) => " " + l.text).join(" \n")); + } + if (event.handled) { + return; + } + setResponseStatus(event, errorObject.statusCode !== 200 && errorObject.statusCode || 500, errorObject.statusMessage); + if (isJsonRequest(event)) { + setResponseHeader(event, "Content-Type", "application/json"); + return send(event, JSON.stringify(errorObject)); + } + const reqHeaders = getRequestHeaders(event); + const isRenderingError = event.path.startsWith("/__nuxt_error") || !!reqHeaders["x-nuxt-error"]; + const res = isRenderingError ? null : await useNitroApp().localFetch( + withQuery(joinURL(useRuntimeConfig(event).app.baseURL, "/__nuxt_error"), errorObject), + { + headers: { ...reqHeaders, "x-nuxt-error": "true" }, + redirect: "manual" + } + ).catch(() => null); + if (!res) { + const { template } = await Promise.resolve().then(function () { return errorDev; }) ; + { + errorObject.description = errorObject.message; + } + if (event.handled) { + return; + } + setResponseHeader(event, "Content-Type", "text/html;charset=UTF-8"); + return send(event, template(errorObject)); + } + const html = await res.text(); + if (event.handled) { + return; + } + for (const [header, value] of res.headers.entries()) { + setResponseHeader(event, header, value); + } + setResponseStatus(event, res.status && res.status !== 200 ? res.status : void 0, res.statusText); + return send(event, html); +}); + +function defineNitroErrorHandler(handler) { + return handler; +} + +const errorHandler$1 = defineNitroErrorHandler( + async function defaultNitroErrorHandler(error, event) { + const res = await defaultHandler(error, event); + if (!event.node?.res.headersSent) { + setResponseHeaders(event, res.headers); + } + setResponseStatus(event, res.status, res.statusText); + return send( + event, + typeof res.body === "string" ? res.body : JSON.stringify(res.body, null, 2) + ); + } +); +async function defaultHandler(error, event, opts) { + const isSensitive = error.unhandled || error.fatal; + const statusCode = error.statusCode || 500; + const statusMessage = error.statusMessage || "Server Error"; + const url = getRequestURL(event, { xForwardedHost: true, xForwardedProto: true }); + if (statusCode === 404) { + const baseURL = "/"; + if (/^\/[^/]/.test(baseURL) && !url.pathname.startsWith(baseURL)) { + const redirectTo = `${baseURL}${url.pathname.slice(1)}${url.search}`; + return { + status: 302, + statusText: "Found", + headers: { location: redirectTo }, + body: `Redirecting...` + }; + } + } + await loadStackTrace(error).catch(consola.error); + const youch = new Youch(); + if (isSensitive && !opts?.silent) { + const tags = [error.unhandled && "[unhandled]", error.fatal && "[fatal]"].filter(Boolean).join(" "); + const ansiError = await (await youch.toANSI(error)).replaceAll(process.cwd(), "."); + consola.error( + `[request error] ${tags} [${event.method}] ${url} + +`, + ansiError + ); + } + const useJSON = opts?.json || !getRequestHeader(event, "accept")?.includes("text/html"); + const headers = { + "content-type": useJSON ? "application/json" : "text/html", + // Prevent browser from guessing the MIME types of resources. + "x-content-type-options": "nosniff", + // Prevent error page from being embedded in an iframe + "x-frame-options": "DENY", + // Prevent browsers from sending the Referer header + "referrer-policy": "no-referrer", + // Disable the execution of any js + "content-security-policy": "script-src 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self';" + }; + if (statusCode === 404 || !getResponseHeader(event, "cache-control")) { + headers["cache-control"] = "no-cache"; + } + const body = useJSON ? { + error: true, + url, + statusCode, + statusMessage, + message: error.message, + data: error.data, + stack: error.stack?.split("\n").map((line) => line.trim()) + } : await youch.toHTML(error, { + request: { + url: url.href, + method: event.method, + headers: getRequestHeaders(event) + } + }); + return { + status: statusCode, + statusText: statusMessage, + headers, + body + }; +} +async function loadStackTrace(error) { + if (!(error instanceof Error)) { + return; + } + const parsed = await new ErrorParser().defineSourceLoader(sourceLoader).parse(error); + const stack = error.message + "\n" + parsed.frames.map((frame) => fmtFrame(frame)).join("\n"); + Object.defineProperty(error, "stack", { value: stack }); + if (error.cause) { + await loadStackTrace(error.cause).catch(consola.error); + } +} +async function sourceLoader(frame) { + if (!frame.fileName || frame.fileType !== "fs" || frame.type === "native") { + return; + } + if (frame.type === "app") { + const rawSourceMap = await readFile(`${frame.fileName}.map`, "utf8").catch(() => { + }); + if (rawSourceMap) { + const consumer = await new SourceMapConsumer(rawSourceMap); + const originalPosition = consumer.originalPositionFor({ line: frame.lineNumber, column: frame.columnNumber }); + if (originalPosition.source && originalPosition.line) { + frame.fileName = resolve(dirname(frame.fileName), originalPosition.source); + frame.lineNumber = originalPosition.line; + frame.columnNumber = originalPosition.column || 0; + } + } + } + const contents = await readFile(frame.fileName, "utf8").catch(() => { + }); + return contents ? { contents } : void 0; +} +function fmtFrame(frame) { + if (frame.type === "native") { + return frame.raw; + } + const src = `${frame.fileName || ""}:${frame.lineNumber}:${frame.columnNumber})`; + return frame.functionName ? `at ${frame.functionName} (${src}` : `at ${src}`; +} + +const errorHandlers = [errorHandler$0, errorHandler$1]; + +async function errorHandler(error, event) { + for (const handler of errorHandlers) { + try { + await handler(error, event, { defaultHandler }); + if (event.handled) { + return; // Response handled + } + } catch(error) { + // Handler itself thrown, log and continue + console.error(error); + } + } + // H3 will handle fallback +} + +const script = ` +if (!window.__NUXT_DEVTOOLS_TIME_METRIC__) { + Object.defineProperty(window, '__NUXT_DEVTOOLS_TIME_METRIC__', { + value: {}, + enumerable: false, + configurable: true, + }) +} +window.__NUXT_DEVTOOLS_TIME_METRIC__.appInit = Date.now() +`; + +const _kiOjQnzSHOSS7_BdJyF4LR6iqi3aZXWLnSXQOX3vuaE = (function(nitro) { + nitro.hooks.hook("render:html", (htmlContext) => { + htmlContext.head.push(` + + diff --git a/typescript-version/app/router.options.ts b/app/router.options.ts similarity index 89% rename from typescript-version/app/router.options.ts rename to app/router.options.ts index 5e4cdea..0bd2c96 100644 --- a/typescript-version/app/router.options.ts +++ b/app/router.options.ts @@ -7,7 +7,7 @@ export default { { path: '/', name: 'index', - redirect: '/dashboard', + redirect: '/login', }, ], } diff --git a/typescript-version/assets/images/avatars/avatar-1.png b/assets/images/avatars/avatar-1.png similarity index 100% rename from typescript-version/assets/images/avatars/avatar-1.png rename to assets/images/avatars/avatar-1.png diff --git a/javascript-version/assets/images/avatars/avatar-10.png b/assets/images/avatars/avatar-10.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-10.png rename to assets/images/avatars/avatar-10.png diff --git a/javascript-version/assets/images/avatars/avatar-11.png b/assets/images/avatars/avatar-11.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-11.png rename to assets/images/avatars/avatar-11.png diff --git a/javascript-version/assets/images/avatars/avatar-12.png b/assets/images/avatars/avatar-12.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-12.png rename to assets/images/avatars/avatar-12.png diff --git a/javascript-version/assets/images/avatars/avatar-13.png b/assets/images/avatars/avatar-13.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-13.png rename to assets/images/avatars/avatar-13.png diff --git a/javascript-version/assets/images/avatars/avatar-14.png b/assets/images/avatars/avatar-14.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-14.png rename to assets/images/avatars/avatar-14.png diff --git a/javascript-version/assets/images/avatars/avatar-15.png b/assets/images/avatars/avatar-15.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-15.png rename to assets/images/avatars/avatar-15.png diff --git a/typescript-version/assets/images/avatars/avatar-2.png b/assets/images/avatars/avatar-2.png similarity index 100% rename from typescript-version/assets/images/avatars/avatar-2.png rename to assets/images/avatars/avatar-2.png diff --git a/typescript-version/assets/images/avatars/avatar-3.png b/assets/images/avatars/avatar-3.png similarity index 100% rename from typescript-version/assets/images/avatars/avatar-3.png rename to assets/images/avatars/avatar-3.png diff --git a/typescript-version/assets/images/avatars/avatar-4.png b/assets/images/avatars/avatar-4.png similarity index 100% rename from typescript-version/assets/images/avatars/avatar-4.png rename to assets/images/avatars/avatar-4.png diff --git a/javascript-version/assets/images/avatars/avatar-5.png b/assets/images/avatars/avatar-5.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-5.png rename to assets/images/avatars/avatar-5.png diff --git a/javascript-version/assets/images/avatars/avatar-6.png b/assets/images/avatars/avatar-6.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-6.png rename to assets/images/avatars/avatar-6.png diff --git a/javascript-version/assets/images/avatars/avatar-7.png b/assets/images/avatars/avatar-7.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-7.png rename to assets/images/avatars/avatar-7.png diff --git a/typescript-version/assets/images/avatars/avatar-8.png b/assets/images/avatars/avatar-8.png similarity index 100% rename from typescript-version/assets/images/avatars/avatar-8.png rename to assets/images/avatars/avatar-8.png diff --git a/javascript-version/assets/images/avatars/avatar-9.png b/assets/images/avatars/avatar-9.png similarity index 100% rename from javascript-version/assets/images/avatars/avatar-9.png rename to assets/images/avatars/avatar-9.png diff --git a/javascript-version/assets/images/cards/chart-info.png b/assets/images/cards/chart-info.png similarity index 100% rename from javascript-version/assets/images/cards/chart-info.png rename to assets/images/cards/chart-info.png diff --git a/javascript-version/assets/images/cards/chart-success.png b/assets/images/cards/chart-success.png similarity index 100% rename from javascript-version/assets/images/cards/chart-success.png rename to assets/images/cards/chart-success.png diff --git a/javascript-version/assets/images/cards/credit-card-primary.png b/assets/images/cards/credit-card-primary.png similarity index 100% rename from javascript-version/assets/images/cards/credit-card-primary.png rename to assets/images/cards/credit-card-primary.png diff --git a/javascript-version/assets/images/cards/credit-card-success.png b/assets/images/cards/credit-card-success.png similarity index 100% rename from javascript-version/assets/images/cards/credit-card-success.png rename to assets/images/cards/credit-card-success.png diff --git a/javascript-version/assets/images/cards/credit-card-warning.png b/assets/images/cards/credit-card-warning.png similarity index 100% rename from javascript-version/assets/images/cards/credit-card-warning.png rename to assets/images/cards/credit-card-warning.png diff --git a/typescript-version/assets/images/cards/illustration-john-dark.png b/assets/images/cards/illustration-john-dark.png similarity index 100% rename from typescript-version/assets/images/cards/illustration-john-dark.png rename to assets/images/cards/illustration-john-dark.png diff --git a/typescript-version/assets/images/cards/illustration-john-light.png b/assets/images/cards/illustration-john-light.png similarity index 100% rename from typescript-version/assets/images/cards/illustration-john-light.png rename to assets/images/cards/illustration-john-light.png diff --git a/javascript-version/assets/images/cards/paypal-error.png b/assets/images/cards/paypal-error.png similarity index 100% rename from javascript-version/assets/images/cards/paypal-error.png rename to assets/images/cards/paypal-error.png diff --git a/javascript-version/assets/images/cards/wallet-info.png b/assets/images/cards/wallet-info.png similarity index 100% rename from javascript-version/assets/images/cards/wallet-info.png rename to assets/images/cards/wallet-info.png diff --git a/javascript-version/assets/images/cards/wallet-primary.png b/assets/images/cards/wallet-primary.png similarity index 100% rename from javascript-version/assets/images/cards/wallet-primary.png rename to assets/images/cards/wallet-primary.png diff --git a/javascript-version/assets/images/customizer-icons/horizontal-light.svg b/assets/images/customizer-icons/horizontal-light.svg similarity index 100% rename from javascript-version/assets/images/customizer-icons/horizontal-light.svg rename to assets/images/customizer-icons/horizontal-light.svg diff --git a/typescript-version/assets/images/eCommerce/2.png b/assets/images/eCommerce/2.png similarity index 100% rename from typescript-version/assets/images/eCommerce/2.png rename to assets/images/eCommerce/2.png diff --git a/javascript-version/assets/images/iconify-svg/checked-checkbox.svg b/assets/images/iconify-svg/checked-checkbox.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/checked-checkbox.svg rename to assets/images/iconify-svg/checked-checkbox.svg diff --git a/javascript-version/assets/images/iconify-svg/checked-radio.svg b/assets/images/iconify-svg/checked-radio.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/checked-radio.svg rename to assets/images/iconify-svg/checked-radio.svg diff --git a/javascript-version/assets/images/iconify-svg/indeterminate-checkbox.svg b/assets/images/iconify-svg/indeterminate-checkbox.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/indeterminate-checkbox.svg rename to assets/images/iconify-svg/indeterminate-checkbox.svg diff --git a/javascript-version/assets/images/iconify-svg/javascript.svg b/assets/images/iconify-svg/javascript.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/javascript.svg rename to assets/images/iconify-svg/javascript.svg diff --git a/javascript-version/assets/images/iconify-svg/typescript.svg b/assets/images/iconify-svg/typescript.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/typescript.svg rename to assets/images/iconify-svg/typescript.svg diff --git a/javascript-version/assets/images/iconify-svg/unchecked-checkbox.svg b/assets/images/iconify-svg/unchecked-checkbox.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/unchecked-checkbox.svg rename to assets/images/iconify-svg/unchecked-checkbox.svg diff --git a/javascript-version/assets/images/iconify-svg/unchecked-radio.svg b/assets/images/iconify-svg/unchecked-radio.svg similarity index 100% rename from javascript-version/assets/images/iconify-svg/unchecked-radio.svg rename to assets/images/iconify-svg/unchecked-radio.svg diff --git a/javascript-version/assets/images/icons/flags/australia.png b/assets/images/icons/flags/australia.png similarity index 100% rename from javascript-version/assets/images/icons/flags/australia.png rename to assets/images/icons/flags/australia.png diff --git a/javascript-version/assets/images/icons/flags/belgium.png b/assets/images/icons/flags/belgium.png similarity index 100% rename from javascript-version/assets/images/icons/flags/belgium.png rename to assets/images/icons/flags/belgium.png diff --git a/javascript-version/assets/images/icons/flags/brazil.png b/assets/images/icons/flags/brazil.png similarity index 100% rename from javascript-version/assets/images/icons/flags/brazil.png rename to assets/images/icons/flags/brazil.png diff --git a/javascript-version/assets/images/icons/flags/china.png b/assets/images/icons/flags/china.png similarity index 100% rename from javascript-version/assets/images/icons/flags/china.png rename to assets/images/icons/flags/china.png diff --git a/javascript-version/assets/images/icons/flags/france.png b/assets/images/icons/flags/france.png similarity index 100% rename from javascript-version/assets/images/icons/flags/france.png rename to assets/images/icons/flags/france.png diff --git a/javascript-version/assets/images/icons/flags/india.png b/assets/images/icons/flags/india.png similarity index 100% rename from javascript-version/assets/images/icons/flags/india.png rename to assets/images/icons/flags/india.png diff --git a/javascript-version/assets/images/icons/flags/usa.png b/assets/images/icons/flags/usa.png similarity index 100% rename from javascript-version/assets/images/icons/flags/usa.png rename to assets/images/icons/flags/usa.png diff --git a/javascript-version/assets/images/icons/logo/brave.png b/assets/images/icons/logo/brave.png similarity index 100% rename from javascript-version/assets/images/icons/logo/brave.png rename to assets/images/icons/logo/brave.png diff --git a/javascript-version/assets/images/icons/logo/cent.png b/assets/images/icons/logo/cent.png similarity index 100% rename from javascript-version/assets/images/icons/logo/cent.png rename to assets/images/icons/logo/cent.png diff --git a/javascript-version/assets/images/icons/logo/chrome.png b/assets/images/icons/logo/chrome.png similarity index 100% rename from javascript-version/assets/images/icons/logo/chrome.png rename to assets/images/icons/logo/chrome.png diff --git a/javascript-version/assets/images/icons/logo/edge.png b/assets/images/icons/logo/edge.png similarity index 100% rename from javascript-version/assets/images/icons/logo/edge.png rename to assets/images/icons/logo/edge.png diff --git a/javascript-version/assets/images/icons/logo/firefox.png b/assets/images/icons/logo/firefox.png similarity index 100% rename from javascript-version/assets/images/icons/logo/firefox.png rename to assets/images/icons/logo/firefox.png diff --git a/javascript-version/assets/images/icons/logo/linux.png b/assets/images/icons/logo/linux.png similarity index 100% rename from javascript-version/assets/images/icons/logo/linux.png rename to assets/images/icons/logo/linux.png diff --git a/javascript-version/assets/images/icons/logo/mac.png b/assets/images/icons/logo/mac.png similarity index 100% rename from javascript-version/assets/images/icons/logo/mac.png rename to assets/images/icons/logo/mac.png diff --git a/javascript-version/assets/images/icons/logo/opera.png b/assets/images/icons/logo/opera.png similarity index 100% rename from javascript-version/assets/images/icons/logo/opera.png rename to assets/images/icons/logo/opera.png diff --git a/javascript-version/assets/images/icons/logo/safari.png b/assets/images/icons/logo/safari.png similarity index 100% rename from javascript-version/assets/images/icons/logo/safari.png rename to assets/images/icons/logo/safari.png diff --git a/javascript-version/assets/images/icons/logo/ubuntu.png b/assets/images/icons/logo/ubuntu.png similarity index 100% rename from javascript-version/assets/images/icons/logo/ubuntu.png rename to assets/images/icons/logo/ubuntu.png diff --git a/javascript-version/assets/images/icons/logo/windows.png b/assets/images/icons/logo/windows.png similarity index 100% rename from javascript-version/assets/images/icons/logo/windows.png rename to assets/images/icons/logo/windows.png diff --git a/javascript-version/assets/images/logo.svg b/assets/images/logo.svg similarity index 100% rename from javascript-version/assets/images/logo.svg rename to assets/images/logo.svg diff --git a/javascript-version/assets/images/misc/triangle-dark.png b/assets/images/misc/triangle-dark.png similarity index 100% rename from javascript-version/assets/images/misc/triangle-dark.png rename to assets/images/misc/triangle-dark.png diff --git a/javascript-version/assets/images/misc/triangle-light.png b/assets/images/misc/triangle-light.png similarity index 100% rename from javascript-version/assets/images/misc/triangle-light.png rename to assets/images/misc/triangle-light.png diff --git a/typescript-version/assets/images/pages/1.png b/assets/images/pages/1.png similarity index 100% rename from typescript-version/assets/images/pages/1.png rename to assets/images/pages/1.png diff --git a/typescript-version/assets/images/pages/2.png b/assets/images/pages/2.png similarity index 100% rename from typescript-version/assets/images/pages/2.png rename to assets/images/pages/2.png diff --git a/typescript-version/assets/images/pages/3.png b/assets/images/pages/3.png similarity index 100% rename from typescript-version/assets/images/pages/3.png rename to assets/images/pages/3.png diff --git a/typescript-version/assets/images/pages/404.png b/assets/images/pages/404.png similarity index 100% rename from typescript-version/assets/images/pages/404.png rename to assets/images/pages/404.png diff --git a/typescript-version/assets/images/pages/5.jpg b/assets/images/pages/5.jpg similarity index 100% rename from typescript-version/assets/images/pages/5.jpg rename to assets/images/pages/5.jpg diff --git a/typescript-version/assets/images/pages/6.jpg b/assets/images/pages/6.jpg similarity index 100% rename from typescript-version/assets/images/pages/6.jpg rename to assets/images/pages/6.jpg diff --git a/javascript-version/assets/images/pages/empty-cart.png b/assets/images/pages/empty-cart.png similarity index 100% rename from javascript-version/assets/images/pages/empty-cart.png rename to assets/images/pages/empty-cart.png diff --git a/javascript-version/assets/images/pages/pose-fs-9.png b/assets/images/pages/pose-fs-9.png similarity index 100% rename from javascript-version/assets/images/pages/pose-fs-9.png rename to assets/images/pages/pose-fs-9.png diff --git a/javascript-version/assets/images/pro/upgrade-banner-dark.png b/assets/images/pro/upgrade-banner-dark.png similarity index 100% rename from javascript-version/assets/images/pro/upgrade-banner-dark.png rename to assets/images/pro/upgrade-banner-dark.png diff --git a/javascript-version/assets/images/pro/upgrade-banner-light.png b/assets/images/pro/upgrade-banner-light.png similarity index 100% rename from javascript-version/assets/images/pro/upgrade-banner-light.png rename to assets/images/pro/upgrade-banner-light.png diff --git a/typescript-version/assets/images/svg/auth-v1-bottom-shape.svg b/assets/images/svg/auth-v1-bottom-shape.svg similarity index 100% rename from typescript-version/assets/images/svg/auth-v1-bottom-shape.svg rename to assets/images/svg/auth-v1-bottom-shape.svg diff --git a/typescript-version/assets/images/svg/auth-v1-top-shape.svg b/assets/images/svg/auth-v1-top-shape.svg similarity index 100% rename from typescript-version/assets/images/svg/auth-v1-top-shape.svg rename to assets/images/svg/auth-v1-top-shape.svg diff --git a/javascript-version/assets/images/svg/checkbox-checked.svg b/assets/images/svg/checkbox-checked.svg similarity index 100% rename from javascript-version/assets/images/svg/checkbox-checked.svg rename to assets/images/svg/checkbox-checked.svg diff --git a/javascript-version/assets/images/svg/checkbox-indeterminate.svg b/assets/images/svg/checkbox-indeterminate.svg similarity index 100% rename from javascript-version/assets/images/svg/checkbox-indeterminate.svg rename to assets/images/svg/checkbox-indeterminate.svg diff --git a/javascript-version/assets/images/svg/checkbox-unchecked.svg b/assets/images/svg/checkbox-unchecked.svg similarity index 100% rename from javascript-version/assets/images/svg/checkbox-unchecked.svg rename to assets/images/svg/checkbox-unchecked.svg diff --git a/javascript-version/assets/images/svg/radio-checked.svg b/assets/images/svg/radio-checked.svg similarity index 100% rename from javascript-version/assets/images/svg/radio-checked.svg rename to assets/images/svg/radio-checked.svg diff --git a/javascript-version/assets/images/svg/radio-unchecked.svg b/assets/images/svg/radio-unchecked.svg similarity index 100% rename from javascript-version/assets/images/svg/radio-unchecked.svg rename to assets/images/svg/radio-unchecked.svg diff --git a/javascript-version/assets/styles/styles.scss b/assets/styles/styles.scss similarity index 100% rename from javascript-version/assets/styles/styles.scss rename to assets/styles/styles.scss diff --git a/javascript-version/assets/styles/variables/_template.scss b/assets/styles/variables/_template.scss similarity index 100% rename from javascript-version/assets/styles/variables/_template.scss rename to assets/styles/variables/_template.scss diff --git a/javascript-version/assets/styles/variables/_vuetify.scss b/assets/styles/variables/_vuetify.scss similarity index 100% rename from javascript-version/assets/styles/variables/_vuetify.scss rename to assets/styles/variables/_vuetify.scss diff --git a/typescript-version/components/ErrorHeader.vue b/components/ErrorHeader.vue similarity index 100% rename from typescript-version/components/ErrorHeader.vue rename to components/ErrorHeader.vue diff --git a/javascript-version/components/UpgradeToPro.vue b/components/UpgradeToPro.vue similarity index 100% rename from javascript-version/components/UpgradeToPro.vue rename to components/UpgradeToPro.vue diff --git a/typescript-version/components/VueApexCharts.client.vue b/components/VueApexCharts.client.vue similarity index 100% rename from typescript-version/components/VueApexCharts.client.vue rename to components/VueApexCharts.client.vue diff --git a/typescript-version/env.d.ts b/env.d.ts similarity index 100% rename from typescript-version/env.d.ts rename to env.d.ts diff --git a/typescript-version/error.vue b/error.vue similarity index 100% rename from typescript-version/error.vue rename to error.vue diff --git a/javascript-version/.editorconfig b/javascript-version/.editorconfig deleted file mode 100644 index 63c8c4c..0000000 --- a/javascript-version/.editorconfig +++ /dev/null @@ -1,38 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org - -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true - -# Matches multiple files with brace expansion notation -# Set default charset -[*.{js,py}] -charset = utf-8 - -# 4 space indentation -[*.py] -indent_style = space -indent_size = 4 - -# 2 space indentation -[*.{vue,scss,ts}] -indent_style = space -indent_size = 2 - -# Tab indentation (no size specified) -[Makefile] -indent_style = tab - -# Indentation override for all JS under lib directory -[lib/**.js] -indent_style = space -indent_size = 2 - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/javascript-version/.eslintrc-auto-import.json b/javascript-version/.eslintrc-auto-import.json deleted file mode 100644 index 9ec81a5..0000000 --- a/javascript-version/.eslintrc-auto-import.json +++ /dev/null @@ -1,329 +0,0 @@ -{ - "globals": { - "Component": true, - "ComponentPublicInstance": true, - "ComputedRef": true, - "DirectiveBinding": true, - "EffectScope": true, - "ExtractDefaultPropTypes": true, - "ExtractPropTypes": true, - "ExtractPublicPropTypes": true, - "InjectionKey": true, - "MaybeRef": true, - "MaybeRefOrGetter": true, - "PropType": true, - "Ref": true, - "VNode": true, - "WritableComputedRef": true, - "acceptHMRUpdate": true, - "asyncComputed": true, - "autoResetRef": true, - "computed": true, - "computedAsync": true, - "computedEager": true, - "computedInject": true, - "computedWithControl": true, - "controlledComputed": true, - "controlledRef": true, - "createApp": true, - "createEventHook": true, - "createGenericProjection": true, - "createGlobalState": true, - "createInjectionState": true, - "createPinia": true, - "createProjection": true, - "createReactiveFn": true, - "createReusableTemplate": true, - "createSharedComposable": true, - "createTemplatePromise": true, - "createUnrefFn": true, - "customRef": true, - "debouncedRef": true, - "debouncedWatch": true, - "defineAsyncComponent": true, - "defineComponent": true, - "defineStore": true, - "eagerComputed": true, - "effectScope": true, - "extendRef": true, - "getActivePinia": true, - "getCurrentInstance": true, - "getCurrentScope": true, - "h": true, - "ignorableWatch": true, - "inject": true, - "injectLocal": true, - "isDefined": true, - "isProxy": true, - "isReactive": true, - "isReadonly": true, - "isRef": true, - "logicAnd": true, - "logicNot": true, - "logicOr": true, - "makeDestructurable": true, - "mapActions": true, - "mapGetters": true, - "mapState": true, - "mapStores": true, - "mapWritableState": true, - "markRaw": true, - "nextTick": true, - "onActivated": true, - "onBeforeMount": true, - "onBeforeRouteLeave": true, - "onBeforeRouteUpdate": true, - "onBeforeUnmount": true, - "onBeforeUpdate": true, - "onClickOutside": true, - "onDeactivated": true, - "onErrorCaptured": true, - "onKeyStroke": true, - "onLongPress": true, - "onMounted": true, - "onRenderTracked": true, - "onRenderTriggered": true, - "onScopeDispose": true, - "onServerPrefetch": true, - "onStartTyping": true, - "onUnmounted": true, - "onUpdated": true, - "onWatcherCleanup": true, - "pausableWatch": true, - "provide": true, - "provideLocal": true, - "reactify": true, - "reactifyObject": true, - "reactive": true, - "reactiveComputed": true, - "reactiveOmit": true, - "reactivePick": true, - "readonly": true, - "ref": true, - "refAutoReset": true, - "refDebounced": true, - "refDefault": true, - "refThrottled": true, - "refWithControl": true, - "resolveComponent": true, - "resolveRef": true, - "resolveUnref": true, - "setActivePinia": true, - "setMapStoreSuffix": true, - "shallowReactive": true, - "shallowReadonly": true, - "shallowRef": true, - "storeToRefs": true, - "syncRef": true, - "syncRefs": true, - "templateRef": true, - "throttledRef": true, - "throttledWatch": true, - "toRaw": true, - "toReactive": true, - "toRef": true, - "toRefs": true, - "toValue": true, - "triggerRef": true, - "tryOnBeforeMount": true, - "tryOnBeforeUnmount": true, - "tryOnMounted": true, - "tryOnScopeDispose": true, - "tryOnUnmounted": true, - "unref": true, - "unrefElement": true, - "until": true, - "useAbs": true, - "useActiveElement": true, - "useAnimate": true, - "useArrayDifference": true, - "useArrayEvery": true, - "useArrayFilter": true, - "useArrayFind": true, - "useArrayFindIndex": true, - "useArrayFindLast": true, - "useArrayIncludes": true, - "useArrayJoin": true, - "useArrayMap": true, - "useArrayReduce": true, - "useArraySome": true, - "useArrayUnique": true, - "useAsyncQueue": true, - "useAsyncState": true, - "useAttrs": true, - "useAverage": true, - "useBase64": true, - "useBattery": true, - "useBluetooth": true, - "useBreakpoints": true, - "useBroadcastChannel": true, - "useBrowserLocation": true, - "useCached": true, - "useCeil": true, - "useClamp": true, - "useClipboard": true, - "useClipboardItems": true, - "useCloned": true, - "useColorMode": true, - "useConfirmDialog": true, - "useCounter": true, - "useCssModule": true, - "useCssVar": true, - "useCssVars": true, - "useCurrentElement": true, - "useCycleList": true, - "useDark": true, - "useDateFormat": true, - "useDebounce": true, - "useDebounceFn": true, - "useDebouncedRefHistory": true, - "useDeviceMotion": true, - "useDeviceOrientation": true, - "useDevicePixelRatio": true, - "useDevicesList": true, - "useDisplayMedia": true, - "useDocumentVisibility": true, - "useDraggable": true, - "useDropZone": true, - "useElementBounding": true, - "useElementByPoint": true, - "useElementHover": true, - "useElementSize": true, - "useElementVisibility": true, - "useEventBus": true, - "useEventListener": true, - "useEventSource": true, - "useEyeDropper": true, - "useFavicon": true, - "useFetch": true, - "useFileDialog": true, - "useFileSystemAccess": true, - "useFloor": true, - "useFocus": true, - "useFocusWithin": true, - "useFps": true, - "useFullscreen": true, - "useGamepad": true, - "useGeolocation": true, - "useId": true, - "useIdle": true, - "useImage": true, - "useInfiniteScroll": true, - "useIntersectionObserver": true, - "useInterval": true, - "useIntervalFn": true, - "useKeyModifier": true, - "useLastChanged": true, - "useLink": true, - "useLocalStorage": true, - "useMagicKeys": true, - "useManualRefHistory": true, - "useMath": true, - "useMax": true, - "useMediaControls": true, - "useMediaQuery": true, - "useMemoize": true, - "useMemory": true, - "useMin": true, - "useModel": true, - "useMounted": true, - "useMouse": true, - "useMouseInElement": true, - "useMousePressed": true, - "useMutationObserver": true, - "useNavigatorLanguage": true, - "useNetwork": true, - "useNow": true, - "useObjectUrl": true, - "useOffsetPagination": true, - "useOnline": true, - "usePageLeave": true, - "useParallax": true, - "useParentElement": true, - "usePerformanceObserver": true, - "usePermission": true, - "usePointer": true, - "usePointerLock": true, - "usePointerSwipe": true, - "usePrecision": true, - "usePreferredColorScheme": true, - "usePreferredContrast": true, - "usePreferredDark": true, - "usePreferredLanguages": true, - "usePreferredReducedMotion": true, - "usePrevious": true, - "useProjection": true, - "useRafFn": true, - "useRefHistory": true, - "useResizeObserver": true, - "useRound": true, - "useRoute": true, - "useRouter": true, - "useScreenOrientation": true, - "useScreenSafeArea": true, - "useScriptTag": true, - "useScroll": true, - "useScrollLock": true, - "useSessionStorage": true, - "useShare": true, - "useSlots": true, - "useSorted": true, - "useSpeechRecognition": true, - "useSpeechSynthesis": true, - "useStepper": true, - "useStorageAsync": true, - "useStyleTag": true, - "useSum": true, - "useSupported": true, - "useSwipe": true, - "useTemplateRef": true, - "useTemplateRefsList": true, - "useTextDirection": true, - "useTextSelection": true, - "useTextareaAutosize": true, - "useThrottle": true, - "useThrottleFn": true, - "useThrottledRefHistory": true, - "useTimeAgo": true, - "useTimeout": true, - "useTimeoutFn": true, - "useTimeoutPoll": true, - "useTimestamp": true, - "useTitle": true, - "useToNumber": true, - "useToString": true, - "useToggle": true, - "useTransition": true, - "useTrunc": true, - "useUrlSearchParams": true, - "useUserMedia": true, - "useVModel": true, - "useVModels": true, - "useVibrate": true, - "useVirtualList": true, - "useWakeLock": true, - "useWebNotification": true, - "useWebSocket": true, - "useWebWorker": true, - "useWebWorkerFn": true, - "useWindowFocus": true, - "useWindowScroll": true, - "useWindowSize": true, - "watch": true, - "watchArray": true, - "watchAtMost": true, - "watchDebounced": true, - "watchDeep": true, - "watchEffect": true, - "watchIgnorable": true, - "watchImmediate": true, - "watchOnce": true, - "watchPausable": true, - "watchPostEffect": true, - "watchSyncEffect": true, - "watchThrottled": true, - "watchTriggerable": true, - "watchWithFilter": true, - "whenever": true - } -} diff --git a/javascript-version/.eslintrc.cjs b/javascript-version/.eslintrc.cjs deleted file mode 100644 index b046dfd..0000000 --- a/javascript-version/.eslintrc.cjs +++ /dev/null @@ -1,238 +0,0 @@ -module.exports = { - env: { - browser: true, - es2021: true, - }, - extends: [ - '.eslintrc-auto-import.json', - 'plugin:vue/vue3-recommended', - 'plugin:import/recommended', - 'plugin:promise/recommended', - 'plugin:sonarjs/recommended', - 'plugin:case-police/recommended', - 'plugin:regexp/recommended', - - // 'plugin:unicorn/recommended', - ], - parser: 'vue-eslint-parser', - parserOptions: { - ecmaVersion: 13, - sourceType: 'module', - }, - plugins: [ - 'vue', - 'regex', - 'regexp', - ], - ignorePatterns: ['plugins/iconify/*.js', 'node_modules', 'dist', '*.d.ts', 'vendor', '*.json'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - - // indentation (Already present in TypeScript) - 'comma-spacing': ['error', { before: false, after: true }], - 'key-spacing': ['error', { afterColon: true }], - 'n/prefer-global/process': ['off'], - 'sonarjs/cognitive-complexity': ['off'], - - 'vue/first-attribute-linebreak': ['error', { - singleline: 'beside', - multiline: 'below', - }], - - - // indentation (Already present in TypeScript) - 'indent': ['error', 2], - - // Enforce trailing comma (Already present in TypeScript) - 'comma-dangle': ['error', 'always-multiline'], - - // Enforce consistent spacing inside braces of object (Already present in TypeScript) - 'object-curly-spacing': ['error', 'always'], - - // Enforce camelCase naming convention - 'camelcase': 'error', - - // Disable max-len - 'max-len': 'off', - - // we don't want it - 'semi': ['error', 'never'], - - // add parens ony when required in arrow function - 'arrow-parens': ['error', 'as-needed'], - - // add new line above comment - 'newline-before-return': 'error', - - // add new line above comment - 'lines-around-comment': [ - 'error', - { - beforeBlockComment: true, - beforeLineComment: true, - allowBlockStart: true, - allowClassStart: true, - allowObjectStart: true, - allowArrayStart: true, - - // We don't want to add extra space above closing SECTION - ignorePattern: '!SECTION', - }, - ], - - // Ignore _ as unused variable - - 'array-element-newline': ['error', 'consistent'], - 'array-bracket-newline': ['error', 'consistent'], - - 'vue/multi-word-component-names': 'off', - - 'padding-line-between-statements': [ - 'error', - { blankLine: 'always', prev: 'expression', next: 'const' }, - { blankLine: 'always', prev: 'const', next: 'expression' }, - { blankLine: 'always', prev: 'multiline-const', next: '*' }, - { blankLine: 'always', prev: '*', next: 'multiline-const' }, - ], - - // Plugin: eslint-plugin-import - 'import/prefer-default-export': 'off', - 'import/newline-after-import': ['error', { count: 1 }], - 'no-restricted-imports': ['error', 'vuetify/components', { - name: 'vue3-apexcharts', - message: 'apexcharts are auto imported', - }], - - // For omitting extension for ts files - 'import/extensions': [ - 'error', - 'ignorePackages', - { - js: 'never', - jsx: 'never', - ts: 'never', - tsx: 'never', - }, - ], - - // ignore virtual files - 'import/no-unresolved': [2, { - ignore: [ - '~pages$', - 'virtual:generated-layouts', - '#auth$', - '#components$', - - // Ignore vite's ?raw imports - '.*\?raw', - ], - }], - - // Thanks: https://stackoverflow.com/a/63961972/10796681 - 'no-shadow': 'off', - - - // Plugin: eslint-plugin-promise - 'promise/always-return': 'off', - 'promise/catch-or-return': 'off', - - // ESLint plugin vue - 'vue/block-tag-newline': 'error', - 'vue/component-api-style': 'error', - 'vue/component-name-in-template-casing': ['error', 'PascalCase', { registeredComponentsOnly: false, ignores: ['/^swiper-/'] }], - 'vue/custom-event-name-casing': ['error', 'camelCase', { - ignores: [ - '/^(click):[a-z]+((\d)|([A-Z0-9][a-z0-9]+))*([A-Z])?/', - ], - }], - 'vue/define-macros-order': 'error', - 'vue/html-comment-content-newline': 'error', - 'vue/html-comment-content-spacing': 'error', - 'vue/html-comment-indent': 'error', - 'vue/match-component-file-name': 'error', - 'vue/no-child-content': 'error', - 'vue/require-default-prop': 'off', - - 'vue/no-duplicate-attr-inheritance': 'error', - 'vue/no-empty-component-block': 'error', - 'vue/no-multiple-objects-in-class': 'error', - 'vue/no-reserved-component-names': 'error', - 'vue/no-template-target-blank': 'error', - 'vue/no-useless-mustaches': 'error', - 'vue/no-useless-v-bind': 'error', - 'vue/padding-line-between-blocks': 'error', - 'vue/prefer-separate-static-class': 'error', - 'vue/prefer-true-attribute-shorthand': 'error', - 'vue/v-on-function-call': 'error', - 'vue/no-restricted-class': ['error', '/^(p|m)(l|r)-/'], - 'vue/valid-v-slot': ['error', { - allowModifiers: true, - }], - - // -- Extension Rules - 'vue/no-irregular-whitespace': 'error', - 'vue/template-curly-spacing': 'error', - - // -- Sonarlint - 'sonarjs/no-duplicate-string': 'off', - 'sonarjs/no-nested-template-literals': 'off', - - // -- Unicorn - // 'unicorn/filename-case': 'off', - // 'unicorn/prevent-abbreviations': ['error', { - // replacements: { - // props: false, - // }, - // }], - - // Internal Rules - - // https://github.com/gmullerb/eslint-plugin-regex - 'regex/invalid': [ - 'error', - [ - { - regex: '@/assets/images', - replacement: '@images', - message: 'Use \'@images\' path alias for image imports', - }, - { - regex: '@/assets/styles', - replacement: '@styles', - message: 'Use \'@styles\' path alias for importing styles from \'assets/styles\'', - }, - - { - id: 'Disallow icon of icon library', - regex: 'tabler-\\w', - message: 'Only \'mdi\' icons are allowed', - }, - - { - regex: '@core/\\w', - message: 'You can\'t use @core when you are in @layouts module', - files: { - inspect: '@layouts/.*', - }, - }, - { - regex: 'useLayouts\\(', - message: '`useLayouts` composable is only allowed in @layouts & @core directory. Please use `useThemeConfig` composable instead.', - files: { - inspect: '^(?!.*(@core|@layouts)).*', - }, - }, - ], - - // Ignore files - '\.eslintrc\.cjs', - ], - }, - settings: { - 'import/resolver': { - node: true, - typescript: { project: './jsconfig.json' }, - }, - }, -} diff --git a/javascript-version/.gitattributes b/javascript-version/.gitattributes deleted file mode 100644 index 93c1acf..0000000 --- a/javascript-version/.gitattributes +++ /dev/null @@ -1,207 +0,0 @@ -## GITATTRIBUTES FOR WEB PROJECTS -# -# These settings are for any web project. -# -# Details per file setting: -# text These files should be normalized (i.e. convert CRLF to LF). -# binary These files are binary and should be left untouched. -# -# Note that binary is a macro for -text -diff. -###################################################################### - -# Auto detect -## Handle line endings automatically for files detected as -## text and leave all files detected as binary untouched. -## This will handle all files NOT defined below. -* text=auto - -# Source code -*.bash text eol=lf -*.bat text eol=crlf -*.cmd text eol=crlf -*.coffee text -*.css text diff=css -*.htm text diff=html -*.html text diff=html -*.inc text -*.ini text -*.js text -*.json text -*.jsx text -*.less text -*.ls text -*.map text -diff -*.od text -*.onlydata text -*.php text diff=php -*.pl text -*.ps1 text eol=crlf -*.py text diff=python -*.rb text diff=ruby -*.sass text -*.scm text -*.scss text diff=css -*.sh text eol=lf -.husky/* text eol=lf -*.sql text -*.styl text -*.tag text -*.ts text -*.tsx text -*.xml text -*.xhtml text diff=html - -# Docker -Dockerfile text - -# Documentation -*.ipynb text eol=lf -*.markdown text diff=markdown -*.md text diff=markdown -*.mdwn text diff=markdown -*.mdown text diff=markdown -*.mkd text diff=markdown -*.mkdn text diff=markdown -*.mdtxt text -*.mdtext text -*.txt text -AUTHORS text -CHANGELOG text -CHANGES text -CONTRIBUTING text -COPYING text -copyright text -*COPYRIGHT* text -INSTALL text -license text -LICENSE text -NEWS text -readme text -*README* text -TODO text - -# Templates -*.dot text -*.ejs text -*.erb text -*.haml text -*.handlebars text -*.hbs text -*.hbt text -*.jade text -*.latte text -*.mustache text -*.njk text -*.phtml text -*.svelte text -*.tmpl text -*.tpl text -*.twig text -*.vue text - -# Configs -*.cnf text -*.conf text -*.config text -.editorconfig text -.env text -.gitattributes text -.gitconfig text -.htaccess text -*.lock text -diff -package.json text eol=lf -package-lock.json text eol=lf -diff -pnpm-lock.yaml text eol=lf -diff -.prettierrc text -yarn.lock text -diff -*.toml text -*.yaml text -*.yml text -browserslist text -Makefile text -makefile text - -# Heroku -Procfile text - -# Graphics -*.ai binary -*.bmp binary -*.eps binary -*.gif binary -*.gifv binary -*.ico binary -*.jng binary -*.jp2 binary -*.jpg binary -*.jpeg binary -*.jpx binary -*.jxr binary -*.pdf binary -*.png binary -*.psb binary -*.psd binary -# SVG treated as an asset (binary) by default. -*.svg text -# If you want to treat it as binary, -# use the following line instead. -# *.svg binary -*.svgz binary -*.tif binary -*.tiff binary -*.wbmp binary -*.webp binary - -# Audio -*.kar binary -*.m4a binary -*.mid binary -*.midi binary -*.mp3 binary -*.ogg binary -*.ra binary - -# Video -*.3gpp binary -*.3gp binary -*.as binary -*.asf binary -*.asx binary -*.avi binary -*.fla binary -*.flv binary -*.m4v binary -*.mng binary -*.mov binary -*.mp4 binary -*.mpeg binary -*.mpg binary -*.ogv binary -*.swc binary -*.swf binary -*.webm binary - -# Archives -*.7z binary -*.gz binary -*.jar binary -*.rar binary -*.tar binary -*.zip binary - -# Fonts -*.ttf binary -*.eot binary -*.otf binary -*.woff binary -*.woff2 binary - -# Executables -*.exe binary -*.pyc binary - -# RC files (like .babelrc or .eslintrc) -*.*rc text - -# Ignore files (like .npmignore or .gitignore) -*.*ignore text diff --git a/javascript-version/.gitignore b/javascript-version/.gitignore deleted file mode 100644 index 1034778..0000000 --- a/javascript-version/.gitignore +++ /dev/null @@ -1,50 +0,0 @@ -# Nuxt dev/build outputs -.output -.data -.nuxt -.nitro -.cache -dist - -# Node dependencies -node_modules - -# Logs -logs -*.log - -# Misc -.DS_Store -.fleet -.idea - -# Local env files -.env -.env.* -!.env.example - -# 👉 Custom Git ignores - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -!.vscode/settings.json -!.vscode/*.code-snippets -!.vscode/tours -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? -.yarn - -# iconify dist files -plugins/iconify/icons.css - -# Ignore MSW script -public/mockServiceWorker.js - -# Env files -.env* -!.env.example diff --git a/javascript-version/.npmrc b/javascript-version/.npmrc deleted file mode 100644 index 4b10cef..0000000 --- a/javascript-version/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -auto-install-peers=true -shamefully-hoist=true diff --git a/javascript-version/.nvmrc b/javascript-version/.nvmrc deleted file mode 100644 index b009dfb..0000000 --- a/javascript-version/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -lts/* diff --git a/javascript-version/.stylelintrc.json b/javascript-version/.stylelintrc.json deleted file mode 100644 index ecf5829..0000000 --- a/javascript-version/.stylelintrc.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "extends": [ - "stylelint-config-standard-scss", - "stylelint-config-idiomatic-order", - "@stylistic/stylelint-config" - ], - "plugins": [ - "stylelint-use-logical-spec", - "@stylistic/stylelint-plugin" - ], - "overrides": [ - { - "files": [ - "**/*.scss" - ], - "customSyntax": "postcss-scss" - }, - { - "files": [ - "**/*.vue" - ], - "customSyntax": "postcss-html" - } - ], - "rules": { - "@stylistic/max-line-length": [ - 220, - { - "ignore": "comments" - } - ], - "@stylistic/indentation": 2, - "liberty/use-logical-spec": true, - "selector-class-pattern": null, - "color-function-notation": null, - "annotation-no-unknown": [ - true, - { - "ignoreAnnotations": [ - "default" - ] - } - ], - "media-feature-range-notation": null - } -} diff --git a/javascript-version/.vscode/anchor-comments.code-snippets b/javascript-version/.vscode/anchor-comments.code-snippets deleted file mode 100644 index 7342c88..0000000 --- a/javascript-version/.vscode/anchor-comments.code-snippets +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Add hand emoji": { - "prefix": "cm-hand-emoji", - "body": [ - "👉" - ], - "description": "Add hand emoji" - }, - "Add info emoji": { - "prefix": "cm-info-emoji", - "body": [ - "ℹ️" - ], - "description": "Add info emoji" - }, - "Add warning emoji": { - "prefix": "cm-warning-emoji", - "body": [ - "❗" - ], - "description": "Add warning emoji" - } -} diff --git a/javascript-version/.vscode/extensions.json b/javascript-version/.vscode/extensions.json deleted file mode 100644 index 27843f1..0000000 --- a/javascript-version/.vscode/extensions.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "recommendations": [ - "dbaeumer.vscode-eslint", - "editorconfig.editorconfig", - "xabikos.javascriptsnippets", - "stylelint.vscode-stylelint", - "fabiospampinato.vscode-highlight", - "github.vscode-pull-request-github", - "vue.volar", - "antfu.iconify", - "cipchk.cssrem", - "matijao.vue-nuxt-snippets", - "dongido.sync-env" - ] -} diff --git a/javascript-version/.vscode/settings.json b/javascript-version/.vscode/settings.json deleted file mode 100644 index b0e0580..0000000 --- a/javascript-version/.vscode/settings.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "editor.formatOnSave": true, - "files.insertFinalNewline": true, - "javascript.updateImportsOnFileMove.enabled": "always", - "[javascript]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint" - }, - "[typescript]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint", - "editor.autoClosingBrackets": "always" - }, - "[markdown]": { - "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" - }, - // SCSS - "[scss]": { - "editor.defaultFormatter": "stylelint.vscode-stylelint" - }, - // JSON - "[json]": { - "editor.defaultFormatter": "vscode.json-language-features" - }, - "[jsonc]": { - "editor.defaultFormatter": "vscode.json-language-features" - }, - // Vue - "[vue]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint", - }, - // Extension: Volar - "volar.preview.port": 3000, - "volar.completion.preferredTagNameCase": "pascal", - // Extension: ESLint - "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit", - "source.fixAll.stylelint": "explicit", - "source.organizeImports": "explicit" - }, - "eslint.alwaysShowStatus": true, - "eslint.format.enable": true, - "eslint.packageManager": "pnpm", - // Extension: Stylelint - "stylelint.packageManager": "pnpm", - "stylelint.validate": [ - "css", - "scss", - "vue" - ], - // Extension: Spell Checker - "cSpell.words": [ - "Composables", - "Customizer", - "destr", - "flagpack", - "Iconify", - "ofetch", - "psudo", - "stylelint", - "touchless", - "triggerer", - "vuetify", - "nuxt" - ], - // Extension: Comment Anchors - "commentAnchors.tags.anchors": { - "ℹ️": { - "scope": "hidden", - // This color is taken from "Better Comments" Extension (?) - "highlightColor": "#3498DB", - "styleComment": true, - "isItalic": false, - }, - "👉": { - "scope": "file", - // This color is taken from "Better Comments" Extension (*) - "highlightColor": "#98C379", - "styleComment": true, - "isItalic": false - }, - "❗": { - "scope": "hidden", - // This color is taken from "Better Comments" Extension (*) - "highlightColor": "#FF2D00", - "styleComment": true, - "isItalic": false, - }, - }, - // Extension: fabiospampinato.vscode-highlight - "highlight.regexFlags": "gi", - "highlight.regexes": { - // We flaged this for enforcing logical CSS properties - "(100vh|translate|margin:|padding:|margin-left|margin-right|rotate|text-align|border-top|border-right|border-bottom|border-left|float|background-position|transform|width|height|top|left|bottom|right|float|clear|(p|m)(l|r)-|border-(start|end)-(start|end)-radius)": [ - { - // "rangeBehavior": 1, - "borderWidth": "1px", - "borderColor": "tomato", - "borderStyle": "solid" - } - ], - "(overflow-x:|overflow-y:)": [ - { - // "rangeBehavior": 1, - "borderWidth": "1px", - "borderColor": "green", - "borderStyle": "solid" - } - ] - } -} diff --git a/javascript-version/.vscode/vue-ts.code-snippets b/javascript-version/.vscode/vue-ts.code-snippets deleted file mode 100644 index 360713a..0000000 --- a/javascript-version/.vscode/vue-ts.code-snippets +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Vue TS - DefineProps": { - "prefix": "dprops", - "body": [ - "defineProps<${1:Props}>()" - ], - "description": "DefineProps in script setup" - }, - "Vue TS - Props interface": { - "prefix": "iprops", - "body": [ - "interface Props {", - " ${1}", - "}" - ], - "description": "Create props interface in script setup" - } -} diff --git a/javascript-version/.vscode/vue.code-snippets b/javascript-version/.vscode/vue.code-snippets deleted file mode 100644 index 814d167..0000000 --- a/javascript-version/.vscode/vue.code-snippets +++ /dev/null @@ -1,63 +0,0 @@ -{ - "script": { - "prefix": "vue-sfc-ts", - "body": [ - "", - "", - "", - "", - "", - "" - ], - "description": "Vue SFC Typescript" - }, - "template": { - "scope": "vue", - "prefix": "template", - "body": [ - "" - ], - "description": "Create