Add placeholder shop previews for Starlit Night and Mystic Forest.
Simple SVG thumbnails at /shop/room-night.svg and /shop/room-forest.svg.
This commit is contained in:
@@ -70,9 +70,18 @@ function ShopItemCard({
|
|||||||
<Card className="flex h-full flex-col overflow-hidden">
|
<Card className="flex h-full flex-col overflow-hidden">
|
||||||
<CardContent className="flex h-full flex-col gap-3 p-3">
|
<CardContent className="flex h-full flex-col gap-3 p-3">
|
||||||
<div className="flex min-w-0 items-start gap-3">
|
<div className="flex min-w-0 items-start gap-3">
|
||||||
<div className="flex size-12 shrink-0 items-center justify-center border-2 border-border bg-zinc-950/80 p-1">
|
<div className="flex size-12 shrink-0 items-center justify-center overflow-hidden border-2 border-border bg-zinc-950/80 p-1">
|
||||||
{room ? (
|
{room ? (
|
||||||
|
item.image_path ? (
|
||||||
|
// eslint-disable-next-line @next/next/no-img-element
|
||||||
|
<img
|
||||||
|
src={item.image_path}
|
||||||
|
alt=""
|
||||||
|
className="size-full object-cover"
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
<div className={cn("size-full", room.previewClassName)} />
|
<div className={cn("size-full", room.previewClassName)} />
|
||||||
|
)
|
||||||
) : (
|
) : (
|
||||||
<TintedSpriteIcon
|
<TintedSpriteIcon
|
||||||
src={item.image_path}
|
src={item.image_path}
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ export function getShopRoomBackgrounds() {
|
|||||||
|
|
||||||
price: room.id === "room-night" ? 40 : 50,
|
price: room.id === "room-night" ? 40 : 50,
|
||||||
|
|
||||||
image_path: "",
|
image_path: room.id === "room-night" ? "/shop/room-night.svg" : "/shop/room-forest.svg",
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
14
public/shop/room-forest.svg
Normal file
14
public/shop/room-forest.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="forest-sky" x1="0" y1="0" x2="0" y2="1">
|
||||||
|
<stop offset="0%" stop-color="#064e3b"/>
|
||||||
|
<stop offset="50%" stop-color="#14532d"/>
|
||||||
|
<stop offset="100%" stop-color="#052e16"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<rect width="48" height="48" fill="url(#forest-sky)"/>
|
||||||
|
<rect x="0" y="34" width="48" height="14" fill="#166534"/>
|
||||||
|
<rect x="6" y="18" width="8" height="20" fill="#14532d"/>
|
||||||
|
<rect x="20" y="14" width="10" height="24" fill="#15803d"/>
|
||||||
|
<rect x="34" y="20" width="8" height="18" fill="#14532d"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 642 B |
15
public/shop/room-night.svg
Normal file
15
public/shop/room-night.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="night-sky" x1="0" y1="0" x2="0" y2="1">
|
||||||
|
<stop offset="0%" stop-color="#1e1b4b"/>
|
||||||
|
<stop offset="55%" stop-color="#4c1d95"/>
|
||||||
|
<stop offset="100%" stop-color="#0f172a"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<rect width="48" height="48" fill="url(#night-sky)"/>
|
||||||
|
<circle cx="10" cy="12" r="1" fill="#fef9c3"/>
|
||||||
|
<circle cx="22" cy="8" r="1" fill="#fef9c3"/>
|
||||||
|
<circle cx="34" cy="14" r="1" fill="#fef9c3"/>
|
||||||
|
<circle cx="38" cy="10" r="1.5" fill="#fef08a"/>
|
||||||
|
<circle cx="36" cy="11" r="4" fill="#fef9c3" opacity="0.9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 656 B |
@@ -33,8 +33,8 @@ values
|
|||||||
('head-5', 'Head 5', 'head', 50, '/character/head/head-5.png'),
|
('head-5', 'Head 5', 'head', 50, '/character/head/head-5.png'),
|
||||||
('head-6', 'Head 6', 'head', 55, '/character/head/head-6.png'),
|
('head-6', 'Head 6', 'head', 55, '/character/head/head-6.png'),
|
||||||
('head-7', 'Head 7', 'head', 60, '/character/head/head-7.png'),
|
('head-7', 'Head 7', 'head', 60, '/character/head/head-7.png'),
|
||||||
('room-night', 'Starlit Night', 'room', 40, ''),
|
('room-night', 'Starlit Night', 'room', 40, '/shop/room-night.svg'),
|
||||||
('room-forest', 'Mystic Forest', 'room', 50, '')
|
('room-forest', 'Mystic Forest', 'room', 50, '/shop/room-forest.svg')
|
||||||
on conflict (id) do update
|
on conflict (id) do update
|
||||||
set
|
set
|
||||||
name = excluded.name,
|
name = excluded.name,
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-- Placeholder shop preview images for paid room backgrounds.
|
||||||
|
|
||||||
|
update public.shop_items
|
||||||
|
set image_path = '/shop/room-night.svg'
|
||||||
|
where id = 'room-night';
|
||||||
|
|
||||||
|
update public.shop_items
|
||||||
|
set image_path = '/shop/room-forest.svg'
|
||||||
|
where id = 'room-forest';
|
||||||
@@ -33,8 +33,8 @@ values
|
|||||||
('head-5', 'Head 5', 'head', 50, '/character/head/head-5.png'),
|
('head-5', 'Head 5', 'head', 50, '/character/head/head-5.png'),
|
||||||
('head-6', 'Head 6', 'head', 55, '/character/head/head-6.png'),
|
('head-6', 'Head 6', 'head', 55, '/character/head/head-6.png'),
|
||||||
('head-7', 'Head 7', 'head', 60, '/character/head/head-7.png'),
|
('head-7', 'Head 7', 'head', 60, '/character/head/head-7.png'),
|
||||||
('room-night', 'Starlit Night', 'room', 40, ''),
|
('room-night', 'Starlit Night', 'room', 40, '/shop/room-night.svg'),
|
||||||
('room-forest', 'Mystic Forest', 'room', 50, '')
|
('room-forest', 'Mystic Forest', 'room', 50, '/shop/room-forest.svg')
|
||||||
on conflict (id) do update
|
on conflict (id) do update
|
||||||
set
|
set
|
||||||
name = excluded.name,
|
name = excluded.name,
|
||||||
|
|||||||
Reference in New Issue
Block a user