diff --git a/theseus_gui/.gitignore b/theseus_gui/.gitignore
index d6cbf02e..5bc838d0 100644
--- a/theseus_gui/.gitignore
+++ b/theseus_gui/.gitignore
@@ -10,6 +10,7 @@ pnpm-debug.log*
lerna-debug.log*
node_modules
+dist
dist-ssr
*.local
diff --git a/theseus_gui/dist/.gitignore b/theseus_gui/dist/.gitignore
deleted file mode 100644
index 0db63c67..00000000
--- a/theseus_gui/dist/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore everything in this directory
-*
-# except the gitignore
-!.gitignore
\ No newline at end of file
diff --git a/theseus_gui/package.json b/theseus_gui/package.json
index 22e509af..2ebf2230 100644
--- a/theseus_gui/package.json
+++ b/theseus_gui/package.json
@@ -14,11 +14,12 @@
},
"dependencies": {
"@tauri-apps/api": "^1.2.0",
- "ofetch": "^1.0.1",
- "omorphia": "^0.4.2",
+ "omorphia": "^0.4.4",
"pinia": "^2.0.33",
"vite-svg-loader": "^4.0.0",
"vue": "^3.2.45",
+ "dayjs": "^1.11.7",
+ "ofetch": "^1.0.1",
"vue-multiselect": "^3.0.0-alpha.2",
"vue-router": "4"
},
@@ -34,4 +35,4 @@
"vite": "^4.0.0",
"vite-plugin-eslint": "^1.8.1"
}
-}
\ No newline at end of file
+}
diff --git a/theseus_gui/src/assets/external/bmac.svg b/theseus_gui/src/assets/external/bmac.svg
new file mode 100644
index 00000000..be7e015e
--- /dev/null
+++ b/theseus_gui/src/assets/external/bmac.svg
@@ -0,0 +1,16 @@
+
diff --git a/theseus_gui/src/assets/external/discord.svg b/theseus_gui/src/assets/external/discord.svg
new file mode 100644
index 00000000..a655bf5c
--- /dev/null
+++ b/theseus_gui/src/assets/external/discord.svg
@@ -0,0 +1,10 @@
+
diff --git a/theseus_gui/src/assets/external/index.js b/theseus_gui/src/assets/external/index.js
new file mode 100644
index 00000000..b7aff27d
--- /dev/null
+++ b/theseus_gui/src/assets/external/index.js
@@ -0,0 +1,6 @@
+export { default as BuyMeACoffeeIcon } from './bmac.svg'
+export { default as DiscordIcon } from './discord.svg'
+export { default as KoFiIcon } from './kofi.svg'
+export { default as PatreonIcon } from './patreon.svg'
+export { default as PaypalIcon } from './paypal.svg'
+export { default as OpenCollectiveIcon } from './opencollective.svg'
diff --git a/theseus_gui/src/assets/external/kofi.svg b/theseus_gui/src/assets/external/kofi.svg
new file mode 100644
index 00000000..932483aa
--- /dev/null
+++ b/theseus_gui/src/assets/external/kofi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/theseus_gui/src/assets/external/opencollective.svg b/theseus_gui/src/assets/external/opencollective.svg
new file mode 100644
index 00000000..70e5816e
--- /dev/null
+++ b/theseus_gui/src/assets/external/opencollective.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/theseus_gui/src/assets/external/patreon.svg b/theseus_gui/src/assets/external/patreon.svg
new file mode 100644
index 00000000..d2be6e1c
--- /dev/null
+++ b/theseus_gui/src/assets/external/patreon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/theseus_gui/src/assets/external/paypal.svg b/theseus_gui/src/assets/external/paypal.svg
new file mode 100644
index 00000000..a5da5a46
--- /dev/null
+++ b/theseus_gui/src/assets/external/paypal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/theseus_gui/src/assets/icons/x-circle.svg b/theseus_gui/src/assets/icons/x-circle.svg
new file mode 100644
index 00000000..275a3f98
--- /dev/null
+++ b/theseus_gui/src/assets/icons/x-circle.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/theseus_gui/src/assets/stylesheets/global.css b/theseus_gui/src/assets/stylesheets/global.css
deleted file mode 100644
index 00e5522d..00000000
--- a/theseus_gui/src/assets/stylesheets/global.css
+++ /dev/null
@@ -1,11 +0,0 @@
-@import url('https://rsms.me/inter/inter.css');
-
-:root {
- font-family: var(--font-standard);
-}
-
-* {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
-}
diff --git a/theseus_gui/src/assets/stylesheets/global.scss b/theseus_gui/src/assets/stylesheets/global.scss
new file mode 100644
index 00000000..ea9b6cc8
--- /dev/null
+++ b/theseus_gui/src/assets/stylesheets/global.scss
@@ -0,0 +1,153 @@
+@import url('https://rsms.me/inter/inter.css');
+
+:root {
+ font-family: var(--font-standard);
+}
+
+* {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+.card-divider {
+ background-color: var(--color-button-bg);
+ border: none;
+ color: var(--color-button-bg);
+ height: 1px;
+ margin: var(--gap-sm) 0;
+}
+
+.no-wrap {
+ white-space: nowrap;
+}
+
+a {
+ color: var(--color-link);
+ text-decoration: none;
+
+ &:hover {
+ text-decoration: none;
+ }
+}
+
+.multiselect {
+ color: var(--color-base) !important;
+ outline: 2px solid transparent;
+
+ .multiselect__input:focus-visible {
+ outline: none !important;
+ box-shadow: none !important;
+ padding: 0 !important;
+ min-height: 0 !important;
+ font-weight: normal !important;
+ margin-left: 0.5rem;
+ margin-bottom: 10px;
+ }
+
+ input {
+ background: transparent;
+ box-shadow: none;
+ border: none !important;
+
+ &:focus {
+ box-shadow: none;
+ }
+ }
+
+ input::placeholder {
+ color: var(--color-base);
+ }
+
+ .multiselect__tags {
+ border-radius: var(--radius-md);
+ background: var(--color-button-bg);
+ box-shadow: var(--shadow-inset-sm);
+ border: none;
+ cursor: pointer;
+ padding-left: 0.5rem;
+ font-size: 1rem;
+
+ transition: background-color 0.1s ease-in-out;
+
+ &:active {
+ filter: brightness(1.25);
+
+ .multiselect__spinner {
+ filter: brightness(1.25);
+ }
+ }
+
+ .multiselect__single {
+ background: transparent;
+ }
+
+ .multiselect__tag {
+ border-radius: var(--radius-md);
+ color: var(--color-base);
+ background: transparent;
+ border: 2px solid var(--color-brand);
+ }
+
+ .multiselect__tag-icon {
+ background: transparent;
+
+ &:after {
+ color: var(--color-contrast);
+ }
+ }
+
+ .multiselect__placeholder {
+ color: var(--color-base);
+ margin-left: 0.5rem;
+ opacity: 0.6;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ }
+ }
+
+ .multiselect__content-wrapper {
+ background: var(--color-button-bg);
+ border: none;
+ overflow-x: hidden;
+ box-shadow: var(--shadow-inset-sm), var(--shadow-floating);
+ width: 100%;
+
+ .multiselect__element {
+ .multiselect__option--highlight {
+ background: var(--color-button-bg);
+ filter: brightness(1.25);
+ color: var(--color-contrast);
+ }
+
+ .multiselect__option--selected {
+ background: var(--color-brand);
+ font-weight: bold;
+ color: var(--color-accent-contrast);
+ }
+ }
+ }
+
+ .multiselect__spinner {
+ background: var(--color-button-bg);
+
+ &:active {
+ filter: brightness(1.25);
+ }
+ }
+
+ &.multiselect--disabled {
+ background: none;
+
+ .multiselect__current,
+ .multiselect__select {
+ background: none;
+ }
+ }
+}
+
+.multiselect--above .multiselect__content-wrapper {
+ border-top: none !important;
+ border-top-left-radius: var(--radius-md) !important;
+ border-top-right-radius: var(--radius-md) !important;
+}
diff --git a/theseus_gui/src/helpers/utils.js b/theseus_gui/src/helpers/utils.js
new file mode 100644
index 00000000..83238da9
--- /dev/null
+++ b/theseus_gui/src/helpers/utils.js
@@ -0,0 +1,12 @@
+export const releaseColor = (releaseType) => {
+ switch (releaseType) {
+ case 'release':
+ return 'green'
+ case 'beta':
+ return 'orange'
+ case 'alpha':
+ return 'red'
+ default:
+ return ''
+ }
+}
diff --git a/theseus_gui/src/main.js b/theseus_gui/src/main.js
index f4fba6bc..20249253 100644
--- a/theseus_gui/src/main.js
+++ b/theseus_gui/src/main.js
@@ -3,7 +3,7 @@ import router from '@/routes'
import App from '@/App.vue'
import { createPinia } from 'pinia'
import '../node_modules/omorphia/dist/style.css'
-import '@/assets/stylesheets/global.css'
+import '@/assets/stylesheets/global.scss'
const pinia = createPinia()
diff --git a/theseus_gui/src/pages/Browse.vue b/theseus_gui/src/pages/Browse.vue
index 1fcd8a1b..eba0acdb 100644
--- a/theseus_gui/src/pages/Browse.vue
+++ b/theseus_gui/src/pages/Browse.vue
@@ -269,7 +269,7 @@ const handleReset = async () => {
{
),
]"
:project-type-display="result?.project_type"
- project-type-url="instance"
+ project-type-url="project"
:server-side="result?.server_side"
:client-side="result?.client_side"
:show-updated-date="false"
:color="result?.color"
- >
-
+ />
@@ -412,125 +411,4 @@ const handleReset = async () => {
}
}
}
-
-.multiselect {
- color: var(--color-base) !important;
- outline: 2px solid transparent;
-
- .multiselect__input:focus-visible {
- outline: none !important;
- box-shadow: none !important;
- padding: 0 !important;
- min-height: 0 !important;
- font-weight: normal !important;
- margin-left: 0.5rem;
- margin-bottom: 10px;
- }
-
- input {
- background: transparent;
- box-shadow: none;
- border: none !important;
-
- &:focus {
- box-shadow: none;
- }
- }
-
- input::placeholder {
- color: var(--color-base);
- }
-
- .multiselect__tags {
- border-radius: var(--radius-md);
- background: var(--color-button-bg);
- box-shadow: var(--shadow-inset-sm);
- border: none;
- cursor: pointer;
- padding-left: 0.5rem;
- font-size: 1rem;
-
- transition: background-color 0.1s ease-in-out;
-
- &:active {
- filter: brightness(1.25);
-
- .multiselect__spinner {
- filter: brightness(1.25);
- }
- }
-
- .multiselect__single {
- background: transparent;
- }
-
- .multiselect__tag {
- border-radius: var(--radius-md);
- color: var(--color-base);
- background: transparent;
- border: 2px solid var(--color-brand);
- }
-
- .multiselect__tag-icon {
- background: transparent;
-
- &:after {
- color: var(--color-contrast);
- }
- }
-
- .multiselect__placeholder {
- color: var(--color-base);
- margin-left: 0.5rem;
- opacity: 0.6;
- font-size: 1rem;
- line-height: 1.25rem;
- }
- }
-
- .multiselect__content-wrapper {
- background: var(--color-button-bg);
- border: none;
- overflow-x: hidden;
- box-shadow: var(--shadow-inset-sm), var(--shadow-floating);
- width: 100%;
-
- .multiselect__element {
- .multiselect__option--highlight {
- background: var(--color-button-bg);
- filter: brightness(1.25);
- color: var(--color-contrast);
- }
-
- .multiselect__option--selected {
- background: var(--color-brand);
- font-weight: bold;
- color: var(--color-accent-contrast);
- }
- }
- }
-
- .multiselect__spinner {
- background: var(--color-button-bg);
-
- &:active {
- filter: brightness(1.25);
- }
- }
-
- &.multiselect--disabled {
- background: none;
-
- .multiselect__current,
- .multiselect__select {
- background: none;
- }
- }
-}
-
-.multiselect--above .multiselect__content-wrapper {
- border-top: none !important;
- border-top-left-radius: var(--radius-md) !important;
- border-top-right-radius: var(--radius-md) !important;
-}
diff --git a/theseus_gui/src/pages/instance/Mods.vue b/theseus_gui/src/pages/instance/Mods.vue
index c184f421..70794e9f 100644
--- a/theseus_gui/src/pages/instance/Mods.vue
+++ b/theseus_gui/src/pages/instance/Mods.vue
@@ -43,10 +43,10 @@
{{ mod.version }}
{{ mod.author }}
@@ -71,6 +71,7 @@ export default {
mods: [
{
name: 'Fabric API',
+ slug: 'fabric-api',
icon: 'https://cdn.modrinth.com/data/P7dR8mSH/icon.png',
version: '0.76.0+1.19.4',
author: 'modmuss50',
@@ -80,6 +81,7 @@ export default {
},
{
name: 'Spirit',
+ slug: 'spirit',
icon: 'https://cdn.modrinth.com/data/b1LdOZlE/465598dc5d89f67fb8f8de6def21240fa35e3a54.png',
version: '2.2.4',
author: 'CodexAdrian',
@@ -88,6 +90,7 @@ export default {
},
{
name: 'Botarium',
+ slug: 'botarium',
icon: 'https://cdn.modrinth.com/data/2u6LRnMa/98b286b0d541ad4f9409e0af3df82ad09403f179.gif',
version: '2.0.5',
author: 'CodexAdrian',
@@ -97,6 +100,7 @@ export default {
},
{
name: 'Tempad',
+ slug: 'tempad',
icon: 'https://cdn.modrinth.com/data/gKNwt7xu/icon.gif',
version: '2.2.4',
author: 'CodexAdrian',
@@ -105,6 +109,7 @@ export default {
},
{
name: 'Sodium',
+ slug: 'sodium',
icon: 'https://cdn.modrinth.com/data/AANobbMI/icon.png',
version: '0.4.10',
author: 'jellysquid3',
diff --git a/theseus_gui/src/pages/project/Changelog.vue b/theseus_gui/src/pages/project/Changelog.vue
new file mode 100644
index 00000000..f9aae657
--- /dev/null
+++ b/theseus_gui/src/pages/project/Changelog.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/Description.vue b/theseus_gui/src/pages/project/Description.vue
new file mode 100644
index 00000000..d64022c9
--- /dev/null
+++ b/theseus_gui/src/pages/project/Description.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/Gallery.vue b/theseus_gui/src/pages/project/Gallery.vue
new file mode 100644
index 00000000..2ed4f443
--- /dev/null
+++ b/theseus_gui/src/pages/project/Gallery.vue
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+
+
{{ image.title }}
+ {{ image.description }}
+
+
+
+ {{
+ new Date(image.created).toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ })
+ }}
+
+
+
+
+
+
![]()
+
+
+
+
+ {{ expandedGalleryItem.title }}
+
+
+ {{ expandedGalleryItem.description }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/Index.vue b/theseus_gui/src/pages/project/Index.vue
new file mode 100644
index 00000000..b6811203
--- /dev/null
+++ b/theseus_gui/src/pages/project/Index.vue
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/Version.vue b/theseus_gui/src/pages/project/Version.vue
new file mode 100644
index 00000000..925ccb21
--- /dev/null
+++ b/theseus_gui/src/pages/project/Version.vue
@@ -0,0 +1,385 @@
+
+
+
+
+
{{ version.name }}
+ Auto-Featured
+
+
+
+
+
+
+ Changelog
+
+
+
+ Files
+
+
+
+
+
+ {{ file.filename }}
+
+ ({{ formatBytes(file.size) }})
+ Primary
+
+
+
+
+
+
+ Dependencies
+
+
+
+
+ {{ dependency.title }}
+ {{ dependency.subtitle }}
+
+
+
+
+
+
{{ dependency.title }}
+
{{ dependency.subtitle }}
+
+
+
+
+
+
+ Metadata
+
+
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/Versions.vue b/theseus_gui/src/pages/project/Versions.vue
new file mode 100644
index 00000000..19c5f173
--- /dev/null
+++ b/theseus_gui/src/pages/project/Versions.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+
Name
+
Supports
+
Stats
+
+
+
+
+
+
+
+ {{ version.name.charAt(0).toUpperCase() + version.name.slice(1) }}
+
+
+
+
+
+ {{ version.version_number }}
+
+
+
+
+
+
+ {{
+ version.loaders.map((str) => str.charAt(0).toUpperCase() + str.slice(1)).join(', ')
+ }}
+
+
+ {{ version.game_versions.join(', ') }}
+
+
+
+
+ Published on
+
+ {{
+ new Date(version.date_published).toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'short',
+ day: 'numeric',
+ })
+ }}
+
+
+
+
+ {{ formatNumber(version.downloads) }}
+
+ Downloads
+
+
+
+
+
+
+
+
+
+
diff --git a/theseus_gui/src/pages/project/index.js b/theseus_gui/src/pages/project/index.js
new file mode 100644
index 00000000..56a7b3b9
--- /dev/null
+++ b/theseus_gui/src/pages/project/index.js
@@ -0,0 +1,7 @@
+import Index from './Index.vue'
+import Description from './Description.vue'
+import Versions from './Versions.vue'
+import Gallery from './Gallery.vue'
+import Version from './Version.vue'
+
+export { Index, Description, Versions, Gallery, Version }
diff --git a/theseus_gui/src/routes.js b/theseus_gui/src/routes.js
index d2de889d..71c1d2d6 100644
--- a/theseus_gui/src/routes.js
+++ b/theseus_gui/src/routes.js
@@ -1,5 +1,6 @@
import { createRouter, createWebHistory } from 'vue-router'
import * as Pages from '@/pages'
+import * as Project from '@/pages/project'
import * as Instance from '@/pages/instance'
/**
@@ -38,6 +39,35 @@ export default new createRouter({
name: 'Settings',
component: Pages.Settings,
},
+ {
+ path: '/project/:id',
+ name: 'Project',
+ component: Project.Index,
+ props: true,
+ children: [
+ {
+ path: '',
+ name: 'Description',
+ component: Project.Description,
+ },
+ {
+ path: 'versions',
+ name: 'Versions',
+ component: Project.Versions,
+ },
+ {
+ path: 'version/:version',
+ name: 'Version',
+ component: Project.Version,
+ props: true,
+ },
+ {
+ path: 'gallery',
+ name: 'Gallery',
+ component: Project.Gallery,
+ },
+ ],
+ },
{
path: '/instance/:id',
name: 'Instance',
diff --git a/theseus_gui/yarn.lock b/theseus_gui/yarn.lock
index c288e0ce..28209cbc 100644
--- a/theseus_gui/yarn.lock
+++ b/theseus_gui/yarn.lock
@@ -449,6 +449,20 @@ argparse@^2.0.1:
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+axios@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024"
+ integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -519,6 +533,13 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
commander@^2.20.3:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@@ -614,6 +635,11 @@ deep-is@^0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
destr@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/destr/-/destr-1.2.2.tgz#7ba9befcafb645a50e76b260449c63927b51e22f"
@@ -879,6 +905,20 @@ floating-vue@^2.0.0-beta.20:
"@floating-ui/dom" "^0.1.10"
vue-resize "^2.0.0-alpha.1"
+follow-redirects@^1.15.0:
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+ integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -1120,6 +1160,18 @@ mdurl@^1.0.1:
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -1168,10 +1220,10 @@ ofetch@^1.0.1:
node-fetch-native "^1.0.2"
ufo "^1.1.0"
-omorphia@^0.4.2:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/omorphia/-/omorphia-0.4.3.tgz#a247e2e15b77b4b5f55fe766f1c64419bb6fbc72"
- integrity sha512-aGjtYhUrWNgjKM3HiL+MF5DdXfrllfDxql2mzu7JRzpjTB20xnksHKvU71x17FS9P1QXxumzADVF5v2rn9lb6A==
+omorphia@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/omorphia/-/omorphia-0.4.4.tgz#788e5953eb1ae81c8a65ce277a5086668acf50a4"
+ integrity sha512-HnIZahQVQmH6kHPzeb5iQTzgPhWu8VUwgNnCIUzWhudFqgB32NNUHNQW3seHgM8pmLSeIA3/2fjqkTrzK9EQvw==
dependencies:
dayjs "^1.11.7"
floating-vue "^2.0.0-beta.20"
@@ -1287,6 +1339,11 @@ prettier@^2.8.7:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450"
integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
punycode@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"