codevdesign 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,13 @@
1
1
  <template>
2
2
  <v-app-bar
3
- color="white"
3
+ :color="barreCouleur"
4
4
  class="px-0 mx-0"
5
- :style="{ position: 'sticky' }"
5
+ :style="{
6
+ position: 'sticky',
7
+ // variables CSS pour les couleurs dynamiques
8
+ '--entete-texte': texteCouleur,
9
+ '--entete-icone': iconeCouleur,
10
+ }"
6
11
  height="82px"
7
12
  >
8
13
  <v-row
@@ -20,16 +25,17 @@
20
25
  v-if="retour"
21
26
  size="large"
22
27
  start
23
- color="grisMoyen"
28
+ :color="iconeCouleur"
24
29
  icon="mdi-arrow-left-thin"
25
30
  @click="retournerMenu"
26
- /></slot>
31
+ />
32
+ </slot>
27
33
 
28
34
  <div class="titre-bloc">
29
35
  <!-- Titre -->
30
- <slot name="titre"
31
- ><span class="pl-3"> {{ props.titre }}</span></slot
32
- >
36
+ <slot name="titre">
37
+ <span class="pl-3 titre-texte">{{ props.titre }}</span>
38
+ </slot>
33
39
 
34
40
  <!-- État -->
35
41
  <slot name="etat">
@@ -44,9 +50,10 @@
44
50
  >
45
51
  {{ monEtat.texte }}
46
52
  </v-btn>
47
- </span></slot
48
- >
49
- <!-- État secondaire-->
53
+ </span>
54
+ </slot>
55
+
56
+ <!-- État secondaire -->
50
57
  <slot name="etatSecondaire">
51
58
  <span
52
59
  v-if="monEtatSecondaire?.afficher"
@@ -59,16 +66,18 @@
59
66
  >
60
67
  {{ monEtatSecondaire.texte }}
61
68
  </v-btn>
62
- </span></slot
63
- >
69
+ </span>
70
+ </slot>
71
+
64
72
  <!-- Sous-titre -->
65
- <slot name="soustitre"
66
- ><span class="pl-3 soustitre"> {{ props.soustitre }}</span></slot
67
- >
73
+ <slot name="soustitre">
74
+ <span class="pl-3 soustitre-texte">{{ props.soustitre }}</span>
75
+ </slot>
68
76
  </div>
69
77
  </v-toolbar-title>
70
78
  </v-col>
71
79
  </v-row>
80
+
72
81
  <!-- Barre en bas -->
73
82
  <div style="position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background-color: #808a9d" />
74
83
  </v-app-bar>
@@ -78,7 +87,6 @@
78
87
  import { useRouter } from 'vue-router'
79
88
  import { ref, computed } from 'vue'
80
89
 
81
- // Déclaration de l'interface
82
90
  interface EnteteEtat {
83
91
  afficher: boolean
84
92
  couleur: string
@@ -98,61 +106,58 @@
98
106
  soustitre?: string
99
107
  retour?: string
100
108
  etat?: EnteteEtat
109
+ couleur?: string // couleur de la barre (Vuetify color/hex)
110
+ couleurTexte?: string
111
+ couleurIcone?: string
101
112
  etatSecondaire?: EnteteEtatSecondaire
102
113
  }>()
103
114
 
104
115
  const titreCol = ref(12)
105
116
 
106
- // État calculé basé sur la prop, avec fallback
107
- const monEtat = computed<EnteteEtat>(() => {
108
- return (
109
- props.etat ?? {
110
- afficher: false,
111
- couleur: 'primary',
112
- texte: 'test',
113
- }
114
- )
115
- })
117
+ // Fallbacks (tes valeurs actuelles)
118
+ const barreCouleur = computed(() => props.couleur ?? 'white')
119
+ const texteCouleur = computed(() => props.couleurTexte ?? '#223654')
120
+ const iconeCouleur = computed(() => props.couleurIcone ?? 'grisMoyen') // peut être un nom de couleur Vuetify ou un hex
116
121
 
117
- const monEtatSecondaire = computed<EnteteEtatSecondaire>(() => {
118
- return (
119
- props.etatSecondaire ?? {
120
- afficher: false,
121
- couleur: 'primary',
122
- texte: 'test',
123
- }
124
- )
125
- })
122
+ const monEtat = computed<EnteteEtat>(() => props.etat ?? { afficher: false, couleur: 'primary', texte: 'test' })
123
+ const monEtatSecondaire = computed<EnteteEtatSecondaire>(
124
+ () => props.etatSecondaire ?? { afficher: false, couleur: 'primary', texte: 'test' },
125
+ )
126
126
 
127
127
  function retournerMenu() {
128
- if (props.retour) {
129
- router.push({ name: props.retour })
130
- }
128
+ if (props.retour) router.push({ name: props.retour })
131
129
  }
132
-
133
130
  function controlAffichage() {
134
- // logique à l’événement de redimensionnement
131
+ /* logique resize */
135
132
  }
136
133
  </script>
137
- <style lang="css" scoped>
134
+
135
+ <style scoped>
138
136
  .titre {
139
137
  font-size: 1.85rem;
140
- color: #223654;
141
138
  font-weight: bold;
142
139
  margin-bottom: 15px;
143
140
  }
144
- .soustitre {
141
+ .titre-texte {
142
+ color: var(--entete-texte, #223654);
143
+ }
144
+ .soustitre-texte {
145
145
  display: block;
146
146
  font-size: 1rem;
147
- color: #223654;
148
147
  font-weight: normal;
148
+ color: var(--entete-texte, #223654);
149
149
  }
150
150
  .titre-bloc {
151
151
  display: inline-block;
152
152
  vertical-align: middle;
153
153
  padding-left: 12px;
154
154
  }
155
+ /* Couleur de l’icône (retour) + hover */
156
+ .v-icon {
157
+ color: var(--entete-icone, #6b7280); /* grisMoyen approx si hex */
158
+ }
155
159
  .v-icon:hover {
156
- color: #095797 !important;
160
+ /* tu peux garder une couleur fixe ou calculer une teinte plus foncée si besoin */
161
+ filter: brightness(0.85);
157
162
  }
158
163
  </style>
package/locales/en.json CHANGED
@@ -31,23 +31,23 @@
31
31
  "titre": "Tracking Preference"
32
32
  },
33
33
  "csqcEmploisEmploye": {
34
- "dateDebut": "Date de début",
35
- "dateFin": "Date de fin",
36
- "etat": "État",
37
- "etatActif": "Actif",
38
- "lieuPrincipal": "Lieu principal",
39
- "lieuSecondaire": "Lieu secondaire|Lieux secondaires",
34
+ "dateDebut": "Start Date",
35
+ "dateFin": "End Date",
36
+ "etat": "Status",
37
+ "etatActif": "Active",
38
+ "lieuPrincipal": "Primary Location",
39
+ "lieuSecondaire": "Secondary Location|Secondary Locations",
40
40
  "principal": {
41
41
  "libelle": "Principal",
42
- "non": "Non",
43
- "oui": "Oui"
42
+ "non": "No",
43
+ "oui": "Yes"
44
44
  },
45
- "statut": "Statut",
46
- "titre": "Emplois de l'employé"
45
+ "statut": "Status",
46
+ "titre": "Employee Jobs"
47
47
  },
48
48
  "csqcImportCSV": {
49
49
  "erreur": {
50
- "erreur": "Importation Error.",
50
+ "erreur": "Import Error.",
51
51
  "lectureFichier": "Error reading CSV file."
52
52
  }
53
53
  },
@@ -57,7 +57,9 @@
57
57
  "csqcRechercheUtilisateur": {
58
58
  "ajouterUtilisateurInfo": "You can enter here the Office 365 identifier or the employee’s payroll number. Then click on the magnifying glass. If this information is found in the payroll system, the user will be added. Note that the user must have a valid portal email address in the payroll system.",
59
59
  "aucunEmploi": "No job found",
60
+ "aucunResultat": "No result found",
60
61
  "corpsEmploi": "Job category",
62
+ "erreur": " An error occurred while searching for the user.",
61
63
  "identifiantOuMatricule": "Office 365 identifier or payroll number",
62
64
  "placeholderRechercheUtilisateur": "Search for a user",
63
65
  "revenirRecherche": "Back to search",
package/locales/fr.json CHANGED
@@ -57,14 +57,14 @@
57
57
  "csqcRechercheUtilisateur": {
58
58
  "ajouterUtilisateurInfo": "Vous pouvez entrer ici l’ID Office 365 ou le numéro d’employé, puis cliquer sur la loupe. Si cette information existe dans le système de paie, l’utilisateur sera ajouté. Veuillez noter que l’utilisateur doit avoir une adresse courriel valide du portail dans le système de paie.",
59
59
  "aucunEmploi": "Aucun emploi",
60
+ "aucunResultat": "Aucun résultat trouvé",
60
61
  "corpsEmploi": "Corps d'emploi",
62
+ "erreur": "Une erreur est survenue lors de la recherche de l'utilisateur.",
61
63
  "identifiantOuMatricule": "identifiant Office 365 ou le matricule employé",
62
64
  "placeholderRechercheUtilisateur": "Rechercher un utilisateur",
63
65
  "revenirRecherche": "Retour à la recherche",
64
66
  "utilisateurIntrouvable": "Employé introuvable",
65
- "utilisateurs": "Employé",
66
- "aucunResultat": "Aucun résultat trouvé",
67
- "erreur": "Une erreur est survenue lors de la recherche de l'utilisateur."
67
+ "utilisateurs": "Employé"
68
68
  },
69
69
  "label": {
70
70
  "actif": "Actif",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codevdesign",
3
- "version": "0.0.84",
3
+ "version": "0.0.86",
4
4
  "description": "Composants Vuetify 3 pour les projets Codev",
5
5
  "files": [
6
6
  "./**/*.vue",