new-manga/src/config/backgrounds.ts
2025-03-28 20:14:18 -07:00

193 lines
4.2 KiB
TypeScript

interface BackgroundImage {
url: string;
title: string;
artist: string;
source: string;
socials?: {
name: string;
link: string;
}[];
}
export const backgrounds: BackgroundImage[] = [
{
url: "/citali.webp",
title: "Citlali (Genshin Impact)",
artist: "ryrmcher",
source: "https://danbooru.donmai.us/posts/6148600",
socials: [
{
name: "Twitter Post",
link: "https://x.com/ryrmcher/status/1878812100866560258",
},
{
name: "Artist's Twitter",
link: "https://x.com/ryrmcher",
},
],
},
{
url: "/patchouli.webp",
title: "ひとりぼっちのあさ",
artist: "ayanagi0319",
source: "https://danbooru.donmai.us/posts/6900673",
socials: [
{
name: "Artist's Twitter",
link: "https://twitter.com/ayanagi0319",
},
],
},
{
url: "/original.webp",
title: "読書",
artist: "kamepan44231 - かめぱすた",
source: "https://danbooru.donmai.us/posts/8743208",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/kamepan44231",
},
],
},
{
url: "/numi.webp",
title: "Numi",
artist: "TenIllustrator",
source: "https://danbooru.donmai.us/posts/8074444",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/Ten_0123_/",
},
],
},
{
url: "/shylily.webp",
title: "Shylily",
artist: "greatodoggo",
source: "https://www.pixiv.net/en/artworks/124222053",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/greatodoggo",
},
],
},
{
url: "/sleepy.webp",
title: "???",
artist: "soaphisoap",
source: "https://safebooru.org/index.php?page=post&s=view&id=5418793",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/soaphisoap",
},
],
},
{
url: "/genshin.webp",
title: "???",
artist: "charlieinoni",
source: "https://safebooru.org/index.php?page=post&s=view&id=5531630",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/charlieinoni",
},
],
},
{
url: "/meata.webp",
title: "???",
artist: "???",
source:
"https://i.pximg.net/img-original/img/2025/03/03/15/13/24/127822472_p0.png",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/",
},
],
},
{
url: "/cynthia1.webp",
title: "Cynthia (Pokemon)",
artist: "???",
source: "https://safebooru.org/index.php?page=post&s=view&id=5547740",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/",
},
],
},
{
url: "/darling.webp",
title: "Zero Two",
artist: "AWZ",
source: "https://www.pixiv.net/en/artworks/123110068",
socials: [
{
name: "Pixiv Profile",
link: "https://www.pixiv.net/en/users/67355371",
},
],
},
{
url: "/granny.webp",
title: "Turbo Granny (Dandadan)",
artist: "MajimartBCN",
source: "https://twitter.com/MajimartBCN/status/1864741369383694841",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/MajimartBCN",
},
],
},
{
url: "/numi_lily.webp",
title: "Nihmune & Shylily",
artist: "Gryever_AW",
source: "https://x.com/gryever_aw/status/1890772686084686118",
socials: [
{
name: "Artist's Twitter",
link: "https://x.com/Gryever_AW",
},
],
},
// Add more backgrounds here!
// {
// url: 'your-image-url',
// title: 'Image Title',
// artist: 'Artist Name',
// source: 'source-url',
// socials: [
// { name: 'Twitter', link: 'twitter-url' }
// ]
// }
];
export function getRandomBackground(): BackgroundImage {
if (backgrounds.length === 0) {
// Fallback background if array is empty
return {
url: "/citali.webp",
title: "Citlali (Genshin Impact)",
artist: "ryrmcher",
source: "https://danbooru.donmai.us/posts/6148600",
socials: [],
};
}
return backgrounds[Math.floor(Math.random() * backgrounds.length)];
}
export function preloadBackgrounds() {
backgrounds.forEach((bg) => {
const img = new Image();
img.src = bg.url;
});
}