#1574 - home page & search page : 3 buttons for search
This commit is contained in:
parent
0911902618
commit
eb60da8ec9
|
@ -47,33 +47,27 @@
|
||||||
/>
|
/>
|
||||||
</o-dropdown>
|
</o-dropdown>
|
||||||
</full-address-auto-complete>
|
</full-address-auto-complete>
|
||||||
<o-button native-type="submit" icon-left="magnify" v-if="search != null">
|
|
||||||
<template v-if="search">{{ t("Go!") }}</template>
|
|
||||||
<template v-else>{{ t("Explore!") }}</template>
|
|
||||||
</o-button>
|
|
||||||
<o-button
|
<o-button
|
||||||
class="search-Event min-w-60 mr-1 mb-1"
|
class="search-Event min-w-40 mr-1 mb-1"
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
icon-left="calendar"
|
icon-left="calendar"
|
||||||
v-if="search == null"
|
|
||||||
>
|
>
|
||||||
{{ t("Event filter") }}
|
{{ t("Events") }}
|
||||||
</o-button>
|
</o-button>
|
||||||
<o-button
|
<o-button
|
||||||
class="search-Activity min-w-60 mr-1 mb-1"
|
class="search-Activity min-w-40 mr-1 mb-1"
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
icon-left="calendar-star"
|
icon-left="calendar-star"
|
||||||
v-if="search == null && islongEvents"
|
v-if="islongEvents"
|
||||||
>
|
>
|
||||||
{{ t("Find other activities") }}
|
{{ t("Activities") }}
|
||||||
</o-button>
|
</o-button>
|
||||||
<o-button
|
<o-button
|
||||||
class="search-Group min-w-60 mr-1 mb-1"
|
class="search-Group min-w-40 mr-1 mb-1"
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
icon-left="account-multiple"
|
icon-left="account-multiple"
|
||||||
v-if="search == null"
|
|
||||||
>
|
>
|
||||||
{{ t("Find groups") }}
|
{{ t("Groups") }}
|
||||||
</o-button>
|
</o-button>
|
||||||
</form>
|
</form>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -179,39 +179,6 @@
|
||||||
<ul
|
<ul
|
||||||
class="flex flex-col md:flex-row md:space-x-8 mt-2 md:mt-0 md:font-lightbold"
|
class="flex flex-col md:flex-row md:space-x-8 mt-2 md:mt-0 md:font-lightbold"
|
||||||
>
|
>
|
||||||
<li class="m-auto">
|
|
||||||
<router-link
|
|
||||||
:to="{
|
|
||||||
...$route,
|
|
||||||
name: RouteName.SEARCH,
|
|
||||||
query: { ...$route.query, contentType: 'EVENTS' },
|
|
||||||
}"
|
|
||||||
class="block py-2 pr-4 pl-3 text-zinc-700 border-b border-gray-100 hover:bg-zinc-50 md:hover:bg-transparent md:border-0 md:hover:text-mbz-purple-700 md:p-0 dark:text-zinc-400 md:dark:hover:text-white dark:hover:bg-zinc-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
|
|
||||||
>{{ t("Events") }}</router-link
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li class="m-auto" v-if="islongEvents">
|
|
||||||
<router-link
|
|
||||||
:to="{
|
|
||||||
...$route,
|
|
||||||
name: RouteName.SEARCH,
|
|
||||||
query: { ...$route.query, contentType: 'LONGEVENTS' },
|
|
||||||
}"
|
|
||||||
class="block py-2 pr-4 pl-3 text-zinc-700 border-b border-gray-100 hover:bg-zinc-50 md:hover:bg-transparent md:border-0 md:hover:text-mbz-purple-700 md:p-0 dark:text-zinc-400 md:dark:hover:text-white dark:hover:bg-zinc-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
|
|
||||||
>{{ t("Activities") }}</router-link
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li class="m-auto">
|
|
||||||
<router-link
|
|
||||||
:to="{
|
|
||||||
...$route,
|
|
||||||
name: RouteName.SEARCH,
|
|
||||||
query: { ...$route.query, contentType: 'GROUPS' },
|
|
||||||
}"
|
|
||||||
class="block py-2 pr-4 pl-3 text-zinc-700 border-b border-gray-100 hover:bg-zinc-50 md:hover:bg-transparent md:border-0 md:hover:text-mbz-purple-700 md:p-0 dark:text-zinc-400 md:dark:hover:text-white dark:hover:bg-zinc-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
|
|
||||||
>{{ t("Groups") }}</router-link
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li class="m-auto">
|
<li class="m-auto">
|
||||||
<router-link
|
<router-link
|
||||||
:to="{ name: RouteName.EVENT_CALENDAR }"
|
:to="{ name: RouteName.EVENT_CALENDAR }"
|
||||||
|
@ -275,10 +242,7 @@ import {
|
||||||
import { useLazyQuery, useMutation } from "@vue/apollo-composable";
|
import { useLazyQuery, useMutation } from "@vue/apollo-composable";
|
||||||
import { UPDATE_DEFAULT_ACTOR } from "@/graphql/actor";
|
import { UPDATE_DEFAULT_ACTOR } from "@/graphql/actor";
|
||||||
import { changeIdentity } from "@/utils/identity";
|
import { changeIdentity } from "@/utils/identity";
|
||||||
import {
|
import { useRegistrationConfig } from "@/composition/apollo/config";
|
||||||
useRegistrationConfig,
|
|
||||||
useIsLongEvents,
|
|
||||||
} from "@/composition/apollo/config";
|
|
||||||
import { useOruga } from "@oruga-ui/oruga-next";
|
import { useOruga } from "@oruga-ui/oruga-next";
|
||||||
import {
|
import {
|
||||||
UNREAD_ACTOR_CONVERSATIONS,
|
UNREAD_ACTOR_CONVERSATIONS,
|
||||||
|
@ -286,8 +250,6 @@ import {
|
||||||
} from "@/graphql/user";
|
} from "@/graphql/user";
|
||||||
import { ICurrentUser } from "@/types/current-user.model";
|
import { ICurrentUser } from "@/types/current-user.model";
|
||||||
|
|
||||||
const { islongEvents } = useIsLongEvents();
|
|
||||||
|
|
||||||
const { currentUser } = useCurrentUserClient();
|
const { currentUser } = useCurrentUserClient();
|
||||||
const { currentActor } = useCurrentActorClient();
|
const { currentActor } = useCurrentActorClient();
|
||||||
|
|
||||||
|
|
|
@ -1360,9 +1360,6 @@
|
||||||
"Keyword, event title, group name, etc.": "Keyword, event title, group name, etc.",
|
"Keyword, event title, group name, etc.": "Keyword, event title, group name, etc.",
|
||||||
"Go!": "Go!",
|
"Go!": "Go!",
|
||||||
"Explore!": "Explore!",
|
"Explore!": "Explore!",
|
||||||
"Event filter": "Event filter",
|
|
||||||
"Find other activities": "Find other activities",
|
|
||||||
"Find groups": "Find groups",
|
|
||||||
"Select distance": "Select distance",
|
"Select distance": "Select distance",
|
||||||
"Join {instance}, a Mobilizon instance": "Join {instance}, a Mobilizon instance",
|
"Join {instance}, a Mobilizon instance": "Join {instance}, a Mobilizon instance",
|
||||||
"Open user menu": "Open user menu",
|
"Open user menu": "Open user menu",
|
||||||
|
|
|
@ -422,7 +422,6 @@
|
||||||
"Event deleted and report resolved": "Événement supprimé et signalement résolu",
|
"Event deleted and report resolved": "Événement supprimé et signalement résolu",
|
||||||
"Event description body": "Corps de la description de l'événement",
|
"Event description body": "Corps de la description de l'événement",
|
||||||
"Event edition": "Modification d'événement",
|
"Event edition": "Modification d'événement",
|
||||||
"Event filter": "Filtrer les événements",
|
|
||||||
"Event list": "Liste d'événements",
|
"Event list": "Liste d'événements",
|
||||||
"Event metadata": "Métadonnées de l'événement",
|
"Event metadata": "Métadonnées de l'événement",
|
||||||
"Event page settings": "Paramètres de la page de l'événement",
|
"Event page settings": "Paramètres de la page de l'événement",
|
||||||
|
@ -460,9 +459,7 @@
|
||||||
"Find an address": "Trouver une adresse",
|
"Find an address": "Trouver une adresse",
|
||||||
"Find an instance": "Trouver une instance",
|
"Find an instance": "Trouver une instance",
|
||||||
"Find another instance": "Trouver une autre instance",
|
"Find another instance": "Trouver une autre instance",
|
||||||
"Find groups": "Trouver des groupes",
|
|
||||||
"Find or add an element": "Trouver ou ajouter un élément",
|
"Find or add an element": "Trouver ou ajouter un élément",
|
||||||
"Find other activities": "Trouver d'autres activités",
|
|
||||||
"First steps": "Premiers pas",
|
"First steps": "Premiers pas",
|
||||||
"Follow": "Suivre",
|
"Follow": "Suivre",
|
||||||
"Follow a new instance": "Suivre une nouvelle instance",
|
"Follow a new instance": "Suivre une nouvelle instance",
|
||||||
|
|
|
@ -28,46 +28,6 @@
|
||||||
:class="{ hidden: filtersPanelOpened }"
|
:class="{ hidden: filtersPanelOpened }"
|
||||||
class="lg:block mt-4 px-2"
|
class="lg:block mt-4 px-2"
|
||||||
>
|
>
|
||||||
<p class="sr-only">{{ t("Type") }}</p>
|
|
||||||
<ul
|
|
||||||
class="font-medium text-gray-900 dark:text-slate-100 space-y-4 pb-4 border-b border-gray-200 dark:border-gray-500"
|
|
||||||
>
|
|
||||||
<li
|
|
||||||
v-for="content in contentTypeMapping"
|
|
||||||
:key="content.contentType"
|
|
||||||
class="flex gap-1 items-center"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
:id="'contentType' + content.contentType"
|
|
||||||
v-model="contentType"
|
|
||||||
type="radio"
|
|
||||||
name="contentType"
|
|
||||||
:value="content.contentType"
|
|
||||||
class="w-4 h-4 border-gray-300 focus:ring-2 focus:ring-blue-300 dark:focus:ring-blue-600 dark:focus:bg-blue-600 dark:bg-gray-700 dark:border-gray-600"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<label
|
|
||||||
:for="'contentType' + content.contentType"
|
|
||||||
class="cursor-pointer w-full font-medium text-gray-900 dark:text-gray-300 flex gap-1"
|
|
||||||
>
|
|
||||||
<Calendar
|
|
||||||
v-if="content.contentType === ContentType.EVENTS"
|
|
||||||
:size="24"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<CalendarStar
|
|
||||||
v-if="content.contentType === ContentType.LONGEVENTS"
|
|
||||||
:size="24"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<AccountMultiple
|
|
||||||
v-if="content.contentType === ContentType.GROUPS"
|
|
||||||
:size="24"
|
|
||||||
/><span>{{ content.label }}</span></label
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="py-4 border-b border-gray-200 dark:border-gray-500"
|
class="py-4 border-b border-gray-200 dark:border-gray-500"
|
||||||
v-show="globalSearchEnabled"
|
v-show="globalSearchEnabled"
|
||||||
|
@ -627,9 +587,6 @@ import {
|
||||||
enumTransformer,
|
enumTransformer,
|
||||||
booleanTransformer,
|
booleanTransformer,
|
||||||
} from "vue-use-route-query";
|
} from "vue-use-route-query";
|
||||||
import Calendar from "vue-material-design-icons/Calendar.vue";
|
|
||||||
import CalendarStar from "vue-material-design-icons/CalendarStar.vue";
|
|
||||||
import AccountMultiple from "vue-material-design-icons/AccountMultiple.vue";
|
|
||||||
|
|
||||||
import { useHead } from "@/utils/head";
|
import { useHead } from "@/utils/head";
|
||||||
import type { Locale } from "date-fns";
|
import type { Locale } from "date-fns";
|
||||||
|
@ -639,7 +596,6 @@ import langs from "@/i18n/langs.json";
|
||||||
import {
|
import {
|
||||||
useEventCategories,
|
useEventCategories,
|
||||||
useFeatures,
|
useFeatures,
|
||||||
useIsLongEvents,
|
|
||||||
useSearchConfig,
|
useSearchConfig,
|
||||||
} from "@/composition/apollo/config";
|
} from "@/composition/apollo/config";
|
||||||
import { coordsToGeoHash } from "@/utils/location";
|
import { coordsToGeoHash } from "@/utils/location";
|
||||||
|
@ -760,7 +716,6 @@ const GROUP_PAGE_LIMIT = 16;
|
||||||
|
|
||||||
const { features } = useFeatures();
|
const { features } = useFeatures();
|
||||||
const { eventCategories } = useEventCategories();
|
const { eventCategories } = useEventCategories();
|
||||||
const { islongEvents } = useIsLongEvents();
|
|
||||||
|
|
||||||
const orderedCategories = computed(() => {
|
const orderedCategories = computed(() => {
|
||||||
if (!eventCategories.value) return [];
|
if (!eventCategories.value) return [];
|
||||||
|
@ -873,36 +828,6 @@ const searchIsUrl = computed((): boolean => {
|
||||||
return url.protocol === "http:" || url.protocol === "https:";
|
return url.protocol === "http:" || url.protocol === "https:";
|
||||||
});
|
});
|
||||||
|
|
||||||
const contentTypeMapping = computed(() => {
|
|
||||||
if (islongEvents.value) {
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
contentType: ContentType.EVENTS,
|
|
||||||
label: t("Events"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
contentType: ContentType.LONGEVENTS,
|
|
||||||
label: t("Activities"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
contentType: ContentType.GROUPS,
|
|
||||||
label: t("Groups"),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
} else {
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
contentType: ContentType.EVENTS,
|
|
||||||
label: t("Events"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
contentType: ContentType.GROUPS,
|
|
||||||
label: t("Groups"),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const eventStatuses = computed(() => {
|
const eventStatuses = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue