@paris-ias/list 1.0.45 → 1.0.47

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.
Files changed (33) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/events/ListContainer.vue +3 -2
  3. package/dist/runtime/components/events/RelatedItem.vue +4 -3
  4. package/dist/runtime/components/events/RowsItem.vue +4 -3
  5. package/dist/runtime/components/list/atoms/SearchInput.vue +8 -6
  6. package/dist/runtime/components/list/atoms/SortMenu.vue +4 -2
  7. package/dist/runtime/components/list/atoms/ViewMenu.vue +4 -2
  8. package/dist/runtime/components/list/inputs/AutoComplete.vue +4 -2
  9. package/dist/runtime/components/list/inputs/BooleanSwitch.vue +4 -2
  10. package/dist/runtime/components/list/inputs/Checkbox.vue +4 -2
  11. package/dist/runtime/components/list/inputs/Select.vue +4 -2
  12. package/dist/runtime/components/list/molecules/Filters.vue +4 -2
  13. package/dist/runtime/components/list/molecules/Header.vue +1 -1
  14. package/dist/runtime/components/list/molecules/Pagination.vue +3 -2
  15. package/dist/runtime/components/list/organisms/List.vue +4 -2
  16. package/dist/runtime/components/misc/molecules/RelatedItems.vue +2 -0
  17. package/dist/runtime/components/misc/molecules/SearchItem.vue +3 -2
  18. package/dist/runtime/components/news/DenseItem.vue +5 -3
  19. package/dist/runtime/components/news/ExpandedItem.vue +3 -2
  20. package/dist/runtime/components/news/RelatedItem.vue +4 -3
  21. package/dist/runtime/components/news/RowsItem.vue +5 -3
  22. package/dist/runtime/components/people/DenseItem.vue +4 -2
  23. package/dist/runtime/components/people/GroupBadges.vue +3 -2
  24. package/dist/runtime/components/people/RelatedItem.vue +4 -3
  25. package/dist/runtime/components/projects/RelatedItem.vue +4 -3
  26. package/dist/runtime/components/projects/RowsItem.vue +3 -2
  27. package/dist/runtime/components/publications/RelatedItem.vue +4 -3
  28. package/dist/runtime/plugins/pinia.js +1 -1
  29. package/dist/runtime/stores/root.d.ts +1 -1
  30. package/dist/runtime/stores/root.js +1 -1
  31. package/dist/runtime/translations/en.json +1 -0
  32. package/dist/runtime/translations/fr.json +1 -0
  33. package/package.json +3 -5
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paris-ias/list",
3
3
  "configKey": "list",
4
- "version": "1.0.45",
4
+ "version": "1.0.47",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.1",
7
7
  "unbuild": "3.5.0"
@@ -9,7 +9,7 @@
9
9
  >
10
10
  <v-col cols="3">
11
11
  <MiscAtomsDateStamp
12
- :loading="$rootStore.events.loading"
12
+ :loading="rootStore.events.loading"
13
13
  :date="[
14
14
  new Date(event.start),
15
15
  ...(event.stop ? [new Date(event.stop)] : []),
@@ -30,9 +30,10 @@
30
30
  </template>
31
31
 
32
32
  <script setup>
33
+ import { useRootStore } from "../../stores/root";
33
34
  import { useI18n } from "#imports";
34
- const { $rootStore } = useNuxtApp();
35
35
  const { locale } = useI18n();
36
+ const rootStore = useRootStore();
36
37
  const props = defineProps({
37
38
  events: {
38
39
  type: Array,
@@ -14,12 +14,12 @@
14
14
  :src="item.image"
15
15
  :ratio="1 / 1"
16
16
  :link="item.name"
17
- :loading="$rootStore.loading"
17
+ :loading="rootStore.loading"
18
18
  name="activities-events-slug"
19
19
  />
20
20
  </v-col>
21
21
  <v-col cols="12" lg="9">
22
- <v-skeleton-loader v-if="$rootStore.loading" type="heading, text@3" />
22
+ <v-skeleton-loader v-if="rootStore.loading" type="heading, text@3" />
23
23
  <template v-else>
24
24
  <div class="text-h6">
25
25
  {{ item.name }}
@@ -35,9 +35,10 @@
35
35
 
36
36
  <script setup>
37
37
  import { useDisplay } from "vuetify";
38
+ import { useRootStore } from "../../stores/root";
38
39
  import { useLocalePath } from "#imports";
39
- const { $rootStore } = useNuxtApp();
40
40
  const localePath = useLocalePath();
41
+ const rootStore = useRootStore();
41
42
  const { lgAndUp } = useDisplay();
42
43
  const props = defineProps({ item: { type: Object, required: true } });
43
44
  </script>
@@ -14,7 +14,7 @@
14
14
  <v-row no-gutters>
15
15
  <v-col cols="12" class="pr-lg-6">
16
16
  <v-skeleton-loader
17
- v-if="$rootStore.loading || $stores['events'].loading"
17
+ v-if="rootStore.loading || $stores['events'].loading"
18
18
  :type="
19
19
  [
20
20
  'heading, subtitle, text@6,subtitle, text, ossein, button, button',
@@ -69,7 +69,7 @@
69
69
  >
70
70
  <v-col cols="12">
71
71
  <v-skeleton-loader
72
- v-if="$rootStore.loading || $stores['events'].loading"
72
+ v-if="rootStore.loading || $stores['events'].loading"
73
73
  :type="
74
74
  ['article, heading, text, heading, text, button, button'][
75
75
  ['md'].indexOf(name || 'md')
@@ -103,7 +103,8 @@ import { useNuxtApp, useI18n, useLocalePath } from "#imports";
103
103
  const { locale } = useI18n();
104
104
  const { name, mdAndDown, lgAndUp } = useDisplay();
105
105
  const localePath = useLocalePath();
106
- const { $stores, $rootStore } = useNuxtApp();
106
+ const rootStore = useRootStore();
107
+ const { $stores } = useNuxtApp();
107
108
  const props = defineProps({
108
109
  item: {
109
110
  type: Object,
@@ -11,7 +11,7 @@
11
11
  clearable
12
12
  tile
13
13
  type="search"
14
- :loading="$rootStore.loading"
14
+ :loading="rootStore.loading"
15
15
  >
16
16
  <!-- :loading="$nuxt.loading || $store.state.loading" :class="{ 'mt-3':
17
17
  $store.state.scrolled }" -->
@@ -29,7 +29,7 @@
29
29
  style="max-height: 300px"
30
30
  class="overflow-y-auto"
31
31
  >
32
- <div v-if="$rootStore.loading" class="d-flex justify-center py-6">
32
+ <div v-if="rootStore.loading" class="d-flex justify-center py-6">
33
33
  <v-progress-circular color="black" size="64" indeterminate />
34
34
  </div>
35
35
  <template v-for="(item, index) in results">
@@ -66,9 +66,11 @@
66
66
 
67
67
  <script setup>
68
68
  import { useDebounceFn } from "@vueuse/core";
69
+ import { useRootStore } from "../../../stores/root";
69
70
  import { useNuxtApp, useI18n, computed } from "#imports";
70
71
  const { locale, t } = useI18n();
71
- const { $stores, $rootStore } = useNuxtApp();
72
+ const rootStore = useRootStore();
73
+ const { $stores } = useNuxtApp();
72
74
  const props = defineProps({
73
75
  type: {
74
76
  type: String,
@@ -80,7 +82,7 @@ const props = defineProps({
80
82
  }
81
83
  });
82
84
  const results = computed(() => {
83
- const storeRst = $rootStore.results;
85
+ const storeRst = rootStore.results;
84
86
  const rst = Object.keys(storeRst).length && Object.keys(storeRst).sort((a, b) => {
85
87
  return storeRst[b]?.items?.length - storeRst[a]?.items?.length;
86
88
  }).reduce((acc, key, index) => {
@@ -109,10 +111,10 @@ const results = computed(() => {
109
111
  });
110
112
  const search = computed({
111
113
  get() {
112
- return props.type === "all" ? $rootStore.search : $stores[props.type].search;
114
+ return props.type === "all" ? rootStore.search : $stores[props.type].search;
113
115
  },
114
116
  set: await useDebounceFn(async function(v) {
115
- await $rootStore.updateSearch({
117
+ await rootStore.updateSearch({
116
118
  type: props.type,
117
119
  search: v || "",
118
120
  lang: locale.value
@@ -45,9 +45,11 @@
45
45
  <script setup>
46
46
  import { mergeProps } from "vue";
47
47
  import { useDisplay } from "vuetify";
48
+ import { useRootStore } from "../../../stores/root";
48
49
  import { useNuxtApp, computed, ref } from "#imports";
49
- const { $stores, $rootStore } = useNuxtApp();
50
+ const { $stores } = useNuxtApp();
50
51
  const { xs: isXsDisplay } = useDisplay();
52
+ const rootStore = useRootStore();
51
53
  const props = defineProps({
52
54
  type: {
53
55
  type: String,
@@ -72,6 +74,6 @@ const current = computed(() => {
72
74
  }
73
75
  });
74
76
  const updateSort = async (value) => {
75
- await $rootStore.updateSort({ value, type: props.type });
77
+ await rootStore.updateSort({ value, type: props.type });
76
78
  };
77
79
  </script>
@@ -42,8 +42,9 @@
42
42
  <script setup>
43
43
  import { mergeProps, ref } from "vue";
44
44
  import { useDisplay } from "vuetify";
45
+ import { useRootStore } from "../../../stores/root";
45
46
  import { useNuxtApp } from "#imports";
46
- const { $stores, $rootStore } = useNuxtApp();
47
+ const { $stores } = useNuxtApp();
47
48
  const props = defineProps({
48
49
  type: {
49
50
  type: String,
@@ -52,9 +53,10 @@ const props = defineProps({
52
53
  }
53
54
  });
54
55
  const { xs: isXsDisplay } = useDisplay();
56
+ const rootStore = useRootStore();
55
57
  const items = ref($stores[props.type].views);
56
58
  const current = ref($stores[props.type].view);
57
59
  const updateView = async (value) => {
58
- await $rootStore.updateView({ value, type: props.type });
60
+ await rootStore.updateView({ value, type: props.type });
59
61
  };
60
62
  </script>
@@ -7,15 +7,17 @@
7
7
  </template>
8
8
 
9
9
  <script setup>
10
+ import { useRootStore } from "../../../stores/root";
10
11
  import { useNuxtApp, computed } from "#imports";
11
- const { $stores, $rootStore } = useNuxtApp();
12
+ const rootStore = useRootStore();
13
+ const { $stores } = useNuxtApp();
12
14
  const props = defineProps(["type", "items", "name"]);
13
15
  const val = computed({
14
16
  get() {
15
17
  return $stores[props.type].filters[props.name]?.value || [];
16
18
  },
17
19
  set(value) {
18
- return $rootStore.updateFilter(props.name, value, props.type);
20
+ return rootStore.updateFilter(props.name, value, props.type);
19
21
  }
20
22
  });
21
23
  </script>
@@ -3,15 +3,17 @@
3
3
  </template>
4
4
 
5
5
  <script setup>
6
+ import { useRootStore } from "../../../stores/root";
6
7
  import { useNuxtApp, computed } from "#imports";
8
+ const rootStore = useRootStore();
7
9
  const props = defineProps(["type", "items", "name"]);
8
- const { $stores, $rootStore } = useNuxtApp();
10
+ const { $stores } = useNuxtApp();
9
11
  const val = computed({
10
12
  get() {
11
13
  return $stores[props.type].filters[props.name]?.value;
12
14
  },
13
15
  set(value) {
14
- $rootStore.updateFilter(props.name, value, props.type);
16
+ rootStore.updateFilter(props.name, value, props.type);
15
17
  }
16
18
  });
17
19
  </script>
@@ -3,15 +3,17 @@
3
3
  </template>
4
4
 
5
5
  <script setup>
6
+ import { useRootStore } from "../../../stores/root";
6
7
  import { useNuxtApp, computed } from "#imports";
8
+ const rootStore = useRootStore();
7
9
  const props = defineProps(["type", "items", "name"]);
8
- const { $stores, $rootStore } = useNuxtApp();
10
+ const { $stores } = useNuxtApp();
9
11
  const val = computed({
10
12
  get() {
11
13
  return $stores[props.type].filters[props.name]?.value;
12
14
  },
13
15
  set(value) {
14
- $rootStore.updateFilter(props.name, value, props.type);
16
+ rootStore.updateFilter(props.name, value, props.type);
15
17
  }
16
18
  });
17
19
  </script>
@@ -7,15 +7,17 @@
7
7
  </template>
8
8
 
9
9
  <script setup>
10
+ import { useRootStore } from "../../../stores/root";
10
11
  import { useNuxtApp, computed } from "#imports";
11
- const { $stores, $rootStore } = useNuxtApp();
12
+ const rootStore = useRootStore();
13
+ const { $stores } = useNuxtApp();
12
14
  const props = defineProps(["type", "items", "name"]);
13
15
  const val = computed({
14
16
  get() {
15
17
  return $stores[props.type].filters[props.name]?.value || [];
16
18
  },
17
19
  set(value) {
18
- $rootStore.updateFilter(props.name, value, props.type);
20
+ rootStore.updateFilter(props.name, value, props.type);
19
21
  }
20
22
  });
21
23
  </script>
@@ -35,12 +35,14 @@
35
35
 
36
36
  <script setup>
37
37
  import { useDisplay } from "vuetify";
38
+ import { useRootStore } from "../../../stores/root";
38
39
  import { capitalize } from "../../../composables/useUtils";
39
40
  import { useNuxtApp, onMounted, resolveComponent, useI18n } from "#imports";
40
41
  const { smAndDown } = useDisplay();
41
42
  const i18n = useI18n();
42
43
  const { locale, messages } = useI18n();
43
- const { $stores, $rootStore } = useNuxtApp();
44
+ const { $stores } = useNuxtApp();
45
+ const rootStore = useRootStore();
44
46
  const props = defineProps(["type", "expanded"]);
45
47
  const ComponentName = (name) => {
46
48
  return resolveComponent(
@@ -63,7 +65,7 @@ const getItems = (name) => {
63
65
  }));
64
66
  };
65
67
  onMounted(() => {
66
- $rootStore.loadRouteQuery(props.type);
68
+ rootStore.loadRouteQuery(props.type);
67
69
  });
68
70
  const computeVisibility = (filterItem) => {
69
71
  return (
@@ -2,7 +2,7 @@
2
2
  <v-row no-gutters>
3
3
  <v-col cols="12">
4
4
  <!-- <v-btn
5
- v-if="$rootStore.addBtn"
5
+ v-if="rootStore.addBtn"
6
6
  x-large
7
7
  :height="mdAndUp ? '56' : '40'"
8
8
  outlined
@@ -78,9 +78,10 @@
78
78
  </template>
79
79
 
80
80
  <script setup>
81
+ import { useRootStore } from "../../../stores/root";
81
82
  import { useRoute, computed, watch } from "#imports";
82
- const { $rootStore } = useNuxtApp();
83
83
  const route = useRoute();
84
+ const rootStore = useRootStore();
84
85
  const props = defineProps({
85
86
  totalPages: {
86
87
  type: Number,
@@ -176,7 +177,7 @@ const createGap = (pageIndex) => {
176
177
  };
177
178
  };
178
179
  const updatePage = (page) => {
179
- $rootStore.updatePage({ page, type: props.type });
180
+ rootStore.updatePage({ page, type: props.type });
180
181
  };
181
182
  const getGapPage = (index) => {
182
183
  return Math.floor(
@@ -25,10 +25,12 @@
25
25
  </template>
26
26
 
27
27
  <script setup>
28
+ import { useRootStore } from "../../../stores/root";
28
29
  import { capitalize } from "../../../composables/useUtils";
29
30
  import { useNuxtApp, useI18n, resolveComponent, computed } from "#imports";
30
- const { $stores, $rootStore } = useNuxtApp();
31
+ const { $stores } = useNuxtApp();
31
32
  const { locale } = useI18n();
33
+ const rootStore = useRootStore();
32
34
  const props = defineProps({
33
35
  addBtn: {
34
36
  type: Boolean,
@@ -76,7 +78,7 @@ const numberOfPages = computed(() => $stores[props.type].numberOfPages);
76
78
  const page = computed(() => +$stores[props.type].page);
77
79
  const items = computed(() => $stores[props.type].items);
78
80
  try {
79
- await $rootStore.update(props.type, locale.value);
81
+ await rootStore.update(props.type, locale.value);
80
82
  } catch (error) {
81
83
  console.log("error fetching update list: ", error);
82
84
  }
@@ -11,7 +11,9 @@
11
11
  </template>
12
12
 
13
13
  <script setup>
14
+ import { useRootStore } from "../../../stores/root";
14
15
  import { capitalize } from "../../../composables/useUtils";
16
+ const rootStore = useRootStore();
15
17
  const props = defineProps({
16
18
  type: {
17
19
  type: String,
@@ -4,7 +4,7 @@
4
4
  <v-col cols="12" md="2">
5
5
  <MiscAtomsImageContainer
6
6
  cover
7
- :loading="$rootStore.loading"
7
+ :loading="rootStore.loading"
8
8
  :src="item.image"
9
9
  :ratio="1 / 1"
10
10
  />
@@ -21,5 +21,6 @@
21
21
  </template>
22
22
 
23
23
  <script setup>
24
- const { $rootStore } = useNuxtApp();
24
+ import { useRootStore } from "../../../stores/root";
25
+ const rootStore = useRootStore();
25
26
  </script>
@@ -6,7 +6,7 @@
6
6
  >
7
7
  <v-col align-self="center" cols="7" class="text-h6 dense">
8
8
  <v-skeleton-loader
9
- v-if="$rootStore.loading || $stores[type].loading"
9
+ v-if="rootStore.loading || $stores[type].loading"
10
10
  type="heading"
11
11
  />
12
12
  <template v-else>
@@ -16,7 +16,7 @@
16
16
 
17
17
  <v-col align-self="center" cols="5" class="dense">
18
18
  <v-skeleton-loader
19
- v-if="$rootStore.loading || $stores[type].loading"
19
+ v-if="rootStore.loading || $stores[type].loading"
20
20
  :type="
21
21
  ['chip', 'chip@2', 'chip@3', 'chip@4', 'chip@4', 'chip@4'][
22
22
  ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
@@ -36,11 +36,13 @@
36
36
 
37
37
  <script setup>
38
38
  import { useDisplay } from "vuetify";
39
+ import { useRootStore } from "../../stores/root";
39
40
  import { computed, useNuxtApp, useI18n, useLocalePath } from "#imports";
40
- const { $stores, $rootStore } = useNuxtApp();
41
+ const { $stores } = useNuxtApp();
41
42
  const { name } = useDisplay();
42
43
  const localePath = useLocalePath();
43
44
  const { locale } = useI18n();
45
+ const rootStore = useRootStore();
44
46
  const props = defineProps({
45
47
  item: {
46
48
  type: Object,
@@ -22,7 +22,7 @@
22
22
  >
23
23
  <MiscAtomsImageContainer
24
24
  cover
25
- :loading="$rootStore.loading"
25
+ :loading="rootStore.loading"
26
26
  :src="item.image"
27
27
  :ratio="1 / 1"
28
28
  />
@@ -84,10 +84,11 @@
84
84
 
85
85
  <script setup>
86
86
  import { useDisplay } from "vuetify";
87
+ import { useRootStore } from "../../stores/root";
87
88
  import { useRouter, useI18n, useLocalePath } from "#imports";
88
89
  const localePath = useLocalePath();
89
- const { $rootStore } = useNuxtApp();
90
90
  const router = useRouter();
91
+ const rootStore = useRootStore();
91
92
  const expanded = ref(false);
92
93
  const { name, lgAndUp } = useDisplay();
93
94
  const { locale } = useI18n();
@@ -12,14 +12,14 @@
12
12
  <MiscAtomsImageContainer
13
13
  cover
14
14
  :src="item.image"
15
- :loading="$rootStore.loading"
15
+ :loading="rootStore.loading"
16
16
  :ratio="1 / 1"
17
17
  :link="item.name"
18
18
  name="news-slug"
19
19
  />
20
20
  </v-col>
21
21
  <v-col cols="12" lg="9">
22
- <v-skeleton-loader v-if="$rootStore.loading" type="heading, text@3" />
22
+ <v-skeleton-loader v-if="rootStore.loading" type="heading, text@3" />
23
23
  <template v-else>
24
24
  <div class="text-h6">
25
25
  {{ item.name }}
@@ -35,9 +35,10 @@
35
35
 
36
36
  <script setup>
37
37
  import { useDisplay } from "vuetify";
38
+ import { useRootStore } from "../../stores/root";
38
39
  import { useLocalePath } from "#imports";
39
- const { $rootStore } = useNuxtApp();
40
40
  const localePath = useLocalePath();
41
+ const rootStore = useRootStore();
41
42
  const { lgAndUp } = useDisplay();
42
43
  const props = defineProps({ item: { type: Object, required: true } });
43
44
  </script>
@@ -17,7 +17,7 @@
17
17
  </v-col>
18
18
  <v-col cols="12" md="8" lg="4" class="pl-md-6">
19
19
  <v-skeleton-loader
20
- v-if="$rootStore.loading || $stores.news.loading"
20
+ v-if="rootStore.loading || $stores.news.loading"
21
21
  :type="
22
22
  [
23
23
  'heading, subtitle, text@5, ossein, button',
@@ -90,7 +90,7 @@
90
90
 
91
91
  <v-col v-if="lgAndUp" cols="12" lg="5">
92
92
  <v-skeleton-loader
93
- v-if="$rootStore.loading || $stores.news.loading"
93
+ v-if="rootStore.loading || $stores.news.loading"
94
94
  type="text@8, ossein, button"
95
95
  />
96
96
 
@@ -133,10 +133,12 @@
133
133
 
134
134
  <script setup>
135
135
  import { useDisplay } from "vuetify";
136
+ import { useRootStore } from "../../stores/root";
136
137
  import { useNuxtApp, useI18n, useLocalePath, computed } from "#imports";
137
- const { $stores, $rootStore } = useNuxtApp();
138
+ const { $stores } = useNuxtApp();
138
139
  const { locale } = useI18n();
139
140
  const localePath = useLocalePath();
141
+ const rootStore = useRootStore();
140
142
  const { name, smAndDown, mdAndDown, mdAndUp, lgAndUp } = useDisplay();
141
143
  const eventCategory = computed(() => {
142
144
  if (props.item.category) {
@@ -7,7 +7,7 @@
7
7
  >
8
8
  <v-col align-self="center" class="text-h6 pl-2">
9
9
  <v-skeleton-loader
10
- v-if="$rootStore.loading || $stores[type].loading"
10
+ v-if="rootStore.loading || $stores[type].loading"
11
11
  type="heading"
12
12
  />
13
13
  <template v-else>
@@ -21,9 +21,11 @@
21
21
  </template>
22
22
 
23
23
  <script setup>
24
+ import { useRootStore } from "../../stores/root";
24
25
  import { useNuxtApp, useLocalePath } from "#imports";
25
- const { $stores, $rootStore } = useNuxtApp();
26
+ const { $stores } = useNuxtApp();
26
27
  const localePath = useLocalePath();
28
+ const rootStore = useRootStore();
27
29
  const props = defineProps({
28
30
  item: {
29
31
  type: Object,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div>
3
3
  <v-skeleton-loader
4
- v-if="$rootStore.loading || $stores.people.loading"
4
+ v-if="rootStore.loading || $stores.people.loading"
5
5
  type="chip"
6
6
  />
7
7
 
@@ -44,7 +44,8 @@
44
44
  <script setup>
45
45
  import { useRootStore } from "../../stores/root";
46
46
  import { useNuxtApp } from "#imports";
47
- const { $stores, $rootStore } = useNuxtApp();
47
+ const rootStore = useRootStore();
48
+ const { $stores } = useNuxtApp();
48
49
  const props = defineProps({
49
50
  item: {
50
51
  type: Object,
@@ -11,7 +11,7 @@
11
11
  <v-col v-if="lgAndUp" cols="3">
12
12
  <MiscAtomsImageContainer
13
13
  cover
14
- :loading="$rootStore.loading"
14
+ :loading="rootStore.loading"
15
15
  :src="item.image"
16
16
  :ratio="1 / 1"
17
17
  :link="item.firstname + item.lastname"
@@ -19,7 +19,7 @@
19
19
  />
20
20
  </v-col>
21
21
  <v-col cols="12" lg="9">
22
- <v-skeleton-loader v-if="$rootStore.loading" type="heading" />
22
+ <v-skeleton-loader v-if="rootStore.loading" type="heading" />
23
23
  <template v-else>
24
24
  <div class="text-h6">
25
25
  {{ item.firstname + " " + item.lastname }}
@@ -32,9 +32,10 @@
32
32
 
33
33
  <script setup>
34
34
  import { useDisplay } from "vuetify";
35
+ import { useRootStore } from "../../stores/root";
35
36
  import { useLocalePath } from "#imports";
36
- const { $rootStore } = useNuxtApp();
37
37
  const localePath = useLocalePath();
38
+ const rootStore = useRootStore();
38
39
  const { lgAndUp } = useDisplay();
39
40
  const props = defineProps({ item: { type: Object, required: true } });
40
41
  </script>
@@ -12,14 +12,14 @@
12
12
  <MiscAtomsImageContainer
13
13
  contain
14
14
  :src="item.image"
15
- :loading="$rootStore.loading"
15
+ :loading="rootStore.loading"
16
16
  :ratio="1 / 1"
17
17
  :link="item.name"
18
18
  name="activities-projects-slug"
19
19
  />
20
20
  </v-col>
21
21
  <v-col cols="12" lg="9">
22
- <v-skeleton-loader v-if="$rootStore.loading" type="heading, text@3" />
22
+ <v-skeleton-loader v-if="rootStore.loading" type="heading, text@3" />
23
23
  <template v-else>
24
24
  <div class="text-h6">
25
25
  {{ item.name }}
@@ -35,9 +35,10 @@
35
35
 
36
36
  <script setup>
37
37
  import { useDisplay } from "vuetify";
38
+ import { useRootStore } from "../../stores/root";
38
39
  import { useLocalePath } from "#imports";
39
40
  const localePath = useLocalePath();
41
+ const rootStore = useRootStore();
40
42
  const { lgAndUp } = useDisplay();
41
- const { $rootStore } = useNuxtApp();
42
43
  const props = defineProps({ item: { type: Object, required: true } });
43
44
  </script>
@@ -24,7 +24,7 @@
24
24
  "
25
25
  >
26
26
  <v-skeleton-loader
27
- v-if="$rootStore.loading"
27
+ v-if="rootStore.loading"
28
28
  type="heading,ossein,text@8,ossein,button,button"
29
29
  />
30
30
 
@@ -84,10 +84,11 @@
84
84
 
85
85
  <script setup>
86
86
  import { useDisplay } from "vuetify";
87
+ import { useRootStore } from "../../stores/root";
87
88
  import { useRouter, useLocalePath, useI18n } from "#imports";
88
89
  const { locale } = useI18n();
89
- const { $stores } = useNuxtApp();
90
90
  const { name } = useDisplay();
91
+ const rootStore = useRootStore();
91
92
  const router = useRouter();
92
93
  const localePath = useLocalePath();
93
94
  const props = defineProps({
@@ -12,14 +12,14 @@
12
12
  <MiscAtomsImageContainer
13
13
  contain
14
14
  :src="item.image"
15
- :loading="$rootStore.loading"
15
+ :loading="rootStore.loading"
16
16
  :ratio="1 / 1"
17
17
  :link="item.name"
18
18
  name="activities-publicationss-slug"
19
19
  />
20
20
  </v-col>
21
21
  <v-col cols="12" lg="9">
22
- <v-skeleton-loader v-if="$rootStore.loading" type="heading, text@3" />
22
+ <v-skeleton-loader v-if="rootStore.loading" type="heading, text@3" />
23
23
  <template v-else>
24
24
  <div class="text-h6">
25
25
  {{ item.name }}
@@ -35,9 +35,10 @@
35
35
 
36
36
  <script setup>
37
37
  import { useDisplay } from "vuetify";
38
+ import { useRootStore } from "../../stores/root";
38
39
  import { useLocalePath } from "#imports";
39
- const { $rootStore } = useNuxtApp();
40
40
  const localePath = useLocalePath();
41
+ const rootStore = useRootStore();
41
42
  const { lgAndUp } = useDisplay();
42
43
  const props = defineProps({ item: { type: Object, required: true } });
43
44
  </script>
@@ -67,7 +67,7 @@ export default defineNuxtPlugin(async (nuxtApp) => {
67
67
  })
68
68
  );
69
69
  const rootStore = useRootStore();
70
- nuxtApp.provide("$rootStore", rootStore);
70
+ nuxtApp.provide("rootStore", rootStore);
71
71
  nuxtApp.provide("stores", stores);
72
72
  nuxtApp.provide("queries", queries);
73
73
  });
@@ -1,4 +1,4 @@
1
- export declare const useRootStore: import("pinia").StoreDefinition<"$rootStore", Record<string, any>, {}, {
1
+ export declare const useRootStore: import("pinia").StoreDefinition<"rootStore", Record<string, any>, {}, {
2
2
  setLoading(value: boolean, type?: string): void;
3
3
  setScrolled(): void;
4
4
  loadRouteQuery(type: string): void;
@@ -1,7 +1,7 @@
1
1
  import { defineStore } from "pinia";
2
2
  import SEARCH from "../graphql/list/search.gql";
3
3
  import { useNuxtApp, useRouter, useAsyncQuery } from "#imports";
4
- export const useRootStore = defineStore("$rootStore", {
4
+ export const useRootStore = defineStore("rootStore", {
5
5
  state: () => ({
6
6
  scrolled: import.meta.browser ? window.scrollY > 0 : false,
7
7
  loading: false,
@@ -19,6 +19,7 @@
19
19
  "inscription-gratuite-et-obligatoire": " Free and mandatory registration",
20
20
  "inscription-ouverte": "Registration Open",
21
21
  "items": {
22
+ "all": "all | all | all",
22
23
  "events": "event | event | events",
23
24
  "fellow": "fellow | fellow | fellows",
24
25
  "fellowships": "fellowship | fellowship | fellowships",
@@ -19,6 +19,7 @@
19
19
  "inscription-gratuite-et-obligatoire": "Enregistrement gratuit et obligatoire",
20
20
  "inscription-ouverte": "Inscription ouverte",
21
21
  "items": {
22
+ "all": "Tout",
22
23
  "events": "événement |événement | événements",
23
24
  "fellow": "résident | résident | résidents",
24
25
  "fellowships": "programme d'accueil | programme d'accueil | programmes d'accueil",
package/package.json CHANGED
@@ -1,18 +1,16 @@
1
1
  {
2
2
  "license": "AGPL-3.0-only",
3
3
  "main": "./dist/module.mjs",
4
- "version": "1.0.45",
4
+ "version": "1.0.47",
5
5
  "name": "@paris-ias/list",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/IEA-Paris/list.git"
9
- },
6
+ "repository": "IEA-Paris/list",
10
7
  "dependencies": {
11
8
  "@nuxt/kit": "^3.16.2"
12
9
  },
13
10
  "description": "Paris IAS List Module",
14
11
  "devDependencies": {
15
12
  "@mdi/font": "^7.4.47",
13
+ "@nuxt/content": "^2.9.0",
16
14
  "@nuxt/devtools": "^2.3.2",
17
15
  "@nuxt/eslint": "1.3.0",
18
16
  "@nuxt/eslint-config": "^1.3.0",