diff --git a/src/lib/furniture-catalog.js b/src/lib/furniture-catalog.js index a067ced..f5d0c76 100644 --- a/src/lib/furniture-catalog.js +++ b/src/lib/furniture-catalog.js @@ -9,10 +9,10 @@ * @property {string} name - Display name * @property {number} cost - Cost in paintchips * @property {boolean} purchasable - Whether item can be purchased (false = reward-only) - * @property {boolean} isInteractable - Whether item has interactive functionality - * @property {boolean} wallOnly - Whether item can only be placed on walls - * @property {boolean} ownerOnly - Whether item is only visible to the owner (default: false) - * @property {import('svelte').SvelteComponent} component - Optional Svelte component for interactive furniture + * @property {boolean} [isInteractable] - Whether item has interactive functionality + * @property {boolean} [wallOnly] - Whether item can only be placed on walls + * @property {boolean} [ownerOnly] - Whether item is only visible to the owner (default: false) + * @property {any} [component] - Optional Svelte component for interactive furniture */ import ArtEasel from '$lib/components/furniture/ArtEasel.svelte'; @@ -102,7 +102,14 @@ export const FURNITURE_TYPES = [ { type: 'desk_glitched', name: 'desk glitched', cost: 20, purchasable: true }, { type: 'desk_glitched_blue', name: 'desk glitched blue', cost: 20, purchasable: true }, { type: 'desk_glitched_green', name: 'desk glitched green', cost: 20, purchasable: true }, - { type: 'desk_glitched_red', name: 'desk glitched red', cost: 20, purchasable: true } + { type: 'desk_glitched_red', name: 'desk glitched red', cost: 20, purchasable: true }, + { type: 'christmas_tree', name: 'christmas tree', cost: 0, purchasable: false }, + { + type: 'christmas_fireplace', + name: 'fireplace (christmas edition)', + cost: 0, + purchasable: false + } ]; /** @type {Record} */ diff --git a/src/routes/christmas/+page.server.js b/src/routes/christmas/+page.server.js new file mode 100644 index 0000000..d9fd58a --- /dev/null +++ b/src/routes/christmas/+page.server.js @@ -0,0 +1,12 @@ +export async function load({ params, locals, url }) { + try { + return { + isLoggedIn: !!locals.user + }; + } catch (error) { + console.error('Error loading christmas tree:', error); + return { + isLoggedIn: !!locals.user + }; + } +} diff --git a/src/routes/christmas/+page.svelte b/src/routes/christmas/+page.svelte new file mode 100644 index 0000000..7160db9 --- /dev/null +++ b/src/routes/christmas/+page.svelte @@ -0,0 +1,260 @@ + + + + Christmas Tree! ✦ Milkyway + +
+
+

+ Merry Christmas! +

+
+
+ top star + christmas tree +
+
+ + +
+
+
+ +
+ + diff --git a/static/room/christmas/topstar.png b/static/room/christmas/topstar.png new file mode 100644 index 0000000..7e8e4f0 Binary files /dev/null and b/static/room/christmas/topstar.png differ diff --git a/static/room/christmas_tree.png b/static/room/christmas_tree.png new file mode 100644 index 0000000..465478e Binary files /dev/null and b/static/room/christmas_tree.png differ