web/satellite: vuetify POC

Built side Vuetify subproject inside web/satellite with limited functinality.
For now it has navigation side bar, simple project dashboard and team page (where you can list/add team members).

Issue:
https://github.com/storj/storj/issues/5854

Change-Id: I9ff3e80b8ace1dc31de6a788174c5ffc19f050f8
This commit is contained in:
Vitalii 2023-06-08 16:52:40 +03:00 committed by Storj Robot
parent f3c58174c4
commit e83e98e46a
122 changed files with 3496 additions and 387 deletions

View File

@ -102,6 +102,7 @@ type Config struct {
PricingPackagesEnabled bool `help:"whether to allow purchasing pricing packages" default:"false" devDefault:"true"`
NewUploadModalEnabled bool `help:"whether to show new upload modal" default:"false"`
GalleryViewEnabled bool `help:"whether to show new gallery view" default:"false"`
UseVuetifyProject bool `help:"whether to use vuetify POC project" default:"false"`
OauthCodeExpiry time.Duration `help:"how long oauth authorization codes are issued for" default:"10m"`
OauthAccessTokenExpiry time.Duration `help:"how long oauth access tokens are issued for" default:"24h"`
@ -436,7 +437,13 @@ func (server *Server) appHandler(w http.ResponseWriter, r *http.Request) {
header.Set("X-Content-Type-Options", "nosniff")
header.Set("Referrer-Policy", "same-origin") // Only expose the referring url when navigating around the satellite itself.
path := filepath.Join(server.config.StaticDir, "dist", "index.html")
var path string
if server.config.UseVuetifyProject {
path = filepath.Join(server.config.StaticDir, "dist_vuetify_poc", "index-vuetify.html")
} else {
path = filepath.Join(server.config.StaticDir, "dist", "index.html")
}
file, err := os.Open(path)
if err != nil {
if errors.Is(err, fs.ErrNotExist) {

View File

@ -394,6 +394,9 @@ compensation.withheld-percents: 75,75,75,50,50,50,25,25,25,0,0,0,0,0,0
# the default paid-tier storage usage limit
# console.usage-limits.storage.paid: 25.00 TB
# whether to use vuetify POC project
# console.use-vuetify-project: false
# whether to load templates on each request
# console.watch: false

View File

@ -1,3 +1,4 @@
dist
dist_vuetify_poc
node_modules
coverage

View File

@ -1,6 +1,7 @@
.DS_Store
node_modules
dist
dist_vuetify_poc
coverage
temp
@ -29,4 +30,4 @@ yarn-error.log*
*.ntvs*
*.njsproj
*.sln
*.sw*
*.sw*

View File

@ -7,6 +7,7 @@
!*.sass
dist
dist_vuetify_poc
node_modules
coverage
Dockerfile

View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACDVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////8nbP8obf8pbf8qbv8rb/8sb/8tcP8ucf8vcf8vcv8xc/8zdP81df81dv82dv83d/84eP85eP86ef87ev89e/8+fP8/fP9Aff9Bfv9Cfv9Df/9EgP9FgP9Ggf9Hgv9Jg/9LhP9Mhf9Nhv9Oh/9Ph/9RiP9Rif9Sif9Ui/9Vi/9WjP9Xjf9Yjf9aj/9dkf9ekf9ilP9jlf9llv9nl/9omP9rmv9sm/9tnP9vnf9wnv9yn/91of92ov93o/94o/98pv9/qP+Bqf+Cqv+Eq/+FrP+Hrf+Irv+Jr/+Kr/+Msf+Nsv+Stf+Ttf+Ttv+Utv+Vt/+WuP+XuP+Zuf+Zuv+hv/+kwf+lwv+mwv+nw/+oxP+pxP+pxf+qxf+rxv+yy/+0zP+1zf+3zv+4z/+60P+70f+90v+/0/+/1P/B1f/D1v/E1//F1//F2P/G2P/H2f/I2v/J2v/K2//L3P/P3v/Q3//R4P/S4P/V4v/V4//W4//X5P/Y5P/b5v/b5//c5//d6P/e6f/f6f/g6v/h6//j7P/k7f/l7f/m7v/q8f/r8f/u8//w9f/x9f/x9v/z9//0+P/2+f/3+f/3+v/4+v/5+//6/P/8/f/9/v/+/v////9uCbVDAAAAFXRSTlMABAU4Ozw9PpSWl5ilp6ip4+Tl/P6nIcp/AAAAAWJLR0SuuWuTpwAAAh5JREFUOMtjYGBgYOcXEl6HAYSF+FgZQICJex1OwMkEVIAi3+Xh1ozM5wKaj8xfpBwcITsbWYSNgR+JtzpJYvU6jbAVSEK8DEIITpOZqnxItISWfgVCTJAB7v4ZXpKRC9uMNCqXJci6TID7hQFMrV2zJE7abTKQFesDJGb7SYTOX7sGLAVWUKCgrGZcDeaDFaxb12alqC6XDlMwTyKnRLJ1HbKCddNEc0skJkAVdEssXatRiKqgVmLlatUqqILVpuaOEnLJy4GsIhONuHlAOldVwtJWcwnMDb2i4dPKdHVKV3uqRCdYqU9psVDOmh0vUQN35FTRhevWLU+V0FeZBdTtpSQRvgAoKtuMqmBdpKxvKYjXJ+o+cx0WBRPFO6ABHuesMheLghIdePiutc7AoqBLchZchVMSFgUr9HTS8sEgL1C0E1XBRNGUeeV6OlFONjbqSjY2Nv7mKjnzMyXqYQrW2OsYS8smLkOE5OpsFSkdQ6PlUAU9EgtXq6MFdZ3EkpVKNVAFc8TKW6QbURVMFK1slOyGuSFdUkLOoQtZwSRXaRmpKLgj1y1eMjdIImguTMHCCAnvGcuXQhIMPMl1O8hnrOy31GtfnaNi3oRIcohEu7ZY20DZK0DGTCV7NVKi5UVK40vDJVatU/dfgCTEw8AsgsSdLx+TKjUdOeMAsycnMr/BzrIcmc8ByrycuDMvByM4f7PyCmLL/gK8LEBJALYsGEdXEyupAAAAAElFTkSuQmCC" type="image/x-icon">
<link rel="dns-prefetch" href="https://js.stripe.com">
</head>
<body>
<div id="app"></div>
<script type="module" src="/vuetify-poc/src/main.ts"></script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,10 @@
"scripts": {
"preview": "vite preview",
"dev": "vite",
"build": "vite build",
"build-watch": "NODE_ENV=development vite build --watch",
"build": "vite build -c vite.config.js",
"build-watch": "NODE_ENV=development vite build -c vite.config.js --watch",
"build-vuetify": "vite build -c vite.config-vuetify.js",
"build-vuetify-watch": "NODE_ENV=development vite build -c vite.config-vuetify.js --watch",
"lint": "eslint --ext .js,.ts,.vue src --fix && stylelint . --max-warnings 0 --fix",
"lint-ci": "eslint --ext .js,.ts,.vue src --no-fix && stylelint . --max-warnings 0 --no-fix",
"wasm": "chmod +x ./scripts/build-wasm.sh && ./scripts/build-wasm.sh",
@ -20,6 +22,7 @@
"@aws-sdk/s3-request-presigner": "3.338.0",
"@aws-sdk/signature-v4": "3.338.0",
"@hcaptcha/vue3-hcaptcha": "1.2.1",
"@mdi/font": "7.0.96",
"bip39-english": "2.5.0",
"chart.js": "4.2.1",
"graphql": "15.3.0",
@ -31,7 +34,8 @@
"util": "0.12.5",
"vue": "3.3.2",
"vue-datepicker-next": "1.0.3",
"vue-router": "4.2.0"
"vue-router": "4.2.0",
"vuetify": "3.3.2"
},
"devDependencies": {
"@types/filesystem": "0.0.32",
@ -50,19 +54,21 @@
"postcss-html": "1.5.0",
"rollup-plugin-visualizer": "5.9.0",
"sass": "1.62.1",
"stylelint": "15.6.1",
"stylelint": "15.7.0",
"stylelint-config-standard": "33.0.0",
"stylelint-config-standard-scss": "9.0.0",
"stylelint-config-standard-vue": "1.0.0",
"stylelint-scss": "5.0.0",
"stylelint-scss": "5.0.1",
"typescript": "4.9.5",
"vite": "4.3.9",
"vite-plugin-compression": "0.5.1",
"vite-plugin-require": "1.1.10",
"vite-plugin-vuetify": "1.0.2",
"vite-svg-loader": "4.0.0",
"vitest": "0.31.1",
"vitest-fetch-mock": "0.2.2",
"vue-eslint-parser": "9.3.0"
"vue-eslint-parser": "9.3.0",
"webfontloader": "1.6.28"
},
"browserslist": [
"defaults"

View File

@ -161,7 +161,7 @@ import { useRouter } from 'vue-router';
import AccessGrantsHeader from './AccessGrantsHeader.vue';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AccessGrant } from '@/types/accessGrants';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';

View File

@ -111,7 +111,7 @@ import { generateMnemonic } from 'bip39-english';
import { useRoute, useRouter } from 'vue-router';
import { useNotify } from '@/utils/hooks';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import {
AccessType,
CreateAccessStep,

View File

@ -70,7 +70,7 @@ import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { Download } from '@/utils/download';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AccessType } from '@/types/createAccessGrant';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import VButton from '@/components/common/VButton.vue';
import ButtonsContainer from '@/components/accessGrants/createFlow/components/ButtonsContainer.vue';

View File

@ -75,7 +75,7 @@ import { useNotify } from '@/utils/hooks';
import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { Download } from '@/utils/download';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useConfigStore } from '@/store/modules/configStore';
import VButton from '@/components/common/VButton.vue';

View File

@ -82,7 +82,7 @@ import { useNotify } from '@/utils/hooks';
import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { Download } from '@/utils/download';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { EdgeCredentials } from '@/types/accessGrants';
import VButton from '@/components/common/VButton.vue';

View File

@ -43,7 +43,7 @@
import { computed, onMounted } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';
import { APP_STATE_DROPDOWNS } from '@/utils/constants/appStatePopUps';

View File

@ -93,7 +93,7 @@ import { computed, onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { centsToDollars } from '@/utils/strings';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { SHORT_MONTHS_NAMES } from '@/utils/constants/date';
import { AccountBalance } from '@/types/payments';
import { AnalyticsHttpApi } from '@/api/analytics';

View File

@ -186,7 +186,7 @@ import {
Wallet,
NativePaymentHistoryItem,
} from '@/types/payments';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { useNotify } from '@/utils/hooks';

View File

@ -205,7 +205,7 @@ import BreadCrumbs from './BreadCrumbs.vue';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useNotify } from '@/utils/hooks';
import { Bucket } from '@/types/buckets';
import { MODALS } from '@/utils/constants/appStatePopUps';

View File

@ -100,7 +100,7 @@ import { BrowserObject, useObjectBrowserStore } from '@/store/modules/objectBrow
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';
import { useAppStore } from '@/store/modules/appStore';
import { useNotify } from '@/utils/hooks';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import ButtonIcon from '@/components/browser/galleryView/ButtonIcon.vue';
import OptionsDropdown from '@/components/browser/galleryView/OptionsDropdown.vue';

View File

@ -67,7 +67,7 @@
import { computed, ref } from 'vue';
import { useRoute } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';
import { useBillingStore } from '@/store/modules/billingStore';

View File

@ -53,7 +53,7 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useNotify } from '@/utils/hooks';
import VButton from '@/components/common/VButton.vue';

View File

@ -13,7 +13,7 @@
</template>
<script setup lang="ts">
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useAppStore } from '@/store/modules/appStore';

View File

@ -66,7 +66,7 @@ import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { useNotify } from '@/utils/hooks';

View File

@ -57,7 +57,7 @@
import { computed, onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { useNotify } from '@/utils/hooks';

View File

@ -63,7 +63,7 @@
import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { ProjectFields } from '@/types/projects';
import { LocalData } from '@/utils/localData';
import { AnalyticsHttpApi } from '@/api/analytics';

View File

@ -50,7 +50,7 @@ import { useNotify } from '@/utils/hooks';
import { ProjectInvitation, ProjectInvitationResponse } from '@/types/projects';
import { AnalyticsHttpApi } from '@/api/analytics';
import { LocalData } from '@/utils/localData';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import VModal from '@/components/common/VModal.vue';
import VButton from '@/components/common/VButton.vue';

View File

@ -78,7 +78,7 @@
import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { ProjectFields } from '@/types/projects';
import { LocalData } from '@/utils/localData';
import { AnalyticsHttpApi } from '@/api/analytics';

View File

@ -61,7 +61,7 @@
import { computed, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';
import { Bucket } from '@/types/buckets';

View File

@ -81,7 +81,7 @@
import { computed, ref, watch } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { PricingPlanInfo, PricingPlanType } from '@/types/common';
import { useNotify } from '@/utils/hooks';
import { useUsersStore } from '@/store/modules/usersStore';

View File

@ -53,7 +53,7 @@
import { computed } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { Project } from '@/types/projects';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';

View File

@ -42,7 +42,7 @@ import { generateMnemonic } from 'bip39-english';
import { useRoute, useRouter } from 'vue-router';
import { useNotify } from '@/utils/hooks';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { EdgeCredentials } from '@/types/accessGrants';
import { useAppStore } from '@/store/modules/appStore';
import { useBucketsStore } from '@/store/modules/bucketsStore';

View File

@ -34,7 +34,7 @@ import { ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useNotify } from '@/utils/hooks';
import { useBillingStore } from '@/store/modules/billingStore';
import { useUsersStore } from '@/store/modules/usersStore';

View File

@ -56,7 +56,7 @@ import { computed, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { User } from '@/types/users';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AuthHttpApi } from '@/api/auth';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';

View File

@ -176,7 +176,7 @@ import { useRoute, useRouter } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { NavigationLink } from '@/types/navigation';
import { Project } from '@/types/projects';
import { User } from '@/types/users';

View File

@ -84,7 +84,7 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { NavigationLink } from '@/types/navigation';
import { APP_STATE_DROPDOWNS } from '@/utils/constants/appStatePopUps';
import { useAppStore } from '@/store/modules/appStore';

View File

@ -71,7 +71,7 @@ import { computed, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { LocalData } from '@/utils/localData';
import { Project } from '@/types/projects';

View File

@ -46,7 +46,7 @@ import { useRoute, useRouter } from 'vue-router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { User } from '@/types/users';
import { AccessType } from '@/types/createAccessGrant';
import { MODALS } from '@/utils/constants/appStatePopUps';

View File

@ -42,7 +42,7 @@ import { useRoute } from 'vue-router';
import { DelayedNotification } from '@/types/DelayedNotification';
import { useNotificationsStore } from '@/store/modules/notificationsStore';
import { useConfigStore } from '@/store/modules/configStore';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import CloseIcon from '@/../static/images/notifications/close.svg';

View File

@ -19,7 +19,7 @@
<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useAppStore } from '@/store/modules/appStore';
import VBanner from '@/components/common/VBanner.vue';

View File

@ -25,7 +25,7 @@ import { computed, onBeforeMount, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { Bucket } from '@/types/buckets';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MONTHS_NAMES } from '@/utils/constants/date';
import { AnalyticsHttpApi } from '@/api/analytics';
import { MODALS } from '@/utils/constants/appStatePopUps';

View File

@ -32,7 +32,7 @@
import { computed, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { Bucket } from '@/types/buckets';
import { LocalData } from '@/utils/localData';
import { MODALS } from '@/utils/constants/appStatePopUps';

View File

@ -30,7 +30,7 @@
import { computed, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { useAppStore } from '@/store/modules/appStore';
import { useObjectBrowserStore } from '@/store/modules/objectBrowserStore';

View File

@ -71,7 +71,7 @@ import { computed, onBeforeUnmount, ref } from 'vue';
import { useRouter } from 'vue-router';
import { BucketPage } from '@/types/buckets';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useNotify } from '@/utils/hooks';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';

View File

@ -11,7 +11,7 @@
import { onMounted } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useConfigStore } from '@/store/modules/configStore';

View File

@ -15,7 +15,7 @@ import { computed, onBeforeMount, ref, watch } from 'vue';
import { useRouter } from 'vue-router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AccessGrant, EdgeCredentials } from '@/types/accessGrants';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { MODALS } from '@/utils/constants/appStatePopUps';

View File

@ -31,7 +31,7 @@ import { onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { useNotify } from '@/utils/hooks';

View File

@ -22,7 +22,7 @@
import { onBeforeMount, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { PricingPlanInfo, PricingPlanType } from '@/types/common';
import { User } from '@/types/users';
import { useNotify } from '@/utils/hooks';

View File

@ -28,7 +28,7 @@
import { computed, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AccessGrant } from '@/types/accessGrants';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';

View File

@ -42,7 +42,7 @@
import { computed, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useNotify } from '@/utils/hooks';

View File

@ -24,7 +24,7 @@
import { computed, onMounted } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useAppStore } from '@/store/modules/appStore';
import { useConfigStore } from '@/store/modules/configStore';

View File

@ -126,7 +126,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -34,7 +34,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -33,7 +33,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -32,7 +32,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -32,7 +32,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -15,7 +15,7 @@
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
const route = useRoute();

View File

@ -42,7 +42,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -32,7 +32,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { AnalyticsErrorEventSource } from '@/utils/constants/analyticsEventNames';
import { useNotify } from '@/utils/hooks';

View File

@ -37,7 +37,7 @@
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import CLIFlowContainer from '@/components/onboardingTour/steps/common/CLIFlowContainer.vue';

View File

@ -63,7 +63,7 @@
import { ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { ProjectFields } from '@/types/projects';
import { LocalData } from '@/utils/localData';
import { AnalyticsHttpApi } from '@/api/analytics';

View File

@ -66,7 +66,7 @@ import { useRouter } from 'vue-router';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { BucketPage } from '@/types/buckets';
import { ProjectLimits } from '@/types/projects';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { LocalData } from '@/utils/localData';
import { useAppStore } from '@/store/modules/appStore';
import { useBucketsStore } from '@/store/modules/bucketsStore';

View File

@ -94,7 +94,7 @@ import { Size } from '@/utils/bytesSize';
import { Coupon, ProjectCharges } from '@/types/payments';
import { centsToDollars } from '@/utils/strings';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import LimitCard from '@/components/project/dashboard/LimitCard.vue';

View File

@ -172,7 +172,7 @@
import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { DataStamp, Project, ProjectLimits } from '@/types/projects';
import { Dimensions, Size } from '@/utils/bytesSize';
import { ChartUtils } from '@/utils/chart';

View File

@ -49,7 +49,7 @@
import { computed, onMounted, ref } from 'vue';
import { useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { Project, ProjectsPage } from '@/types/projects';
import { LocalData } from '@/utils/localData';
import { AnalyticsHttpApi } from '@/api/analytics';

View File

@ -7,6 +7,7 @@ import { NavigationLink } from '@/types/navigation';
import { useAppStore } from '@/store/modules/appStore';
import { useProjectsStore } from '@/store/modules/projectsStore';
import { useConfigStore } from '@/store/modules/configStore';
import { RouteConfig } from '@/types/router';
import AllDashboardArea from '@/views/all-dashboard/AllDashboardArea.vue';
import MyProjects from '@/views/all-dashboard/components/MyProjects.vue';
@ -53,75 +54,7 @@ const LoginArea = () => import('@/views/LoginArea.vue');
const RegisterArea = () => import('@/views/registration/RegisterArea.vue');
const ResetPassword = () => import('@/views/ResetPassword.vue');
/**
* RouteConfig contains information about all routes and subroutes
*/
export abstract class RouteConfig {
// root paths
public static Root = new NavigationLink('/', 'Root');
public static AllProjectsDashboard = new NavigationLink('/all-projects', 'All Projects');
public static Login = new NavigationLink('/login', 'Login');
public static Register = new NavigationLink('/signup', 'Register');
public static RegisterSuccess = new NavigationLink('/signup-success', 'RegisterSuccess');
public static Activate = new NavigationLink('/activate', 'Activate');
public static ForgotPassword = new NavigationLink('/forgot-password', 'Forgot Password');
public static ResetPassword = new NavigationLink('/password-recovery', 'Reset Password');
public static Authorize = new NavigationLink('/oauth/v2/authorize', 'Authorize');
public static Account = new NavigationLink('/account', 'Account');
public static AccountSettings = new NavigationLink('/account-settings', 'Account Settings');
public static ProjectDashboard = new NavigationLink('/project-dashboard', 'Dashboard');
public static Team = new NavigationLink('/team', 'Team');
public static OnboardingTour = new NavigationLink('/onboarding-tour', 'Onboarding Tour');
public static CreateProject = new NavigationLink('/create-project', 'Create Project');
public static EditProjectDetails = new NavigationLink('/edit-project-details', 'Edit Project Details');
public static AccessGrants = new NavigationLink('/access-grants', 'Access');
public static ProjectsList = new NavigationLink('/projects', 'Projects');
public static Buckets = new NavigationLink('/buckets', 'Buckets');
// account child paths
public static Settings = new NavigationLink('settings', 'Settings');
public static Settings2 = new NavigationLink('settings', 'Settings 2');
public static Billing = new NavigationLink('billing', 'Billing');
public static Billing2 = new NavigationLink('billing', 'Account Billing');
public static BillingOverview = new NavigationLink('overview', 'Overview');
// this duplicates the path of BillingOverview so that they can be used interchangeably in BillingArea.vue
public static BillingOverview2 = new NavigationLink('overview', 'Billing Overview');
public static BillingPaymentMethods = new NavigationLink('payment-methods', 'Payment Methods');
// this duplicates the path of BillingPaymentMethods so that they can be used interchangeably in BillingArea.vue
public static BillingPaymentMethods2 = new NavigationLink('payment-methods', 'Payment Methods 2');
public static BillingHistory = new NavigationLink('billing-history', 'Billing History');
// this duplicates the path of BillingHistory so that they can be used interchangeably in BillingArea.vue
public static BillingHistory2 = new NavigationLink('billing-history', 'Billing History 2');
public static BillingCoupons = new NavigationLink('coupons', 'Coupons');
public static BillingCoupons2 = new NavigationLink('coupons', 'Billing Coupons');
// access grant child paths
public static CreateAccessModal = new NavigationLink('create-access-modal', 'Create Access Modal');
// onboarding tour child paths
public static PricingPlanStep = new NavigationLink('pricing', 'Pricing Plan');
public static OverviewStep = new NavigationLink('overview', 'Onboarding Overview');
public static OnbCLIStep = new NavigationLink('cli', 'Onboarding CLI');
public static AGName = new NavigationLink('ag-name', 'Onboarding AG Name');
public static AGPermissions = new NavigationLink('ag-permissions', 'Onboarding AG Permissions');
public static APIKey = new NavigationLink('api-key', 'Onboarding API Key');
public static CLIInstall = new NavigationLink('cli-install', 'Onboarding CLI Install');
public static CLISetup = new NavigationLink('cli-setup', 'Onboarding CLI Setup');
public static CreateBucket = new NavigationLink('create-bucket', 'Onboarding Create Bucket');
public static UploadObject = new NavigationLink('upload-object', 'Onboarding Upload Object');
public static ListObject = new NavigationLink('list-object', 'Onboarding List Object');
public static DownloadObject = new NavigationLink('download-object', 'Onboarding Download Object');
public static ShareObject = new NavigationLink('share-object', 'Onboarding Share Object');
public static SuccessScreen = new NavigationLink('success', 'Onboarding Success Screen');
// buckets child paths.
public static BucketsManagement = new NavigationLink('management', 'Buckets Management');
public static BucketsDetails = new NavigationLink('details', 'Bucket Details');
public static UploadFile = new NavigationLink('upload/', 'Objects Upload');
public static UploadFileChildren = new NavigationLink(':pathMatch*', 'Objects Upload Children');
}
export const notProjectRelatedRoutes = [
const notProjectRelatedRoutes = [
RouteConfig.Login.name,
RouteConfig.Register.name,
RouteConfig.RegisterSuccess.name,

View File

@ -7,7 +7,7 @@ import { defineStore } from 'pinia';
import { FrontendConfig, FrontendConfigApi } from '@/types/config';
import { FrontendConfigHttpApi } from '@/api/config';
import { NavigationLink } from '@/types/navigation';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
export class ConfigState {
public config: FrontendConfig = new FrontendConfig();

View File

@ -0,0 +1,72 @@
// Copyright (C) 2023 Storj Labs, Inc.
// See LICENSE for copying information.
import { NavigationLink } from '@/types/navigation';
/**
* RouteConfig contains information about all routes and subroutes
*/
export abstract class RouteConfig {
// root paths
public static Root = new NavigationLink('/', 'Root');
public static AllProjectsDashboard = new NavigationLink('/all-projects', 'All Projects');
public static Login = new NavigationLink('/login', 'Login');
public static Register = new NavigationLink('/signup', 'Register');
public static RegisterSuccess = new NavigationLink('/signup-success', 'RegisterSuccess');
public static Activate = new NavigationLink('/activate', 'Activate');
public static ForgotPassword = new NavigationLink('/forgot-password', 'Forgot Password');
public static ResetPassword = new NavigationLink('/password-recovery', 'Reset Password');
public static Authorize = new NavigationLink('/oauth/v2/authorize', 'Authorize');
public static Account = new NavigationLink('/account', 'Account');
public static AccountSettings = new NavigationLink('/account-settings', 'Account Settings');
public static ProjectDashboard = new NavigationLink('/project-dashboard', 'Dashboard');
public static Team = new NavigationLink('/team', 'Team');
public static OnboardingTour = new NavigationLink('/onboarding-tour', 'Onboarding Tour');
public static CreateProject = new NavigationLink('/create-project', 'Create Project');
public static EditProjectDetails = new NavigationLink('/edit-project-details', 'Edit Project Details');
public static AccessGrants = new NavigationLink('/access-grants', 'Access');
public static ProjectsList = new NavigationLink('/projects', 'Projects');
public static Buckets = new NavigationLink('/buckets', 'Buckets');
// account child paths
public static Settings = new NavigationLink('settings', 'Settings');
public static Settings2 = new NavigationLink('settings', 'Settings 2');
public static Billing = new NavigationLink('billing', 'Billing');
public static Billing2 = new NavigationLink('billing', 'Account Billing');
public static BillingOverview = new NavigationLink('overview', 'Overview');
// this duplicates the path of BillingOverview so that they can be used interchangeably in BillingArea.vue
public static BillingOverview2 = new NavigationLink('overview', 'Billing Overview');
public static BillingPaymentMethods = new NavigationLink('payment-methods', 'Payment Methods');
// this duplicates the path of BillingPaymentMethods so that they can be used interchangeably in BillingArea.vue
public static BillingPaymentMethods2 = new NavigationLink('payment-methods', 'Payment Methods 2');
public static BillingHistory = new NavigationLink('billing-history', 'Billing History');
// this duplicates the path of BillingHistory so that they can be used interchangeably in BillingArea.vue
public static BillingHistory2 = new NavigationLink('billing-history', 'Billing History 2');
public static BillingCoupons = new NavigationLink('coupons', 'Coupons');
public static BillingCoupons2 = new NavigationLink('coupons', 'Billing Coupons');
// access grant child paths
public static CreateAccessModal = new NavigationLink('create-access-modal', 'Create Access Modal');
// onboarding tour child paths
public static PricingPlanStep = new NavigationLink('pricing', 'Pricing Plan');
public static OverviewStep = new NavigationLink('overview', 'Onboarding Overview');
public static OnbCLIStep = new NavigationLink('cli', 'Onboarding CLI');
public static AGName = new NavigationLink('ag-name', 'Onboarding AG Name');
public static AGPermissions = new NavigationLink('ag-permissions', 'Onboarding AG Permissions');
public static APIKey = new NavigationLink('api-key', 'Onboarding API Key');
public static CLIInstall = new NavigationLink('cli-install', 'Onboarding CLI Install');
public static CLISetup = new NavigationLink('cli-setup', 'Onboarding CLI Setup');
public static CreateBucket = new NavigationLink('create-bucket', 'Onboarding Create Bucket');
public static UploadObject = new NavigationLink('upload-object', 'Onboarding Upload Object');
public static ListObject = new NavigationLink('list-object', 'Onboarding List Object');
public static DownloadObject = new NavigationLink('download-object', 'Onboarding Download Object');
public static ShareObject = new NavigationLink('share-object', 'Onboarding Share Object');
public static SuccessScreen = new NavigationLink('success', 'Onboarding Success Screen');
// buckets child paths.
public static BucketsManagement = new NavigationLink('management', 'Buckets Management');
public static BucketsDetails = new NavigationLink('details', 'Bucket Details');
public static UploadFile = new NavigationLink('upload/', 'Objects Upload');
public static UploadFileChildren = new NavigationLink(':pathMatch*', 'Objects Upload Children');
}

View File

@ -58,7 +58,7 @@ import { onMounted, ref } from 'vue';
import { useRoute } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { Validator } from '@/utils/validation';
import { useNotify } from '@/utils/hooks';
import { useConfigStore } from '@/store/modules/configStore';

View File

@ -92,7 +92,7 @@ import { onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { Validator } from '@/utils/validation';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { Project } from '@/types/projects';
import { ErrorUnauthorized } from '@/api/errors/ErrorUnauthorized';
import { FetchState } from '@/utils/constants/fetchStateEnum';

View File

@ -129,7 +129,7 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { ErrorUnauthorized } from '@/api/errors/ErrorUnauthorized';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { CouponType } from '@/types/coupons';
import { Project } from '@/types/projects';
import { FetchState } from '@/utils/constants/fetchStateEnum';

View File

@ -90,7 +90,7 @@ import { useRoute } from 'vue-router';
import VueHcaptcha from '@hcaptcha/vue3-hcaptcha';
import { AuthHttpApi } from '@/api/auth';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { Validator } from '@/utils/validation';
import { useNotify } from '@/utils/hooks';
import { MultiCaptchaConfig, PartneredSatellite } from '@/types/config';

View File

@ -148,7 +148,7 @@ import { useRoute, useRouter } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { ErrorMFARequired } from '@/api/errors/ErrorMFARequired';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { FetchState } from '@/utils/constants/fetchStateEnum';
import { Validator } from '@/utils/validation';
import { ErrorUnauthorized } from '@/api/errors/ErrorUnauthorized';

View File

@ -80,7 +80,7 @@ import { useRoute, useRouter } from 'vue-router';
import { AuthHttpApi } from '@/api/auth';
import { ErrorMFARequired } from '@/api/errors/ErrorMFARequired';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import { ErrorTokenExpired } from '@/api/errors/ErrorTokenExpired';
import { useNotify } from '@/utils/hooks';

View File

@ -117,7 +117,7 @@ import {
} from '@/utils/constants/analyticsEventNames';
import { AnalyticsHttpApi } from '@/api/analytics';
import { useNotify } from '@/utils/hooks';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { ErrorUnauthorized } from '@/api/errors/ErrorUnauthorized';
import { FetchState } from '@/utils/constants/fetchStateEnum';
import { LocalData } from '@/utils/localData';

View File

@ -32,7 +32,7 @@
import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { User } from '@/types/users';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { useUsersStore } from '@/store/modules/usersStore';
import { useAppStore } from '@/store/modules/appStore';

View File

@ -98,7 +98,7 @@ import { useNotify } from '@/utils/hooks';
import MyAccountButton from '@/views/all-dashboard/components/MyAccountButton.vue';
import { AnalyticsErrorEventSource, AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { AnalyticsHttpApi } from '@/api/analytics';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { User } from '@/types/users';
import { AuthHttpApi } from '@/api/auth';
import { useABTestingStore } from '@/store/modules/abTestingStore';

View File

@ -52,7 +52,7 @@
import { computed, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { useNotify } from '@/utils/hooks';
import {
AnalyticsErrorEventSource,

View File

@ -49,7 +49,7 @@
import { computed, ref } from 'vue';
import { Project, ProjectInvitation } from '@/types/projects';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import {
AnalyticsEvent,
} from '@/utils/constants/analyticsEventNames';

View File

@ -51,7 +51,7 @@ import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { User } from '@/types/users';
import { AnalyticsHttpApi } from '@/api/analytics';
import { LocalData } from '@/utils/localData';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { useUsersStore } from '@/store/modules/usersStore';
import { useProjectMembersStore } from '@/store/modules/projectMembersStore';

View File

@ -43,7 +43,7 @@ import { AnalyticsEvent } from '@/utils/constants/analyticsEventNames';
import { User } from '@/types/users';
import { AnalyticsHttpApi } from '@/api/analytics';
import { LocalData } from '@/utils/localData';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MODALS } from '@/utils/constants/appStatePopUps';
import { useUsersStore } from '@/store/modules/usersStore';
import { useProjectMembersStore } from '@/store/modules/projectMembersStore';

View File

@ -284,7 +284,7 @@ import { useRoute, useRouter } from 'vue-router';
import VueHcaptcha from '@hcaptcha/vue3-hcaptcha';
import { AuthHttpApi } from '@/api/auth';
import { RouteConfig } from '@/router';
import { RouteConfig } from '@/types/router';
import { MultiCaptchaConfig, PartneredSatellite } from '@/types/config';
import { User } from '@/types/users';
import { useNotify } from '@/utils/hooks';

View File

@ -3,7 +3,8 @@
import { shallowMount } from '@vue/test-utils';
import { RouteConfig, router } from '@/router';
import { router } from '@/router';
import { RouteConfig } from '@/types/router';
import { AnalyticsHttpApi } from '@/api/analytics';
import DashboardArea from '@/views/DashboardArea.vue';

View File

@ -16,13 +16,15 @@
"resolveJsonModule": true,
"useUnknownInCatchVariables": false, // TODO: reenable it later
"types": [
"webpack-env",
"jest",
"vuetify",
"filesystem"
],
"paths": {
"@/*": [
"src/*"
],
"@poc/*": [
"vuetify-poc/src/*"
]
},
"lib": [
@ -33,12 +35,12 @@
]
},
"include": [
"vuetify-poc/src/**/*.ts",
"vuetify-poc/src/**/*.vue",
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"src/types/*.d.ts",
"tests/**/*.ts",
"tests/**/*.tsx"
"tests/**/*.ts"
],
"exclude": [
"node_modules"

View File

@ -0,0 +1,85 @@
// Copyright (C) 2023 Storj Labs, Inc.
// See LICENSE for copying information.
import { resolve } from 'path';
import { defineConfig } from 'vite';
import { visualizer } from 'rollup-plugin-visualizer';
import vue from '@vitejs/plugin-vue';
import viteCompression from 'vite-plugin-compression';
import vitePluginRequire from 'vite-plugin-require';
import svgLoader from 'vite-svg-loader';
import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify';
const productionBrotliExtensions = ['js', 'css', 'ttf', 'woff', 'woff2'];
const plugins = [
vue({
template: { transformAssetUrls }
}),
svgLoader({
svgoConfig: {
plugins: [{ name: 'removeViewBox', fn: () => {} }],
},
}),
vitePluginRequire(),
vuetify({
autoImport: true,
styles: {
configFile: 'vuetify-poc/src/styles/settings.scss',
},
}),
];
if (process.env.NODE_ENV === 'production') {
plugins.push(viteCompression({
algorithm: 'brotliCompress',
threshold: 1024,
ext: '.br',
filter: new RegExp('\\.(' + productionBrotliExtensions.join('|') + ')$'),
}));
}
if (process.env['STORJ_DEBUG_BUNDLE_SIZE']) {
plugins.push(visualizer({
open: true,
brotliSize: true,
filename: 'analyse.html', // will be saved in project's root
}));
}
export default defineConfig(() => {
return {
base: '/static/dist_vuetify_poc',
plugins,
resolve: {
alias: {
'@': resolve(__dirname, './src'),
'@poc': resolve(__dirname, './vuetify-poc/src'),
'stream': 'stream-browserify',
'util': 'util/',
},
extensions: ['.js', '.ts', '.svg', '.vue', '.mjs'],
},
build: {
outDir: resolve(__dirname, 'dist_vuetify_poc'),
emptyOutDir: true,
rollupOptions: {
input: {
'vuetify-poc': resolve(__dirname, './index-vuetify.html'),
},
external: [
/satellite\/src\/views/,
/satellite\/src\/components/,
/satellite\/src\/router/,
],
},
},
optimizeDeps: {
exclude: ['* > vuetify/lib/components'],
},
define: {
'process.env': {},
},
};
});

View File

@ -40,7 +40,7 @@ if (process.env['STORJ_DEBUG_BUNDLE_SIZE']) {
}));
}
export default defineConfig(({ mode }) => {
export default defineConfig(() => {
return {
base: '/static/dist',
plugins,
@ -59,6 +59,9 @@ export default defineConfig(({ mode }) => {
output: {
experimentalMinChunkSize: 50*1024,
},
external: [
/vuetify-poc/,
],
},
chunkSizeWarningLimit: 3000,
},

View File

@ -0,0 +1,24 @@
// Copyright (C) 2023 Storj Labs, Inc.
// See LICENSE for copying information.
<template>
<div id="app">
<router-view />
</div>
</template>
<script setup lang="ts">
import { onMounted } from 'vue';
import { useConfigStore } from '@/store/modules/configStore';
const configStore = useConfigStore();
/**
* Lifecycle hook after initial render.
* Sets up variables from meta tags from config such satellite name, etc.
*/
onMounted(async (): Promise<void> => {
await configStore.getConfig();
});
</script>

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.83987 16.8886L1.47448 17.099C1.17636 17.1176 0.919588 16.891 0.900956 16.5929C0.899551 16.5704 0.899551 16.5479 0.900956 16.5254L1.11129 13.16C1.11951 13.0285 1.17546 12.9045 1.26864 12.8114L5.58927 8.49062L5.57296 8.43619C4.98999 6.44548 5.49345 4.26201 6.96116 2.72323L7.00936 2.67328L7.05933 2.62271C9.35625 0.325796 13.0803 0.325796 15.3772 2.62271C17.6741 4.91963 17.6741 8.64366 15.3772 10.9406C13.8503 12.4674 11.6456 13.0112 9.62856 12.4455L9.56357 12.4269L9.50918 12.4107L5.18856 16.7313C5.09538 16.8244 4.97139 16.8804 4.83987 16.8886ZM2.45229 15.5477L4.38997 15.4266L9.13372 10.6827L9.58862 10.864C11.2073 11.5091 13.072 11.1424 14.3255 9.88889C16.0416 8.17281 16.0416 5.39048 14.3255 3.6744C12.6094 1.95831 9.8271 1.95831 8.11101 3.6744C6.87177 4.91364 6.49924 6.7502 7.11424 8.3559L7.13584 8.41118L7.31711 8.86605L2.57342 13.61L2.45229 15.5477ZM10.7858 7.21411C11.3666 7.79494 12.3083 7.79494 12.8892 7.21411C13.47 6.63328 13.47 5.69157 12.8892 5.11074C12.3083 4.52991 11.3666 4.52991 10.7858 5.11074C10.205 5.69157 10.205 6.63328 10.7858 7.21411Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.06942 1.34998C11.7077 1.34998 13.8465 3.48875 13.8465 6.12706C13.8465 7.71017 13.0764 9.11342 11.8904 9.98265C14.2697 10.8565 16.1436 12.7789 16.9535 15.1905C16.9786 15.265 17.0026 15.34 17.0255 15.4154L17.0592 15.5289C17.2168 16.0738 16.9028 16.6434 16.3578 16.801C16.2651 16.8278 16.169 16.8414 16.0724 16.8414H1.91857C1.35598 16.8414 0.899902 16.3853 0.899902 15.8227C0.899902 15.7434 0.909173 15.6644 0.927488 15.5873L0.93956 15.5412C0.972672 15.4261 1.00818 15.3119 1.04602 15.1988C1.86483 12.7523 3.77818 10.8081 6.2038 9.94935C5.04316 9.0781 4.29233 7.69026 4.29233 6.12706C4.29233 3.48875 6.4311 1.34998 9.06942 1.34998ZM9.00117 10.9724C6.16785 10.9724 3.66499 12.7017 2.62214 15.264L2.59168 15.34H15.4107L15.4101 15.3388C14.3965 12.7624 11.9142 11.0092 9.09046 10.973L9.00117 10.9724ZM9.06942 2.85135C7.26029 2.85135 5.7937 4.31793 5.7937 6.12706C5.7937 7.93619 7.26029 9.40278 9.06942 9.40278C10.8785 9.40278 12.3451 7.93619 12.3451 6.12706C12.3451 4.31793 10.8785 2.85135 9.06942 2.85135Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.9519 0.900024C14.9905 0.900024 15.8325 1.74202 15.8325 2.78067V16.5214C15.8325 16.8409 15.5734 17.1 15.2539 17.1C15.0952 17.1 14.9436 17.0349 14.8343 16.9199L9.44551 11.2481C9.11532 10.9006 8.56592 10.8865 8.21839 11.2167C8.20766 11.2269 8.19719 11.2374 8.18699 11.2481L2.79816 16.9199C2.57803 17.1516 2.21176 17.161 1.98007 16.9409C1.86509 16.8316 1.79999 16.68 1.79999 16.5214V2.78067C1.79999 1.74202 2.64198 0.900024 3.68064 0.900024H13.9519ZM13.9519 2.49134H3.68064C3.52811 2.49134 3.40314 2.60937 3.3921 2.75908L3.39131 2.78067V13.9854L7.03335 10.152C7.04779 10.1368 7.06243 10.1218 7.07726 10.107L7.1223 10.0631C8.09402 9.13985 9.62275 9.16649 10.5619 10.1137L10.5992 10.152L14.2412 13.9853V2.78067C14.2412 2.62814 14.1232 2.50318 13.9735 2.49214L13.9519 2.49134Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 904 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.3549 7.54666C17.762 8.95376 17.7749 11.227 16.3778 12.624C15.8118 13.1901 15.1018 13.5247 14.3639 13.6289L14.1106 15.0638C14.092 16.1897 11.7878 17.1 8.94814 17.1C6.12547 17.1 3.83191 16.2006 3.78632 15.0841L3.78589 15.0638L1.84471 4.06597C1.82286 3.98819 1.80888 3.90946 1.8031 3.82992L1.80005 3.81221L1.80195 3.81231C1.80068 3.79028 1.80005 3.76818 1.80005 3.74602C1.80005 2.17422 5.00036 0.900024 8.94814 0.900024C12.8959 0.900024 16.0962 2.17422 16.0962 3.74602C16.0962 3.76818 16.0956 3.79028 16.0943 3.81231L16.0962 3.81221L16.0931 3.83111C16.0873 3.90975 16.0735 3.98759 16.052 4.06451L15.5749 6.76662L16.3549 7.54666ZM14.2962 5.63437C12.9868 6.22183 11.076 6.59202 8.94814 6.59202C6.82032 6.59202 4.90965 6.22185 3.6002 5.63443L5.00729 13.6077L5.23735 14.8286L5.25867 14.8452C5.37899 14.9354 5.56521 15.0371 5.80702 15.1351L5.85612 15.1546C6.63558 15.4594 7.74625 15.6439 8.94814 15.6439C10.157 15.6439 11.2733 15.4573 12.0528 15.1497C12.3338 15.0388 12.5432 14.9223 12.6661 14.8231L12.6761 14.8148L12.902 13.5348C12.3339 13.3787 11.7956 13.0812 11.3429 12.6429L11.3005 12.6011L8.37494 9.67559C8.09062 9.39127 8.09062 8.93029 8.37494 8.64597C8.65232 8.36859 9.09785 8.36182 9.38344 8.62568L9.40455 8.64597L12.3301 11.5715C12.5718 11.8132 12.8556 11.9861 13.157 12.0901L14.2962 5.63437ZM15.2661 8.51698L14.6409 12.0597C14.899 11.9575 15.1403 11.8024 15.3482 11.5944C16.1642 10.7784 16.1664 9.44942 15.355 8.60652L15.3253 8.57627L15.2661 8.51698ZM8.94814 2.35612C7.20131 2.35612 5.58131 2.62893 4.43229 3.08641C3.93857 3.28298 3.57123 3.49947 3.35982 3.69848C3.34635 3.71116 3.33405 3.72325 3.32289 3.73469L3.31227 3.74589L3.33148 3.76606L3.35982 3.79357C3.57123 3.99258 3.93857 4.20906 4.43229 4.40564C5.58131 4.86312 7.20131 5.13593 8.94814 5.13593C10.695 5.13593 12.315 4.86312 13.464 4.40564C13.9577 4.20906 14.325 3.99258 14.5365 3.79357C14.5499 3.78089 14.5622 3.7688 14.5734 3.75735L14.5841 3.74589L14.5648 3.72599L14.5365 3.69848C14.325 3.49947 13.9577 3.28298 13.464 3.08641C12.315 2.62893 10.695 2.35612 8.94814 2.35612Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.6971 2.69995L14.8103 2.70051C15.5609 2.70821 15.8499 2.79454 16.1411 2.95031C16.4466 3.11366 16.6863 3.35339 16.8496 3.65884L16.8719 3.7015C17.0209 3.99363 17.1 4.30614 17.1 5.1028V12.2128C17.1 13.0483 17.013 13.3513 16.8496 13.6568C16.6863 13.9622 16.4466 14.2019 16.1411 14.3653L16.0984 14.3876C15.8063 14.5366 15.4938 14.6157 14.6971 14.6157H3.30284L3.18966 14.6151C2.43913 14.6074 2.15013 14.5211 1.85888 14.3653C1.55343 14.2019 1.31371 13.9622 1.15035 13.6568L1.12805 13.6141C0.979085 13.322 0.899994 13.0095 0.899994 12.2128V5.1028L0.900557 4.98962C0.908252 4.23909 0.994587 3.95009 1.15035 3.65884C1.31371 3.35339 1.55343 3.11366 1.85888 2.95031L1.90154 2.92801C2.19367 2.77904 2.50618 2.69995 3.30284 2.69995H14.6971ZM15.6273 8.72474H2.37286L2.37291 12.2988C2.37509 12.7639 2.39618 12.8634 2.44902 12.9622C2.47512 13.011 2.50462 13.0405 2.55342 13.0666L2.57984 13.0799C2.66664 13.1203 2.77736 13.1384 3.13851 13.1422L3.30284 13.1429L14.7831 13.1427C15.2483 13.1406 15.3478 13.1195 15.4466 13.0666C15.4954 13.0405 15.5249 13.011 15.551 12.9622L15.5642 12.9358C15.6102 12.837 15.6273 12.7073 15.6273 12.2128V8.72474ZM3.25888 4.17273C2.75755 4.17384 2.65513 4.19458 2.55342 4.24898C2.50462 4.27508 2.47512 4.30457 2.44902 4.35338L2.43576 4.3798C2.39539 4.4666 2.37729 4.57732 2.3735 4.93847L2.37272 5.1028V6.31483H15.6273V5.05884C15.6261 4.55751 15.6054 4.45509 15.551 4.35338C15.5249 4.30457 15.4954 4.27508 15.4466 4.24898L15.4201 4.23572C15.3274 4.19256 15.2072 4.17486 14.7831 4.17287L3.25888 4.17273Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.9999 2.69995C13.4734 2.69995 17.0999 6.29647 17.0999 10.733C17.0999 12.3941 16.5915 13.9374 15.7207 15.2183H2.27915C1.40828 13.9374 0.899902 12.3941 0.899902 10.733C0.899902 6.29647 4.5264 2.69995 8.9999 2.69995ZM8.9999 4.17268C5.33704 4.17268 2.37263 7.11259 2.37263 10.733C2.37263 11.765 2.61287 12.7593 3.06475 13.656L3.11087 13.7455H14.8889L14.8921 13.7398C15.3587 12.8462 15.6132 11.8525 15.6266 10.8192L15.6272 10.733C15.6272 7.11259 12.6628 4.17268 8.9999 4.17268ZM11.7821 8.02523C12.0678 8.29853 12.0855 8.74671 11.8279 9.04146L11.8052 9.06634L9.53203 11.4428C9.25092 11.7367 8.7848 11.7471 8.49091 11.466C8.20519 11.1927 8.18746 10.7445 8.44502 10.4497L8.46778 10.4248L10.7409 8.04836C11.022 7.75448 11.4882 7.74412 11.7821 8.02523Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 875 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.128 3.60013C14.9368 3.60427 15.3608 3.6899 15.8016 3.92564C16.2192 4.14899 16.551 4.48078 16.7743 4.89841C17.0161 5.35051 17.1 5.78485 17.1 6.63492V11.9189C17.0957 12.7277 17.0101 13.1517 16.7743 13.5924C16.551 14.0101 16.2192 14.3419 15.8016 14.5652C15.3721 14.7949 14.9586 14.8821 14.1895 14.8902L14.0651 14.8909H3.93493C3.08487 14.8909 2.65053 14.807 2.19843 14.5652C1.7808 14.3419 1.44901 14.0101 1.22565 13.5924C0.995959 13.163 0.908776 12.7495 0.900632 11.9804L0.899994 11.8559V6.63492C0.899994 5.78485 0.983869 5.35051 1.22565 4.89841C1.44901 4.48078 1.7808 4.14899 2.19843 3.92564C2.65053 3.68385 3.08487 3.59998 3.93493 3.59998L14.128 3.60013ZM8.26363 4.94998L3.88478 4.95007C3.31066 4.95218 3.08426 4.99165 2.87239 5.09683L2.83509 5.11608C2.65272 5.21361 2.51363 5.3527 2.4161 5.53507C2.29321 5.76486 2.24999 5.98866 2.24999 6.63492V11.9061C2.2522 12.4811 2.2918 12.7073 2.39735 12.9195L2.4161 12.9558C2.51363 13.1382 2.65272 13.2772 2.83509 13.3748C3.06487 13.4977 3.28867 13.5409 3.93493 13.5409H8.26363V4.94998ZM14.1152 4.95007L9.61363 4.94998V13.5408L14.1152 13.5408C14.6728 13.5387 14.9024 13.5014 15.1093 13.4029L15.1286 13.3935L15.1649 13.3748C15.3473 13.2772 15.4864 13.1382 15.5839 12.9558C15.7068 12.726 15.75 12.5022 15.75 11.8559L15.7499 6.58476C15.7478 6.01064 15.7083 5.78424 15.6031 5.57238L15.5839 5.53507C15.4864 5.3527 15.3473 5.21361 15.1649 5.11608L15.1451 5.10567L15.1286 5.09734C15.1111 5.08865 15.0936 5.08041 15.0758 5.0726C15.074 5.07185 15.0722 5.07107 15.0704 5.07029L15.0758 5.0726C15.0709 5.07049 15.0661 5.0684 15.0612 5.06635L15.0704 5.07029C15.0625 5.06688 15.0546 5.06355 15.0465 5.0603L15.0612 5.06635C15.0542 5.0634 15.0471 5.06052 15.04 5.0577L15.0465 5.0603C15.0423 5.05859 15.038 5.0569 15.0338 5.05524L15.04 5.0577C15.0267 5.0524 15.0131 5.04733 14.9992 5.04247C14.9969 5.04166 14.9945 5.04084 14.9921 5.04004L14.9992 5.04247C14.9909 5.03956 14.9824 5.03672 14.9739 5.03396C14.9476 5.02548 14.9201 5.01774 14.8911 5.01068C14.8871 5.00971 14.8831 5.00876 14.8791 5.00782L14.8911 5.01068C14.8824 5.00857 14.8736 5.00651 14.8646 5.00453L14.8791 5.00782C14.8713 5.006 14.8634 5.00423 14.8554 5.00251L14.8646 5.00453C14.8565 5.00272 14.8482 5.00096 14.8397 4.99926L14.8554 5.00251C14.848 5.00094 14.8406 4.99941 14.833 4.99791L14.8397 4.99926C14.8154 4.99433 14.79 4.98982 14.7632 4.9857C14.7582 4.98493 14.7531 4.98418 14.7481 4.98344L14.7632 4.9857C14.7548 4.98441 14.7462 4.98316 14.7376 4.98194L14.7481 4.98344C14.7246 4.98004 14.7002 4.97692 14.6746 4.97408C14.6659 4.97311 14.657 4.97217 14.648 4.97127C14.6355 4.97001 14.6228 4.96882 14.6098 4.96769C14.5937 4.96629 14.5772 4.96498 14.5603 4.96375C14.5552 4.96339 14.5501 4.96303 14.5449 4.96268L14.5603 4.96375C14.5479 4.96286 14.5354 4.96202 14.5225 4.96122L14.5449 4.96268C14.5333 4.96189 14.5215 4.96114 14.5095 4.96044L14.5225 4.96122C14.5116 4.96055 14.5006 4.9599 14.4893 4.95929L14.5095 4.96044C14.4818 4.9588 14.4528 4.95736 14.4225 4.95612C14.4214 4.95608 14.4202 4.95603 14.4189 4.95598L14.4225 4.95612C14.4109 4.95565 14.399 4.9552 14.387 4.95478L14.4189 4.95598C14.3749 4.9542 14.3281 4.95284 14.2784 4.95187C14.2563 4.95144 14.2337 4.95108 14.2104 4.9508L14.1152 4.95007ZM6.29999 10.7795C6.67279 10.7795 6.97499 11.0817 6.97499 11.4545C6.97499 11.8182 6.68735 12.1147 6.32714 12.129L6.29999 12.1295H4.0909C3.71811 12.1295 3.4159 11.8273 3.4159 11.4545C3.4159 11.0908 3.70355 10.7943 4.06375 10.7801L4.0909 10.7795H6.29999ZM13.1114 10.7795C13.4841 10.7795 13.7864 11.0817 13.7864 11.4545C13.7864 11.8182 13.4987 12.1147 13.1385 12.129L13.1114 12.1295H11.5159C11.1431 12.1295 10.8409 11.8273 10.8409 11.4545C10.8409 11.0908 11.1285 10.7943 11.4888 10.7801L11.5159 10.7795H13.1114ZM6.29999 8.57043C6.67279 8.57043 6.97499 8.87264 6.97499 9.24543C6.97499 9.60913 6.68735 9.90565 6.32714 9.91989L6.29999 9.92043H4.0909C3.71811 9.92043 3.4159 9.61822 3.4159 9.24543C3.4159 8.88173 3.70355 8.58521 4.06375 8.57097L4.0909 8.57043H6.29999ZM13.725 8.57043C14.0978 8.57043 14.4 8.87264 14.4 9.24543C14.4 9.60913 14.1123 9.90565 13.7521 9.91989L13.725 9.92043H11.5159C11.1431 9.92043 10.8409 9.61822 10.8409 9.24543C10.8409 8.88173 11.1285 8.58521 11.4888 8.57097L11.5159 8.57043H13.725ZM6.29999 6.36134C6.67279 6.36134 6.97499 6.66355 6.97499 7.03634C6.97499 7.40004 6.68735 7.69656 6.32714 7.7108L6.29999 7.71134H4.0909C3.71811 7.71134 3.4159 7.40913 3.4159 7.03634C3.4159 6.67264 3.70355 6.37612 4.06375 6.36188L4.0909 6.36134H6.29999ZM13.725 6.36134C14.0978 6.36134 14.4 6.66355 14.4 7.03634C14.4 7.40004 14.1123 7.69656 13.7521 7.7108L13.725 7.71134H11.5159C11.1431 7.71134 10.8409 7.40913 10.8409 7.03634C10.8409 6.67264 11.1285 6.37612 11.4888 6.36188L11.5159 6.36134H13.725Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.09273 1.83862C7.2626 1.8704 7.41357 1.92317 7.56625 2.00414L7.61471 2.03057C7.74847 2.1058 7.88213 2.20149 8.19133 2.45447L10.3217 4.19751H13.4957C14.749 4.19751 15.2035 4.328 15.6617 4.57304C16.1198 4.81808 16.4794 5.17766 16.7245 5.63584L16.7507 5.68585C16.9788 6.12813 17.1 6.59407 17.1 7.80178V12.4918C17.1 13.9838 16.9446 14.5249 16.6529 15.0703C16.3612 15.6158 15.9331 16.0439 15.3877 16.3356L15.3331 16.3643L15.2793 16.3916C14.7756 16.6427 14.2223 16.7778 12.8818 16.7826H5.19079C3.69879 16.7826 3.15775 16.6273 2.6123 16.3356C2.06684 16.0439 1.63877 15.6158 1.34705 15.0703L1.31834 15.0158C1.04987 14.4969 0.905038 13.9532 0.899994 12.5656V4.91008C0.899994 4.15367 1.02189 3.65256 1.25157 3.21837C1.48126 2.78417 1.81872 2.44223 2.24985 2.20684C2.68097 1.97145 3.18043 1.84295 3.93678 1.83297L6.41469 1.80048L6.54096 1.79999C6.82689 1.80039 6.95392 1.81266 7.09273 1.83862ZM7.97397 7.07938C7.67373 7.30642 7.31046 7.43381 6.93504 7.44445L6.88378 7.44518H3.41896C3.04556 7.44518 2.6912 7.36369 2.37269 7.21752V12.5604L2.37419 12.7415L2.37599 12.8618C2.39189 13.7187 2.46698 14.0416 2.64573 14.3758C2.80018 14.6646 3.01803 14.8824 3.30683 15.0369L3.34877 15.0588L3.39368 15.081C3.71695 15.2357 4.07688 15.2995 4.95026 15.3087L5.19079 15.3099L12.9325 15.3096C13.9745 15.3045 14.3298 15.2312 14.6932 15.0369C14.982 14.8824 15.1998 14.6646 15.3543 14.3758L15.3762 14.3339L15.3983 14.2889C15.5531 13.9657 15.6168 13.6057 15.6261 12.7324L15.6273 12.4918V7.80178C15.6273 6.88146 15.5746 6.60856 15.4258 6.33038C15.318 6.12885 15.1687 5.97949 14.9671 5.87171L14.9323 5.85361C14.6709 5.72157 14.3902 5.67238 13.5524 5.6703L9.83731 5.67017L7.97397 7.07938ZM6.47489 3.27269L6.34265 3.27408L3.95621 3.30557L3.84915 3.30796C3.41773 3.32185 3.16585 3.38465 2.95559 3.49945C2.77811 3.59635 2.64794 3.72825 2.55338 3.907C2.4389 4.12343 2.3793 4.38262 2.37324 4.83186C2.37668 4.85579 2.37883 4.87987 2.37979 4.90425L2.38037 4.93387C2.38037 5.49643 2.82765 5.95453 3.38599 5.97194L3.41896 5.97245H6.88378C6.94754 5.97245 7.00978 5.95424 7.06329 5.92024L7.08566 5.90471L8.64293 4.72696L7.17963 3.52982C7.00245 3.38612 6.93952 3.34067 6.88962 3.31253L6.87625 3.30522C6.8551 3.29401 6.84547 3.29064 6.82193 3.28624L6.79088 3.28128L6.76967 3.27886C6.71675 3.27363 6.63713 3.27155 6.47489 3.27269Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.9748 0.900024C12.5536 0.900024 13.6073 1.15908 14.5169 1.64553C15.4265 2.13198 16.1403 2.84582 16.6268 3.7554C17.1132 4.66498 17.3723 5.71873 17.3723 7.29751V7.29918C17.3723 8.87796 17.1132 9.93171 16.6268 10.8413C16.1403 11.7509 15.4265 12.4647 14.5169 12.9512C13.6073 13.4376 12.5536 13.6967 10.9748 13.6967H5.98505L0.899994 17.1V7.84998C0.899994 5.60824 1.15905 4.66498 1.6455 3.7554C2.13194 2.84582 2.84579 2.13198 3.75537 1.64553L3.82823 1.6071C4.71618 1.14545 5.66799 0.900024 7.84995 0.900024H10.9748ZM10.9748 2.3975H7.76594L7.59978 2.39853C5.9408 2.41256 5.19794 2.57221 4.46158 2.96602C3.81296 3.31291 3.31288 3.81299 2.96599 4.46161L2.92859 4.53296C2.54961 5.27107 2.40217 6.04506 2.39747 7.76597V14.404L5.59297 12.1992H10.9748C12.2549 12.1992 13.0882 12.0171 13.8107 11.6307C14.4593 11.2838 14.9594 10.7837 15.3063 10.1351C15.6839 9.42902 15.8664 8.61715 15.8745 7.38577L15.8748 7.29918V7.29751C15.8748 6.01736 15.6927 5.18409 15.3063 4.46161C14.9594 3.81299 14.4593 3.31291 13.8107 2.96602C13.1046 2.58842 12.2928 2.40589 11.0614 2.39779L10.9748 2.3975Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.85808 0.900024C12.1454 0.900024 14.8165 3.53827 14.8696 6.81293L14.8704 6.91235L14.8705 8.19194C15.1641 8.4008 15.4012 8.67111 15.575 8.99599L15.6125 9.06814C15.8069 9.45427 15.9118 9.87336 15.9162 10.8989V13.8255C15.9162 14.9641 15.7976 15.377 15.575 15.7933C15.3524 16.2095 15.0257 16.5362 14.6094 16.7588L14.5373 16.7963C14.1511 16.9907 13.732 17.0957 12.7065 17.0999L5.07453 17.1C3.9359 17.1 3.523 16.9815 3.10674 16.7588C2.69047 16.5362 2.36379 16.2095 2.14116 15.7933L2.11544 15.7443C1.91355 15.3515 1.80441 14.9364 1.79999 13.8904V10.9638C1.79999 9.82515 1.91854 9.41225 2.14116 8.99599C2.31491 8.67111 2.55204 8.4008 2.84567 8.19194L2.84575 6.91235C2.84575 3.59183 5.53756 0.900024 8.85808 0.900024ZM12.6417 9.16807L5.0157 9.16819L4.86555 9.16941C4.21518 9.17757 4.01355 9.22249 3.80416 9.33447C3.64561 9.41927 3.53002 9.53485 3.44522 9.69341L3.42172 9.73944C3.32683 9.9351 3.28667 10.1564 3.27989 10.76L3.27883 10.9637L3.27894 13.8843L3.28016 14.0345C3.28832 14.6848 3.33324 14.8865 3.44522 15.0959C3.53002 15.2544 3.64561 15.37 3.80416 15.4548L3.85019 15.4783C4.04585 15.5732 4.26712 15.6133 4.87077 15.6201L5.07453 15.6212L12.7468 15.6209C13.4766 15.6172 13.6927 15.5721 13.912 15.4548C14.0706 15.37 14.1861 15.2544 14.2709 15.0959L14.2944 15.0498C14.3893 14.8542 14.4295 14.6329 14.4363 14.0292L14.4373 13.8255L14.4371 10.8586C14.4333 10.1288 14.3882 9.91275 14.2709 9.69341C14.1861 9.53485 14.0706 9.41927 13.912 9.33447L13.866 9.31096C13.6703 9.21608 13.449 9.17592 12.8454 9.16913L12.6417 9.16807ZM8.99252 10.7814C9.66076 10.7814 10.2025 11.3231 10.2025 11.9913C10.2025 12.3811 10.0182 12.7278 9.73202 12.9491L9.73194 13.4029C9.73194 13.8113 9.40089 14.1423 8.99252 14.1423C8.58415 14.1423 8.2531 13.8113 8.2531 13.4029L8.25315 12.9492C7.96689 12.7279 7.78256 12.3811 7.78256 11.9913C7.78256 11.3231 8.32428 10.7814 8.99252 10.7814ZM8.85808 2.37886C6.37934 2.37886 4.36523 4.36818 4.3252 6.83738L4.32459 6.91235L4.32451 7.71275C4.51881 7.69832 4.74386 7.69046 5.00964 7.68937L12.6416 7.68924C12.936 7.68924 13.1818 7.69716 13.3918 7.71275L13.3916 6.91235C13.3916 4.40857 11.3619 2.37886 8.85808 2.37886Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.74364 0.900024L7.9692 0.900584C9.84679 0.912383 10.8184 1.11217 11.8064 1.63587C12.2829 1.88843 12.7094 2.20354 13.0794 2.57677C13.3634 2.86322 13.3614 3.32564 13.0749 3.6096C12.7885 3.89357 12.3261 3.89156 12.0421 3.60511C11.7767 3.33742 11.4695 3.11045 11.1224 2.92645C10.3523 2.5183 9.58982 2.36547 7.87023 2.36079L7.74577 2.36068L7.58266 2.36162C6.03399 2.37528 5.28872 2.5205 4.58222 2.87734L4.48747 2.92645C3.81363 3.2836 3.28956 3.80299 2.92971 4.46984L2.89078 4.54347C2.50945 5.28011 2.36539 6.03812 2.36077 7.68392L2.36065 10.3088L2.36243 10.5487C2.38012 12.0019 2.52241 12.725 2.86187 13.4003L2.899 13.4725L2.92971 13.5302C3.28956 14.1971 3.81363 14.7164 4.48747 15.0736C5.2575 15.4817 6.02 15.6346 7.7396 15.6393L7.86406 15.6394L8.02716 15.6384C9.57583 15.6248 10.3211 15.4795 11.0276 15.1227L11.1224 15.0736C11.4206 14.9155 11.6893 14.7258 11.9273 14.5057C12.2235 14.232 12.6856 14.2501 12.9594 14.5463C13.2332 14.8425 13.215 15.3046 12.9188 15.5784C12.6111 15.8628 12.2682 16.1097 11.8907 16.3185L11.803 16.366L11.7377 16.4001C10.8073 16.8805 9.86521 17.0754 8.13615 17.0979L7.86619 17.1L7.64062 17.0995C5.76304 17.0877 4.79147 16.8879 3.80342 16.3642C2.89931 15.885 2.18012 15.1832 1.68229 14.293L1.64241 14.2204L1.60796 14.1557L1.55954 14.0616C1.10104 13.1513 0.917732 12.2043 0.901122 10.491L0.899994 10.311V7.76695L0.900578 7.58397C0.9127 5.72232 1.11492 4.75715 1.64427 3.77619C2.1283 2.87921 2.83643 2.16642 3.73369 1.67354L3.80686 1.63405L3.8721 1.59993C4.84987 1.09514 5.84044 0.90557 7.74364 0.900024ZM14.0919 5.67472L14.1131 5.69508L16.9299 8.51192C17.2082 8.79017 17.215 9.23709 16.9503 9.52357L16.9299 9.54475L14.1131 12.3616C13.8279 12.6468 13.3655 12.6468 13.0803 12.3616C12.802 12.0833 12.7952 11.6364 13.0599 11.3499L13.0803 11.3288L14.6748 9.73426H6.42342C6.02007 9.73426 5.6931 9.40728 5.6931 9.00393C5.6931 8.61042 6.00432 8.2896 6.39405 8.27419L6.42342 8.27361H14.6262L13.0803 6.72792C12.802 6.44967 12.7952 6.00274 13.0599 5.71626L13.0803 5.69508C13.3585 5.41683 13.8054 5.41004 14.0919 5.67472Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.99999 0.900024C13.4735 0.900024 17.1 4.52652 17.1 9.00002C17.1 13.4735 13.4735 17.1 8.99999 17.1C4.52649 17.1 0.899994 13.4735 0.899994 9.00002C0.899994 4.52652 4.52649 0.900024 8.99999 0.900024ZM8.99999 2.38502C5.34663 2.38502 2.38499 5.34666 2.38499 9.00002C2.38499 12.6534 5.34663 15.615 8.99999 15.615C12.6534 15.615 15.615 12.6534 15.615 9.00002C15.615 5.34666 12.6534 2.38502 8.99999 2.38502ZM9.6746 6.20904L9.6749 6.22099L9.67486 8.30072H11.6934C12.1076 8.30072 12.4472 8.62922 12.461 9.04322C12.4742 9.43988 12.1633 9.77213 11.7667 9.78533L11.7547 9.78563L9.67486 9.78572L9.67499 11.8539C9.67499 12.264 9.34257 12.5964 8.93249 12.5964C8.53242 12.5964 8.20626 12.28 8.19058 11.8838L8.18999 11.8539L8.18986 9.78572H6.12179C5.71172 9.78572 5.37929 9.4533 5.37929 9.04322C5.37929 8.64316 5.6957 8.31699 6.09193 8.30131L6.12179 8.30072H8.18986L8.18999 6.28235C8.18999 5.86811 8.51849 5.5285 8.93249 5.51473C9.32915 5.50153 9.6614 5.81238 9.6746 6.20904Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.20081 0.978035L9.22929 0.993614L15.6735 4.71524C15.8889 4.83967 16.0046 5.05047 16.0206 5.26767L16.022 5.29284L16.0225 5.32092V12.697C16.0225 12.9365 15.8998 13.1585 15.6989 13.2862L15.6723 13.3023L9.22806 17.0071C9.02108 17.1261 8.76841 17.1308 8.55793 17.0213L8.52949 17.0056L2.14783 13.3009C1.94158 13.1811 1.81134 12.9649 1.80084 12.728L1.80005 12.697L1.80028 5.30779L1.80005 5.28646C1.80132 5.05592 1.91682 4.83187 2.12354 4.70054L2.14878 4.68524L8.53049 0.993853C8.72739 0.879964 8.96603 0.869749 9.17042 0.963234L9.20081 0.978035ZM14.626 6.52945L9.57824 9.44452V15.1949L14.626 12.2929V6.52945ZM3.19662 6.53529V12.295L8.18177 15.189V9.44249L3.19662 6.53529ZM8.88026 2.40466L3.86249 5.30703L8.88178 8.23416L13.928 5.31985L8.88026 2.40466Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 877 B

View File

@ -0,0 +1,6 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.80108 10.6364L1.79999 9.00001L4.80108 7.36365" stroke="#56606D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M13.1988 7.36365L16.1999 9.00001L13.1988 10.6364" stroke="#56606D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.2 12.2727L8.99999 16.2L1.79999 12.2727L4.80108 10.6364L8.99999 12.9273L13.1989 10.6364L16.2 12.2727Z" stroke="#56606D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.79999 5.72732L8.99999 9.6546L16.2 5.72732L8.99999 1.80005L1.79999 5.72732Z" stroke="#56606D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 764 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.00321 12.5639C9.40013 12.5639 9.72373 12.8778 9.73928 13.2709L9.73986 13.3005V16.3634C9.73986 16.7702 9.41005 17.1 9.00321 17.1C8.60629 17.1 8.28269 16.7861 8.26715 16.393L8.26656 16.3634V13.3005C8.26656 12.8937 8.59637 12.5639 9.00321 12.5639ZM12.5825 11.5386L12.6069 11.5619L14.7307 13.6857C15.0184 13.9733 15.0184 14.4398 14.7307 14.7275C14.451 15.0071 14.0024 15.0149 13.7133 14.7508L13.6889 14.7275L11.5651 12.6037C11.2774 12.316 11.2774 11.8496 11.5651 11.5619C11.8366 11.2904 12.2672 11.2751 12.5566 11.516L12.5825 11.5386ZM6.48415 11.4847C6.7631 11.7652 6.76968 12.2138 6.50477 12.5022L6.4814 12.5265L4.29031 14.702C4.00187 14.989 3.53545 14.9877 3.24853 14.6993C2.96958 14.4189 2.963 13.9702 3.22792 13.6818L3.25129 13.6575L5.44237 11.482C5.73081 11.1951 6.19723 11.1963 6.48415 11.4847ZM4.70534 8.26333C5.11218 8.26333 5.44199 8.59314 5.44199 8.99998C5.44199 9.3969 5.12808 9.7205 4.73497 9.73605L4.70534 9.73663H1.63655C1.22971 9.73663 0.899902 9.40682 0.899902 8.99998C0.899902 8.60306 1.21382 8.27946 1.60693 8.26391L1.63655 8.26333H4.70534ZM16.3668 8.26333C16.7736 8.26333 17.1034 8.59314 17.1034 8.99998C17.1034 9.3969 16.7895 9.7205 16.3964 9.73605L16.3668 9.73663H13.422C13.0152 9.73663 12.6854 9.40682 12.6854 8.99998C12.6854 8.60306 12.9993 8.27946 13.3924 8.26391L13.422 8.26333H16.3668ZM4.28844 3.2445L4.31282 3.26781L6.44387 5.39886C6.73155 5.68654 6.73155 6.15296 6.44387 6.44064C6.16419 6.72033 5.71555 6.7281 5.42647 6.46395L5.40209 6.44064L3.27104 4.30959C2.98336 4.02191 2.98336 3.55549 3.27104 3.26781C3.54251 2.99635 3.97313 2.98105 4.26253 3.2219L4.28844 3.2445ZM14.7335 3.27487C15.0125 3.5553 15.0191 4.00395 14.7542 4.29233L14.7308 4.31665L12.6582 6.37432C12.3697 6.66124 11.9033 6.66001 11.6164 6.37157C11.3374 6.09114 11.3309 5.64248 11.5958 5.35411L11.6191 5.32979L13.6918 3.27211C13.9802 2.9852 14.4466 2.98643 14.7335 3.27487ZM9.00321 0.900024C9.40013 0.900024 9.72373 1.21394 9.73928 1.60705L9.73986 1.63668V4.58293C9.73986 4.98977 9.41005 5.31958 9.00321 5.31958C8.60629 5.31958 8.28269 5.00566 8.26715 4.61256L8.26656 4.58293V1.63668C8.26656 1.22983 8.59637 0.900024 9.00321 0.900024Z" fill="#56606D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

Some files were not shown because too many files have changed in this diff Show More