Skip to content

Commit

Permalink
fix page organisme
Browse files Browse the repository at this point in the history
  • Loading branch information
Théo Chambon committed Oct 17, 2023
1 parent a505dae commit fe961fa
Show file tree
Hide file tree
Showing 6 changed files with 133 additions and 100 deletions.
80 changes: 42 additions & 38 deletions app.vue
Original file line number Diff line number Diff line change
@@ -1,45 +1,49 @@
<template>
<v-app>
<!-- DEBUT BLOC BETA-->
<v-alert class="beta-alert" width="100%" outlined color="primary"
style="padding-top: 30px; padding-bottom: 30px;"><strong>Avertissement</strong> : vous êtes
sur la version beta de
Theses.fr. Cette
version bêta est incomplète. <a href="https://theses.fr/"><strong style="color: white;">Cliquez ici pour retourner
à
la version actuelle.
</strong></a><v-btn style="margin-top: 10px;" class="float-right" density="compact" tonal color="secondary"
@click="dialog = true">Plus
d'informations</v-btn></v-alert>
<!-- FIN BLOC BETA-->
<CommonHeaderCustom></CommonHeaderCustom>
<v-main>
<ClientOnly>
<!-- DEBUT BLOC BETA-->
<v-dialog v-model="dialog" width="auto">
<v-card>
<v-card-text style="font-size: 1.2rem; letter-spacing: normal;">
<strong>Avertissement :</strong><br /><br />
Une nouvelle version de theses.fr est en cours de développement. Nous vous proposons ici la version bêta de
ce
nouveau moteur de recherche. Cette version bêta est incomplète. Toutes les fonctionnalités n’ont pas encore
été développées, le design est appelé à évoluer et tous les bugs ne sont pas encore corrigés. Cette version
bêta évoluera au fil des nouvelles livraisons, jusqu’au passage en production officiel du nouveau theses.fr,
prévu pour 2024.<br /><br />
Les données qui figurent sur ce theses.fr bêta sont les mêmes que celles qui figurent sur theses.fr v1, avec
néanmoins un temps de mise à jour plus long, la réindexation automatique des données n’étant pas encore mise
en place sur la version bêta. Toutes les demandes relatives à ces données (ajouts, corrections,
suppressions)
doivent nous être adressées à partir du site officiel, theses.fr v1, et non à partir de la version bêta.
<br /><br />
<strong>Cliquez ici pour retourner à la version actuelle : </strong><a
href="https://theses.fr/">https://theses.fr/</a>
</v-card-text>
<v-card-actions>
<v-btn color="primary" block flat @click="setDialogSeen">Fermer</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<v-alert class="beta-alert" width="100%" outlined color="primary"
style="padding-top: 30px; padding-bottom: 30px;"><strong>Avertissement</strong> : vous êtes
sur la version beta de
Theses.fr. Cette
version bêta est incomplète. <a href="https://theses.fr/"><strong style="color: white;">Cliquez ici pour retourner
à
la version actuelle.
</strong></a><v-btn style="margin-top: 10px;" class="float-right" density="compact" tonal color="secondary"
@click="dialog = true">Plus
d'informations</v-btn></v-alert>
<!-- FIN BLOC BETA-->
</ClientOnly>
<CommonHeaderCustom></CommonHeaderCustom>
<v-main>
<ClientOnly>
<!-- DEBUT BLOC BETA-->
<v-dialog v-model="dialog" width="auto">
<v-card>
<v-card-text style="font-size: 1.2rem; letter-spacing: normal;">
<strong>Avertissement :</strong><br /><br />
Une nouvelle version de theses.fr est en cours de développement. Nous vous proposons ici la version bêta de
ce
nouveau moteur de recherche. Cette version bêta est incomplète. Toutes les fonctionnalités n’ont pas encore
été développées, le design est appelé à évoluer et tous les bugs ne sont pas encore corrigés. Cette version
bêta évoluera au fil des nouvelles livraisons, jusqu’au passage en production officiel du nouveau theses.fr,
prévu pour 2024.<br /><br />
Les données qui figurent sur ce theses.fr bêta sont les mêmes que celles qui figurent sur theses.fr v1, avec
néanmoins un temps de mise à jour plus long, la réindexation automatique des données n’étant pas encore mise
en place sur la version bêta. Toutes les demandes relatives à ces données (ajouts, corrections,
suppressions)
doivent nous être adressées à partir du site officiel, theses.fr v1, et non à partir de la version bêta.
<br /><br />
<strong>Cliquez ici pour retourner à la version actuelle : </strong><a
href="https://theses.fr/">https://theses.fr/</a>
</v-card-text>
<v-card-actions>
<v-btn color="primary" block flat @click="setDialogSeen">Fermer</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
<!-- FIN BLOC BETA-->
</ClientOnly>
<NuxtPage></NuxtPage>
</v-main>
<CommonFooterCustom></CommonFooterCustom>
Expand Down
129 changes: 72 additions & 57 deletions components/organismes/OrganismeView.vue
Original file line number Diff line number Diff line change
@@ -1,34 +1,36 @@
<template>
<Message-box ref="messageBox"></Message-box>

<nav v-if="mobile" class="mobile-nav-bar">
<div>
<v-icon @click="showSearchBar = !showSearchBar" size="40px"
:class="{ 'magnify-logo-active': showSearchBar }">mdi-magnify
</v-icon>
<v-tooltip activator="parent" location="start">{{ $t('rechercher') }}</v-tooltip>
</div>
</nav>

<!-- Mobile-->
<div v-if="mobile" class="logo-menu-wrapper">
<NuxtLink :to="{ name: 'index', query: { domaine: 'theses' } }" title="Accueil du site"
class="logo logo_resultview">
<img alt="logo Theses" id="logoIMG" src="@/assets/icone-theses.svg" />
</NuxtLink>
<v-expand-transition>
<div v-show="showSearchBar" class="expanded-search-bar-container white-containers">
<div class="expanded-search-bar">
<domain-selector @changeDomain="changeDomain" compact></domain-selector>
<search-bar @search="search" @searchAndReinitializeAllFacets="searchAndReinitializeAllFacets"
:loading="loading" @onError="displayError" />
</div>
<ClientOnly>
<Message-box ref="messageBox"></Message-box>

<nav v-if="mobile" class="mobile-nav-bar">
<div>
<v-icon @click="showSearchBar = !showSearchBar" size="40px"
:class="{ 'magnify-logo-active': showSearchBar }">mdi-magnify
</v-icon>
<v-tooltip activator="parent" location="start">{{ $t('rechercher') }}</v-tooltip>
</div>
</v-expand-transition>
</div>
</nav>

<!-- Mobile-->

<div v-if="mobile" class="logo-menu-wrapper">
<NuxtLink :to="{ name: 'index', query: { domaine: 'theses' } }" title="Accueil du site"
class="logo logo_resultview">
<img alt="logo Theses" id="logoIMG" src="@/assets/icone-theses.svg" />
</NuxtLink>
<v-expand-transition>
<div v-show="showSearchBar" class="expanded-search-bar-container white-containers">
<div class="expanded-search-bar">
<CommonDomainSelector></CommonDomainSelector>
<GenericSearchBar />
</div>
</div>
</v-expand-transition>
</div>
</ClientOnly>

<!-- Desktop-->
<div v-else class="sub-header">
<div v-if="!mobile" class="sub-header">
<div class="search-bar-container white-containers">
<div class="sub_header__logo">
<NuxtLink :to="{ name: 'index', query: { domaine: 'theses' } }" title="Accueil du site">
Expand All @@ -37,9 +39,8 @@
<h1>{{ $t("slogan") }}</h1>
</div>
<div class="sub_header__action">
<domain-selector @changeDomain="changeDomain" compact></domain-selector>
<search-bar @searchAndReinitializeAllFacets="searchAndReinitializeAllFacets" :loading="loading"
@onError="displayError" />
<CommonDomainSelector compact></CommonDomainSelector>
<GenericSearchBar />
</div>
</div>
</div>
Expand Down Expand Up @@ -83,12 +84,12 @@
<div v-for="(these, index) in item[key]" :key="these" class="card-wrapper">
<v-lazy :options="{ threshold: 1.0 }">

<result-card :titre="these.titrePrincipal"
<ResultCard :titre="these.titrePrincipal"
:date="these.status === 'enCours' ? these.datePremiereInscriptionDoctorat : these.dateSoutenance"
:auteur="these.auteurs" :directeurs="these.directeurs"
:discipline="these.discipline" :etab="these.etabSoutenanceN"
:id="these.id" :status="these.status">
</result-card>
</ResultCard>
</v-lazy>
<hr class="result-dividers" v-if="index < item[key].length - 1" />
</div>
Expand All @@ -100,14 +101,22 @@
</div>
</div>
</div>
<scroll-to-top-button class="scroll-to-top-wrapper" :nb-result=1></scroll-to-top-button>
<ClientOnly>
<ScrollToTopButton class="scroll-to-top-wrapper" :nb-result=1></ScrollToTopButton>
</ClientOnly>
</div>
</template>

<script setup>
import { useI18n } from "vue-i18n";
import { onBeforeMount, ref, defineAsyncComponent } from "vue";
import { VSkeletonLoader } from 'vuetify/labs/VSkeletonLoader'
import { ref, defineAsyncComponent } from "vue";
import { useDisplay } from "vuetify";
import { VSkeletonLoader } from 'vuetify/labs/VSkeletonLoader';
import ResultCard from "../theses/results/ResultCard.vue";
import ScrollToTopButton from "../common/ScrollToTopButton.vue";
const { mobile } = useDisplay();
const { t } = useI18n();
const MessageBox = defineAsyncComponent(() => import('@/components/common/MessageBox.vue'));
const { getName, getOrganisme } = useOrganismeAPI();
Expand All @@ -122,29 +131,35 @@ const props = defineProps({
const dataReady = ref(false);
const item = ref({});
const name = ref("");
const showSearchBar = ref(false);
dataReady.value = false;
getOrganisme(props.id).then(result => {
item.value = result.data.value;
dataReady.value = true;
}).catch(error => {
if (error.response) {
displayError(error.response.data.message, { isSticky: true });
} else {
displayError(error.message);
}
});
onBeforeMount(() => {
dataReady.value = false;
getOrganisme(props.id).then(result => {
item.value = result.data.value;
dataReady.value = true;
}).catch(error => {
if (error.response) {
displayError(error.response.data.message, { isSticky: true });
} else {
displayError(error.message);
}
});
getName(props.id).then(result => {
name.value = result.data.value;
}).catch(error => {
if (error.response) {
displayError(error.response.data.message, { isSticky: true });
} else {
displayError(error.message);
}
});
getName(props.id).then(result => {
name.value = result.data.value;
// Titre détaillé
useSeoMeta({
title: `${name.value} | Theses.fr`,
ogTitle: `${name.value} | Theses.fr`,
description: t("meta.descPersonne") + name.value,
ogDescription: t("meta.descPersonne") + name.value
})
}).catch(error => {
if (error.response) {
displayError(error.response.data.message, { isSticky: true });
} else {
displayError(error.message);
}
});
Expand Down
12 changes: 12 additions & 0 deletions components/personnes/PersonneView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,15 @@ getPersonne(props.id).then(result => {
// Laisser le panneau 'auteurs' ouvert
panel.value = [0];
}
// Titre détaillé
useSeoMeta({
title: `${item.value.prenom} ${item.value.nom} | Theses.fr`,
ogTitle: `${item.value.prenom} ${item.value.nom} | Theses.fr`,
description: t("meta.descPersonne") + item.value.prenom + " " + item.value.nom,
ogDescription: t("meta.descPersonne") + item.prenom + " " + item.nom
})
}).catch(error => {
if (error.response) {
displayError(error.response.data.message, { isSticky: true });
Expand All @@ -146,6 +155,9 @@ onUpdated(() => {
}
});
const messageBox = ref(null);
/**
Expand Down
8 changes: 5 additions & 3 deletions components/theses/ThesisComponent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,11 @@ watchEffect(() => {
const titleThese = props.these.titrePrincipal ? props.these.titrePrincipal : "";
// Titre détaillé
useHead({
meta: [{ property: 'title', content: `${titleThese} | Theses.fr` }, { property: 'description', content: t("meta.descThese") + titleThese }],
title: `${titleThese} | Theses.fr `
useSeoMeta({
title: `${titleThese} | Theses.fr`,
ogTitle: `${titleThese} | Theses.fr`,
description: t("meta.descThese") + titleThese,
ogDescription: t("meta.descThese") + titleThese
})
});
</script>
Expand Down
2 changes: 1 addition & 1 deletion locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,6 @@
"titreResult": "Explorer les thèses pour ",
"descResult": "Résultat du moteur de recherche des thèses françaises, theses.fr propose l’accès aux thèses de doctorat soutenues ou en préparation. Grâce à son moteur de recherche et sa navigation par facette, l’interface donne accès aux données des thèses : titre, docteur, disciplines, directeurs, établissements de soutenance, écoles doctorales, partenaires de recherche et date de soutenance.",
"descThese": "Page détaillée de la thèse ",
"descPersonne": "Page détaillée de la personne "
"descPersonne": "Page détaillée de "
}
}
2 changes: 1 addition & 1 deletion nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export default defineNuxtConfig({
},
app: {
head: {
link: [{ rel: 'stylesheet', media: 'print', onload:"this.onload=null;this.removeAttribute('media')", href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900' }, {rel:"preload", href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900' }, {rel:'preconnect', href:'https://fonts.gstatic.com'}]
link: [{ rel: 'stylesheet', media: 'print', onload:"this.onload=null;this.removeAttribute('media')", href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900' }, {rel:"preload", href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900', as:"font" }, {rel:'preconnect', href:'https://fonts.gstatic.com'}]
}
},
build: {
Expand Down

0 comments on commit fe961fa

Please sign in to comment.