Merge branch 'performance' into 'main'
Performance improvements See merge request framasoft/mobilizon!1276
This commit is contained in:
commit
1a9aef00e5
|
@ -94,7 +94,6 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@histoire/plugin-vue": "^0.10.0",
|
"@histoire/plugin-vue": "^0.10.0",
|
||||||
"@intlify/vite-plugin-vue-i18n": "^6.0.0",
|
|
||||||
"@playwright/test": "^1.25.1",
|
"@playwright/test": "^1.25.1",
|
||||||
"@rushstack/eslint-patch": "^1.1.4",
|
"@rushstack/eslint-patch": "^1.1.4",
|
||||||
"@tailwindcss/forms": "^0.5.2",
|
"@tailwindcss/forms": "^0.5.2",
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
alt=""
|
alt=""
|
||||||
width="48"
|
width="48"
|
||||||
height="48"
|
height="48"
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
<AccountCircle
|
<AccountCircle
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
alt=""
|
alt=""
|
||||||
width="36"
|
width="36"
|
||||||
height="36"
|
height="36"
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
<AccountCircle :size="36" v-else />
|
<AccountCircle :size="36" v-else />
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
width="384"
|
width="384"
|
||||||
height="384"
|
height="384"
|
||||||
alt=""
|
alt=""
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</picture>
|
</picture>
|
||||||
<p
|
<p
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
alt=""
|
alt=""
|
||||||
width="24"
|
width="24"
|
||||||
height="24"
|
height="24"
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
<account-circle v-else />
|
<account-circle v-else />
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { Address, IAddress } from "@/types/address.model";
|
import { Address, IAddress } from "@/types/address.model";
|
||||||
import { RoutingTransportationType, RoutingType } from "@/types/enums";
|
import { RoutingTransportationType, RoutingType } from "@/types/enums";
|
||||||
import { computed } from "vue";
|
import { computed, defineAsyncComponent } from "vue";
|
||||||
|
|
||||||
const RoutingParamType = {
|
const RoutingParamType = {
|
||||||
[RoutingType.OPENSTREETMAP]: {
|
[RoutingType.OPENSTREETMAP]: {
|
||||||
|
@ -87,7 +87,9 @@ const RoutingParamType = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const MapLeaflet = import("@/components/LeafletMap.vue");
|
const MapLeaflet = defineAsyncComponent(
|
||||||
|
() => import("@/components/LeafletMap.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
address: IAddress;
|
address: IAddress;
|
||||||
|
|
|
@ -482,18 +482,10 @@ const lastSeatsLeft = computed<boolean>(() => {
|
||||||
const actorAvatarURL = computed<string | null>(() =>
|
const actorAvatarURL = computed<string | null>(() =>
|
||||||
organizerAvatarUrl(props.participation.event)
|
organizerAvatarUrl(props.participation.event)
|
||||||
);
|
);
|
||||||
|
|
||||||
// export default class EventParticipationCard extends mixins(
|
|
||||||
// ActorMixin,
|
|
||||||
// EventMixin
|
|
||||||
// ) {
|
|
||||||
|
|
||||||
// }
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@use "@/styles/_mixins" as *;
|
@use "@/styles/_mixins" as *;
|
||||||
// @import "node_modules/bulma/sass/utilities/mixins.sass";
|
|
||||||
|
|
||||||
article.box {
|
article.box {
|
||||||
// div.tag-container {
|
// div.tag-container {
|
||||||
|
|
|
@ -37,12 +37,15 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { IAddress } from "@/types/address.model";
|
import { IAddress } from "@/types/address.model";
|
||||||
import { AddressSearchType } from "@/types/enums";
|
import { AddressSearchType } from "@/types/enums";
|
||||||
import { computed } from "vue";
|
import { computed, defineAsyncComponent } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import FullAddressAutoComplete from "@/components/Event/FullAddressAutoComplete.vue";
|
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import RouteName from "@/router/name";
|
import RouteName from "@/router/name";
|
||||||
|
|
||||||
|
const FullAddressAutoComplete = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/FullAddressAutoComplete.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
location: IAddress | null;
|
location: IAddress | null;
|
||||||
locationDefaultText?: string | null;
|
locationDefaultText?: string | null;
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
|
|
||||||
<!-- Tailwind CSS -->
|
|
||||||
<link
|
|
||||||
href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css"
|
|
||||||
rel="stylesheet"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<title>Tailwind CSS CDN</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="p-10">
|
|
||||||
<!--Card 1-->
|
|
||||||
<div class="w-full lg:max-w-full lg:flex">
|
|
||||||
<div
|
|
||||||
class="h-48 lg:h-auto lg:w-48 flex-none bg-cover rounded-t lg:rounded-t-none lg:rounded-l text-center overflow-hidden"
|
|
||||||
style="
|
|
||||||
background-image: url('https://mobilizon.fr/media/70e930f488788afdf5d024be5ac2f9c9f0e1b166e16f645beb2c344cdcc65d62.jpg?name=musiquesurnantesbanner.jpg');
|
|
||||||
"
|
|
||||||
title="Mountain"
|
|
||||||
></div>
|
|
||||||
<div
|
|
||||||
class="border-r border-b border-l border-gray-400 lg:border-l-0 lg:border-t lg:border-gray-400 bg-white rounded-b lg:rounded-b-none lg:rounded-r p-4 flex flex-col justify-between leading-normal"
|
|
||||||
>
|
|
||||||
<div class="mb-8">
|
|
||||||
<p class="text-sm text-gray-600 flex items-center">
|
|
||||||
<svg
|
|
||||||
class="fill-current text-gray-500 w-3 h-3 mr-2"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
viewBox="0 0 20 20"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M4 8V6a6 6 0 1 1 12 0v2h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2h1zm5 6.73V17h2v-2.27a2 2 0 1 0-2 0zM7 6v2h6V6a3 3 0 0 0-6 0z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
Members only
|
|
||||||
</p>
|
|
||||||
<div class="text-gray-900 font-bold text-xl mb-2">
|
|
||||||
Best Mountain Trails 2020
|
|
||||||
</div>
|
|
||||||
<p class="text-gray-700 text-base">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
|
|
||||||
Voluptatibus quia, Nonea! Maiores et perferendis eaque,
|
|
||||||
exercitationem praesentium nihil.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="flex items-center">
|
|
||||||
<img
|
|
||||||
class="w-10 h-10 rounded-full mr-4"
|
|
||||||
src="/ben.png"
|
|
||||||
alt="Avatar of Writer"
|
|
||||||
/>
|
|
||||||
<div class="text-sm">
|
|
||||||
<p class="text-gray-900 leading-none">John Smith</p>
|
|
||||||
<p class="text-gray-600">Aug 18</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -10,6 +10,7 @@
|
||||||
:src="picture.url"
|
:src="picture.url"
|
||||||
width="350"
|
width="350"
|
||||||
alt=""
|
alt=""
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
<div class="absolute top-0 left-0 h-full w-full">
|
<div class="absolute top-0 left-0 h-full w-full">
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
:src="currentActor?.avatar.url"
|
:src="currentActor?.avatar.url"
|
||||||
width="32"
|
width="32"
|
||||||
height="32"
|
height="32"
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
<AccountCircle v-else :size="32" />
|
<AccountCircle v-else :size="32" />
|
||||||
|
|
|
@ -60,9 +60,7 @@ export const eventMetaDataList: IEventMetadataDescription[] = [
|
||||||
icon: "smoking-off",
|
icon: "smoking-off",
|
||||||
key: "mz:accessibility:smokeFree",
|
key: "mz:accessibility:smokeFree",
|
||||||
label: t("Smoke free") as string,
|
label: t("Smoke free") as string,
|
||||||
description: t(
|
description: t("Whether smoking is prohibited during the event") as string,
|
||||||
"Whether smoking is prohibited during the event"
|
|
||||||
) as string,
|
|
||||||
value: "false",
|
value: "false",
|
||||||
type: EventMetadataType.BOOLEAN,
|
type: EventMetadataType.BOOLEAN,
|
||||||
keyType: EventMetadataKeyType.PLAIN,
|
keyType: EventMetadataKeyType.PLAIN,
|
||||||
|
|
|
@ -3,7 +3,6 @@ import en from "../i18n/en_US.json";
|
||||||
import langs from "../i18n/langs.json";
|
import langs from "../i18n/langs.json";
|
||||||
import { getLocaleData } from "./auth";
|
import { getLocaleData } from "./auth";
|
||||||
import pluralizationRules from "../i18n/pluralRules";
|
import pluralizationRules from "../i18n/pluralRules";
|
||||||
// import messages from "@intlify/vite-plugin-vue-i18n/messages";
|
|
||||||
|
|
||||||
const DEFAULT_LOCALE = "en_US";
|
const DEFAULT_LOCALE = "en_US";
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,7 @@
|
||||||
media="(min-width: 300px)"
|
media="(min-width: 300px)"
|
||||||
/>
|
/>
|
||||||
<img
|
<img
|
||||||
|
loading="lazy"
|
||||||
class="w-full h-12 w-12 object-cover"
|
class="w-full h-12 w-12 object-cover"
|
||||||
:src="`/img/categories/${key.toLowerCase()}.webp`"
|
:src="`/img/categories/${key.toLowerCase()}.webp`"
|
||||||
:srcset="`/img/categories/${key.toLowerCase()}-small.webp `"
|
:srcset="`/img/categories/${key.toLowerCase()}-small.webp `"
|
||||||
|
|
|
@ -594,7 +594,6 @@ import { getTimezoneOffset } from "date-fns-tz";
|
||||||
import PictureUpload from "@/components/PictureUpload.vue";
|
import PictureUpload from "@/components/PictureUpload.vue";
|
||||||
import EditorComponent from "@/components/TextEditor.vue";
|
import EditorComponent from "@/components/TextEditor.vue";
|
||||||
import TagInput from "@/components/Event/TagInput.vue";
|
import TagInput from "@/components/Event/TagInput.vue";
|
||||||
import FullAddressAutoComplete from "@/components/Event/FullAddressAutoComplete.vue";
|
|
||||||
import EventMetadataList from "@/components/Event/EventMetadataList.vue";
|
import EventMetadataList from "@/components/Event/EventMetadataList.vue";
|
||||||
import {
|
import {
|
||||||
NavigationGuardNext,
|
NavigationGuardNext,
|
||||||
|
@ -656,7 +655,14 @@ import {
|
||||||
usePersonStatusGroup,
|
usePersonStatusGroup,
|
||||||
} from "@/composition/apollo/actor";
|
} from "@/composition/apollo/actor";
|
||||||
import { useUserSettings } from "@/composition/apollo/user";
|
import { useUserSettings } from "@/composition/apollo/user";
|
||||||
import { computed, inject, onMounted, ref, watch } from "vue";
|
import {
|
||||||
|
computed,
|
||||||
|
inject,
|
||||||
|
onMounted,
|
||||||
|
ref,
|
||||||
|
watch,
|
||||||
|
defineAsyncComponent,
|
||||||
|
} from "vue";
|
||||||
import { useFetchEvent } from "@/composition/apollo/event";
|
import { useFetchEvent } from "@/composition/apollo/event";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useGroup } from "@/composition/apollo/group";
|
import { useGroup } from "@/composition/apollo/group";
|
||||||
|
@ -684,6 +690,10 @@ const { identities } = useCurrentUserIdentities();
|
||||||
|
|
||||||
const { features } = useFeatures();
|
const { features } = useFeatures();
|
||||||
|
|
||||||
|
const FullAddressAutoComplete = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/FullAddressAutoComplete.vue")
|
||||||
|
);
|
||||||
|
|
||||||
// apollo: {
|
// apollo: {
|
||||||
// config: CONFIG_EDIT_EVENT,
|
// config: CONFIG_EDIT_EVENT,
|
||||||
// event: {
|
// event: {
|
||||||
|
|
|
@ -543,7 +543,6 @@ import {
|
||||||
import Tag from "@/components/TagElement.vue";
|
import Tag from "@/components/TagElement.vue";
|
||||||
import EventMetadataSidebar from "@/components/Event/EventMetadataSidebar.vue";
|
import EventMetadataSidebar from "@/components/Event/EventMetadataSidebar.vue";
|
||||||
import EventBanner from "@/components/Event/EventBanner.vue";
|
import EventBanner from "@/components/Event/EventBanner.vue";
|
||||||
import EventMap from "@/components/Event/EventMap.vue";
|
|
||||||
import PopoverActorCard from "@/components/Account/PopoverActorCard.vue";
|
import PopoverActorCard from "@/components/Account/PopoverActorCard.vue";
|
||||||
import { IParticipant } from "@/types/participant.model";
|
import { IParticipant } from "@/types/participant.model";
|
||||||
import { ApolloCache, FetchResult } from "@apollo/client/core";
|
import { ApolloCache, FetchResult } from "@apollo/client/core";
|
||||||
|
@ -611,6 +610,9 @@ const IntegrationEtherpad = defineAsyncComponent(
|
||||||
() => import("@/components/Event/Integrations/EtherpadIntegration.vue")
|
() => import("@/components/Event/Integrations/EtherpadIntegration.vue")
|
||||||
);
|
);
|
||||||
/* eslint-enable @typescript-eslint/no-unused-vars */
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
||||||
|
const EventMap = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/EventMap.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
uuid: string;
|
uuid: string;
|
||||||
|
|
|
@ -200,7 +200,6 @@ import RouteName from "@/router/name";
|
||||||
import { IParticipant } from "../../types/participant.model";
|
import { IParticipant } from "../../types/participant.model";
|
||||||
import { LOGGED_USER_DRAFTS } from "../../graphql/actor";
|
import { LOGGED_USER_DRAFTS } from "../../graphql/actor";
|
||||||
import { IEvent } from "../../types/event.model";
|
import { IEvent } from "../../types/event.model";
|
||||||
import EventParticipationCard from "../../components/Event/EventParticipationCard.vue";
|
|
||||||
import MultiEventMinimalistCard from "../../components/Event/MultiEventMinimalistCard.vue";
|
import MultiEventMinimalistCard from "../../components/Event/MultiEventMinimalistCard.vue";
|
||||||
import EventMinimalistCard from "../../components/Event/EventMinimalistCard.vue";
|
import EventMinimalistCard from "../../components/Event/EventMinimalistCard.vue";
|
||||||
import {
|
import {
|
||||||
|
@ -208,13 +207,17 @@ import {
|
||||||
LOGGED_USER_UPCOMING_EVENTS,
|
LOGGED_USER_UPCOMING_EVENTS,
|
||||||
} from "@/graphql/participant";
|
} from "@/graphql/participant";
|
||||||
import { useQuery } from "@vue/apollo-composable";
|
import { useQuery } from "@vue/apollo-composable";
|
||||||
import { computed, inject, ref } from "vue";
|
import { computed, inject, ref, defineAsyncComponent } from "vue";
|
||||||
import { IUser } from "@/types/current-user.model";
|
import { IUser } from "@/types/current-user.model";
|
||||||
import { booleanTransformer, useRouteQuery } from "vue-use-route-query";
|
import { booleanTransformer, useRouteQuery } from "vue-use-route-query";
|
||||||
import { Locale } from "date-fns";
|
import { Locale } from "date-fns";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useRestrictions } from "@/composition/apollo/config";
|
import { useRestrictions } from "@/composition/apollo/config";
|
||||||
|
|
||||||
|
const EventParticipationCard = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/EventParticipationCard.vue")
|
||||||
|
);
|
||||||
|
|
||||||
type Eventable = IParticipant | IEvent;
|
type Eventable = IParticipant | IEvent;
|
||||||
|
|
||||||
const { t } = useI18n({ useScope: "global" });
|
const { t } = useI18n({ useScope: "global" });
|
||||||
|
|
|
@ -184,7 +184,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import FullAddressAutoComplete from "@/components/Event/FullAddressAutoComplete.vue";
|
|
||||||
import PictureUpload from "@/components/PictureUpload.vue";
|
import PictureUpload from "@/components/PictureUpload.vue";
|
||||||
import { GroupVisibility, MemberRole, Openness } from "@/types/enums";
|
import { GroupVisibility, MemberRole, Openness } from "@/types/enums";
|
||||||
import { IGroup, usernameWithDomain, displayName } from "@/types/actor";
|
import { IGroup, usernameWithDomain, displayName } from "@/types/actor";
|
||||||
|
@ -212,6 +211,10 @@ const Editor = defineAsyncComponent(
|
||||||
() => import("@/components/TextEditor.vue")
|
() => import("@/components/TextEditor.vue")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const FullAddressAutoComplete = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/FullAddressAutoComplete.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const props = defineProps<{ preferredUsername: string }>();
|
const props = defineProps<{ preferredUsername: string }>();
|
||||||
|
|
||||||
const { currentActor } = useCurrentActorClient();
|
const { currentActor } = useCurrentActorClient();
|
||||||
|
@ -263,7 +266,7 @@ onGroupResult(({ data }) => {
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
group,
|
group,
|
||||||
async (newGroup: IGroup, oldGroup: IGroup) => {
|
async (newGroup: IGroup | undefined, oldGroup: IGroup | undefined) => {
|
||||||
console.debug("watching group");
|
console.debug("watching group");
|
||||||
if (!newGroup) return;
|
if (!newGroup) return;
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -175,7 +175,6 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ParticipantRole } from "@/types/enums";
|
import { ParticipantRole } from "@/types/enums";
|
||||||
import { IParticipant } from "../types/participant.model";
|
import { IParticipant } from "../types/participant.model";
|
||||||
import EventParticipationCard from "../components/Event/EventParticipationCard.vue";
|
|
||||||
import MultiCard from "../components/Event/MultiCard.vue";
|
import MultiCard from "../components/Event/MultiCard.vue";
|
||||||
import { CURRENT_ACTOR_CLIENT } from "../graphql/actor";
|
import { CURRENT_ACTOR_CLIENT } from "../graphql/actor";
|
||||||
import { IPerson, displayName } from "../types/actor";
|
import { IPerson, displayName } from "../types/actor";
|
||||||
|
@ -189,7 +188,14 @@ import CloseEvents from "@/components/Local/CloseEvents.vue";
|
||||||
import CloseGroups from "@/components/Local/CloseGroups.vue";
|
import CloseGroups from "@/components/Local/CloseGroups.vue";
|
||||||
import LastEvents from "@/components/Local/LastEvents.vue";
|
import LastEvents from "@/components/Local/LastEvents.vue";
|
||||||
import OnlineEvents from "@/components/Local/OnlineEvents.vue";
|
import OnlineEvents from "@/components/Local/OnlineEvents.vue";
|
||||||
import { computed, onMounted, reactive, ref, watch } from "vue";
|
import {
|
||||||
|
computed,
|
||||||
|
onMounted,
|
||||||
|
reactive,
|
||||||
|
ref,
|
||||||
|
watch,
|
||||||
|
defineAsyncComponent,
|
||||||
|
} from "vue";
|
||||||
import { useMutation, useQuery } from "@vue/apollo-composable";
|
import { useMutation, useQuery } from "@vue/apollo-composable";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { REVERSE_GEOCODE } from "@/graphql/address";
|
import { REVERSE_GEOCODE } from "@/graphql/address";
|
||||||
|
@ -209,6 +215,10 @@ import { useServerProvidedLocation } from "@/composition/apollo/config";
|
||||||
import { ABOUT } from "@/graphql/config";
|
import { ABOUT } from "@/graphql/config";
|
||||||
import { IConfig } from "@/types/config.model";
|
import { IConfig } from "@/types/config.model";
|
||||||
|
|
||||||
|
const EventParticipationCard = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/EventParticipationCard.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const { result: aboutConfigResult } = useQuery<{
|
const { result: aboutConfigResult } = useQuery<{
|
||||||
config: Pick<
|
config: Pick<
|
||||||
IConfig,
|
IConfig,
|
||||||
|
|
|
@ -668,7 +668,7 @@ import GroupCard from "@/components/Group/GroupCard.vue";
|
||||||
import { CURRENT_USER_CLIENT } from "@/graphql/user";
|
import { CURRENT_USER_CLIENT } from "@/graphql/user";
|
||||||
import { ICurrentUser } from "@/types/current-user.model";
|
import { ICurrentUser } from "@/types/current-user.model";
|
||||||
import { useQuery } from "@vue/apollo-composable";
|
import { useQuery } from "@vue/apollo-composable";
|
||||||
import { computed, inject, ref, watch } from "vue";
|
import { computed, defineAsyncComponent, inject, ref, watch } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import {
|
import {
|
||||||
floatTransformer,
|
floatTransformer,
|
||||||
|
@ -698,9 +698,12 @@ import { refDebounced } from "@vueuse/core";
|
||||||
import { IAddress } from "@/types/address.model";
|
import { IAddress } from "@/types/address.model";
|
||||||
import { IConfig } from "@/types/config.model";
|
import { IConfig } from "@/types/config.model";
|
||||||
import { TypeNamed } from "@/types/apollo";
|
import { TypeNamed } from "@/types/apollo";
|
||||||
import EventMarkerMap from "@/components/Search/EventMarkerMap.vue";
|
|
||||||
import { LatLngBounds } from "leaflet";
|
import { LatLngBounds } from "leaflet";
|
||||||
|
|
||||||
|
const EventMarkerMap = defineAsyncComponent(
|
||||||
|
() => import("@/components/Search/EventMarkerMap.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const search = useRouteQuery("search", "");
|
const search = useRouteQuery("search", "");
|
||||||
const searchDebounced = refDebounced(search, 1000);
|
const searchDebounced = refDebounced(search, 1000);
|
||||||
const locationName = useRouteQuery("locationName", null);
|
const locationName = useRouteQuery("locationName", null);
|
||||||
|
|
|
@ -116,16 +116,19 @@ import {
|
||||||
} from "../../graphql/user";
|
} from "../../graphql/user";
|
||||||
import langs from "../../i18n/langs.json";
|
import langs from "../../i18n/langs.json";
|
||||||
import RouteName from "../../router/name";
|
import RouteName from "../../router/name";
|
||||||
import FullAddressAutoComplete from "@/components/Event/FullAddressAutoComplete.vue";
|
|
||||||
import { AddressSearchType } from "@/types/enums";
|
import { AddressSearchType } from "@/types/enums";
|
||||||
import { Address, IAddress } from "@/types/address.model";
|
import { Address, IAddress } from "@/types/address.model";
|
||||||
import { useTimezones } from "@/composition/apollo/config";
|
import { useTimezones } from "@/composition/apollo/config";
|
||||||
import { useUserSettings } from "@/composition/apollo/user";
|
import { useUserSettings } from "@/composition/apollo/user";
|
||||||
import { useHead } from "@vueuse/head";
|
import { useHead } from "@vueuse/head";
|
||||||
import { computed } from "vue";
|
import { computed, defineAsyncComponent } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useMutation } from "@vue/apollo-composable";
|
import { useMutation } from "@vue/apollo-composable";
|
||||||
|
|
||||||
|
const FullAddressAutoComplete = defineAsyncComponent(
|
||||||
|
() => import("@/components/Event/FullAddressAutoComplete.vue")
|
||||||
|
);
|
||||||
|
|
||||||
const { timezones: serverTimezones, loading: loadingTimezones } =
|
const { timezones: serverTimezones, loading: loadingTimezones } =
|
||||||
useTimezones();
|
useTimezones();
|
||||||
const { loggedUser, loading: loadingUserSettings } = useUserSettings();
|
const { loggedUser, loading: loadingUserSettings } = useUserSettings();
|
||||||
|
|
|
@ -14,12 +14,7 @@
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"types": [
|
"types": ["webpack-env", "jest", "vite/client"],
|
||||||
"webpack-env",
|
|
||||||
"jest",
|
|
||||||
"vite/client",
|
|
||||||
"@intlify/vite-plugin-vue-i18n/client"
|
|
||||||
],
|
|
||||||
"typeRoots": ["./@types", "./node_modules/@types"],
|
"typeRoots": ["./@types", "./node_modules/@types"],
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": ["src/*"]
|
"@/*": ["src/*"]
|
||||||
|
|
|
@ -3,9 +3,6 @@ import { defineConfig } from "vite";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import { VitePWA } from "vite-plugin-pwa";
|
import { VitePWA } from "vite-plugin-pwa";
|
||||||
import { visualizer } from "rollup-plugin-visualizer";
|
import { visualizer } from "rollup-plugin-visualizer";
|
||||||
// import { resolve, dirname } from "node:path";
|
|
||||||
// import { fileURLToPath } from "url";
|
|
||||||
// import vueI18n from "@intlify/vite-plugin-vue-i18n";
|
|
||||||
|
|
||||||
export default defineConfig(({ command }) => {
|
export default defineConfig(({ command }) => {
|
||||||
const isDev = command !== "build";
|
const isDev = command !== "build";
|
||||||
|
@ -31,21 +28,13 @@ export default defineConfig(({ command }) => {
|
||||||
// enabled: true,
|
// enabled: true,
|
||||||
// },
|
// },
|
||||||
}),
|
}),
|
||||||
// vueI18n({
|
|
||||||
// /* options */
|
|
||||||
// // locale messages resource pre-compile option
|
|
||||||
// include: resolve(
|
|
||||||
// dirname(fileURLToPath(import.meta.url)),
|
|
||||||
// "./src/i18n/**"
|
|
||||||
// ),
|
|
||||||
// }),
|
|
||||||
visualizer(),
|
visualizer(),
|
||||||
],
|
],
|
||||||
build: {
|
build: {
|
||||||
manifest: true,
|
manifest: true,
|
||||||
outDir: path.resolve(__dirname, "../priv/static"),
|
outDir: path.resolve(__dirname, "../priv/static"),
|
||||||
emptyOutDir: true,
|
emptyOutDir: true,
|
||||||
sourcemap: isDev,
|
sourcemap: true,
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
// overwrite default .html entry
|
// overwrite default .html entry
|
||||||
input: {
|
input: {
|
||||||
|
|
97
js/yarn.lock
97
js/yarn.lock
|
@ -1082,17 +1082,6 @@
|
||||||
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
|
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
|
||||||
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
|
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
|
||||||
|
|
||||||
"@intlify/bundle-utils@^3.2.1":
|
|
||||||
version "3.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-3.2.1.tgz#f1a00fb31716567c8da63fbb351c3199ca12d467"
|
|
||||||
integrity sha512-rf4cLBOnbqmpXVcCdcYHilZpMt1m82syh3WLBJlZvGxN2KkH9HeHVH4+bnibF/SDXCHNh6lM6wTpS/qw+PkcMg==
|
|
||||||
dependencies:
|
|
||||||
"@intlify/message-compiler" next
|
|
||||||
"@intlify/shared" next
|
|
||||||
jsonc-eslint-parser "^1.0.1"
|
|
||||||
source-map "0.6.1"
|
|
||||||
yaml-eslint-parser "^0.3.2"
|
|
||||||
|
|
||||||
"@intlify/core-base@9.2.2":
|
"@intlify/core-base@9.2.2":
|
||||||
version "9.2.2"
|
version "9.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.2.2.tgz#5353369b05cc9fe35cab95fe20afeb8a4481f939"
|
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.2.2.tgz#5353369b05cc9fe35cab95fe20afeb8a4481f939"
|
||||||
|
@ -1118,36 +1107,11 @@
|
||||||
"@intlify/shared" "9.2.2"
|
"@intlify/shared" "9.2.2"
|
||||||
source-map "0.6.1"
|
source-map "0.6.1"
|
||||||
|
|
||||||
"@intlify/message-compiler@next":
|
|
||||||
version "9.3.0-beta.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.3.0-beta.3.tgz#08eb89cf071dbdcadc861ecb2f2579f8e799445b"
|
|
||||||
integrity sha512-j8OwToBQgs01RBMX4GCDNQfcnmw3AiDG3moKIONTrfXcf+1yt/rWznLTYH/DXbKcFMAFijFpCzMYjUmH1jVFYA==
|
|
||||||
dependencies:
|
|
||||||
"@intlify/shared" "9.3.0-beta.3"
|
|
||||||
source-map "0.6.1"
|
|
||||||
|
|
||||||
"@intlify/shared@9.2.2":
|
"@intlify/shared@9.2.2":
|
||||||
version "9.2.2"
|
version "9.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5"
|
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.2.tgz#5011be9ca2b4ab86f8660739286e2707f9abb4a5"
|
||||||
integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==
|
integrity sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==
|
||||||
|
|
||||||
"@intlify/shared@9.3.0-beta.3", "@intlify/shared@next":
|
|
||||||
version "9.3.0-beta.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.3.0-beta.3.tgz#fce341eb6abbb6ec5efc8b6847f67050ed5ebaf5"
|
|
||||||
integrity sha512-Z/0TU4GhFKRxKh+0RbwJExik9zz57gXYgxSYaPn7YQdkQ/pabSioCY/SXnYxQHL6HzULF5tmqarFm6glbGqKhw==
|
|
||||||
|
|
||||||
"@intlify/vite-plugin-vue-i18n@^6.0.0":
|
|
||||||
version "6.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-6.0.3.tgz#57a6900de02a9829e52b16bf072768534c7664ef"
|
|
||||||
integrity sha512-6SgNzPAOCR90wvt368lKzi7f/5ZEWJn22UCGvhFsP3XvKqlF3cVzojahgQ6o+LTdCkExeM6wPgd+haFf28E9VQ==
|
|
||||||
dependencies:
|
|
||||||
"@intlify/bundle-utils" "^3.2.1"
|
|
||||||
"@intlify/shared" next
|
|
||||||
"@rollup/pluginutils" "^4.2.0"
|
|
||||||
debug "^4.3.1"
|
|
||||||
fast-glob "^3.2.5"
|
|
||||||
source-map "0.6.1"
|
|
||||||
|
|
||||||
"@intlify/vue-devtools@9.2.2":
|
"@intlify/vue-devtools@9.2.2":
|
||||||
version "9.2.2"
|
version "9.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz#b95701556daf7ebb3a2d45aa3ae9e6415aed8317"
|
resolved "https://registry.yarnpkg.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz#b95701556daf7ebb3a2d45aa3ae9e6415aed8317"
|
||||||
|
@ -1319,14 +1283,6 @@
|
||||||
estree-walker "^1.0.1"
|
estree-walker "^1.0.1"
|
||||||
picomatch "^2.2.2"
|
picomatch "^2.2.2"
|
||||||
|
|
||||||
"@rollup/pluginutils@^4.2.0":
|
|
||||||
version "4.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
|
|
||||||
integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
|
|
||||||
dependencies:
|
|
||||||
estree-walker "^2.0.1"
|
|
||||||
picomatch "^2.2.2"
|
|
||||||
|
|
||||||
"@rushstack/eslint-patch@^1.1.4":
|
"@rushstack/eslint-patch@^1.1.4":
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728"
|
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728"
|
||||||
|
@ -2146,7 +2102,7 @@ acorn-globals@^6.0.0:
|
||||||
acorn "^7.1.1"
|
acorn "^7.1.1"
|
||||||
acorn-walk "^7.1.1"
|
acorn-walk "^7.1.1"
|
||||||
|
|
||||||
acorn-jsx@^5.2.0, acorn-jsx@^5.3.2:
|
acorn-jsx@^5.3.2:
|
||||||
version "5.3.2"
|
version "5.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||||
|
@ -2165,7 +2121,7 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
|
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
|
||||||
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
|
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
|
||||||
|
|
||||||
acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.1:
|
acorn@^7.0.0, acorn@^7.1.1:
|
||||||
version "7.4.1"
|
version "7.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
||||||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||||
|
@ -2789,7 +2745,7 @@ debug@2.6.9, debug@^2.6.9:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "2.0.0"
|
ms "2.0.0"
|
||||||
|
|
||||||
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
|
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
|
||||||
version "4.3.4"
|
version "4.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||||
|
@ -3266,13 +3222,6 @@ eslint-scope@^7.0.0, eslint-scope@^7.1.1:
|
||||||
esrecurse "^4.3.0"
|
esrecurse "^4.3.0"
|
||||||
estraverse "^5.2.0"
|
estraverse "^5.2.0"
|
||||||
|
|
||||||
eslint-utils@^2.1.0:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
|
|
||||||
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
|
|
||||||
dependencies:
|
|
||||||
eslint-visitor-keys "^1.1.0"
|
|
||||||
|
|
||||||
eslint-utils@^3.0.0:
|
eslint-utils@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
|
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
|
||||||
|
@ -3280,11 +3229,6 @@ eslint-utils@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-visitor-keys "^2.0.0"
|
eslint-visitor-keys "^2.0.0"
|
||||||
|
|
||||||
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
|
|
||||||
version "1.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
|
|
||||||
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
|
|
||||||
|
|
||||||
eslint-visitor-keys@^2.0.0:
|
eslint-visitor-keys@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
|
||||||
|
@ -3340,15 +3284,6 @@ eslint@^8.21.0, eslint@^8.7.0:
|
||||||
strip-json-comments "^3.1.0"
|
strip-json-comments "^3.1.0"
|
||||||
text-table "^0.2.0"
|
text-table "^0.2.0"
|
||||||
|
|
||||||
espree@^6.0.0:
|
|
||||||
version "6.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
|
|
||||||
integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
|
|
||||||
dependencies:
|
|
||||||
acorn "^7.1.1"
|
|
||||||
acorn-jsx "^5.2.0"
|
|
||||||
eslint-visitor-keys "^1.1.0"
|
|
||||||
|
|
||||||
espree@^9.0.0, espree@^9.3.1, espree@^9.4.0:
|
espree@^9.0.0, espree@^9.3.1, espree@^9.4.0:
|
||||||
version "9.4.0"
|
version "9.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a"
|
||||||
|
@ -3392,7 +3327,7 @@ estree-walker@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
|
||||||
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
|
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
|
||||||
|
|
||||||
estree-walker@^2.0.1, estree-walker@^2.0.2:
|
estree-walker@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||||
|
@ -3424,7 +3359,7 @@ fast-diff@^1.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
|
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
|
||||||
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
|
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
|
||||||
|
|
||||||
fast-glob@^3.2.11, fast-glob@^3.2.5, fast-glob@^3.2.9:
|
fast-glob@^3.2.11, fast-glob@^3.2.9:
|
||||||
version "3.2.12"
|
version "3.2.12"
|
||||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
|
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
|
||||||
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
|
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
|
||||||
|
@ -4324,17 +4259,6 @@ json5@^2.2.0, json5@^2.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
|
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
|
||||||
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
|
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
|
||||||
|
|
||||||
jsonc-eslint-parser@^1.0.1:
|
|
||||||
version "1.4.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz#8cbe99f6f5199acbc5a823c4c0b6135411027fa6"
|
|
||||||
integrity sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==
|
|
||||||
dependencies:
|
|
||||||
acorn "^7.4.1"
|
|
||||||
eslint-utils "^2.1.0"
|
|
||||||
eslint-visitor-keys "^1.3.0"
|
|
||||||
espree "^6.0.0"
|
|
||||||
semver "^6.3.0"
|
|
||||||
|
|
||||||
jsonc-parser@^3.0.0, jsonc-parser@^3.2.0:
|
jsonc-parser@^3.0.0, jsonc-parser@^3.2.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
|
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
|
||||||
|
@ -6557,16 +6481,7 @@ yallist@^4.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||||
|
|
||||||
yaml-eslint-parser@^0.3.2:
|
yaml@^1.10.2:
|
||||||
version "0.3.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz#c7f5f3904f1c06ad55dc7131a731b018426b4898"
|
|
||||||
integrity sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==
|
|
||||||
dependencies:
|
|
||||||
eslint-visitor-keys "^1.3.0"
|
|
||||||
lodash "^4.17.20"
|
|
||||||
yaml "^1.10.0"
|
|
||||||
|
|
||||||
yaml@^1.10.0, yaml@^1.10.2:
|
|
||||||
version "1.10.2"
|
version "1.10.2"
|
||||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
|
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
|
||||||
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
|
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
<link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png" sizes="152x152" />
|
<link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png" sizes="152x152" />
|
||||||
<link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color={theme_color()} />
|
<link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color={theme_color()} />
|
||||||
<meta name="theme-color" content={theme_color()} />
|
<meta name="theme-color" content={theme_color()} />
|
||||||
|
<link rel="preload" href="/img/shape-1.svg" as="image" />
|
||||||
|
<link rel="preload" href="/img/shape-2.svg" as="image" />
|
||||||
|
<link rel="preload" href="/img/shape-3.svg" as="image" />
|
||||||
<%= tags(assigns) || assigns.tags %>
|
<%= tags(assigns) || assigns.tags %>
|
||||||
<%= Vite.inlined_phx_manifest() %>
|
<%= Vite.inlined_phx_manifest() %>
|
||||||
<%= Vite.vite_client() %>
|
<%= Vite.vite_client() %>
|
||||||
|
|
Loading…
Reference in a new issue