From 37bb063a61857d196ddc9cbac727a5896e406a21 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Sun, 14 Apr 2024 20:53:21 +0200 Subject: [PATCH] Added more data and options to models --- src/components/calendar/CalendarEvent.vue | 2 +- .../calendar/search/lists/SearchList.vue | 29 +++- src/data/Characters.ts | 160 +++++++++++++++--- src/models/Characters.ts | 5 + src/models/Events.ts | 2 +- 5 files changed, 162 insertions(+), 36 deletions(-) diff --git a/src/components/calendar/CalendarEvent.vue b/src/components/calendar/CalendarEvent.vue index cad5e6d..cc9af2a 100644 --- a/src/components/calendar/CalendarEvent.vue +++ b/src/components/calendar/CalendarEvent.vue @@ -19,7 +19,7 @@ defineProps<{ 'text-white bg-lime-600 hover:bg-lime-700': event.category === 'naissance', 'text-white bg-stone-500 hover:bg-stone-700': event.category === 'mort', 'text-white bg-orange-600 hover:bg-orange-700': event.category === 'catastrophe', - 'text-white bg-pink-600 hover:bg-pink-700': event.category === 'catastrophe-naturel', + 'text-white bg-pink-600 hover:bg-pink-700': event.category === 'catastrophe-naturelle', 'text-white bg-sky-600 hover:bg-sky-700': event.category === 'législation', 'text-white bg-purple-600 hover:bg-purple-700': event.category === 'religion', 'text-white bg-emerald-600 hover:bg-emerald-700': event.category === 'joueurs', diff --git a/src/components/calendar/search/lists/SearchList.vue b/src/components/calendar/search/lists/SearchList.vue index 4174da4..9319bbe 100644 --- a/src/components/calendar/search/lists/SearchList.vue +++ b/src/components/calendar/search/lists/SearchList.vue @@ -6,7 +6,7 @@ import { useCalendar } from '@/stores/CalendarStore' import { computed } from 'vue' import type { SearchMode } from '../../Search' -import { PhHourglassMedium, PhPlant, PhSkull } from '@phosphor-icons/vue' +import { PhHourglassMedium, PhPlant, PhSkull, PhArrowSquareOut } from '@phosphor-icons/vue' import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' @@ -72,7 +72,7 @@ const pagedResults = computed(() => sortedResults.value.slice(props.startAt, pro 'text-white bg-lime-600 hover:bg-lime-700': r.category === 'naissance', 'text-white bg-stone-500 hover:bg-stone-700': r.category === 'mort', 'text-white bg-orange-600 hover:bg-orange-700': r.category === 'catastrophe', - 'text-white bg-pink-600 hover:bg-pink-700': r.category === 'catastrophe-naturel', + 'text-white bg-pink-600 hover:bg-pink-700': r.category === 'catastrophe-naturelle', 'text-white bg-sky-600 hover:bg-sky-700': r.category === 'législation', 'text-white bg-purple-600 hover:bg-purple-700': r.category === 'religion', 'text-white bg-emerald-600 hover:bg-emerald-700': r.category === 'joueurs', @@ -83,8 +83,13 @@ const pagedResults = computed(() => sortedResults.value.slice(props.startAt, pro }" @click="handleJumpToDate(r.date)" > -
- {{ r.title }} +
+

+ {{ r.title }} +

+
+ Page wiki +
@@ -124,9 +129,19 @@ const pagedResults = computed(() => sortedResults.value.slice(props.startAt, pro class="block w-full text-left py-3 px-4 border-[1px] border-slate-700 rounded-sm" >
-

- {{ r.name }} -

+
+

+ {{ r.name }} +

+
+ +
+
  • diff --git a/src/data/Characters.ts b/src/data/Characters.ts index 7ca243f..bc700f2 100644 --- a/src/data/Characters.ts +++ b/src/data/Characters.ts @@ -5,8 +5,17 @@ export const charactersList: Character[] = [ * Player characters */ // "Les Milles Cages" - { name: 'Sulvan Trois-Barbes', birth: { day: 20, month: 3, year: 3169 } }, - { name: 'Vascylly', birth: { day: 3, month: 5, year: 3181 } }, + { + name: 'Sulvan Trois-Barbes', + birth: { day: 20, month: 3, year: 3169 }, + wiki: 'https://alexcreates.fr/leim/index.php/Sulvan_Trois-Barbes' + }, + { + name: 'Vascylly', + birth: { day: 3, month: 5, year: 3181 }, + category: 'joueur', + wiki: 'https://alexcreates.fr/leim/index.php/Vascylly' + }, { name: 'Tara Belyus', birth: { day: 14, month: 9, year: 3186 } }, // "Les Cloches de Cantane" { name: 'Malik', birth: { day: 22, month: 8, year: 3181 } }, @@ -17,42 +26,139 @@ export const charactersList: Character[] = [ * NPC */ // Counts of the Alliance - { name: 'Alfrid de Lagarde', birth: { day: 29, month: 7, year: 3193 } }, - { name: 'Alaric de Lagarde', birth: { day: 23, month: 8, year: 3192 } }, - { name: 'Anastael III de Quillon', birth: { day: 1, month: 5, year: 3184 } }, - { name: 'Antoine de Mireloin', birth: { day: 31, month: 5, year: 3190 } }, - { name: 'Armance Ronchère', birth: { day: 1, month: 1, year: 3132 } }, - { name: 'Baranne Rougefer', birth: { day: 1, month: 0, year: 3175 } }, - { name: 'Béatrice II de Grandlac', birth: { day: 21, month: 4, year: 3158 } }, - { name: 'Favio Asharos-Losantelle', birth: { day: 17, month: 3, year: 3091 } }, - { name: 'Firmin de Montardieu', birth: { day: 9, month: 2, year: 3203 } }, + { + name: 'Alfrid de Lagarde', + birth: { day: 29, month: 7, year: 3193 }, + wiki: 'https://alexcreates.fr/leim/index.php/Alfrid_de_Lagarde' + }, + { + name: 'Alaric de Lagarde', + birth: { day: 23, month: 8, year: 3192 }, + wiki: 'https://alexcreates.fr/leim/index.php/Alaric_de_Lagarde' + }, + { + name: 'Anastael III de Quillon', + birth: { day: 1, month: 5, year: 3184 }, + wiki: 'https://alexcreates.fr/leim/index.php/Anastael_III_de_Quillon' + }, + { + name: 'Antoine de Mireloin', + birth: { day: 31, month: 5, year: 3190 }, + wiki: 'https://alexcreates.fr/leim/index.php/Antoine_de_Mireloin' + }, + { + name: 'Armance Ronchère', + birth: { day: 1, month: 1, year: 3132 }, + wiki: 'https://alexcreates.fr/leim/index.php/Armance_Ronchère' + }, + { + name: 'Baranne Rougefer', + birth: { day: 1, month: 0, year: 3175 }, + wiki: 'https://alexcreates.fr/leim/index.php/Baranne_Rougefer' + }, + { + name: 'Béatrice II de Grandlac', + birth: { day: 21, month: 4, year: 3158 }, + wiki: 'https://alexcreates.fr/leim/index.php/Béatrice_II_de_Grandlac' + }, + { + name: 'Favio Asharos-Losantelle', + birth: { day: 17, month: 3, year: 3091 }, + wiki: 'https://alexcreates.fr/leim/index.php/Favio_Asharos-Losantelle' + }, + { + name: 'Firmin de Montardieu', + birth: { day: 9, month: 2, year: 3203 }, + wiki: 'https://alexcreates.fr/leim/index.php/Firmin_de_Montardieu' + }, { name: 'Laura de Montardieu', birth: { day: 32, month: 3, year: 3167 }, death: { day: 1, month: 4, year: 3217 }, - hiddenDeath: true + hiddenDeath: true, + wiki: 'https://alexcreates.fr/leim/index.php/Laura_de_Montardieu' + }, + { + name: 'Lazarus Tymos', + birth: { day: 29, month: 9, year: 3145 }, + wiki: 'https://alexcreates.fr/leim/index.php/Lazarus_Tymos' + }, + { + name: 'Marion de Corambre', + birth: { day: 14, month: 7, year: 3190 }, + wiki: 'https://alexcreates.fr/leim/index.php/Marion_de_Corambre' + }, + { + name: 'Relforg Pergaré', + birth: { day: 18, month: 9, year: 3182 }, + wiki: 'https://alexcreates.fr/leim/index.php/Relforg_Pergaré' + }, + { + name: 'Vilgarde de Ternâcre', + birth: { day: 3, month: 3, year: 2998 }, + wiki: 'https://alexcreates.fr/leim/index.php/Vilgarde_de_Ternâcre' + }, + { + name: 'Ysildy Milopée', + birth: { day: 3, month: 1, year: 3187 }, + wiki: 'https://alexcreates.fr/leim/index.php/Ysildy_Milopée' }, - { name: 'Lazarus Tymos', birth: { day: 29, month: 9, year: 3145 } }, - { name: 'Marion de Corambre', birth: { day: 14, month: 7, year: 3190 } }, - { name: 'Relforg Pergaré', birth: { day: 18, month: 9, year: 3182 } }, - { name: 'Vilgarde de Ternâcre', birth: { day: 3, month: 3, year: 2998 } }, - { name: 'Ysildy Milopée', birth: { day: 3, month: 1, year: 3187 } }, // Sparks - { name: 'Izàc Tymos', birth: { day: 13, month: 6, year: 3192 } }, - { name: 'Tvernée', birth: { day: 19, month: 2, year: 3205 } }, + { + name: 'Izàc Tymos', + birth: { day: 13, month: 6, year: 3192 }, + wiki: 'https://alexcreates.fr/leim/index.php/Izàc_Tymos' + }, + { + name: 'Tvernée', + birth: { day: 19, month: 2, year: 3205 }, + wiki: 'https://alexcreates.fr/leim/index.php/Tvernée' + }, // Pirates - { name: 'Räzal', birth: { day: 13, month: 8, year: 3178 } }, + { + name: 'Räzal', + birth: { day: 13, month: 8, year: 3178 }, + wiki: 'https://alexcreates.fr/leim/index.php/Räzal' + }, // "Les Milles Cages" - { name: 'Ernestin Pomel', birth: { day: 11, month: 2, year: 3179 } }, - { name: 'Quacille Lévios', birth: { day: 3, month: 6, year: 3162 } }, - { name: 'Morel Lévios', birth: { day: 26, month: 3, year: 3157 } }, - { name: 'Anastael Simon', birth: { day: 32, month: 2, year: 3166 } }, - { name: 'Grestain', birth: { day: 9, month: 2, year: 3162 } }, - { name: 'Lucien Malanth', birth: { day: 31, month: 4, year: 3167 } }, - { name: 'Tivian Rodhus', birth: { day: 13, month: 3, year: 3157 } }, + { + name: 'Ernestin Pomel', + birth: { day: 11, month: 2, year: 3179 }, + wiki: 'https://alexcreates.fr/leim/index.php/Ernestin_Pomel' + }, + { + name: 'Quacille Lévios', + birth: { day: 3, month: 6, year: 3162 }, + wiki: 'https://alexcreates.fr/leim/index.php/Quacille_Lévios' + }, + { + name: 'Morel Lévios', + birth: { day: 26, month: 3, year: 3157 }, + wiki: 'https://alexcreates.fr/leim/index.php/Morel_Lévios' + }, + { + name: 'Anastael Simon', + birth: { day: 32, month: 2, year: 3166 }, + wiki: 'https://alexcreates.fr/leim/index.php/Anastael_Simon' + }, + { + name: 'Grestain', + birth: { day: 9, month: 2, year: 3162 }, + wiki: 'https://alexcreates.fr/leim/index.php/Grestain' + }, + { + name: 'Lucien Malanth', + birth: { day: 31, month: 4, year: 3167 }, + wiki: 'https://alexcreates.fr/leim/index.php/Lucien_Malanth' + }, + { + name: 'Tivian Rodhus', + birth: { day: 13, month: 3, year: 3157 }, + wiki: 'https://alexcreates.fr/leim/index.php/Tivian_Rodhus' + }, // "Les Cloches de Cantane" { diff --git a/src/models/Characters.ts b/src/models/Characters.ts index 67e7390..fce6630 100644 --- a/src/models/Characters.ts +++ b/src/models/Characters.ts @@ -7,8 +7,13 @@ export interface Character { death?: LeimDate hiddenBirth?: boolean hiddenDeath?: boolean + category?: CharacterCategory + secondaryCategories?: CharacterCategory[] + wiki?: string } +export type CharacterCategory = 'joueur' | 'comte' | 'scientifique' | 'mage' | 'professeur' + export function isCharacter(object: any): object is Character { return 'birth' in object } diff --git a/src/models/Events.ts b/src/models/Events.ts index 6c8b182..c72ba9e 100644 --- a/src/models/Events.ts +++ b/src/models/Events.ts @@ -15,7 +15,7 @@ export type CalendarEventCategory = | 'mort' | 'catastrophe' | 'législation' - | 'catastrophe-naturel' + | 'catastrophe-naturelle' | 'inauguration' | 'religion' | 'invention'