From 0e7838d37251786473551796c149c0904d43cd07 Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 14:38:46 +0800 Subject: [PATCH 1/8] test --- prisma/schema.prisma | 9 ++ src/app/[lang]/poem/[id]/page.tsx | 6 +- src/app/create/gen-card/page.tsx | 87 +++++++++++++++++++ src/app/create/layout.tsx | 3 +- .../components/share/draw/default.tsx | 56 +++++------- .../components/share/draw/wu-yan.tsx | 0 .../poem/[id] => }/components/share/index.tsx | 0 src/server/api/root.ts | 2 + src/server/api/routers/other.ts | 44 ++++++++++ src/utils/bg-card.ts | 17 ++++ 10 files changed, 185 insertions(+), 39 deletions(-) create mode 100644 src/app/create/gen-card/page.tsx rename src/{app/[lang]/poem/[id] => }/components/share/draw/default.tsx (62%) rename src/{app/[lang]/poem/[id] => }/components/share/draw/wu-yan.tsx (100%) rename src/{app/[lang]/poem/[id] => }/components/share/index.tsx (100%) create mode 100644 src/server/api/routers/other.ts diff --git a/prisma/schema.prisma b/prisma/schema.prisma index cd457b9f..b605d3ce 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -42,6 +42,15 @@ model Poem { createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt views Int @default(0) + cards Card[] +} + +model Card { + id Int @id @default(autoincrement()) + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt + poem Poem @relation(fields: [poemId], references: [id]) + poemId Int } model Author { diff --git a/src/app/[lang]/poem/[id]/page.tsx b/src/app/[lang]/poem/[id]/page.tsx index 3c060601..0cb8c12b 100644 --- a/src/app/[lang]/poem/[id]/page.tsx +++ b/src/app/[lang]/poem/[id]/page.tsx @@ -26,7 +26,7 @@ import "./index.css"; const GoFeedback = dynamic(() => import("./go-feedback"), { ssr: false }); -const SaveShareButton = dynamic(() => import("./components/share"), { +const SaveShareButton = dynamic(() => import("~/components/share"), { ssr: false, }); @@ -35,12 +35,12 @@ const CopyButton = dynamic(() => import("./components/copy"), { }); const DrawDefaultPreview = dynamic( - () => import("./components/share/draw/default"), + () => import("~/components/share/draw/default"), { ssr: false }, ); const DrawWuYanPreview = dynamic( - () => import("./components/share/draw/wu-yan"), + () => import("~/components/share/draw/wu-yan"), { ssr: false }, ); diff --git a/src/app/create/gen-card/page.tsx b/src/app/create/gen-card/page.tsx new file mode 100644 index 00000000..b5d0df77 --- /dev/null +++ b/src/app/create/gen-card/page.tsx @@ -0,0 +1,87 @@ +"use client"; + +import { toBlob } from "html-to-image"; +import { useState } from "react"; +import DrawDefaultPreview from "~/components/share/draw/default"; +import { Button } from "~/components/ui/button"; +import { api } from "~/trpc/react"; + +export default function GenCardPage() { + const [page, setPage] = useState(1); + + const { data } = api.other.getGenCard.useQuery( + { page }, + { + refetchOnWindowFocus: false, + }, + ); + + if (!data) return
loading...
; + + const { data: poems, total } = data; + + const totalPage = Math.ceil(total / 20); + + const download = async (id: number) => { + const card = document.getElementById(`draw-share-card-${id}`); + if (!card) return; + + try { + const blob = await toBlob(card, { + width: card.clientWidth * 2, + height: card.clientHeight * 2, + style: { + transform: "scale(2)", + transformOrigin: "top left", + }, + }); + + // download blob + if (!blob) return; + + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = id + ".png"; + a.click(); + } catch (e) { + console.error(e); + } + }; + + const gen = async () => { + for (const item of poems) { + await download(item.id); + } + }; + + return ( +
+

生成卡片

+
+ + +
+ {new Array(totalPage).fill(0).map((_, index) => ( + + ))} +
+
+
+ {poems.map((item) => ( + + ))} +
+
+ ); +} diff --git a/src/app/create/layout.tsx b/src/app/create/layout.tsx index 85d0b165..9747421b 100644 --- a/src/app/create/layout.tsx +++ b/src/app/create/layout.tsx @@ -9,10 +9,11 @@ export default function Layout({ children }: { children: React.ReactNode }) { const navs = [ { title: "诗词", path: "/create/poem" }, - { title: "更新诗词英语", path: "/create/poem-en" }, + { title: "更新诗词-英语", path: "/create/poem-en" }, { title: "作者", path: "/create/author" }, { title: "标签", path: "/create/tag" }, { title: "表格", path: "/create/table" }, + { title: "生成卡片", path: "/create/gen-card" }, ]; return ( diff --git a/src/app/[lang]/poem/[id]/components/share/draw/default.tsx b/src/components/share/draw/default.tsx similarity index 62% rename from src/app/[lang]/poem/[id]/components/share/draw/default.tsx rename to src/components/share/draw/default.tsx index f018b576..669686a7 100644 --- a/src/app/[lang]/poem/[id]/components/share/draw/default.tsx +++ b/src/components/share/draw/default.tsx @@ -11,10 +11,11 @@ interface Props { data: Poem & { author: Author }; className?: string; style?: React.CSSProperties; + id?: string; } const DrawDefaultPreview = (props: Props) => { - const { data: poem } = props; + const { data: poem, id = "draw-share-card" } = props; const contentTemp = poem.content @@ -32,48 +33,33 @@ const DrawDefaultPreview = (props: Props) => { const image = bgCardsImages[random(0, bgCardsImages.length - 1)]!; - const a = () => ( -
- ); - - const b = () => ( - <> - -
- - ); - - const arr = [ - { color: image.color, component: a }, - { color: "white", component: b }, - ]; - - const Background = (arr[Math.round(Math.random()) % 2 === 0 ? 0 : 1] || - arr[1])!; + const Background = { + color: "white", + component: () => ( + <> + +
+ + ), + }; return (
diff --git a/src/app/[lang]/poem/[id]/components/share/draw/wu-yan.tsx b/src/components/share/draw/wu-yan.tsx similarity index 100% rename from src/app/[lang]/poem/[id]/components/share/draw/wu-yan.tsx rename to src/components/share/draw/wu-yan.tsx diff --git a/src/app/[lang]/poem/[id]/components/share/index.tsx b/src/components/share/index.tsx similarity index 100% rename from src/app/[lang]/poem/[id]/components/share/index.tsx rename to src/components/share/index.tsx diff --git a/src/server/api/root.ts b/src/server/api/root.ts index 3401bc09..89e5f74e 100644 --- a/src/server/api/root.ts +++ b/src/server/api/root.ts @@ -2,6 +2,7 @@ import { createTRPCRouter } from "~/server/api/trpc"; import { tagRouter } from "./routers/tag"; import { authorRouter } from "./routers/author"; import { poemRouter } from "./routers/poem"; +import { otherRouter } from "./routers/other"; /** * This is the primary router for your server. @@ -12,6 +13,7 @@ export const appRouter = createTRPCRouter({ author: authorRouter, tag: tagRouter, poem: poemRouter, + other: otherRouter, }); // export type definition of API diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts new file mode 100644 index 00000000..74e01146 --- /dev/null +++ b/src/server/api/routers/other.ts @@ -0,0 +1,44 @@ +import { z } from "zod"; +import { createTRPCRouter, publicProcedure } from "../trpc"; + +export const otherRouter = createTRPCRouter({ + getGenCard: publicProcedure + .input( + z.object({ + page: z.number().default(1), + }), + ) + .query(async ({ ctx, input }) => { + const result = await ctx.db.poem.findMany({ + where: { + AND: [ + { tags: { some: { name: "七言绝句" } } }, + { + cards: { none: {} }, + }, + ], + }, + include: { + author: true, + }, + skip: (input.page - 1) * 20, + take: 20, + }); + + const count = await ctx.db.poem.count({ + where: { + AND: [ + { tags: { some: { name: "七言绝句" } } }, + { + cards: { none: {} }, + }, + ], + }, + }); + + return { + data: result, + total: count, + }; + }), +}); diff --git a/src/utils/bg-card.ts b/src/utils/bg-card.ts index c275a7ec..76bf68ad 100644 --- a/src/utils/bg-card.ts +++ b/src/utils/bg-card.ts @@ -9,6 +9,23 @@ const bgCardsImages = [ { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/8.jpg" }, { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/9.jpg" }, { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/10.jpg" }, + { color: "white", url: "https://source.unsplash.com/random/1080?wallpapers" }, + { + color: "white", + url: "https://images.unsplash.com/photo-1502758185688-8f322e06d0eb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8d2FsbHBhcGVyc3x8fHx8fDE3MTMwNjU1MDc&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + }, + { + color: "white", + url: "https://images.unsplash.com/photo-1500485035595-cbe6f645feb1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", + }, + { + color: "white", + url: "https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwzfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", + }, + { + color: "white", + url: "https://images.unsplash.com/photo-1619441207978-3d326c46e2c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxMXx8c2NlbmVyeXxlbnwwfHx8fDE3MTMwNjM5MjJ8MA&ixlib=rb-4.0.3&q=80&w=1080", + }, ]; export default bgCardsImages; From d5910084da459f47c15732211ec402dbe2eae0b0 Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 15:50:47 +0800 Subject: [PATCH 2/8] 123 --- src/app/create/gen-card/page.tsx | 5 +-- src/components/share/draw/default.tsx | 8 +++-- src/server/api/routers/other.ts | 34 +++++++++---------- src/utils/bg-card.ts | 47 ++++++++++++--------------- 4 files changed, 44 insertions(+), 50 deletions(-) diff --git a/src/app/create/gen-card/page.tsx b/src/app/create/gen-card/page.tsx index b5d0df77..03a83ac7 100644 --- a/src/app/create/gen-card/page.tsx +++ b/src/app/create/gen-card/page.tsx @@ -20,7 +20,7 @@ export default function GenCardPage() { const { data: poems, total } = data; - const totalPage = Math.ceil(total / 20); + const totalPage = Math.ceil(total / 100); const download = async (id: number) => { const card = document.getElementById(`draw-share-card-${id}`); @@ -30,6 +30,7 @@ export default function GenCardPage() { const blob = await toBlob(card, { width: card.clientWidth * 2, height: card.clientHeight * 2, + cacheBust: true, style: { transform: "scale(2)", transformOrigin: "top left", @@ -59,7 +60,7 @@ export default function GenCardPage() {

生成卡片

- +
{new Array(totalPage).fill(0).map((_, index) => ( diff --git a/src/components/share/draw/default.tsx b/src/components/share/draw/default.tsx index 669686a7..d23eff4c 100644 --- a/src/components/share/draw/default.tsx +++ b/src/components/share/draw/default.tsx @@ -37,11 +37,13 @@ const DrawDefaultPreview = (props: Props) => { color: "white", component: () => ( <> -
{ + const where = { + AND: [ + { tags: { some: { name: "五言绝句" } } }, + { + cards: { none: {} }, + }, + ], + }; + const result = await ctx.db.poem.findMany({ - where: { - AND: [ - { tags: { some: { name: "七言绝句" } } }, - { - cards: { none: {} }, - }, - ], - }, + where, include: { author: true, }, - skip: (input.page - 1) * 20, - take: 20, + orderBy: { + id: "asc", + }, + skip: (input.page - 1) * 100, + take: 100, }); const count = await ctx.db.poem.count({ - where: { - AND: [ - { tags: { some: { name: "七言绝句" } } }, - { - cards: { none: {} }, - }, - ], - }, + where, }); return { diff --git a/src/utils/bg-card.ts b/src/utils/bg-card.ts index 76bf68ad..daa197e6 100644 --- a/src/utils/bg-card.ts +++ b/src/utils/bg-card.ts @@ -1,31 +1,24 @@ const bgCardsImages = [ - { color: "white", url: "https://r2.aspoem.com/neutral-card-bg/1.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/2.jpg" }, - { color: "white", url: "https://r2.aspoem.com/neutral-card-bg/3.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/4.jpg" }, - { color: "white", url: "https://r2.aspoem.com/neutral-card-bg/5.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/6.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/7.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/8.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/9.jpg" }, - { color: "black", url: "https://r2.aspoem.com/neutral-card-bg/10.jpg" }, - { color: "white", url: "https://source.unsplash.com/random/1080?wallpapers" }, - { - color: "white", - url: "https://images.unsplash.com/photo-1502758185688-8f322e06d0eb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8d2FsbHBhcGVyc3x8fHx8fDE3MTMwNjU1MDc&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - }, - { - color: "white", - url: "https://images.unsplash.com/photo-1500485035595-cbe6f645feb1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", - }, - { - color: "white", - url: "https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwzfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", - }, - { - color: "white", - url: "https://images.unsplash.com/photo-1619441207978-3d326c46e2c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxMXx8c2NlbmVyeXxlbnwwfHx8fDE3MTMwNjM5MjJ8MA&ixlib=rb-4.0.3&q=80&w=1080", - }, + "https://r2.aspoem.com/neutral-card-bg/1.jpg", + "https://r2.aspoem.com/neutral-card-bg/2.jpg", + "https://r2.aspoem.com/neutral-card-bg/3.jpg", + "https://r2.aspoem.com/neutral-card-bg/4.jpg", + "https://r2.aspoem.com/neutral-card-bg/5.jpg", + "https://r2.aspoem.com/neutral-card-bg/6.jpg", + "https://r2.aspoem.com/neutral-card-bg/7.jpg", + "https://r2.aspoem.com/neutral-card-bg/8.jpg", + "https://r2.aspoem.com/neutral-card-bg/9.jpg", + "https://r2.aspoem.com/neutral-card-bg/10.jpg", + "https://images.unsplash.com/photo-1502758185688-8f322e06d0eb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8d2FsbHBhcGVyc3x8fHx8fDE3MTMwNjU1MDc&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1489619243109-4e0ea59cfe10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTA5MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1621849400072-f554417f7051?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTA3MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1535463731090-e34f4b5098c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTAzNg&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1500485035595-cbe6f645feb1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwzfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1619441207978-3d326c46e2c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxMXx8c2NlbmVyeXxlbnwwfHx8fDE3MTMwNjM5MjJ8MA&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1504803900752-c2051699d0e8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTE3MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1491147334573-44cbb4602074?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTE5Mw&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://images.unsplash.com/photo-1462216589242-9e3e00a47a48?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTIyMA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", ]; export default bgCardsImages; From d057dc57944ada50198937d1bc3b2ad2dd8dd122 Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 17:11:00 +0800 Subject: [PATCH 3/8] 1hour 50 --- package.json | 1 + pnpm-lock.yaml | 8 +++ src/app/create/gen-card/page.tsx | 2 +- src/app/demo/page.tsx | 18 ++++-- src/server/api/routers/other.ts | 2 +- src/utils/bg-card.ts | 98 ++++++++++++++++++++++++++++---- src/utils/unsplash.ts | 17 ++++++ 7 files changed, 128 insertions(+), 18 deletions(-) create mode 100644 src/utils/unsplash.ts diff --git a/package.json b/package.json index 2a60f32b..dab6b54d 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "tailwind-merge": "^2.2.0", "tailwindcss-animate": "^1.0.7", "tailwindcss-bg-patterns": "^0.3.0", + "unsplash-js": "^7.0.19", "zod": "^3.22.4" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b2cfc46..072a102d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -155,6 +155,9 @@ dependencies: tailwindcss-bg-patterns: specifier: ^0.3.0 version: 0.3.0(tailwindcss@3.4.0) + unsplash-js: + specifier: ^7.0.19 + version: 7.0.19 zod: specifier: ^3.22.4 version: 3.22.4 @@ -4536,6 +4539,11 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true + /unsplash-js@7.0.19: + resolution: {integrity: sha512-j6qT2floy5Q2g2d939FJpwey1yw/GpQecFiSouyJtsHQPj3oqmqq3K4rI+GF8vU1zwGCT7ZwIGQd2dtCQLjYJw==} + engines: {node: '>=10'} + dev: false + /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true diff --git a/src/app/create/gen-card/page.tsx b/src/app/create/gen-card/page.tsx index 03a83ac7..bfce4d7f 100644 --- a/src/app/create/gen-card/page.tsx +++ b/src/app/create/gen-card/page.tsx @@ -75,7 +75,7 @@ export default function GenCardPage() {
- {poems.map((item) => ( + {poems.map((item, i) => ( { + (async () => { + const res = await unsplash.photos.getRandom({ count: 100 }); + + const result = res.response as Random[]; - console.log(poem); + const urls = result.map((item) => item.urls.regular); + console.log(urls); + })(); + }); return
; } diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts index 8c11147b..7e690202 100644 --- a/src/server/api/routers/other.ts +++ b/src/server/api/routers/other.ts @@ -11,7 +11,7 @@ export const otherRouter = createTRPCRouter({ .query(async ({ ctx, input }) => { const where = { AND: [ - { tags: { some: { name: "五言绝句" } } }, + { tags: { some: { name: "七言律诗" } } }, { cards: { none: {} }, }, diff --git a/src/utils/bg-card.ts b/src/utils/bg-card.ts index daa197e6..f383c8e7 100644 --- a/src/utils/bg-card.ts +++ b/src/utils/bg-card.ts @@ -9,16 +9,94 @@ const bgCardsImages = [ "https://r2.aspoem.com/neutral-card-bg/8.jpg", "https://r2.aspoem.com/neutral-card-bg/9.jpg", "https://r2.aspoem.com/neutral-card-bg/10.jpg", - "https://images.unsplash.com/photo-1502758185688-8f322e06d0eb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8d2FsbHBhcGVyc3x8fHx8fDE3MTMwNjU1MDc&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1489619243109-4e0ea59cfe10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTA5MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1621849400072-f554417f7051?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTA3MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1535463731090-e34f4b5098c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTAzNg&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1500485035595-cbe6f645feb1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", - "https://images.unsplash.com/reserve/bOvf94dPRxWu0u3QsPjF_tree.jpg?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwzfHxzY2VuZXJ5fGVufDB8fHx8MTcxMzA2MzkyMnww&ixlib=rb-4.0.3&q=80&w=1080", - "https://images.unsplash.com/photo-1619441207978-3d326c46e2c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjUwMjd8MHwxfHNlYXJjaHwxMXx8c2NlbmVyeXxlbnwwfHx8fDE3MTMwNjM5MjJ8MA&ixlib=rb-4.0.3&q=80&w=1080", - "https://images.unsplash.com/photo-1504803900752-c2051699d0e8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTE3MA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1491147334573-44cbb4602074?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTE5Mw&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", - "https://images.unsplash.com/photo-1462216589242-9e3e00a47a48?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8TmF0dXJlfHx8fHx8MTcxMzA3OTIyMA&ixlib=rb-4.0.3&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080", + "https://source.unsplash.com/random/1080?wallpapers", + "https://images.unsplash.com/photo-1707494750832-48a457145d12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709408925583-a3c0e25b3a51?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709418334633-e7aa4c72d6ad?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710427273049-f72bb821a589?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710438399440-83452997ffd8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710743387063-f8f67e2abf81?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710875236077-24fdbe86b116?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880693354-45d67b9884b0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710936721263-e78ffbca7785?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710961716370-dfff65e2ba0c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711055549185-8c73549e9a8f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711066444208-432f9d4e6db4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711100360031-24aaccbcd408?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711284342369-f7ede43de6c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711322741681-4d65a5a657e8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711344209056-37639a63f70a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348264649-614275e5bc62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711450066296-1e8e008637ec?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711475312495-705611a9d52d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711735346434-ea3c23121b8f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834232251-3598861acff8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712172590812-70fd8ef6dea4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712173486904-5f149ee40dce?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712237730123-a7820b2739d7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712238645781-c4d9dbbe9b88?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313171623-5df9435ec12b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712433052182-18b9f0a93d12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712730923763-362d0da20b97?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712971696905-22d35c95c91b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1585327969772-17d7940f1a21?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1701888281398-5c5fff1748bd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709710223854-a71ea632a964?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710269388994-c31912df1d6f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710401518994-278c323610fb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710528925809-8f91d349283e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710631489357-820f1e123acb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710678832358-c1f3e85939c7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710692053101-739bfe9cf236?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710724267397-6a6e831826f9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710743387064-ca0cb9d77b11?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710840673642-3b191437f716?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880079976-0b838851c8c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710953548602-886f6725ece4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711000328044-d90e2b181b95?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711175016444-81c09e9e432f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711384552467-543d338e775b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711479613453-b67d6b7bf44e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711560708537-4c1985469c87?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711843250836-5d3869042f3d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712105052313-ae83f9c8cf7e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712251351568-1c56602c31aa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712312938983-676e2cdbb9d6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712365045252-e16924399921?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712404055147-cb0a3b50ea4b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712431768806-5b1c94fc0cf3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712514496282-6f3a73aff338?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712546852197-b279a870c926?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712939706371-c17a36bd3935?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ4MTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1665661494360-bee38eaf0f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705600958213-af097bb43791?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705684160069-fe7085c696f3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707407947418-fa6d4ca53319?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707419705861-db1b08dc36c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710267224267-6e17761926f0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710115929211-ae9646071f6b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710421871224-b5b3b935ba03?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710617703729-f13bf67118ac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710724267397-6a6e831826f9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711025372958-db48a4fe0ba1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711116179442-cb55d4416793?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711117205751-323ec1189b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711212113408-15b60b46be80?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711479874159-17f67dea4465?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834232269-cfb17a5cb2fe?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711843250701-00d9ceac7fca?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711907392527-4a895b190b61?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558286-c298d76faf1f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711972495282-5e6d32c97ac1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711972964934-1bfcee2945fc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712081024208-f04e1956d736?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712105052319-c900e970467a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712307642713-2e4d6dcc09de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712311953600-81354526ec28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712392753848-7921812a66b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712553515844-fceadd58fa57?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712830740437-50541b5f8c86?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712927172789-0efc8d22dedb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", ]; export default bgCardsImages; diff --git a/src/utils/unsplash.ts b/src/utils/unsplash.ts new file mode 100644 index 00000000..5201ffc5 --- /dev/null +++ b/src/utils/unsplash.ts @@ -0,0 +1,17 @@ +import { createApi } from "unsplash-js"; +import { type Random } from "unsplash-js/dist/methods/photos/types"; + +export const unsplash = createApi({ + accessKey: "gLWHfOhV8pF7J3Hj1_2GKHtpt0pAvFdTkkrMIMzj3Bg", +}); + +export const getRandom = async () => { + const res = await unsplash.photos.getRandom({ + count: 100, + collectionIds: ["wallpapers", "nature", "textures-patterns"], + }); + + const result = res.response as Random[]; + + return result.map((item) => item.urls.regular); +}; From 57d4341838b9f69d2efdcdcb74a5c76e164dfcec Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 20:39:29 +0800 Subject: [PATCH 4/8] bbb --- src/server/api/routers/other.ts | 2 +- src/utils/bg-card.ts | 60 +++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts index 7e690202..9aafb425 100644 --- a/src/server/api/routers/other.ts +++ b/src/server/api/routers/other.ts @@ -11,7 +11,7 @@ export const otherRouter = createTRPCRouter({ .query(async ({ ctx, input }) => { const where = { AND: [ - { tags: { some: { name: "七言律诗" } } }, + { tags: { some: { name: "五言律诗" } } }, { cards: { none: {} }, }, diff --git a/src/utils/bg-card.ts b/src/utils/bg-card.ts index f383c8e7..3f6d64ed 100644 --- a/src/utils/bg-card.ts +++ b/src/utils/bg-card.ts @@ -97,6 +97,66 @@ const bgCardsImages = [ "https://images.unsplash.com/photo-1712553515844-fceadd58fa57?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", "https://images.unsplash.com/photo-1712830740437-50541b5f8c86?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", "https://images.unsplash.com/photo-1712927172789-0efc8d22dedb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwODQ3OTB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705651460817-ebfa8c213979?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1708725596153-bdffff94d35b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709329735317-62d6fec43f8f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710248213192-990ce6b17ea1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710401518994-278c323610fb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710722960833-0d31cd3aeffb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710815331090-148d9948e020?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710839031473-27be50909585?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880694444-970aaf7e7f97?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710915207619-9d8355a2680a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711346254170-8ddc8c6ee786?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348264649-614275e5bc62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348270674-02bc8ac8673c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711409785043-17c7ae9ab8ff?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711559652900-51614fe511ef?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711639812944-ff9aacbdcd5a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711784595716-c09d9c8b192d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712011465435-e91cdad132ae?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712066243403-9a8721a971fc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712107063586-a282f12c3973?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712133312537-1b8aea626285?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712135595180-f3902e325574?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712375787673-b412be45f0b5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712420500469-5cfc10f16bac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712421579310-5b26f272f505?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712522358359-fc4367b2efa2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712621906678-bbc77fe63583?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712858267337-582e8afec8d5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712865323167-2931e83f7a62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712971724669-f300ac107c32?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1703566803155-77f13b111d90?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1703710421200-710fd821b9dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705600958213-af097bb43791?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706636605117-e9aadf5f9b08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709418334633-e7aa4c72d6ad?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709433157272-18e3517fb36a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710415273421-4d19cc02b839?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710445350875-00fec354614f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710475512346-82585f0e9a1d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710724267397-6a6e831826f9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710775338511-3766c13110b7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710788199174-847f04737b89?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710815007893-61778fa595ae?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710839031473-27be50909585?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880135356-3b7d6078a291?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880694382-e2b370885ae9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711065917747-e9570ba94c5f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711116178390-b01368ed353d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711117479774-5102ba0eee19?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711127263278-07edabd1990d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711284342423-71b98ba6109f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711634537178-87449f29c628?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711652520571-112beb00db36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711870002882-1e035baca726?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711926641543-a37d9a020571?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712148911339-f949daab8f6a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712246410613-534756bc002c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712262749797-44ba3b93c58f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712939703036-82c58bff2b29?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712971696833-e8f7cc4b80fd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", ]; export default bgCardsImages; From e22ccdd9fe0907002e9a776d282f292771b86a1e Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 22:05:05 +0800 Subject: [PATCH 5/8] default --- src/components/share/draw/default.tsx | 5 +- src/server/api/routers/other.ts | 2 +- src/utils/bg-card.ts | 451 ++++++++++++++++++++++++++ 3 files changed, 453 insertions(+), 5 deletions(-) diff --git a/src/components/share/draw/default.tsx b/src/components/share/draw/default.tsx index d23eff4c..17f65803 100644 --- a/src/components/share/draw/default.tsx +++ b/src/components/share/draw/default.tsx @@ -5,7 +5,6 @@ import { type Author, type Poem } from "@prisma/client"; import { random } from "lodash-es"; import { cn } from "~/utils"; -import bgCardsImages from "~/utils/bg-card"; interface Props { data: Poem & { author: Author }; @@ -31,8 +30,6 @@ const DrawDefaultPreview = (props: Props) => { const end = endRandom[random(0, endRandom.length - 1)] || 2; const content = contentTemp?.slice(end - 2, end) || []; - const image = bgCardsImages[random(0, bgCardsImages.length - 1)]!; - const Background = { color: "white", component: () => ( @@ -41,7 +38,7 @@ const DrawDefaultPreview = (props: Props) => { id="draw-share-card-bg" className="absolute left-0 right-0 top-0 aspect-[3/4] h-full backdrop-blur-none" style={{ - backgroundImage: `url(${image})`, + backgroundImage: `url(https://source.unsplash.com/random/1080)`, backgroundSize: "cover", }} /> diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts index 9aafb425..7e690202 100644 --- a/src/server/api/routers/other.ts +++ b/src/server/api/routers/other.ts @@ -11,7 +11,7 @@ export const otherRouter = createTRPCRouter({ .query(async ({ ctx, input }) => { const where = { AND: [ - { tags: { some: { name: "五言律诗" } } }, + { tags: { some: { name: "七言律诗" } } }, { cards: { none: {} }, }, diff --git a/src/utils/bg-card.ts b/src/utils/bg-card.ts index 3f6d64ed..74331334 100644 --- a/src/utils/bg-card.ts +++ b/src/utils/bg-card.ts @@ -157,6 +157,457 @@ const bgCardsImages = [ "https://images.unsplash.com/photo-1712262749797-44ba3b93c58f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", "https://images.unsplash.com/photo-1712939703036-82c58bff2b29?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", "https://images.unsplash.com/photo-1712971696833-e8f7cc4b80fd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMwOTgwODV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1637560701868-b9aabf2c8fce?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707108278001-c552993894b9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707407947418-fa6d4ca53319?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1708246117043-ffe28a9935b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710248213192-990ce6b17ea1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710488140458-e1757928a9f8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710535940607-d07d6826c324?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710630991610-798ddb7d0e20?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710743387064-ca0cb9d77b11?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710775715236-7abbac43ecb0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710814827467-9304f65da29b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710866566821-faec7d460f0e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976329659-7763e7dc5d4b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711166827048-d7e103af0869?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711181138064-43c2e2239a45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711214571270-dc3acb077df7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711299253466-1210aa039405?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711735346428-0ceae7ddb5ae?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231647-0c92a545b3e9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558634-a8aa796e6468?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711998059965-65be05f23e59?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712030863383-4d2beb0c951b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712230879699-e8a0a389da63?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712371962655-e012be1aa79d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712390288507-78167017a190?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712433052101-055a988678a9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712830740437-50541b5f8c86?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712858267337-582e8afec8d5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712876994319-300ca234cf2b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712939703036-82c58bff2b29?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1685028647245-aa3edbb61c45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707046369773-8c781712d079?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707147231430-7870dda96138?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTV8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707160038533-17251ac05234?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707419705861-db1b08dc36c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709634539435-f9fccaf0fda1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710269389244-00268547a457?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710438399422-2fca27686bcd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710438641275-1b1512304344?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710520353183-52bf7769a82a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710587385034-c9fc2889eabc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710705283237-9570202e4106?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710775715236-7abbac43ecb0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710781189469-55afea4e6bcd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710973156816-becb2c7288eb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976158797-1ef72de31ef1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711322741663-fccbe9a5d8c6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711324527699-40468d0cb7c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348263557-37b13ae668cb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711463648289-e5ffe934088a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711466338988-e6dd163339e4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711649116501-b7e7f0ab49bf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711654106922-f44ee5df26ba?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711816769781-0a8194f44399?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711924847907-498771a92bde?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711950904932-0e800a0d58b4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712079679970-bb45e9ef5b2a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712222237160-a4a3d6be5e1c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712237309247-d1d9bb79d346?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712309841825-e43a3a974d79?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDAwNTZ8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1698240596076-3ca4ed0179ab?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705684160069-fe7085c696f3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1708058885067-ed3b3c2cab9c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710269388985-3cca94411981?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710270822125-6614bd66311f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710362921917-2e33bb342a23?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710421871838-029427bed6b4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710435389932-ca1bf85e3e45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710815183521-26b386e2262f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710869909192-52efcacee8b6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880079976-0b838851c8c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976158797-1ef72de31ef1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976044733-70aea015751a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711126478084-e922f4812ea0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711141731900-cf32bf6f94f4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711619034404-665a4bc6dcd3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711635589694-dc86f82d0623?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711638241167-796a782bd3f4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711639105861-f55ef78adc51?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711677371551-1c65c61ab5d8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711809657132-fa38bf2ac5e7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231479-5f6d4556d6f3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711870002882-1e035baca726?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711919880500-ffe6a4bbf4af?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711950903476-cc92274c0f12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711997632197-e09b5c59605d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712309841831-de0aae29503a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313717935-44f432938c5c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712419256466-6e69c1fa9d34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712620379318-75c1b863ae0a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1699959560616-aa17ace76879?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1700981293090-f78b500fc92c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707494750832-48a457145d12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710068145544-bafca57baf58?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710292036904-3dc60dd14e53?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710630991610-798ddb7d0e20?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710668621279-93ad2a917b82?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710678832358-c1f3e85939c7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710878872223-9beab35c04fc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711116179442-cb55d4416793?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711322741681-4d65a5a657e8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711322741735-bab4eeaf26db?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711324527699-40468d0cb7c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711450066296-1e8e008637ec?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711476326429-3b3e6083fd54?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711639270142-e1e181749333?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711700609425-0f18938cbd2c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711735346390-d6d2ee7f7d59?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711832405810-5f32903a37b9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834232251-41a626d4594f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231789-8cfd67aca486?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711873314750-39f3b0d45f09?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711989119907-9bff02207244?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712093828214-0b74bf899528?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712107063360-ae4b549f6750?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712187466004-c64b4571828b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712238523530-72e984d0e736?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712243754269-35369d9ef28a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712307642713-2e4d6dcc09de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313498056-1feb70bd6999?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA0MjR8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1693572774544-bbca04f96800?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706403877470-7d7e58e95b18?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707197066254-dafd518903f3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707494966495-a2cc8c1dac1f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707909820111-59a53de32e0a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710067958448-9c17cd407df9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710096922392-b583882b6e48?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710120803935-1f3a6e2beed1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710172510079-9a1703c3fd05?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710352254343-ada197035dd4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710390916960-3047fcdf561e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710411830867-f733603672f0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710667069063-55d8afe19014?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710775694428-5f6e66ae6a4c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710975090629-118845a3f848?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711313525588-c4b9f3ef4847?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711419396807-54a5110e8311?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711448162589-3f73e2826131?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711539925041-c94ababfb763?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711619034500-8f562ce7bf4f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711641420780-658d136f2b64?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231667-c72024fd13b0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711900197142-b0733129bf12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711989063682-4d8298bd75a5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712233698587-0fcf4b2457dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712237309247-d1d9bb79d346?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712237730123-a7820b2739d7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712307642713-2e4d6dcc09de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712481852342-61a8b486edac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712971404210-658cb22c84fe?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5MzB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1585327969772-17d7940f1a21?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1621885688237-f5c78451face?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706403877470-7d7e58e95b18?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710621647214-091e2ad370bb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710664416954-3f4f088a2f12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710775694428-5f6e66ae6a4c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710815331090-148d9948e020?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710931045477-845049a0b4f2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710942499889-71f233dae342?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711014476933-5a064094136b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711100360031-24aaccbcd408?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711122870436-18bb64d24f67?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711284342423-71b98ba6109f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711343959870-ede122982777?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711550184194-71c7b6a1879d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711635589694-dc86f82d0623?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711639140843-3b9acf88a6a9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711699486799-901668a8d720?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711950904932-0e800a0d58b4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711989119907-9bff02207244?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711994016947-b9089f433d6c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711994017317-248a53304fa7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712105052316-b929d9fd5395?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712107063360-ae4b549f6750?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712107062961-4a758df77267?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712111841532-fe0661e0c985?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712260703244-c749dbd3f913?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712460842725-f1c9b3ad5a1e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712481852342-61a8b486edac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712521635295-06c9d1e3e966?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5Mjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1634848577969-bc28ee71ffc1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1704159498384-8566c54bfbad?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1705667042283-753349b4e0d0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707147231430-7870dda96138?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1708819250631-bb426d85c3a7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709864627567-709cfd821c80?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710120803935-1f3a6e2beed1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710156348905-0f632a11ce3a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710573274483-38f75804e74f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710701446907-b3681c6f69a5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710722785769-f0dae5fe9b0c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710912520816-0566e879d526?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711064644461-e8607629e20e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711276320112-3c98a8f6be15?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711427685838-b666ee341bb9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711450066296-1e8e008637ec?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711539924968-81d3382a85d9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711735346434-ea3c23121b8f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712015245072-11b32806e4f7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712148910924-67b6b233e2fa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712162730378-4c74d4de6275?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712262825804-54f74e7caa7a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712309841825-e43a3a974d79?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313197947-404fa28723cf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712311779578-9f25127cdd20?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712481852342-61a8b486edac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712546852197-b279a870c926?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712554652565-7c8bf2052e05?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712650799524-1f288e737a8e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712675670807-f925abe035b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDA5NjN8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1623300834538-538d044aff3e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707494750832-48a457145d12?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710065007570-1c729aeadc5c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710170601257-242514895755?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710172510134-b77b8fb44ea2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710415273471-24431054c4da?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710505293699-a98ba8cb830a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710677742831-e144db07f684?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710695174960-59026cbac187?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710705283237-9570202e4106?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880694382-e2b370885ae9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976064541-23e5fcfd5c03?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711343959870-ede122982777?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711419397450-476643e9020a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711419396797-2fb133e5938e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711498102411-2aa47cf44f3b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711560526268-ce1ad10ed3a5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711741509711-2b460601b67a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711873314750-39f3b0d45f09?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968267738-e449cae79ffa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711989063682-4d8298bd75a5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711998060866-aaaf9ad9fd08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712009508464-8a41723abf63?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712081024194-bd8d6af8fd68?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712100596750-f5a184222206?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712151878836-ff60e8c6e3cb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712229307272-5cbb18c96f94?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712309841831-de0aae29503a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712514496282-6f3a73aff338?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712767874160-ce7e4862efcf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1699192325371-191fb2feb856?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706670542491-61eeb26510de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710115129740-e882eb8c9e55?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710267224216-8eced3320dac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710292036904-3dc60dd14e53?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710349749007-749f8e066d2b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710432157519-e437027d2e8f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710537433029-1eba14443ced?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710687084307-9a2b55b2b690?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710701446907-b3681c6f69a5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880694612-0873214c30b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710897537603-1d843cea6d5a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711058539738-48ff6b5e890a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711307391537-e45eb85eac5a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711419397450-476643e9020a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711419396807-54a5110e8311?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711499936918-f89154f501af?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711669326598-1edabde24845?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231479-5f6d4556d6f3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711843250832-404dae8ff71d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711964180043-19111f068151?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712007157701-285a83d4e180?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712100596750-f5a184222206?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712230879699-e8a0a389da63?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712324014968-018a63a4d0e8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712515331670-4dcaee1fbf76?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712730923763-362d0da20b97?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712876718842-5b7d59ad453b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712939706371-c17a36bd3935?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712992510624-3bb00e23fe76?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDEzMzd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1620163280053-68782bd98475?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1703710421200-710fd821b9dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1704159498384-8566c54bfbad?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706670542491-61eeb26510de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707259446264-15fb21de160a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709408925583-a3c0e25b3a51?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710115929211-ae9646071f6b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710435389932-ca1bf85e3e45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710441807299-6b5d94ece918?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710505293699-a98ba8cb830a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710594935133-17e492868934?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710595638861-a6f9680649b6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710671544323-8e448efa283e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711211095357-076c9784660d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711343959870-ede122982777?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711364081618-3f511c2c24b0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711470053377-bdd52fdba484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711479613453-b67d6b7bf44e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711926641543-a37d9a020571?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558286-c298d76faf1f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712086353403-54a24887e74f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712100596750-f5a184222206?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712106313076-74202fd45168?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712238501880-2e4efd062211?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712390288507-78167017a190?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712404055147-cb0a3b50ea4b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712679408447-3245b6bc7c16?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712876718842-5b7d59ad453b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712913909212-a2c847aa62c4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712913909231-5719dd9b60c9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1703710421200-710fd821b9dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707811179851-c1f93698ad46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707909820111-59a53de32e0a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710267224190-39b059315983?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710302122056-a4fd87c037d6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710415273379-741f889cbf65?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710490149825-9b3e978de5c4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710598586964-77602da09d41?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710724267399-814903fc2b99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710749093526-37ca54c8f898?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710781403938-5a29304f37ca?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710900791793-487f655010f7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710936721263-e78ffbca7785?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711058539696-75d41199ef10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711058852538-c0940b5514f4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711064643485-c3039d067839?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711117479067-584465e4466a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711139279274-ddff5036591a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711451891877-6b3d025991cf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711638241167-796a782bd3f4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711654106922-f44ee5df26ba?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231667-c72024fd13b0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711841004578-4962bde9bc3f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711873314750-39f3b0d45f09?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711881380520-7a60253500a3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558613-9b1d13842073?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712145078397-63fd09bd4929?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712232031134-7b2ce78d5713?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712475795499-169672690493?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712858260539-c5c91c1b4e7e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDE2MDB8&ixlib=rb-4.0.3&q=80&w=1080", + + "https://images.unsplash.com/photo-1705403457444-40fad62e5a93?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1706026803368-d84389566a80?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709238672317-9464e3d278e2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710248213192-990ce6b17ea1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710267224267-6e17761926f0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710441970901-c9c2ae39a77c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710631292664-481aa3b59000?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710678832358-c1f3e85939c7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710814827467-9304f65da29b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880135030-6e8c223059e2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710897538265-93ca0abac2ff?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710921537826-0610b2ed367a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710945516665-1ad57a6b9ffc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710973087171-f697e4508567?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710975090629-118845a3f848?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711018325494-f28018d20abb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711109631629-0069d97a5260?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711117479774-5102ba0eee19?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711139279274-ddff5036591a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711451891877-6b3d025991cf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711619034500-8f562ce7bf4f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711652520571-112beb00db36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711809657132-fa38bf2ac5e7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711937854860-ba537cf39e6a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558634-a8aa796e6468?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712068944613-1ff36db16612?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712074228235-cc1fa4e4070f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313197947-404fa28723cf?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712460842246-0a79c9bd48e7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712481851887-755715d76b3c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1708246117043-ffe28a9935b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709828593320-8af956395dd1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709895353959-5e170f933758?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710362921917-2e33bb342a23?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710587384835-0f3de33d8042?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710599901865-0506a7cf062e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710754414281-926e22cf96e9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710780929995-077b959febdd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710795290935-222baae9b9b4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710827987880-e3708bad51d2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710878175684-552dabbd6be1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710880136758-2ff41504dd3a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710942022032-7e812daf8cf5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710958607983-204d60423b2a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711116179078-7daa4e415701?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711126056288-da66a36bed7f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711798715738-edd6ab06226a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711818994017-245155017fa4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834231901-61c11a20ea51?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558539-1bcc5b6222db?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558532-875818b3af09?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711998049217-85ba356fc4c2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712079679970-bb45e9ef5b2a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712105052319-c900e970467a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712107063586-a282f12c3973?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712146545492-3a4435277ed2?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712371962655-e012be1aa79d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712499930438-4fe3a61dc543?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712512161479-3d78afd4d2ce?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712865323167-2931e83f7a62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDIwMjl8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707419705861-db1b08dc36c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707811179851-c1f93698ad46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1709710223854-a71ea632a964?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710267224267-6e17761926f0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710336723033-bfae8216b139?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710587385309-f264b4d503cd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710724267397-6a6e831826f9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710743387063-f8f67e2abf81?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710909664014-905cd4a983a9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710942130622-ac9b80331ae4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710958695511-5b0242e6868c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976329404-eec2c5ac02e4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711026964454-c7729453cba0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711070044430-e0059009db10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711313525588-c4b9f3ef4847?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711319551857-9108cbd44e71?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711469627777-6b7ba83dce05?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711498102411-2aa47cf44f3b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711559652900-51614fe511ef?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711627295683-d73c279604f7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711968558568-6b01c230da45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712174766230-cb7304feaafe?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712372271755-d52f636fed93?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712392753848-7921812a66b3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712478014290-f17c41a61d52?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712481852342-61a8b486edac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712512161668-ff1651e40c6a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712672162815-c4cca99b27f1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712846040326-a3d06c0b1667?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712858183083-58da01a7853e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTh8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1700908609253-a10cd40d9505?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1703710421200-710fd821b9dd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707160038533-17251ac05234?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1707229219459-03dd69961ab0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710261411758-db1523b6143f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710286124248-0f0a49dd460e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710336723033-bfae8216b139?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710617703729-f13bf67118ac?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710621665220-68b5deec87f8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710743385031-c281b779d125?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710866566821-faec7d460f0e?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710961716370-dfff65e2ba0c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1710976329277-ab5c3e57d8a9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711343959870-ede122982777?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348264649-614275e5bc62?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711348270674-02bc8ac8673c?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711376330637-a23fb3b495fd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711409785043-17c7ae9ab8ff?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711426793036-cc10917d34a9?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711451524902-62c00958541b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711499972674-1521ebb6c170?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711510092449-34a35e56e847?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834232269-cfb17a5cb2fe?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711834232251-3598861acff8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1711987892390-411c3d63b7e7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712251351568-1c56602c31aa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712313498056-1feb70bd6999?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712315481738-a77f7f78f2cb?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712339793959-f4787f04c6c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", + "https://images.unsplash.com/photo-1712364918385-24f65c8a54b1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NDY4NTZ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3MTMxMDI4OTd8&ixlib=rb-4.0.3&q=80&w=1080", ]; export default bgCardsImages; From 2d1655d5af80b0c1e96a0bb38ec08526da96c711 Mon Sep 17 00:00:00 2001 From: meetqy Date: Sun, 14 Apr 2024 22:37:32 +0800 Subject: [PATCH 6/8] add unsplash --- .env.example | 3 +++ src/app/create/gen-card/page.tsx | 7 ++++--- src/components/share/draw/default.tsx | 8 ++++++-- src/server/api/routers/other.ts | 12 +++++++++--- src/utils/unsplash.ts | 22 +++++++++++++--------- 5 files changed, 35 insertions(+), 17 deletions(-) diff --git a/.env.example b/.env.example index 92cb0851..603b8a97 100644 --- a/.env.example +++ b/.env.example @@ -13,3 +13,6 @@ GA_ID="xxx" # microsoft-clarity-id MC_ID="xxx" +# UNSPLASH ACCESS KEY +UNSPLASH_ACCESS_KEY=" + diff --git a/src/app/create/gen-card/page.tsx b/src/app/create/gen-card/page.tsx index bfce4d7f..cba830f9 100644 --- a/src/app/create/gen-card/page.tsx +++ b/src/app/create/gen-card/page.tsx @@ -18,9 +18,9 @@ export default function GenCardPage() { if (!data) return
loading...
; - const { data: poems, total } = data; + const { data: poems, urls, pageCount } = data; - const totalPage = Math.ceil(total / 100); + if (!urls) return
loading...
; const download = async (id: number) => { const card = document.getElementById(`draw-share-card-${id}`); @@ -63,7 +63,7 @@ export default function GenCardPage() {
- {new Array(totalPage).fill(0).map((_, index) => ( + {new Array(pageCount).fill(0).map((_, index) => (
- aspoem + aspoem
); diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts index 7e690202..cbb57aa1 100644 --- a/src/server/api/routers/other.ts +++ b/src/server/api/routers/other.ts @@ -1,23 +1,27 @@ import { z } from "zod"; import { createTRPCRouter, publicProcedure } from "../trpc"; +import { getRandom } from "~/utils/unsplash"; export const otherRouter = createTRPCRouter({ getGenCard: publicProcedure .input( z.object({ page: z.number().default(1), + tagName: z.string().default("七言律诗"), }), ) .query(async ({ ctx, input }) => { const where = { AND: [ - { tags: { some: { name: "七言律诗" } } }, + { tags: { some: { name: input.tagName } } }, { cards: { none: {} }, }, ], }; + const urls = await getRandom(); + const result = await ctx.db.poem.findMany({ where, include: { @@ -26,8 +30,8 @@ export const otherRouter = createTRPCRouter({ orderBy: { id: "asc", }, - skip: (input.page - 1) * 100, - take: 100, + skip: (input.page - 1) * 30, + take: 30, }); const count = await ctx.db.poem.count({ @@ -37,6 +41,8 @@ export const otherRouter = createTRPCRouter({ return { data: result, total: count, + urls, + pageCount: Math.ceil(count / 30), }; }), }); diff --git a/src/utils/unsplash.ts b/src/utils/unsplash.ts index 5201ffc5..6f253e86 100644 --- a/src/utils/unsplash.ts +++ b/src/utils/unsplash.ts @@ -1,17 +1,21 @@ import { createApi } from "unsplash-js"; import { type Random } from "unsplash-js/dist/methods/photos/types"; -export const unsplash = createApi({ - accessKey: "gLWHfOhV8pF7J3Hj1_2GKHtpt0pAvFdTkkrMIMzj3Bg", -}); +export const unsplash = + process.env.UNSPLASH_ACCESS_KEY && + createApi({ + accessKey: process.env.UNSPLASH_ACCESS_KEY, + }); export const getRandom = async () => { - const res = await unsplash.photos.getRandom({ - count: 100, - collectionIds: ["wallpapers", "nature", "textures-patterns"], - }); + if (unsplash) { + const res = await unsplash.photos.getRandom({ + count: 30, + collectionIds: ["wallpapers", "nature", "textures-patterns"], + }); - const result = res.response as Random[]; + const result = res.response as Random[]; - return result.map((item) => item.urls.regular); + return result.map((item) => item.urls.regular); + } }; From 93f2f93eb43a00476adc09e8e136b317095cd764 Mon Sep 17 00:00:00 2001 From: meetqy Date: Mon, 15 Apr 2024 10:40:01 +0800 Subject: [PATCH 7/8] ok --- package.json | 1 + pnpm-lock.yaml | 15 ++++ prisma/schema.prisma | 1 + src/app/create/gen-card/page.tsx | 101 +++++++++++++++----------- src/app/create/poem/page.tsx | 5 +- src/components/share/draw/default.tsx | 4 +- src/server/api/root.ts | 4 +- src/server/api/routers/card.ts | 80 ++++++++++++++++++++ src/server/api/routers/other.ts | 48 ------------ 9 files changed, 165 insertions(+), 94 deletions(-) create mode 100644 src/server/api/routers/card.ts delete mode 100644 src/server/api/routers/other.ts diff --git a/package.json b/package.json index dab6b54d..b4278a15 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "tailwind-merge": "^2.2.0", "tailwindcss-animate": "^1.0.7", "tailwindcss-bg-patterns": "^0.3.0", + "uid": "^2.0.2", "unsplash-js": "^7.0.19", "zod": "^3.22.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 072a102d..5decdb57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -155,6 +155,9 @@ dependencies: tailwindcss-bg-patterns: specifier: ^0.3.0 version: 0.3.0(tailwindcss@3.4.0) + uid: + specifier: ^2.0.2 + version: 2.0.2 unsplash-js: specifier: ^7.0.19 version: 7.0.19 @@ -380,6 +383,11 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@lukeed/csprng@1.1.0: + resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} + engines: {node: '>=8'} + dev: false + /@next/env@14.0.4: resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} dev: false @@ -4526,6 +4534,13 @@ packages: engines: {node: '>=14.17'} hasBin: true + /uid@2.0.2: + resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==} + engines: {node: '>=8'} + dependencies: + '@lukeed/csprng': 1.1.0 + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b605d3ce..134639ab 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -47,6 +47,7 @@ model Poem { model Card { id Int @id @default(autoincrement()) + url String @unique createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt poem Poem @relation(fields: [poemId], references: [id]) diff --git a/src/app/create/gen-card/page.tsx b/src/app/create/gen-card/page.tsx index cba830f9..45bccd6c 100644 --- a/src/app/create/gen-card/page.tsx +++ b/src/app/create/gen-card/page.tsx @@ -5,22 +5,63 @@ import { useState } from "react"; import DrawDefaultPreview from "~/components/share/draw/default"; import { Button } from "~/components/ui/button"; import { api } from "~/trpc/react"; +import { uid } from "uid"; +import { useSearchParams } from "next/navigation"; +import { type Author } from "@prisma/client"; + +interface Props { + poems: { id: number; author: Author; title: string; content: string }[]; + urls: string[]; +} export default function GenCardPage() { const [page, setPage] = useState(1); + const params = useSearchParams(); + const token = params.get("token") ?? ""; - const { data } = api.other.getGenCard.useQuery( - { page }, - { - refetchOnWindowFocus: false, - }, + const { data } = api.card.getGenerateCard.useQuery( + { page, token }, + { refetchOnWindowFocus: false }, ); - if (!data) return
loading...
; + if (!data) return null; + const { data: poems, pageCount, urls } = data; + if (!urls) return null; - const { data: poems, urls, pageCount } = data; + return ( +
+

生成卡片

+
+ - if (!urls) return
loading...
; +
+ {new Array(pageCount).fill(0).map((_, index) => ( + + ))} +
+
+
+ {poems.map((item, i) => ( + + ))} +
+
+ ); +} + +const GenCard = ({ poems, token }: Props & { token: string }) => { + const cardMutation = api.card.createCardItem.useMutation(); const download = async (id: number) => { const card = document.getElementById(`draw-share-card-${id}`); @@ -37,14 +78,21 @@ export default function GenCardPage() { }, }); - // download blob if (!blob) return; + const name = `${id}-${uid()}`; + const url = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = url; - a.download = id + ".png"; + a.download = `${name}.png`; a.click(); + + await cardMutation.mutateAsync({ + token, + url: name, + poemId: id, + }); } catch (e) { console.error(e); } @@ -56,34 +104,5 @@ export default function GenCardPage() { } }; - return ( -
-

生成卡片

-
- - -
- {new Array(pageCount).fill(0).map((_, index) => ( - - ))} -
-
-
- {poems.map((item, i) => ( - - ))} -
-
- ); -} + return ; +}; diff --git a/src/app/create/poem/page.tsx b/src/app/create/poem/page.tsx index 50eb9501..7e411e5e 100644 --- a/src/app/create/poem/page.tsx +++ b/src/app/create/poem/page.tsx @@ -16,6 +16,7 @@ import { SelectValue, } from "~/components/ui/select"; import { convertToHans, convertToHant } from "~/utils/convert"; +import { type Author, type Poem, type Tag } from "@prisma/client"; export default function CreatePage() { const utils = api.useUtils(); @@ -32,7 +33,7 @@ export default function CreatePage() { pageSize: 9999, }); - const { data: poem } = api.poem.findById.useQuery( + const { data: poemT } = api.poem.findById.useQuery( { id: Number(id), }, @@ -41,6 +42,8 @@ export default function CreatePage() { }, ); + const poem = poemT as Poem & { author: Author; tags: Tag[] }; + const [keyword, setKeyword] = useState(""); // 作者 diff --git a/src/components/share/draw/default.tsx b/src/components/share/draw/default.tsx index 2484ae09..a2a6512a 100644 --- a/src/components/share/draw/default.tsx +++ b/src/components/share/draw/default.tsx @@ -2,12 +2,12 @@ /* eslint-disable @next/next/no-img-element */ "use client"; -import { type Author, type Poem } from "@prisma/client"; +import { type Author } from "@prisma/client"; import { random } from "lodash-es"; import { cn } from "~/utils"; interface Props { - data: Poem & { author: Author }; + data: { author: Author; content: string; title: string; id: number }; className?: string; style?: React.CSSProperties; id?: string; diff --git a/src/server/api/root.ts b/src/server/api/root.ts index 89e5f74e..f05ed393 100644 --- a/src/server/api/root.ts +++ b/src/server/api/root.ts @@ -2,7 +2,7 @@ import { createTRPCRouter } from "~/server/api/trpc"; import { tagRouter } from "./routers/tag"; import { authorRouter } from "./routers/author"; import { poemRouter } from "./routers/poem"; -import { otherRouter } from "./routers/other"; +import { cardRouter } from "./routers/card"; /** * This is the primary router for your server. @@ -13,7 +13,7 @@ export const appRouter = createTRPCRouter({ author: authorRouter, tag: tagRouter, poem: poemRouter, - other: otherRouter, + card: cardRouter, }); // export type definition of API diff --git a/src/server/api/routers/card.ts b/src/server/api/routers/card.ts new file mode 100644 index 00000000..e4a41267 --- /dev/null +++ b/src/server/api/routers/card.ts @@ -0,0 +1,80 @@ +import { z } from "zod"; +import { createTRPCRouter, publicProcedure } from "../trpc"; +import { getRandom } from "~/utils/unsplash"; + +export const cardRouter = createTRPCRouter({ + /** + * 获取需要生成 Card 的诗词 + */ + getGenerateCard: publicProcedure + .input( + z.object({ + token: z.string(), + page: z.number().default(1), + tagName: z.string().default("七言律诗"), + }), + ) + .query(async ({ ctx, input }) => { + if (input.token !== process.env.TOKEN) { + throw new Error("token error"); + } + + const where = { + AND: [ + { tags: { some: { name: input.tagName } } }, + { + cards: { none: {} }, + }, + ], + }; + + const [result, count, urls] = await Promise.all([ + ctx.db.poem.findMany({ + where, + select: { + author: true, + id: true, + content: true, + title: true, + }, + orderBy: { + id: "asc", + }, + skip: (input.page - 1) * 30, + take: 30, + }), + ctx.db.poem.count({ + where, + }), + getRandom(), + ]); + + return { + data: result, + total: count, + urls, + pageCount: Math.ceil(count / 30), + }; + }), + + createCardItem: publicProcedure + .input( + z.object({ + token: z.string(), + poemId: z.number(), + url: z.string(), + }), + ) + .mutation(async ({ ctx, input }) => { + if (input.token !== process.env.TOKEN) { + throw new Error("token error"); + } + + return ctx.db.card.create({ + data: { + poemId: input.poemId, + url: input.url, + }, + }); + }), +}); diff --git a/src/server/api/routers/other.ts b/src/server/api/routers/other.ts deleted file mode 100644 index cbb57aa1..00000000 --- a/src/server/api/routers/other.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { z } from "zod"; -import { createTRPCRouter, publicProcedure } from "../trpc"; -import { getRandom } from "~/utils/unsplash"; - -export const otherRouter = createTRPCRouter({ - getGenCard: publicProcedure - .input( - z.object({ - page: z.number().default(1), - tagName: z.string().default("七言律诗"), - }), - ) - .query(async ({ ctx, input }) => { - const where = { - AND: [ - { tags: { some: { name: input.tagName } } }, - { - cards: { none: {} }, - }, - ], - }; - - const urls = await getRandom(); - - const result = await ctx.db.poem.findMany({ - where, - include: { - author: true, - }, - orderBy: { - id: "asc", - }, - skip: (input.page - 1) * 30, - take: 30, - }); - - const count = await ctx.db.poem.count({ - where, - }); - - return { - data: result, - total: count, - urls, - pageCount: Math.ceil(count / 30), - }; - }), -}); From 700f5d5c2e260301eb9b49023b12def7f2f43a29 Mon Sep 17 00:00:00 2001 From: meetqy Date: Mon, 15 Apr 2024 11:07:54 +0800 Subject: [PATCH 8/8] type --- src/app/[lang]/poem/[id]/page.tsx | 3 +-- src/app/create/poem-en/page.tsx | 2 +- src/app/demo/page.tsx | 20 -------------------- src/app/demo/share-card/page.tsx | 4 ++-- src/server/api/routers/poem.ts | 23 +++++++++++++++++------ 5 files changed, 21 insertions(+), 31 deletions(-) delete mode 100644 src/app/demo/page.tsx diff --git a/src/app/[lang]/poem/[id]/page.tsx b/src/app/[lang]/poem/[id]/page.tsx index 0cb8c12b..9116c1cb 100644 --- a/src/app/[lang]/poem/[id]/page.tsx +++ b/src/app/[lang]/poem/[id]/page.tsx @@ -21,7 +21,6 @@ import { getPoemTitle } from "./utils"; import { Body } from "./components/body"; import { More } from "./components/more"; import { getDictionary, type Locale } from "~/dictionaries"; -import { type Author, type Poem, type Tag } from "@prisma/client"; import "./index.css"; const GoFeedback = dynamic(() => import("./go-feedback"), { ssr: false }); @@ -59,7 +58,7 @@ const getItem = cache(async ({ id, lang }: Props["params"]) => { notFound(); } - return poem as Poem & { author: Author } & { tags: Tag[] }; + return poem; }); export const revalidate = 3600; diff --git a/src/app/create/poem-en/page.tsx b/src/app/create/poem-en/page.tsx index 7c084fe4..c5fd53ec 100644 --- a/src/app/create/poem-en/page.tsx +++ b/src/app/create/poem-en/page.tsx @@ -12,7 +12,7 @@ export default function CreatePage() { const router = useRouter(); const id = params.get("id") ?? ""; - const { data: poem } = api.poem.findById.useQuery( + const { data: poem } = api.poem.findByIdSelected.useQuery( { id: Number(id), selected: ["translation_en"], diff --git a/src/app/demo/page.tsx b/src/app/demo/page.tsx deleted file mode 100644 index fdfc7be9..00000000 --- a/src/app/demo/page.tsx +++ /dev/null @@ -1,20 +0,0 @@ -"use client"; - -import { useEffect } from "react"; -import { Random } from "unsplash-js/dist/methods/photos/types"; -import { unsplash } from "~/utils/unsplash"; - -export default function Page() { - useEffect(() => { - (async () => { - const res = await unsplash.photos.getRandom({ count: 100 }); - - const result = res.response as Random[]; - - const urls = result.map((item) => item.urls.regular); - console.log(urls); - })(); - }); - - return
; -} diff --git a/src/app/demo/share-card/page.tsx b/src/app/demo/share-card/page.tsx index bf4a855a..775ff7dc 100644 --- a/src/app/demo/share-card/page.tsx +++ b/src/app/demo/share-card/page.tsx @@ -2,9 +2,9 @@ import { api } from "~/trpc/react"; import { random } from "lodash-es"; -import SaveShareButton from "~/app/[lang]/poem/[id]/components/share"; -import DrawDefaultPreview from "~/app/[lang]/poem/[id]/components/share/draw/default"; import bgCardsImages from "~/utils/bg-card"; +import SaveShareButton from "~/components/share"; +import DrawDefaultPreview from "~/components/share/draw/default"; export default function Page() { const { data } = api.poem.findById.useQuery( diff --git a/src/server/api/routers/poem.ts b/src/server/api/routers/poem.ts index 22dd4ae5..d672f43b 100644 --- a/src/server/api/routers/poem.ts +++ b/src/server/api/routers/poem.ts @@ -3,7 +3,6 @@ import { z } from "zod"; import { createTRPCRouter, publicProcedure } from "~/server/api/trpc"; import { LangZod, transformPoem, transformTag } from "../utils"; import { splitChineseSymbol } from "~/utils"; -import { pick } from "lodash-es"; export const poemRouter = createTRPCRouter({ count: publicProcedure.query(({ ctx }) => ctx.db.poem.count()), @@ -271,7 +270,6 @@ export const poemRouter = createTRPCRouter({ z.object({ id: z.number(), lang: LangZod, - selected: z.array(z.enum(["translation_en"])).optional(), }), ) .query(async ({ input, ctx }) => { @@ -338,12 +336,25 @@ export const poemRouter = createTRPCRouter({ } } - if (input.selected) { - return pick(res, input.selected); - } - return transformPoem(res, input.lang); }), + + findByIdSelected: publicProcedure + .input( + z.object({ + id: z.number(), + selected: z.array(z.enum(["translation_en"])).default([]), + }), + ) + .query(async ({ input, ctx }) => { + return ctx.db.poem.findUnique({ + where: { id: input.id }, + select: { + id: true, + translation_en: input.selected.includes("translation_en"), + }, + }); + }), /** * 创建诗词 */