Bladeren bron

minor fixes (lint, todos)

Olivier Massot 2 jaren geleden
bovenliggende
commit
9794cba58c

+ 0 - 2
components/Layout/Alert/Content.vue

@@ -26,8 +26,6 @@ import {Alert} from '~/types/interfaces'
 import {Ref} from "@vue/reactivity";
 import {usePageStore} from "~/stores/page";
 
-const $t = (s: string) => { return s } // TODO: remove after i18n install
-
 const props = defineProps({
     alert: {
       type: Object as () => Alert,

+ 1 - 1
components/Layout/Header.vue

@@ -43,7 +43,7 @@ Contient entre autres le nom de l'organisation, l'accès à l'aide et aux préf
     >
       <!-- TODO: mettre le lien vers le support dans les .env ou dans la conf -->
       <span class="d-none d-sm-none d-md-flex">{{ $t('help_access') }}</span>
-      <v-icon icon="fas fa-question-circle" class="d-sm-flex d-md-none" color="white"></v-icon>
+      <v-icon icon="fas fa-question-circle" class="d-sm-flex d-md-none" color="white" />
     </a>
   </v-app-bar>
 </template>

+ 20 - 6
components/Layout/Header/Menu.vue

@@ -12,15 +12,29 @@ header principal (configuration, paramètres du compte...)
         width="48px"
         size="small"
     >
-      <v-avatar v-if="menu.icon.avatarId || menu.icon.avatarByDefault" size="30">
-        <UiImage :id="menu.icon.avatarId" :defaultImage="menu.icon.avatarByDefault" :width="30"></UiImage>
+      <v-avatar
+          v-if="menu.icon.avatarId || menu.icon.avatarByDefault"
+          size="30"
+      >
+        <UiImage
+            :id="menu.icon.avatarId"
+            :defaultImage="menu.icon.avatarByDefault"
+            :width="30"
+        />
       </v-avatar>
-      <v-icon v-else class="text-ot-white">
-        {{ menu.icon.name }}
-      </v-icon>
+
+      <v-icon
+          v-else
+          :icon="menu.icon.name"
+          class="text-ot-white"
+      />
     </v-btn>
 
-    <v-tooltip :activator="btn" :text="$t(menu.label)" location="bottom" />
+    <v-tooltip
+        :activator="btn"
+        :text="$t(menu.label)"
+        location="bottom"
+    />
 
     <v-menu
         :activator="btn"

+ 5 - 7
components/Layout/Header/Notification.vue

@@ -38,13 +38,11 @@
               :class="`${notification.notificationUsers.length === 0 ? 'unread' : ''}`"
           >
 
-            <v-list-item-content>
-              <v-list-item-title
-                  class="list_item mt-2 mb-2"
-                  v-text="getMessage(notification)"
-                  style="font-size: 13px; line-height: 16px;"
-              />
-            </v-list-item-content>
+            <v-list-item-title
+                class="list_item mt-2 mb-2"
+                v-text="getMessage(notification)"
+                style="font-size: 13px; line-height: 16px;"
+            />
 
             <template #append>
               <v-icon

+ 0 - 1
components/Layout/Header/UniversalCreation/GenerateCardsSteps.vue

@@ -7,7 +7,6 @@
     <v-stepper-items>
       <v-stepper-content step="1">
         <div class="row">
-          <!-- TODO: peut-être faire un builder comme pour les menus? -->
           <LayoutHeaderUniversalCreationTypeCard
             v-if="can('manage', 'users')"
             title="a_person"

+ 0 - 2
components/Layout/MainMenu.vue

@@ -92,8 +92,6 @@ const isOpened = computed(() => isMenuOpened('Main'))
 const isRail = computed(() => mdAndUp.value && !isOpened.value)
 const displayMenu = computed(() => hasMainMenu && (mdAndUp.value || isOpened.value))
 
-console.log(process.client, mdAndUp.value)
-
 const unwatch = watch(mdAndUp, (newValue, oldValue) => {
 // Par défaut si l'écran est trop petit au chargement de la page, le menu doit rester fermé.
   if (process.client && mdAndUp.value) {

+ 2 - 2
components/Layout/SubHeader/ActivityYear.vue

@@ -1,5 +1,5 @@
 <template>
-  <main class="d-flex">
+  <main class="d-flex flex-row align-center">
     <span v-show="mdAndUp" class="mr-2 font-weight-bold">{{ $t(label) }} : </span>
 
     <UiXeditableText
@@ -9,7 +9,7 @@
       @update="setActivityYear"
     >
       <template #xeditable.read="{inputValue}">
-        <v-icon aria-hidden="false" size="x-small" class="text-ot-green mr-1" icon="fas fa-edit" />
+        <v-icon aria-hidden="false" size="small" class="text-ot-green mr-1" icon="fas fa-edit" />
         <strong class="text-ot-green">
           {{ inputValue }}
           <span v-if="yearPlusOne">

+ 1 - 1
components/Layout/SubHeader/DataTiming.vue

@@ -36,7 +36,7 @@ import {useEntityManager} from "~/composables/data/useEntityManager";
 import {useDisplay, useTheme} from "vuetify";
 import {Access} from "~/models/Access/Access";
 
-// TODO: en v3.0.5, pas de solution documentée pour renseigner directement la couler dans le template, à revoir
+// TODO: en v3.0.5, pas de solution documentée pour renseigner directement la couleur dans le template, à revoir
 const color = useTheme().current.value.colors['ot-green']
 
 const { setDirty } = useFormStore()

+ 2 - 2
components/Ui/Form.vue

@@ -187,14 +187,14 @@ const onFormChange = async () => {
 
     if (props.onChanged) {
       // Execute the custom onChange method, if defined
-      // TODO: voir quelles variables passer à cette méthode custom ; voir même si cette méthode est utilisée
+      // TODO: voir quelles variables passer à cette méthode custom ; d'ailleurs, vérifier aussi si cette méthode est utilisée
       props.onChanged()
     }
   }
 }
 
 
-// <--- TODO: revoir
+// <--- TODO: revoir les 4 méthodes qui suivent
 /**
  * Action Sauvegarder qui redirige vers la page d'édition si on est en mode create
  * @param route

+ 1 - 1
components/Ui/Input/Image.vue

@@ -161,7 +161,7 @@ const onChange = ({ coordinates: config } : any) => {
 /**
  * Lorsque l'on sauvegarde l'image
  */
-// TODO: Voir si tout ou partie de cette fonction peut passer dans le useImageFetch
+// TODO: Voir si tout ou partie de cette fonction peut passer dans le useImageFetch, imageManager ou imageUtils
 const save = async () => {
   file.config = JSON.stringify({
     x: coordinates.value.left,

+ 1 - 1
components/Ui/ItemFromUri.vue

@@ -15,7 +15,7 @@ Espace permettant de récupérer un item via une uri et de gérer son affichage
 </template>
 
 <script setup lang="ts">
-// TODO: renommer en EntityFromUri? voir si ce component est encore nécessaire, ou si ça ne peut pas être une méthode le l'entity manager
+// TODO: renommer en EntityFromUri? voir si ce component est encore nécessaire, ou si ça ne peut pas être une méthode de l'entity manager
 
 import {Query} from "pinia-orm";
 import Url from "~/services/utils/url";

+ 1 - 1
components/Ui/Template/DataTable.vue

@@ -1,8 +1,8 @@
 <!--
 Tableau interactif
+// TODO: expliquer ici la différence avec UiDatatable
 
 @see https://vuetifyjs.com/en/components/data-tables/
-// TODO: expliquer la différence avec UiDatatable
 -->
 
 <template>

+ 6 - 1
components/Ui/Xeditable/Text.vue

@@ -1,8 +1,12 @@
 <!--
+Affichage texte qui passe en mode édition lorsqu'on clique dessus
+
+Utilisé par exemple pour le choix de l'année active
 -->
 
 <template>
   <main>
+    <!-- Mode édition activé -->
     <div v-if="edit" class="d-flex align-center x-editable-input">
       <UiInputText
           class="ma-0 pa-0"
@@ -27,7 +31,8 @@
       />
     </div>
 
-    <div v-else class="edit-link" @click="edit=true">
+    <!-- Mode édition désactivé -->
+    <div v-else class="edit-link d-flex align-center" @click="edit=true">
       <slot name="xeditable.read" v-bind="{inputValue}" />
     </div>
   </main>

+ 1 - 1
composables/data/useAp2iRequestService.ts

@@ -86,7 +86,7 @@ export const useAp2iRequestService = () => {
         else if (response && response.status >= 404) {
             // @see https://developer.mozilla.org/fr/docs/Web/HTTP/Status
             usePageStore().addAlert(TYPE_ALERT.ALERT, [error ? error.message : response.statusText])
-            console.error(error ? error.message : response.statusText)
+            // console.error(error ?? response)
         }
     }
 

+ 1 - 1
middleware/auth.ts

@@ -5,7 +5,7 @@ export default defineNuxtRouteMiddleware(
 (to, from) => {
       // Si l'utilisateur n'est pas connecté on le redirige vers la page login
       if (!useAccessProfileStore().bearer) {
-        // TODO: vérifier qu'on passe bien par ici, car en général ça pète dans le init.server.ts
+        // TODO: vérifier qu'on passe bien par ici, car en général ça pète en amont dans le init.server.ts
         return navigateTo(process.env.baseUrlAdminLegacy + '/login')
       }
 })

+ 0 - 2
models/ApiModel.ts

@@ -6,8 +6,6 @@ import {randomUUID} from "crypto";
  * Entities from the API
  *
  * These models support CRUD operations
- *
- * TODO: faut il séparer les apiresources des entités?
  */
 export class ApiModel extends ApiResource {
 }

+ 1 - 1
package.json

@@ -72,7 +72,7 @@
     "uuid": "^9.0.0",
     "vue-tel-input-vuetify": "^1.5.3",
     "vue-the-mask": "^0.11.1",
-    "vuetify": "^3.0.5",
+    "vuetify": "^3.0.7",
     "yaml-import": "^2.0.0"
   }
 }

+ 1 - 1
pages/poc.vue

@@ -1,7 +1,7 @@
 <template>
   <main>
     <div class="pa-8">
-      <h1>Organization</h1>
+      <h1>POC</h1>
       <NuxtPage/>
     </div>
   </main>

+ 1 - 4
services/menuBuilder/medalsMenuBuilder.ts

@@ -13,10 +13,7 @@ export default class MedalsMenuBuilder extends AbstractMenuBuilder {
    */
   build (): MenuItem | null {
     if (this.ability.can('display', 'medals_page')) {
-      // TODO: restaurer le bon lien
-      return this.createItem('medals', {name: 'fas fa-trophy'}, '/poc/blank', MENU_LINK_TYPE.INTERNAL)
-
-      // return this.createItem('medals', {name: 'fas fa-trophy'}, '/medals/list/', MENU_LINK_TYPE.V1)
+      return this.createItem('medals', {name: 'fas fa-trophy'}, '/medals/list/', MENU_LINK_TYPE.V1)
     }
     return null
   }

+ 1 - 1
services/menuBuilder/myFamilyMenuBuilder.ts

@@ -20,7 +20,7 @@ export default class MyFamilyMenuBuilder extends AbstractMenuBuilder {
       const url = `/switch_user/${this.organizationProfile.id}/${this.accessProfile.id}/${access.id}`
       const icon = {
         avatarId: access.avatarId,
-        avatarByDefault: access.gender == 'MISTER' ? 'men-1.png' : 'women-1.png'
+        avatarByDefault: access.gender == 'MISTER' ? '/images/default/men-1.png' : '/images/default/women-1.png'
       }
 
       children.push(this.createItem(`${access.givenName} ${access.name}`, icon, url, MENU_LINK_TYPE.V1))

+ 0 - 2
types/layout.d.ts

@@ -2,7 +2,6 @@ import {MENU_LINK_TYPE} from "~/types/enum/layout";
 
 interface IconItem {
     name?: string
-    // TODO: les avatars sont ils encore utiles?
     avatarId?: number | null
     avatarByDefault?: string
 }
@@ -16,7 +15,6 @@ interface MenuItem {
     to?: string
     /** Type de lien (interne, externe, v1)  */
     type: MENU_LINK_TYPE
-    // TODO: revoir l'utilité de avatar?
     avatar?: number
     /** Correspond à la page actuelle */
     active: boolean