diff --git a/src/components/NavigationBar.vue b/src/components/NavigationBar.vue
index 4a44f42..64c7a1e 100644
--- a/src/components/NavigationBar.vue
+++ b/src/components/NavigationBar.vue
@@ -36,15 +36,15 @@
-
Au Hasard
+
Actualités
@@ -83,7 +83,7 @@
Accueil
Textes
-
Au Hasard
+
Actualités
.nav-link {
- @apply font-medium transition-colors duration-200 pb-1;
+ font-weight: 500;
+ transition: color 0.2s;
+ padding-bottom: 0.25rem;
color: #6b7280;
}
@@ -140,11 +142,15 @@ export default {
}
.nav-link.active {
- @apply text-black border-b-2 border-black;
+ color: black;
+ border-bottom: 2px solid black;
}
.nav-link-mobile {
- @apply font-medium transition-colors duration-200 py-2;
+ font-weight: 500;
+ transition: color 0.2s;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
color: #6b7280;
}
diff --git a/src/router/index.js b/src/router/index.js
index f3e67cd..4273483 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -2,6 +2,8 @@
import Home from '../views/Home.vue'
import Texts from '../views/Texts.vue'
import TextReader from '../views/TextReader.vue'
+import News from '../views/News.vue'
+import NewsArticle from '../views/NewsArticle.vue'
import { textService } from '../services/textService.js'
const routes = [
@@ -22,17 +24,15 @@ const routes = [
props: true
},
{
- path: '/au-hasard',
- name: 'Random',
- beforeEnter: async (to, from, next) => {
- try {
- const randomText = await textService.getRandomText()
- next(`/texte/${randomText.id}`)
- } catch (error) {
- console.error('Erreur lors de la redirection vers un texte aléatoire:', error)
- next('/textes')
- }
- }
+ path: '/actualites',
+ name: 'News',
+ component: News
+ },
+ {
+ path: '/actualite/:id',
+ name: 'NewsArticle',
+ component: NewsArticle,
+ props: true
}
]
diff --git a/src/services/wordpressService.js b/src/services/wordpressService.js
new file mode 100644
index 0000000..2481f41
--- /dev/null
+++ b/src/services/wordpressService.js
@@ -0,0 +1,96 @@
+const API_BASE_URL = 'https://admin-afpl.federation-ouest-francoprovencal.fr/wp-json/wp/v2'
+const ACTUALITES_CATEGORY_ID = 3
+
+/**
+ * Service pour interagir avec l'API WordPress (Headless CMS)
+ */
+export const wordpressService = {
+ /**
+ * Récupère tous les posts de la catégorie "actualites"
+ * @param {number} perPage - Nombre de posts par page (défaut: 10)
+ * @param {number} page - Numéro de page (défaut: 1)
+ * @returns {Promise
diff --git a/src/views/News.vue b/src/views/News.vue
new file mode 100644
index 0000000..63ee321
--- /dev/null
+++ b/src/views/News.vue
@@ -0,0 +1,243 @@
+