瀏覽代碼

use slugs in news page names

Olivier Massot 1 年之前
父節點
當前提交
bd7c767525
共有 3 個文件被更改,包括 10 次插入2 次删除
  1. 7 2
      components/News/List.vue
  2. 3 0
      models/Maestro/News.ts
  3. 0 0
      pages/actualites/[id]-[slug].vue

+ 7 - 2
components/News/List.client.vue → components/News/List.vue

@@ -1,5 +1,5 @@
 <template>
-  <div v-if="pending">
+  <div v-if="rendering || pending">
     <v-row class="justify-center progress">
       <v-progress-circular indeterminate color="grey" />
     </v-row>
@@ -60,7 +60,7 @@
                       <div class="button-container">
                         <v-card-actions class="justify-end">
                           <v-btn
-                            :to="`/actualites/${newsItem.id}`"
+                            :to="`/actualites/${newsItem.id}-${newsItem.slug}`"
                             class="inv-theme btn mr-2 mb-1"
                           >
                             En savoir plus
@@ -96,6 +96,11 @@ import type { ComputedRef, Ref } from 'vue'
 import { useEntityFetch } from '~/composables/data/useEntityFetch'
 import News from '~/models/Maestro/News'
 
+const rendering: Ref<boolean> = ref(true)
+onMounted(() => {
+  rendering.value = false
+})
+
 const config = useRuntimeConfig()
 const { fetchCollection } = useEntityFetch()
 

+ 3 - 0
models/Maestro/News.ts

@@ -18,6 +18,9 @@ export default class News extends ApiModel {
   @Str(null)
   declare title: string | null
 
+  @Str(null)
+  declare slug: string | null
+
   @Str(null)
   declare leadText: string | null
 

+ 0 - 0
pages/actualites/[id].client.vue → pages/actualites/[id]-[slug].vue