#1574 - home page & search page : 3 buttons for search
This commit is contained in:
parent
0911902618
commit
eb60da8ec9
|
@ -47,33 +47,27 @@
|
|||
/>
|
||||
</o-dropdown>
|
||||
</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
|
||||
class="search-Event min-w-60 mr-1 mb-1"
|
||||
class="search-Event min-w-40 mr-1 mb-1"
|
||||
native-type="submit"
|
||||
icon-left="calendar"
|
||||
v-if="search == null"
|
||||
>
|
||||
{{ t("Event filter") }}
|
||||
{{ t("Events") }}
|
||||
</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"
|
||||
icon-left="calendar-star"
|
||||
v-if="search == null && islongEvents"
|
||||
v-if="islongEvents"
|
||||
>
|
||||
{{ t("Find other activities") }}
|
||||
{{ t("Activities") }}
|
||||
</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"
|
||||
icon-left="account-multiple"
|
||||
v-if="search == null"
|
||||
>
|
||||
{{ t("Find groups") }}
|
||||
{{ t("Groups") }}
|
||||
</o-button>
|
||||
</form>
|
||||
</template>
|
||||
|
|
|
@ -179,39 +179,6 @@
|
|||
<ul
|
||||
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">
|
||||
<router-link
|
||||
:to="{ name: RouteName.EVENT_CALENDAR }"
|
||||
|
@ -275,10 +242,7 @@ import {
|
|||
import { useLazyQuery, useMutation } from "@vue/apollo-composable";
|
||||
import { UPDATE_DEFAULT_ACTOR } from "@/graphql/actor";
|
||||
import { changeIdentity } from "@/utils/identity";
|
||||
import {
|
||||
useRegistrationConfig,
|
||||
useIsLongEvents,
|
||||
} from "@/composition/apollo/config";
|
||||
import { useRegistrationConfig } from "@/composition/apollo/config";
|
||||
import { useOruga } from "@oruga-ui/oruga-next";
|
||||
import {
|
||||
UNREAD_ACTOR_CONVERSATIONS,
|
||||
|
@ -286,8 +250,6 @@ import {
|
|||
} from "@/graphql/user";
|
||||
import { ICurrentUser } from "@/types/current-user.model";
|
||||
|
||||
const { islongEvents } = useIsLongEvents();
|
||||
|
||||
const { currentUser } = useCurrentUserClient();
|
||||
const { currentActor } = useCurrentActorClient();
|
||||
|
||||
|
|
|
@ -1360,9 +1360,6 @@
|
|||
"Keyword, event title, group name, etc.": "Keyword, event title, group name, etc.",
|
||||
"Go!": "Go!",
|
||||
"Explore!": "Explore!",
|
||||
"Event filter": "Event filter",
|
||||
"Find other activities": "Find other activities",
|
||||
"Find groups": "Find groups",
|
||||
"Select distance": "Select distance",
|
||||
"Join {instance}, a Mobilizon instance": "Join {instance}, a Mobilizon instance",
|
||||
"Open user menu": "Open user menu",
|
||||
|
|
|
@ -422,7 +422,6 @@
|
|||
"Event deleted and report resolved": "Événement supprimé et signalement résolu",
|
||||
"Event description body": "Corps de la description de l'événement",
|
||||
"Event edition": "Modification d'événement",
|
||||
"Event filter": "Filtrer les événements",
|
||||
"Event list": "Liste d'événements",
|
||||
"Event metadata": "Métadonnées 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 instance": "Trouver une 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 other activities": "Trouver d'autres activités",
|
||||
"First steps": "Premiers pas",
|
||||
"Follow": "Suivre",
|
||||
"Follow a new instance": "Suivre une nouvelle instance",
|
||||
|
|
|
@ -28,46 +28,6 @@
|
|||
:class="{ hidden: filtersPanelOpened }"
|
||||
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
|
||||
class="py-4 border-b border-gray-200 dark:border-gray-500"
|
||||
v-show="globalSearchEnabled"
|
||||
|
@ -627,9 +587,6 @@ import {
|
|||
enumTransformer,
|
||||
booleanTransformer,
|
||||
} 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 type { Locale } from "date-fns";
|
||||
|
@ -639,7 +596,6 @@ import langs from "@/i18n/langs.json";
|
|||
import {
|
||||
useEventCategories,
|
||||
useFeatures,
|
||||
useIsLongEvents,
|
||||
useSearchConfig,
|
||||
} from "@/composition/apollo/config";
|
||||
import { coordsToGeoHash } from "@/utils/location";
|
||||
|
@ -760,7 +716,6 @@ const GROUP_PAGE_LIMIT = 16;
|
|||
|
||||
const { features } = useFeatures();
|
||||
const { eventCategories } = useEventCategories();
|
||||
const { islongEvents } = useIsLongEvents();
|
||||
|
||||
const orderedCategories = computed(() => {
|
||||
if (!eventCategories.value) return [];
|
||||
|
@ -873,36 +828,6 @@ const searchIsUrl = computed((): boolean => {
|
|||
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(() => {
|
||||
return [
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue