Explorar o código

post tests fixes

Olivier Massot hai 1 ano
pai
achega
d2be8dac75

+ 12 - 10
components/About/Presentation.vue

@@ -31,16 +31,18 @@
 
           <p class="mb-8">
             En 2005, Guillaume CORCOBA, musicien depuis toujours et à ce moment
-            là président d'un orchestre d'harmonie, mais également membre du
-            conseil d'administration de sa fédération, réfléchit à un outil pour
-            centraliser les informations de sa structure, mais également au
-            niveau fédéral. Il souhaite simplifier la gestion des structures
-            culturelles et en faire la promotion, car pour lui, le milieu
-            culturel est indispensable. Il est rapidement rejoint par Michel
-            PERNET-SOLLIET, lui aussi musicien, et ils montent ensemble
-            Openassos, qui deviendra quelques années plus tard, Opentalent.
-            Opentalent c'est un ensemble de 3 logiciels spécialement dédiés à la
-            culture et un agenda culturel pour en faire la promotion.
+            là président de l’orchestre d'harmonie de Cluses, mais également
+            membre du conseil d'administration de l'école de musique de Cluses
+            et de la Fédération des musiques du Faucigny, réfléchit à un outil
+            collaboratif permettant de centraliser les informations des
+            structures culturelles. Son objectif est de simplifier la gestion
+            administrative de ces établissements et d’en faire la promotion,
+            convaincu que le secteur culturel est indispensable à la société. Il
+            est rapidement rejoint par Michel PERNET-SOLLIET, lui aussi
+            musicien, et ils montent ensemble Openassos, qui deviendra quelques
+            années plus tard, Opentalent. Opentalent c'est un ensemble de 3
+            logiciels spécialement dédiés à la culture et un agenda culturel
+            pour en faire la promotion.
           </p>
 
           <h3>La Culture au service du développement territorial</h3>

+ 11 - 3
components/Common/Carousel/Fonctionnalite.client.vue

@@ -12,8 +12,16 @@
       </v-col>
 
       <v-col cols="12" md="12" class="arrows">
-        <v-btn icon="fas fa-chevron-left" aria-label="Précédent" @click="previousAction" />
-        <v-btn icon="fas fa-chevron-right" aria-label="Suivant" @click="nextAction" />
+        <v-btn
+          icon="fas fa-chevron-left"
+          aria-label="Précédent"
+          @click="previousAction"
+        />
+        <v-btn
+          icon="fas fa-chevron-right"
+          aria-label="Suivant"
+          @click="nextAction"
+        />
       </v-col>
     </v-row>
 
@@ -24,6 +32,7 @@
           :items-to-show="itemsToShow"
           :items-to-scroll="1"
           :wrap-around="true"
+          snap-align="start"
         >
           <Slide v-for="(card, index) in cards" :key="index">
             <div class="card-container">
@@ -183,5 +192,4 @@ h5 {
     justify-content: center;
   }
 }
-
 </style>

+ 13 - 8
components/Common/Contact.vue

@@ -20,13 +20,18 @@
           <LayoutUITitle> Vous avez un projet ? </LayoutUITitle>
 
           <div class="px-6">
+            <p class="contact-details mb-3">
+              Vous souhaitez optimiser votre temps et fluidifier votre gestion
+              administrative ? Nous sommes à votre écoute pour vous conseiller
+              et vous proposer une solution parfaitement adaptée à vos besoins
+              !”
+            </p>
             <p class="contact-details">
-              Vous avez une identité, des besoins, des projets... On est là pour
-              vous écouter et vous offrir une offre personnalisée ! Que vous
-              soyez une petite ou une structure plus conséquente, notre offre
-              s'adapte à toutes les tailles : le prix de l’abonnement au
-              logiciel varie en fonction du nombre d'élèves, tout en conservant
-              l'intégralité des fonctionnalités.
+              Que vous soyez une petite ou une structure plus conséquente, notre
+              notre offre est conçue pour s’adapter à toutes les tailles
+              d'établissement. Le coût de l’abonnement au logiciel s’ajuste en
+              fonction du nombre d'élèves, tout en vous garantissant l’accès à
+              l'intégralité des fonctionnalités !
             </p>
 
             <v-btn to="nous-contacter" class="btn-contact">
@@ -44,7 +49,8 @@
           <LayoutUITitle> Bénéficiez de conditions privilégiées </LayoutUITitle>
 
           <div class="pl-4">
-            <v-img v-if="mdAndDown"
+            <v-img
+              v-if="mdAndDown"
               src="/images/logos/cmf/Logo_Confederation_Musicale_de_France-CMF_vivre_la_musique_ensemble.jpg"
               alt="Logo Confédération Musicale de France - CMF avec son slogan : vivre la musique ensemble"
               class="logo-cmf my-6"
@@ -137,7 +143,6 @@ const { smAndDown, mdAndDown, mdAndUp } = useDisplay()
   line-height: 20px;
   color: var(--on-neutral-color);
   max-width: 80%;
-
 }
 
 @media (max-width: 1240px) {

+ 14 - 5
components/Common/Table/Comparatif.vue

@@ -8,20 +8,18 @@
 
             <th>
               <p class="standard">Standard</p>
-              <p class="from">À partir de</p>
               <p class="price">
                 {{ standardPrice }} <span class="ttc">ttc</span>
               </p>
-              <p class="month">/mois</p>
+              <p class="month">/mois *</p>
             </th>
 
             <th class="premium-column">
               <p class="standard">Premium</p>
-              <p class="from">À partir de</p>
               <p class="price">
                 {{ premiumPrice }} <span class="ttc">ttc</span>
               </p>
-              <p class="month">/mois</p>
+              <p class="month">/mois *</p>
             </th>
           </tr>
         </thead>
@@ -178,6 +176,10 @@
           </v-carousel-item>
         </v-carousel>
       </div>
+
+      <div class="asterisk">
+        <span>* Payable annuellement</span>
+      </div>
     </v-row>
   </LayoutContainer>
 </template>
@@ -292,7 +294,6 @@ td:first-child {
   margin-bottom: 1rem;
 }
 
-.from,
 .ttc {
   font-weight: 300;
   font-size: 12px;
@@ -342,4 +343,12 @@ td:first-child {
     padding-right: 10px;
   }
 }
+
+.asterisk {
+  display: flex;
+  margin: 4px auto 0 auto;
+  width: 70%;
+  justify-content: flex-end;
+  font-style: italic;
+}
 </style>

+ 10 - 3
components/Formation/Catalogue.vue

@@ -83,6 +83,13 @@
             </v-card>
           </v-col>
         </v-row>
+        <v-row class="center-90 font-weight-medium">
+          <v-banner color="info" lines="one" :stacked="false">
+            <v-icon icon="fas fa-circle-info" class="text-info mr-2" />
+            Les formations dispensées par 2iopenservice sont exonérées de TVA
+            (Art.261,4-4° CGI)
+          </v-banner>
+        </v-row>
       </v-row>
     </LayoutContainer>
   </AnchoredSection>
@@ -131,7 +138,7 @@ const courses: Array<Training> = [
         ],
       },
     ],
-    price: '2 008,80€ TTC',
+    price: '2 008,80€ HT',
     downloadLink: 'files/PF-School-2024-02_2-jours.pdf',
   },
   {
@@ -155,7 +162,7 @@ const courses: Array<Training> = [
         objectives: ['Répertoire'],
       },
     ],
-    price: '1004,40€ TTC',
+    price: '1004,40€ HT',
     downloadLink: 'files/PF-School-2024-02_1-jour.pdf',
   },
   {
@@ -180,7 +187,7 @@ const courses: Array<Training> = [
         objectives: ['Configuration côté logiciel'],
       },
     ],
-    price: '1004,40€ TTC',
+    price: '1004,40€ HT',
     downloadLink: 'files/PF-Typo3-2024-02_1-jour.pdf',
   },
 ]

+ 1 - 1
components/Home/Caroussel.vue

@@ -11,7 +11,7 @@ Carrousel de la page d'accueil
       :show-delimiters="false"
       :touch="true"
       :height="lgAndUp ? 500 : 800"
-      :interval="15000"
+      :interval="10000"
       :cycle="true"
     >
       <v-carousel-item v-for="(item, index) in carouselItems" :key="index">

+ 10 - 7
components/JoinUs/MissionDetail.vue

@@ -46,7 +46,7 @@
             </v-col>
 
             <v-col cols="12" md="6">
-              <v-row>
+              <v-row v-if="job.sector.length > 0">
                 <div>
                   Secteur d'activité : <b>{{ job.sector.join(', ') }}</b>
                 </div>
@@ -65,19 +65,19 @@
             <p class="center-90 description mb-12" v-html="job.content" />
           </v-row>
 
-          <v-row class="d-flex justify-center align-center">
-            <v-btn class="btn-apply mb-12"> Je postule </v-btn>
-          </v-row>
+          <!--<v-row class="d-flex justify-center align-center">
+            <v-btn class="btn-apply mb-12" @click="apply"> Je postule </v-btn>
+          </v-row>-->
 
           <v-row class="d-flex justify-space-between center-90">
-            <p>MOTS CLÉS</p>
+            <p v-if="job.tags.length > 0">MOTS CLÉS</p>
             <div v-if="mdAndUp">
               <p>PARTAGER</p>
             </div>
           </v-row>
 
           <v-row class="d-flex justify-space-between mb-8 center-90">
-            <p class="key-word mt-3">
+            <p v-if="job.tags.length > 0" class="key-word mt-3">
               <span v-for="tag in job.tags" :key="tag.id" class="mr-2">
                 {{ tag.name }}
               </span>
@@ -115,12 +115,15 @@ if (!jobId || isNaN(jobId)) {
 const { data: job, pending } = fetch(JobPosting, jobId)
 
 const formatDate = (date: string) => {
-  console.log(date)
   if (!date) {
     return '-'
   }
   return DateUtils.format(new Date(date), 'dd/MM/yyyy')
 }
+
+const apply = () => {
+
+}
 </script>
 
 <style scoped lang="scss">

+ 6 - 2
components/JoinUs/Missions.client.vue

@@ -35,7 +35,11 @@
     <v-row>
       <v-col cols="12">
         <LayoutPagination
-          v-if="jobCollection && jobCollection.pagination"
+          v-if="
+            jobCollection &&
+            jobCollection.pagination &&
+            jobCollection.pagination.last > 1
+          "
           :model-value="page"
           :pagination="jobCollection.pagination"
           class="mt-4"
@@ -97,7 +101,7 @@ const { fetchCollection } = useEntityFetch()
 const page: Ref<number> = ref(1)
 
 const query: ComputedRef<AnyJson> = computed(() => {
-  return { type: 'ENTREPRISE', page: page.value }
+  return { type: 'BUSINESS', page: page.value }
 })
 
 const {

+ 1 - 1
components/Logiciels/Artist/Abonnement.vue

@@ -58,7 +58,7 @@
                   target="_blank"
                   class="btn-contact"
                 >
-                  Obtenir mon code d'accès
+                  Obtenir mes identifiants
                 </v-btn>
               </div>
             </div>

+ 15 - 15
components/Logiciels/Artist/Fonctionnalites.vue

@@ -62,16 +62,6 @@ const cards: Array<Functionality> = [
     ],
     options: ['* Version Artist Premium ', '** En option'],
   },
-  {
-    logo: '/images/components/fonctionnalites/Icone_site_internet.svg',
-    logoAlt: 'Icône site internet',
-    title: 'SITE INTERNET ',
-    list: [
-      'Gestion intégrée au logiciel',
-      'Mise à jour automatique des membres et événements sur votre site',
-      'Possibilité de personnalisé votre template',
-    ],
-  },
   {
     logo: '/images/components/fonctionnalites/Icone_statistiques.svg',
     logoAlt: 'Icône graphique à barre avec ligne ascendante',
@@ -83,15 +73,25 @@ const cards: Array<Functionality> = [
     ],
   },
   {
-    logo: '/images/logos/cmf/Icone_CMF_reseau_BLACK.png',
+    logo: '/images/components/fonctionnalites/Icone_site_internet.svg',
+    logoAlt: 'Icône site internet',
+    title: 'SITE INTERNET ',
+    list: [
+      'Gestion intégrée au logiciel',
+      'Mise à jour automatique des membres et événements sur votre site',
+      'Possibilité de personnalisé votre template',
+    ],
+  },
+  {
+    logo: '/images/components/fonctionnalites/Icone_communication_en_reseau.svg',
     logoAlt: 'Icône du logo de la CMF (confédération musicale de France)',
-    title: 'RÉSEAU CMF *',
+    title: 'FONCTIONNEMENT EN RÉSEAU *',
     list: [
       'Accès au répertoire du réseau',
       'Renouvellement de votre adhésion fédérale',
-      "Gestion de l'assurance CMF",
+      'Fonctionnalités spécifiques sur devis',
     ],
-    options: ['* Uniquement dédié aux adhérents CMF'],
+    options: ['* avec notre solution Opentalent Manager'],
   },
   {
     logo: '/images/components/fonctionnalites/Icone_promotion.svg',
@@ -99,7 +99,7 @@ const cards: Array<Functionality> = [
     title: 'PROMOTION DE VOTRE STRUCTURE & VOS ÉVÉNEMENTS ',
     list: [
       'Sur votre site internet intégré',
-      "Sur l'agenda de la CMF",
+      'Sur les sites de votre réseau',
       "Sur l'agenda culturel Opentalent ",
     ],
   },

+ 3 - 3
components/Logiciels/Manager/Avantages.vue

@@ -22,7 +22,7 @@ const benefits: Array<Benefit> = [
     alt: 'Mètre ruban de couture',
   },
   {
-    title: 'Adapté',
+    title: 'Un logiciel pour chaque structure',
     number: '02',
     description:
       'Chaque structure du réseau dispose de sa propre solution indépendante et connectée au réseau : Opentalent manager, Opentalent school, Opentalent artist',
@@ -48,10 +48,10 @@ const benefits: Array<Benefit> = [
     alt: 'Commandant de bord posant en uniforme',
   },
   {
-    title: 'En réseau',
+    title: 'Automatisation de tâches',
     number: '05',
     description:
-      'Mise à jour automatique des coordonnées publiques entre les membres du réseau.',
+      'Partage des informations publiques de chaque structure : coordonnées des structures et des responsables, événements publics.',
     image:
       '/images/pages/opentalent_manager/avantages/Un_logiciel_adapte_a_chaque_reseau.jpg',
     alt: 'Multi-réseau',

+ 43 - 16
components/Logiciels/School/Comparatif.vue

@@ -13,6 +13,10 @@
           premium-price="49€"
           :items="comparisonItems"
         />
+
+        <div class="asterisk">
+          <span>** Uniquement dédié aux structures adhérentes CMF</span>
+        </div>
       </v-row>
     </LayoutContainer>
   </AnchoredSection>
@@ -29,34 +33,34 @@ const comparisonItems: Array<ComparisonItem> = [
     includedInPremium: true,
   },
   {
-    label: 'AGENDA',
+    label: 'SUIVI PÉDAGOGIQUE',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
-    label: 'SUIVI PÉDAGOGIQUE',
+    label: 'AGENDA',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
-    label: 'GESTION DU PARC MATÉRIEL',
+    label: 'FACTURATION AUTOMATISÉE',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
-    label: 'COMMUNICATION',
+    label: 'GESTION DES RÈGLEMENTS',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
-    label: 'SMS',
-    includedInStandard: 'Option',
-    includedInPremium: 'Option',
+    label: 'GESTION DU PARC MATÉRIEL',
+    includedInStandard: true,
+    includedInPremium: true,
   },
   {
-    label: 'NOM DE DOMAINE',
-    includedInStandard: 'Option',
-    includedInPremium: 'Option',
+    label: 'COMMUNICATION',
+    includedInStandard: true,
+    includedInPremium: true,
   },
   {
     label: 'SITE INTERNET',
@@ -69,19 +73,19 @@ const comparisonItems: Array<ComparisonItem> = [
     includedInPremium: true,
   },
   {
-    label: 'FONCTIONNALITÉ DU RÉSEAU CMF',
+    label: 'EXPORT DES DONNÉES',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
-    label: 'SAUVEGARDE',
+    label: 'FONCTIONNALITÉ DU RÉSEAU CMF **',
     includedInStandard: true,
     includedInPremium: true,
   },
   {
     label: 'EXTRANET UTILISATEURS',
     includedInStandard: false,
-    includedInPremium: 'Option',
+    includedInPremium: true,
   },
   {
     label: 'PRÉINSCRIPTION EN LIGNE',
@@ -90,11 +94,26 @@ const comparisonItems: Array<ComparisonItem> = [
   },
   {
     label: "GRILLES D'ÉVALUATION",
-    includedInStandard: 'Option',
+    includedInStandard: false,
     includedInPremium: 'Option',
   },
   {
     label: 'GESTION DES RÈGLEMENTS',
+    includedInStandard: false,
+    includedInPremium: 'Option',
+  },
+  {
+    label: 'EXPORT DE FACTURATION',
+    includedInStandard: false,
+    includedInPremium: 'Option',
+  },
+  {
+    label: 'SMS',
+    includedInStandard: 'Option',
+    includedInPremium: 'Option',
+  },
+  {
+    label: 'NOM DE DOMAINE',
     includedInStandard: 'Option',
     includedInPremium: 'Option',
   },
@@ -104,10 +123,18 @@ const comparisonItems: Array<ComparisonItem> = [
     includedInPremium: '1 Go',
   },
   {
-    label: 'PAGE DU SITE INTERNET',
+    label: 'PAGES DU SITE INTERNET',
     includedInStandard: 'Restreint',
     includedInPremium: 'Illimité',
   },
 ]
 </script>
-<style scoped></style>
+<style scoped>
+.asterisk {
+  display: flex;
+  margin: 4px auto 0 auto;
+  width: 63%;
+  justify-content: flex-end;
+  font-style: italic;
+}
+</style>