mirror of
https://github.com/wkulhanek/bonob.git
synced 2025-12-21 17:33:29 +01:00
Additional Icons (#43)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import dayjs, { Dayjs } from "dayjs";
|
||||
|
||||
export const isChristmas = (clock: Clock = SystemClock) => clock.now().month() == 11 && clock.now().date() == 25;
|
||||
export const isMay4 = (clock: Clock = SystemClock) => clock.now().month() == 4 && clock.now().date() == 4;
|
||||
export const isHalloween = (clock: Clock = SystemClock) => clock.now().month() == 9 && clock.now().date() == 31
|
||||
export const isHoli = (clock: Clock = SystemClock) => ["2022/03/18", "2023/03/07", "2024/03/25", "2025/03/14"].map(dayjs).find(it => it.isSame(clock.now())) != undefined
|
||||
export const isCNY = (clock: Clock = SystemClock) => ["2022/02/01", "2023/01/22", "2024/02/10", "2025/02/29"].map(dayjs).find(it => it.isSame(clock.now())) != undefined
|
||||
|
||||
29
src/icon.ts
29
src/icon.ts
@@ -10,6 +10,7 @@ import {
|
||||
isCNY_2024,
|
||||
isHalloween,
|
||||
isHoli,
|
||||
isMay4,
|
||||
SystemClock,
|
||||
} from "./clock";
|
||||
import path from "path";
|
||||
@@ -217,7 +218,14 @@ export type ICON =
|
||||
| "yoRabbit"
|
||||
| "yoTiger"
|
||||
| "chapel"
|
||||
| "audioWave";
|
||||
| "audioWave"
|
||||
| "c3po"
|
||||
| "chewy"
|
||||
| "darth"
|
||||
| "skywalker"
|
||||
| "leia"
|
||||
| "r2d2"
|
||||
| "yoda";
|
||||
|
||||
const iconFrom = (name: string) =>
|
||||
new SvgIcon(
|
||||
@@ -285,8 +293,17 @@ export const ICONS: Record<ICON, SvgIcon> = {
|
||||
yoTiger: iconFrom("Year-of Tiger-22776.svg"),
|
||||
chapel: iconFrom("Chapel-69791.svg"),
|
||||
audioWave: iconFrom("Audio-Wave-1892.svg"),
|
||||
c3po: iconFrom("C-3PO-31823.svg"),
|
||||
chewy: iconFrom("Chewbacca-89771.svg"),
|
||||
darth: iconFrom("Darth-Vader-35734.svg"),
|
||||
skywalker: iconFrom("Luke-Skywalker-39424.svg"),
|
||||
leia: iconFrom("Princess-Leia-68568.svg"),
|
||||
r2d2: iconFrom("R2-D2-39423.svg"),
|
||||
yoda: iconFrom("Yoda-68107.svg"),
|
||||
};
|
||||
|
||||
export const STAR_WARS = [ICONS.c3po, ICONS.chewy, ICONS.darth, ICONS.skywalker, ICONS.leia, ICONS.r2d2, ICONS.yoda];
|
||||
|
||||
export type RULE = (genre: string) => boolean;
|
||||
|
||||
export const eq =
|
||||
@@ -438,6 +455,16 @@ export const festivals = (clock: Clock = SystemClock): Transformer => {
|
||||
foregroundColor: "orange",
|
||||
},
|
||||
})
|
||||
),
|
||||
maybeTransform(
|
||||
() => isMay4(clock),
|
||||
transform({
|
||||
svg: STAR_WARS[_.random(STAR_WARS.length - 1)]!.svg,
|
||||
features: {
|
||||
backgroundColor: undefined,
|
||||
foregroundColor: undefined,
|
||||
},
|
||||
})
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user