Display Month between Date lists
This commit is contained in:
parent
8def180f38
commit
15431450ac
3 changed files with 46 additions and 3 deletions
|
@ -23,7 +23,18 @@
|
|||
:class="data?.lookup.image_item ? 'flex-row flex-wrap justify-center' : ' flex-col'"
|
||||
>
|
||||
<div v-for="(item, index) in collection" :key="item.slug" class="contents">
|
||||
<BaseListImageItem v-if="data?.lookup.image_item" :data="item" :allow-navigation="data.enable_detail" />
|
||||
<p
|
||||
v-if="data?.lookup.date_list && data?.lookup.numbered_item == false && getDate(index) != ''"
|
||||
class="w-full text-center"
|
||||
>
|
||||
{{ getDate(index) }}
|
||||
</p>
|
||||
<BaseListImageItem
|
||||
v-if="data?.lookup.image_item"
|
||||
:data="item"
|
||||
:number-overwrite="data.lookup.numbered_item ? getNumber(index) : undefined"
|
||||
:allow-navigation="data.enable_detail"
|
||||
/>
|
||||
<BaseListItem
|
||||
v-else-if="data?.lookup"
|
||||
:data="item"
|
||||
|
@ -190,6 +201,20 @@ function getNumber(index: number): number {
|
|||
}
|
||||
}
|
||||
|
||||
function getDate(index: number): string {
|
||||
let thisElement = collection.value?.[index];
|
||||
let beforeElement = collection.value?.[index - 1];
|
||||
|
||||
if (thisElement && beforeElement) {
|
||||
let thisElementDate = new Date(thisElement.date ?? "").toLocaleDateString("de", { month: "long" });
|
||||
let beforeElementDate = new Date(beforeElement.date ?? "").toLocaleDateString("de", { month: "long" });
|
||||
if (thisElementDate == beforeElementDate) return "";
|
||||
else return thisElementDate;
|
||||
} else if (thisElement) {
|
||||
return new Date(thisElement.date ?? "").toLocaleDateString("de", { month: "long" });
|
||||
} else return "";
|
||||
}
|
||||
|
||||
async function changeTimedData(year: number) {
|
||||
activeYear.value = year;
|
||||
const data = await find<BaseCollection>(props.data?.lookup.collection ?? "", {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue