feat: ✨ celebrate on calendar when birthday
This commit is contained in:
parent
6aae847c4d
commit
cf3c3e8234
1 changed files with 12 additions and 1 deletions
|
@ -5,7 +5,7 @@
|
||||||
<span class="year">{{ i18n.t("yearX", { year }) }}</span>
|
<span class="year">{{ i18n.t("yearX", { year }) }}</span>
|
||||||
<span class="month">{{ i18n.t("monthX", { month }) }}</span>
|
<span class="month">{{ i18n.t("monthX", { month }) }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p v-if="month === 1 && day === 1" class="day">
|
<p v-if="(month === 1 && day === 1) || isBirthday" class="day">
|
||||||
🎉{{ i18n.t("dayX", { day })
|
🎉{{ i18n.t("dayX", { day })
|
||||||
}}<span style="display: inline-block; transform: scaleX(-1)"
|
}}<span style="display: inline-block; transform: scaleX(-1)"
|
||||||
>🎉</span
|
>🎉</span
|
||||||
|
@ -55,6 +55,7 @@ import {
|
||||||
import { GetFormResultType } from "@/scripts/form";
|
import { GetFormResultType } from "@/scripts/form";
|
||||||
import { i18n } from "@/i18n";
|
import { i18n } from "@/i18n";
|
||||||
import { useInterval } from "@/scripts/use-interval";
|
import { useInterval } from "@/scripts/use-interval";
|
||||||
|
import { $i } from "@/account";
|
||||||
|
|
||||||
const name = "calendar";
|
const name = "calendar";
|
||||||
|
|
||||||
|
@ -80,6 +81,8 @@ const { widgetProps, configure } = useWidgetPropsManager(
|
||||||
emit
|
emit
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const hasBirthday = Boolean($i?.birthday);
|
||||||
|
|
||||||
const year = ref(0);
|
const year = ref(0);
|
||||||
const month = ref(0);
|
const month = ref(0);
|
||||||
const day = ref(0);
|
const day = ref(0);
|
||||||
|
@ -88,6 +91,7 @@ const yearP = ref(0);
|
||||||
const monthP = ref(0);
|
const monthP = ref(0);
|
||||||
const dayP = ref(0);
|
const dayP = ref(0);
|
||||||
const isHoliday = ref(false);
|
const isHoliday = ref(false);
|
||||||
|
const isBirthday = ref(false);
|
||||||
const tick = () => {
|
const tick = () => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const nd = now.getDate();
|
const nd = now.getDate();
|
||||||
|
@ -121,6 +125,13 @@ const tick = () => {
|
||||||
yearP.value = (yearNumer / yearDenom) * 100;
|
yearP.value = (yearNumer / yearDenom) * 100;
|
||||||
|
|
||||||
isHoliday.value = now.getDay() === 0 || now.getDay() === 6;
|
isHoliday.value = now.getDay() === 0 || now.getDay() === 6;
|
||||||
|
|
||||||
|
if (hasBirthday) {
|
||||||
|
const [bdayYear, bdayMonth, bdayDay] = $i.birthday.split("-");
|
||||||
|
if (month.value === +bdayMonth && day.value == +bdayDay) {
|
||||||
|
isBirthday.value = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
useInterval(tick, 1000, {
|
useInterval(tick, 1000, {
|
||||||
|
|
Loading…
Reference in a new issue