feat: qalendar typing

This commit is contained in:
opbnq-q
2025-03-11 05:22:41 -07:00
parent a130fb9063
commit 5c372e8029
5 changed files with 58 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
<script setup lang="ts">
import { Qalendar } from "qalendar";
import { CalendarEvent } from "./event.class";
const config = {
month: {
@@ -9,10 +10,14 @@ const config = {
defaultMode: 'month',
isSilent: true,
};
defineProps<{
events: CalendarEvent[]
}>()
</script>
<template>
<Qalendar :config></Qalendar>
<Qalendar :config :events></Qalendar>
</template>
<style>

View File

@@ -0,0 +1,29 @@
import { toSimpleDateString } from "../../utils/date/converters.util"
export class CalendarEvent {
id: string
title: string
description: string
color: "red" | "yellow" | "blue"
with?: string
time: { start: string; end: string }
constructor(
title: string,
description: string,
timeStart: Date,
timeEnd: Date,
withPerson?: string,
color: "red" | "yellow" | "blue" = "red"
) {
this.title = title
this.description = description
this.time = {
start: toSimpleDateString(timeStart),
end: toSimpleDateString(timeEnd),
}
this.with = withPerson
this.color = color
this.id = new Date().getTime().toString()
}
}

View File

@@ -1,8 +1,21 @@
<script setup lang="ts">
import Calendar from '../components/calendar/Calendar.vue';
import { CalendarEvent } from '../components/calendar/event.class';
const events: CalendarEvent[] = []
const newEvent = new CalendarEvent(
"Advanced algebra",
"Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores assumenda corporis doloremque et expedita molestias necessitatibus quam quas temporibus veritatis. Deserunt excepturi illum nobis perferendis praesentium repudiandae saepe sapiente voluptatem!",
new Date("2025-03-11T12:05:00"),
new Date("2025-03-12T13:35:00"),
"Chandler Bing",
"red"
)
events.push(newEvent)
</script>
<template>
<Calendar />
<Calendar :events="events" />
</template>

View File

@@ -37,3 +37,10 @@ export const timestampToDate = (obj: any) => {
}
return obj
}
export function toSimpleDateString(date: Date): string {
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, "0")
const day = String(date.getDate()).padStart(2, "0")
return `${year}-${month}-${day}`
}

View File

@@ -8,7 +8,7 @@
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true,
"strictNullChecks": true,
"lib": ["ES2015", "DOM"]
"lib": ["ES2020", "DOM"]
},
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
}