@paris-ias/list 1.0.111 → 1.0.113

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 (163) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/events/DenseItem.vue +24 -15
  3. package/dist/runtime/components/fellowships/DenseItem.vue +1 -1
  4. package/dist/runtime/components/list/atoms/SearchInput.vue +4 -2
  5. package/dist/runtime/components/list/molecules/Pagination.vue +2 -0
  6. package/dist/runtime/components/list/organisms/List.vue +16 -2
  7. package/dist/runtime/components/list/views/Dense.vue +0 -1
  8. package/dist/runtime/components/news/DenseItem.vue +24 -23
  9. package/dist/runtime/components/people/Badges.vue +74 -0
  10. package/dist/runtime/components/people/DenseItem.vue +11 -8
  11. package/dist/runtime/components/people/RowsItem.vue +2 -2
  12. package/dist/runtime/components/people/View.vue +1 -1
  13. package/dist/runtime/components/publications/DenseItem.vue +14 -7
  14. package/dist/runtime/graphql/list/publications.gql +2 -0
  15. package/dist/runtime/runtime/components/actions/ExpandedItem.vue +14 -0
  16. package/dist/runtime/runtime/components/actions/RowsItem.vue +12 -0
  17. package/dist/runtime/runtime/components/actions/View.vue +20 -0
  18. package/dist/runtime/runtime/components/affiliations/ExpandedItem.vue +14 -0
  19. package/dist/runtime/runtime/components/affiliations/RowsItem.vue +12 -0
  20. package/dist/runtime/runtime/components/affiliations/View.vue +20 -0
  21. package/dist/runtime/runtime/components/apps/ExpandedItem.vue +14 -0
  22. package/dist/runtime/runtime/components/apps/RowsItem.vue +12 -0
  23. package/dist/runtime/runtime/components/apps/View.vue +20 -0
  24. package/dist/runtime/runtime/components/disciplines/ExpandedItem.vue +14 -0
  25. package/dist/runtime/runtime/components/disciplines/RowsItem.vue +12 -0
  26. package/dist/runtime/runtime/components/disciplines/View.vue +20 -0
  27. package/dist/runtime/runtime/components/events/Badges.vue +73 -0
  28. package/dist/runtime/runtime/components/events/DateTimePlace.vue +77 -0
  29. package/dist/runtime/runtime/components/events/DenseItem.vue +60 -0
  30. package/dist/runtime/runtime/components/events/ExpandedItem.vue +9 -0
  31. package/dist/runtime/runtime/components/events/RegisterModal.vue +50 -0
  32. package/dist/runtime/runtime/components/events/RelatedItem.vue +44 -0
  33. package/dist/runtime/runtime/components/events/RowsItem.vue +118 -0
  34. package/dist/runtime/runtime/components/events/SlidingItem.vue +63 -0
  35. package/dist/runtime/runtime/components/events/View.vue +333 -0
  36. package/dist/runtime/runtime/components/fellowships/Badges.vue +47 -0
  37. package/dist/runtime/runtime/components/fellowships/DenseItem.vue +42 -0
  38. package/dist/runtime/runtime/components/fellowships/ExpandedItem.vue +7 -0
  39. package/dist/runtime/runtime/components/fellowships/RegisterModal.vue +41 -0
  40. package/dist/runtime/runtime/components/fellowships/RowsItem.vue +58 -0
  41. package/dist/runtime/runtime/components/fellowships/View.vue +203 -0
  42. package/dist/runtime/runtime/components/files/ExpandedItem.vue +14 -0
  43. package/dist/runtime/runtime/components/files/RowsItem.vue +12 -0
  44. package/dist/runtime/runtime/components/files/View.vue +20 -0
  45. package/dist/runtime/runtime/components/list/atoms/FiltersMenu.vue +44 -0
  46. package/dist/runtime/runtime/components/list/atoms/ResetButton.vue +33 -0
  47. package/dist/runtime/runtime/components/list/atoms/ResultsList.vue +27 -0
  48. package/dist/runtime/runtime/components/list/atoms/SearchInput.vue +59 -0
  49. package/dist/runtime/runtime/components/list/atoms/SearchItem.vue +65 -0
  50. package/dist/runtime/runtime/components/list/atoms/SearchString.vue +160 -0
  51. package/dist/runtime/runtime/components/list/atoms/SortMenu.vue +80 -0
  52. package/dist/runtime/runtime/components/list/atoms/ViewMenu.vue +63 -0
  53. package/dist/runtime/runtime/components/list/atoms/itemsPerPage.vue +33 -0
  54. package/dist/runtime/runtime/components/list/inputs/AutoComplete.vue +24 -0
  55. package/dist/runtime/runtime/components/list/inputs/BooleanSwitch.vue +20 -0
  56. package/dist/runtime/runtime/components/list/inputs/Checkbox.vue +20 -0
  57. package/dist/runtime/runtime/components/list/inputs/Select.vue +28 -0
  58. package/dist/runtime/runtime/components/list/molecules/Filters.vue +98 -0
  59. package/dist/runtime/runtime/components/list/molecules/GlobalSearchInput.vue +131 -0
  60. package/dist/runtime/runtime/components/list/molecules/Header.vue +51 -0
  61. package/dist/runtime/runtime/components/list/molecules/Pagination.vue +194 -0
  62. package/dist/runtime/runtime/components/list/molecules/ResultsContainer.vue +78 -0
  63. package/dist/runtime/runtime/components/list/organisms/List.vue +110 -0
  64. package/dist/runtime/runtime/components/list/organisms/Results.vue +72 -0
  65. package/dist/runtime/runtime/components/list/organisms/Slider.vue +180 -0
  66. package/dist/runtime/runtime/components/list/views/Dense.vue +12 -0
  67. package/dist/runtime/runtime/components/list/views/Expanded.vue +10 -0
  68. package/dist/runtime/runtime/components/list/views/Grid.vue +13 -0
  69. package/dist/runtime/runtime/components/list/views/Rows.vue +12 -0
  70. package/dist/runtime/runtime/components/list/views/Slider.vue +147 -0
  71. package/dist/runtime/runtime/components/list/views/Table.vue +13 -0
  72. package/dist/runtime/runtime/components/mailing/ExpandedItem.vue +14 -0
  73. package/dist/runtime/runtime/components/mailing/RowsItem.vue +12 -0
  74. package/dist/runtime/runtime/components/mailing/View.vue +20 -0
  75. package/dist/runtime/runtime/components/misc/atoms/DateStamp.vue +101 -0
  76. package/dist/runtime/runtime/components/misc/atoms/ImageContainer.vue +127 -0
  77. package/dist/runtime/runtime/components/misc/atoms/ShareMenu.vue +61 -0
  78. package/dist/runtime/runtime/components/misc/atoms/Socials.vue +120 -0
  79. package/dist/runtime/runtime/components/misc/molecules/ChipContainer.vue +31 -0
  80. package/dist/runtime/runtime/components/misc/molecules/Related.vue +28 -0
  81. package/dist/runtime/runtime/components/misc/molecules/RelatedItems.vue +27 -0
  82. package/dist/runtime/runtime/components/misc/molecules/SearchItem.vue +26 -0
  83. package/dist/runtime/runtime/components/news/DenseItem.vue +73 -0
  84. package/dist/runtime/runtime/components/news/ExpandedItem.vue +145 -0
  85. package/dist/runtime/runtime/components/news/Header.vue +7 -0
  86. package/dist/runtime/runtime/components/news/RelatedItem.vue +44 -0
  87. package/dist/runtime/runtime/components/news/RowsItem.vue +182 -0
  88. package/dist/runtime/runtime/components/news/View.vue +174 -0
  89. package/dist/runtime/runtime/components/people/DenseItem.vue +60 -0
  90. package/dist/runtime/runtime/components/people/ExpandedItem.vue +14 -0
  91. package/dist/runtime/runtime/components/people/RelatedItem.vue +41 -0
  92. package/dist/runtime/runtime/components/people/RowsItem.vue +93 -0
  93. package/dist/runtime/runtime/components/people/View.vue +172 -0
  94. package/dist/runtime/runtime/components/projects/DenseItem.vue +77 -0
  95. package/dist/runtime/runtime/components/projects/ExpandedItem.vue +12 -0
  96. package/dist/runtime/runtime/components/projects/RelatedItem.vue +44 -0
  97. package/dist/runtime/runtime/components/projects/RowsItem.vue +103 -0
  98. package/dist/runtime/runtime/components/projects/View.vue +130 -0
  99. package/dist/runtime/runtime/components/publications/DenseItem.vue +89 -0
  100. package/dist/runtime/runtime/components/publications/RelatedItem.vue +44 -0
  101. package/dist/runtime/runtime/components/publications/RowsItem.vue +105 -0
  102. package/dist/runtime/runtime/components/publications/View.vue +132 -0
  103. package/dist/runtime/runtime/components/tags/ExpandedItem.vue +14 -0
  104. package/dist/runtime/runtime/components/tags/RowsItem.vue +12 -0
  105. package/dist/runtime/runtime/components/tags/View.vue +20 -0
  106. package/dist/runtime/runtime/components/users/ExpandedItem.vue +14 -0
  107. package/dist/runtime/runtime/components/users/RowsItem.vue +12 -0
  108. package/dist/runtime/runtime/components/users/View.vue +20 -0
  109. package/dist/runtime/runtime/composables/useFetchItem.d.ts +6 -0
  110. package/dist/runtime/runtime/composables/useFetchItem.js +49 -0
  111. package/dist/runtime/runtime/composables/useIcons.d.ts +1 -0
  112. package/dist/runtime/runtime/composables/useIcons.js +30 -0
  113. package/dist/runtime/runtime/composables/useUtils.d.ts +12 -0
  114. package/dist/runtime/runtime/composables/useUtils.js +48 -0
  115. package/dist/runtime/runtime/graphql/buildFiltersValues.gql +35 -0
  116. package/dist/runtime/runtime/graphql/item/action.gql +22 -0
  117. package/dist/runtime/runtime/graphql/item/affiliations.gql +37 -0
  118. package/dist/runtime/runtime/graphql/item/apps.gql +34 -0
  119. package/dist/runtime/runtime/graphql/item/disciplines.gql +17 -0
  120. package/dist/runtime/runtime/graphql/item/events.gql +120 -0
  121. package/dist/runtime/runtime/graphql/item/fellowships.gql +164 -0
  122. package/dist/runtime/runtime/graphql/item/files.gql +25 -0
  123. package/dist/runtime/runtime/graphql/item/mailing.gql +10 -0
  124. package/dist/runtime/runtime/graphql/item/news.gql +129 -0
  125. package/dist/runtime/runtime/graphql/item/people.gql +174 -0
  126. package/dist/runtime/runtime/graphql/item/projects.gql +171 -0
  127. package/dist/runtime/runtime/graphql/item/publications.gql +169 -0
  128. package/dist/runtime/runtime/graphql/item/tags.gql +13 -0
  129. package/dist/runtime/runtime/graphql/item/users.gql +14 -0
  130. package/dist/runtime/runtime/graphql/list/action.gql +31 -0
  131. package/dist/runtime/runtime/graphql/list/affiliations.gql +42 -0
  132. package/dist/runtime/runtime/graphql/list/apps.gql +42 -0
  133. package/dist/runtime/runtime/graphql/list/disciplines.gql +22 -0
  134. package/dist/runtime/runtime/graphql/list/events.gql +44 -0
  135. package/dist/runtime/runtime/graphql/list/fellowships.gql +53 -0
  136. package/dist/runtime/runtime/graphql/list/files.gql +37 -0
  137. package/dist/runtime/runtime/graphql/list/mailing.gql +22 -0
  138. package/dist/runtime/runtime/graphql/list/news.gql +40 -0
  139. package/dist/runtime/runtime/graphql/list/people.gql +50 -0
  140. package/dist/runtime/runtime/graphql/list/projects.gql +37 -0
  141. package/dist/runtime/runtime/graphql/list/publications.gql +38 -0
  142. package/dist/runtime/runtime/graphql/list/search.gql +161 -0
  143. package/dist/runtime/runtime/graphql/list/tags.gql +22 -0
  144. package/dist/runtime/runtime/graphql/list/users.gql +38 -0
  145. package/dist/runtime/runtime/graphql/login.gql +0 -0
  146. package/dist/runtime/runtime/plugins/pinia.d.ts +2 -0
  147. package/dist/runtime/runtime/plugins/pinia.js +134 -0
  148. package/dist/runtime/runtime/plugins/vuetify.d.ts +2 -0
  149. package/dist/runtime/runtime/plugins/vuetify.js +21 -0
  150. package/dist/runtime/runtime/public/default.png +0 -0
  151. package/dist/runtime/runtime/public/filters.json +72 -0
  152. package/dist/runtime/runtime/server/tsconfig.json +3 -0
  153. package/dist/runtime/runtime/stores/factory.d.ts +25 -0
  154. package/dist/runtime/runtime/stores/factory.js +19 -0
  155. package/dist/runtime/runtime/stores/root.d.ts +60 -0
  156. package/dist/runtime/runtime/stores/root.js +315 -0
  157. package/dist/runtime/runtime/translations/en.json +350 -0
  158. package/dist/runtime/runtime/translations/fr.json +349 -0
  159. package/dist/runtime/runtime/types/imports.d.ts +13 -0
  160. package/dist/runtime/runtime/types/stores.d.ts +11 -0
  161. package/dist/runtime/translations/en.json +1 -1
  162. package/package.json +2 -2
  163. /package/dist/runtime/{components → runtime/components}/people/GroupBadges.vue +0 -0
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.111",
4
+ "version": "1.0.113",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.0",
7
7
  "unbuild": "3.5.0"
@@ -2,10 +2,19 @@
2
2
  <v-row
3
3
  v-ripple
4
4
  no-gutters
5
- class="cursor-pointer highlight-on-hover"
5
+ class="cursor-pointer highlight-on-hover my-2"
6
6
  @click="$router.push(localePath('/activities/events/' + item.slug[locale]))"
7
7
  >
8
- <v-col v-if="mdAndUp" align-self="center" cols="1">
8
+ <v-col v-if="mdAndUp" cols="1">
9
+ <MiscAtomsDateStamp
10
+ v-if="item.start"
11
+ :loading="$stores['events'].loading"
12
+ :date-start="item.start"
13
+ :date-stop="item.stop"
14
+ class="pr-6 mt-md-2"
15
+ />
16
+ </v-col>
17
+ <v-col v-if="mdAndUp" cols="1">
9
18
  <MiscAtomsImageContainer
10
19
  cover
11
20
  :loading="$stores.events.loading"
@@ -18,19 +27,19 @@
18
27
  />
19
28
  </v-col>
20
29
 
21
- <v-col align-self="center" class="pl-2">
22
- <div class="text-h5 dense text-overline font-weight-black">
23
- {{
24
- $t("list.filters.events.category." + item.category) +
25
- " / " +
26
- new Date(item.start).toLocaleDateString(locale, {
27
- year: "numeric",
28
- month: "numeric",
29
- day: "numeric",
30
- })
31
- }}
32
- </div>
33
- <div class="text-h5 dense">
30
+ <v-col align-self="top" class="pl-2">
31
+ <v-chip
32
+ class="mr-3"
33
+ color="black"
34
+ :size="mdAndUp ? 'default' : 'small'"
35
+ style="background-color: white; color: black"
36
+ tile
37
+ variant="outlined"
38
+ >
39
+ {{ $t("list.filters.events.category." + item.category) }}
40
+ </v-chip>
41
+
42
+ <div class="text-h5 dense paragraph">
34
43
  {{ item.name }}
35
44
  </div>
36
45
  </v-col>
@@ -4,7 +4,7 @@
4
4
  no-gutters
5
5
  class="cursor-pointer highlight-on-hover"
6
6
  @click="
7
- $router.push(localePath('/activities/fellowships' + item.slug[locale]))
7
+ $router.push(localePath('/activities/fellowships/' + item.slug[locale]))
8
8
  "
9
9
  >
10
10
  <v-col align-self="center" cols="8" class="text-h5 dense">
@@ -13,8 +13,10 @@
13
13
  tile
14
14
  type="search"
15
15
  :loading="rootStore.loading"
16
- @keyup.enter="$router.push(localePath('/search'))"
17
- @click:append="$router.push(localePath('/search'))"
16
+ @keyup.enter="type === 'all' ? null : $router.push(localePath('/search'))"
17
+ @click:append="
18
+ type === 'all' ? null : $router.push(localePath('/search'))
19
+ "
18
20
  >
19
21
  <!-- :loading="$nuxt.loading || $store.state.loading" :class="{ 'mt-3':
20
22
  $store.state.scrolled }" -->
@@ -177,8 +177,10 @@ const createGap = (pageIndex) => {
177
177
  isGap: true
178
178
  };
179
179
  };
180
+ const emit = defineEmits(["update"]);
180
181
  const updatePage = (page) => {
181
182
  rootStore.updatePage({ page, type: props.type, lang: locale.value });
183
+ emit("update", page);
182
184
  };
183
185
  const getGapPage = (index) => {
184
186
  return Math.floor(
@@ -10,7 +10,11 @@
10
10
  />
11
11
  </component>
12
12
  <div class="text-center">
13
- <ListAtomsPerPage :type="type" class="float-right" />
13
+ <ListAtomsPerPage
14
+ v-if="numberOfPages > 1"
15
+ :type="type"
16
+ class="float-right"
17
+ />
14
18
 
15
19
  <ListMoleculesPagination
16
20
  v-if="numberOfPages > 1"
@@ -22,6 +26,7 @@
22
26
  :page-padding="1"
23
27
  :page-gap="2"
24
28
  :hide-prev-next="false"
29
+ @update="onPageChange"
25
30
  />
26
31
  </div>
27
32
  </template>
@@ -35,10 +40,12 @@ import {
35
40
  computed,
36
41
  onBeforeUnmount,
37
42
  onMounted,
38
- useI18n
43
+ useI18n,
44
+ useRoute
39
45
  } from "#imports";
40
46
  const { $stores } = useNuxtApp();
41
47
  const { locale } = useI18n();
48
+ const route = useRoute();
42
49
  const rootStore = useRootStore();
43
50
  const props = defineProps({
44
51
  addBtn: {
@@ -99,4 +106,11 @@ try {
99
106
  onBeforeUnmount(() => {
100
107
  rootStore.resetState(props.type, locale.value);
101
108
  });
109
+ const onPageChange = (newPage) => {
110
+ rootStore.updatePage({ page: newPage, type: props.type, lang: locale.value });
111
+ window.scrollTo({
112
+ top: 0,
113
+ behavior: "smooth"
114
+ });
115
+ };
102
116
  </script>
@@ -2,7 +2,6 @@
2
2
  <section class="my-6 ml-2 pb-6">
3
3
  <slot>
4
4
  <!-- fallback content -->
5
- Dense view
6
5
  </slot>
7
6
  </section>
8
7
  </template>
@@ -2,43 +2,44 @@
2
2
  <v-row
3
3
  v-ripple
4
4
  no-gutters
5
- class="cursor-pointer highlight-on-hover"
5
+ class="cursor-pointer highlight-on-hover my-2"
6
6
  @click="$router.push(localePath('/activities/news/' + item.slug[locale]))"
7
7
  >
8
8
  <v-col v-if="mdAndUp" align-self="center" cols="1">
9
9
  <MiscAtomsImageContainer
10
10
  cover
11
- :loading="$stores.people.loading"
11
+ :loading="$stores.news.loading"
12
12
  :src="item.image.url ? item.image : '/default.png'"
13
13
  :ratio="1 / 1"
14
- :name="item.lastname + ' ' + item.firstname"
14
+ :name="item.slug"
15
15
  :slug="item.slug"
16
- link="people-slug"
16
+ link="news-slug"
17
17
  width="80px"
18
18
  />
19
19
  </v-col>
20
- <v-col align-self="center" class="text-h5 dense pl-2">
20
+ <v-col align-self="top" class="text-h5 dense px-2 paragraph">
21
21
  <v-skeleton-loader v-if="rootStore.loading" type="heading" />
22
22
  <template v-else>
23
- {{ item.name }}
24
- </template>
25
- </v-col>
23
+ <v-skeleton-loader
24
+ v-if="rootStore.loading"
25
+ :type="
26
+ ['chip', 'chip@2', 'chip@3', 'chip@4', 'chip@4', 'chip@4'][
27
+ ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
28
+ ]
29
+ "
30
+ />
26
31
 
27
- <v-col align-self="center">
28
- <v-skeleton-loader
29
- v-if="rootStore.loading"
30
- :type="
31
- ['chip', 'chip@2', 'chip@3', 'chip@4', 'chip@4', 'chip@4'][
32
- ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
33
- ]
34
- "
35
- />
36
-
37
- <template v-else>
38
- <v-chip class="ma-2" style="background-color: white; color: black">
39
- {{ $t(eventCategory) }}
40
- </v-chip>
41
- <MiscMoleculesChipContainer :items="item.tags" size="small" />
32
+ <template v-else>
33
+ <v-chip
34
+ class="ma-2"
35
+ style="background-color: white; color: black"
36
+ :size="mdAndUp ? 'default' : 'small'"
37
+ >
38
+ {{ $t(eventCategory) }}
39
+ </v-chip>
40
+ <MiscMoleculesChipContainer :items="item.tags" size="small" />
41
+ </template>
42
+ {{ item.name }}
42
43
  </template>
43
44
  </v-col>
44
45
  </v-row>
@@ -0,0 +1,74 @@
1
+ <template>
2
+ <span>
3
+ <v-skeleton-loader
4
+ v-if="rootStore.loading || $stores.people.loading"
5
+ type="chip"
6
+ />
7
+ <template v-else-if="item.groups">
8
+ <template v-for="(value, key, index) in item.groups" :key="key + index">
9
+ <template v-if="value && key === 'vintage'">
10
+ <v-chip
11
+ v-for="(vintage, index2) in item.groups.vintage"
12
+ :key="index2"
13
+ :size="mdAndUp ? 'default' : 'small'"
14
+ class="mt-3 mr-3"
15
+ variant="outlined"
16
+ tile
17
+ style="background-color: white; color: black"
18
+ >
19
+ {{ $t("vintage", [vintage.year]) }}
20
+ </v-chip>
21
+ </template>
22
+
23
+ <v-chip
24
+ v-if="
25
+ value &&
26
+ key !== 'fellows' &&
27
+ ((!item.groups.vintage && key === 'vintage') ||
28
+ !['vintage', '__typename'].includes(key))
29
+ "
30
+ class="mt-3 mr-3"
31
+ :size="mdAndUp ? 'default' : 'small'"
32
+ color="black"
33
+ style="background-color: white; color: black"
34
+ tile
35
+ variant="outlined"
36
+ >
37
+ {{ $t("list.filters.people.groups." + key) }}
38
+ </v-chip>
39
+ </template>
40
+ <template
41
+ v-for="(value, key, index) in item.disciplines"
42
+ :key="key + index"
43
+ >
44
+ <v-chip
45
+ v-if="value && index < 3"
46
+ class="mt-3 mr-3"
47
+ color="black"
48
+ :size="mdAndUp ? 'default' : 'small'"
49
+ style="background-color: white; color: black"
50
+ tile
51
+ variant="outlined"
52
+ >
53
+ {{ $t("disciplines." + key) }}
54
+ </v-chip>
55
+ </template>
56
+ </template></span
57
+ >
58
+ </template>
59
+
60
+ <script setup>
61
+ import { useRootStore } from "../../stores/root";
62
+ import { useNuxtApp } from "#imports";
63
+ import { useDisplay } from "vuetify";
64
+ const { mdAndUp } = useDisplay();
65
+ const rootStore = useRootStore();
66
+ const { $stores } = useNuxtApp();
67
+ const props = defineProps({
68
+ item: {
69
+ type: Object,
70
+ required: true,
71
+ default: () => ({})
72
+ }
73
+ });
74
+ </script>
@@ -2,7 +2,7 @@
2
2
  <v-row
3
3
  v-ripple
4
4
  no-gutters
5
- class="cursor-pointer highlight-on-hover my-3"
5
+ class="cursor-pointer highlight-on-hover my-2"
6
6
  @click="
7
7
  $router.push(
8
8
  localePath({
@@ -12,7 +12,7 @@
12
12
  )
13
13
  "
14
14
  >
15
- <v-col v-if="mdAndUp" align-self="center" cols="1">
15
+ <v-col v-if="mdAndUp" cols="1">
16
16
  <MiscAtomsImageContainer
17
17
  cover
18
18
  :loading="$stores.people.loading"
@@ -24,18 +24,17 @@
24
24
  width="80px"
25
25
  />
26
26
  </v-col>
27
- <v-col align-self="center" class="text-h6 dense px-2">
27
+ <v-col align-self="top" class="text-h6 dense px-2">
28
28
  <v-skeleton-loader v-if="rootStore.loading" type="heading" />
29
- <div v-else class="text-h5">
29
+ <div v-else class="d-flex text-h5 align-center">
30
30
  {{ item.firstname + " " + item.lastname }}
31
+ <v-spacer />
32
+ <PeopleBadges :item="item" />
31
33
  </div>
32
- <div class="mt-2 text-body-1 font-weight-light">
34
+ <div class="text-body-1 font-weight-light paragraph">
33
35
  {{ item.groups.vintage ? item.groups.vintage[0].theme : "" }}
34
36
  </div>
35
37
  </v-col>
36
- <v-col align-self="center" cols="auto">
37
- <PeopleGroupBadges :item="item" />
38
- </v-col>
39
38
  </v-row>
40
39
  </template>
41
40
 
@@ -58,3 +57,7 @@ const props = defineProps({
58
57
  }
59
58
  });
60
59
  </script>
60
+
61
+ <style>
62
+ .paragraph{max-width:83ch!important}
63
+ </style>
@@ -7,7 +7,7 @@
7
7
  localePath({
8
8
  name: 'people-slug',
9
9
  params: { slug: item.slug },
10
- })
10
+ }),
11
11
  )
12
12
  "
13
13
  >
@@ -51,7 +51,7 @@
51
51
  {{ item.firstname + " " + item.lastname }}
52
52
  </NuxtLink>
53
53
  <MiscAtomsSocials v-if="item.socials" :socials="item.socials" />
54
- <PeopleGroupBadges :item="item" />
54
+ <PeoplepBadges :item="item" />
55
55
  <div
56
56
  v-if="item.biography && item.biography.length > 0"
57
57
  class="text-wrap clamped-text text-black"
@@ -56,7 +56,7 @@
56
56
  </div>
57
57
  <!-- GROUPS -->
58
58
  <div class="mt-6 align-self-center">
59
- <PeopleGroupBadges v-if="item && item.groups" :item="item" />
59
+ <PeopleBadges v-if="item && item.groups" :item="item" />
60
60
  </div>
61
61
  </template>
62
62
  </v-col>
@@ -23,10 +23,8 @@
23
23
  <v-skeleton-loader v-if="rootStore.loading" type="heading" />
24
24
  <template v-else>
25
25
  {{ item.name }}
26
- <div class="text-body-2">
27
- {{ item.summary }}
28
- </div>
29
26
  </template>
27
+ <MDC class="text-caption" :value="item.summary" />
30
28
  </v-col>
31
29
 
32
30
  <v-col align-self="center">
@@ -40,9 +38,18 @@
40
38
  />
41
39
 
42
40
  <template v-else>
43
- <v-chip class="ma-2" style="background-color: white; color: black">
41
+ <v-chip
42
+ v-if="eventCategory"
43
+ class="ma-2"
44
+ style="background-color: white; color: black"
45
+ >
44
46
  {{ $t(eventCategory) }} </v-chip
45
- ><v-chip class="ma-2" style="background-color: white; color: black">
47
+ ><v-chip
48
+ v-if="eventType"
49
+ c
50
+ class="ma-2"
51
+ style="background-color: white; color: black"
52
+ >
46
53
  {{ $t(eventType) }}
47
54
  </v-chip>
48
55
  <MiscMoleculesChipContainer :items="item.tags" size="small" />
@@ -75,7 +82,7 @@ const eventCategory = computed(() => {
75
82
  console.log("props.item.category: ", props.item.category);
76
83
  return "list.filters.publications.category." + props.item.category;
77
84
  } else {
78
- return "list.filters.publications.category.OTHERS";
85
+ return false;
79
86
  }
80
87
  });
81
88
  const eventType = computed(() => {
@@ -83,7 +90,7 @@ const eventType = computed(() => {
83
90
  console.log("props.item.type: ", props.item.type);
84
91
  return "list.filters.publications.type." + props.item.type;
85
92
  } else {
86
- return "list.filters.publications.type.OTHERS";
93
+ return false;
87
94
  }
88
95
  });
89
96
  </script>
@@ -7,6 +7,8 @@ query listPublications(
7
7
  items {
8
8
  date
9
9
  id
10
+ eventCategory
11
+ type
10
12
  image {
11
13
  alt
12
14
  backgroundColor
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item.name }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.actions.loading = false;
20
+ </script>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item.name }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.affiliations.loading = false;
20
+ </script>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item.name }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.apps.loading = false;
20
+ </script>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div>
3
+ {{ item.name }}
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ const props = defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ });
14
+ </script>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ defineProps({
7
+ item: {
8
+ type: Object,
9
+ required: true
10
+ }
11
+ });
12
+ </script>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ {{ item }}
3
+ </template>
4
+
5
+ <script setup>
6
+ import { useNuxtApp } from "#imports";
7
+ const { $stores } = useNuxtApp();
8
+ defineProps({
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ loading: {
14
+ type: Boolean,
15
+ required: false,
16
+ default: false
17
+ }
18
+ });
19
+ $stores.disciplines.loading = false;
20
+ </script>