feat(portfolio): mise à jour du site avec de nouvelles sections et améliorations SEO

- Révision des métadonnées dans index.html pour un meilleur référencement.
- Ajout de nouvelles sections : FAQ, Témoignages, Services, et CTA.
- Intégration de données structurées pour les FAQ et les témoignages.
- Amélioration du fichier robots.txt pour un meilleur contrôle d'indexation.
- Mise à jour du sitemap.xml avec de nouvelles URLs.
- Ajout de nouveaux composants Vue.js pour les sections de témoignages et de services.
- Amélioration des styles CSS pour une meilleure présentation des sections.
- Ajout de la gestion des dates et des témoignages dans le composant testimonials.
This commit is contained in:
Mr¤KayJayDee
2025-06-25 23:25:51 +02:00
parent af1f47dbf3
commit 542c468eb3
35 changed files with 2712 additions and 472 deletions
+75
View File
@@ -0,0 +1,75 @@
import { useI18n } from './useI18n'
export function useDateFormat() {
const { currentLocale } = useI18n()
const formatRelativeTime = (dateString: string): string => {
// Parse DD/MM/YYYY format
const [day, month, year] = dateString.split('/').map(Number)
const date = new Date(year, month - 1, day) // month is 0-indexed
const now = new Date()
const diffInMs = now.getTime() - date.getTime()
const diffInDays = Math.floor(diffInMs / (1000 * 60 * 60 * 24))
const diffInMonths = Math.floor(diffInDays / 30)
const diffInYears = Math.floor(diffInDays / 365)
if (currentLocale.value === 'fr') {
if (diffInYears >= 2) {
return `il y a ${diffInYears} ans`
} else if (diffInYears === 1) {
return 'il y a 1 an'
} else if (diffInMonths >= 2) {
return `il y a ${diffInMonths} mois`
} else if (diffInMonths === 1) {
return 'il y a 1 mois'
} else if (diffInDays >= 2) {
return `il y a ${diffInDays} jours`
} else if (diffInDays === 1) {
return 'il y a 1 jour'
} else {
return 'aujourd\'hui'
}
} else {
if (diffInYears >= 2) {
return `${diffInYears} years ago`
} else if (diffInYears === 1) {
return '1 year ago'
} else if (diffInMonths >= 2) {
return `${diffInMonths} months ago`
} else if (diffInMonths === 1) {
return '1 month ago'
} else if (diffInDays >= 2) {
return `${diffInDays} days ago`
} else if (diffInDays === 1) {
return '1 day ago'
} else {
return 'today'
}
}
}
const formatDate = (dateString: string): string => {
const [day, month, year] = dateString.split('/').map(Number)
const date = new Date(year, month - 1, day)
if (currentLocale.value === 'fr') {
return date.toLocaleDateString('fr-FR', {
day: '2-digit',
month: '2-digit',
year: 'numeric'
})
} else {
return date.toLocaleDateString('en-US', {
day: '2-digit',
month: '2-digit',
year: 'numeric'
})
}
}
return {
formatRelativeTime,
formatDate
}
}