Refactor AdventureCard usage and integrate event calendar components

This commit is contained in:
Sean Morley
2024-12-04 12:38:01 -05:00
parent a39e22b0a8
commit d44cb06e31
10 changed files with 124 additions and 78 deletions

View File

@@ -2,9 +2,16 @@ const PUBLIC_SERVER_URL = process.env['PUBLIC_SERVER_URL'];
import { redirect, type Actions } from '@sveltejs/kit';
import { themes } from '$lib';
import { fetchCSRFToken } from '$lib/index.server';
import type { PageServerLoad } from './$types';
const serverEndpoint = PUBLIC_SERVER_URL || 'http://localhost:8000';
export const load = (async (event) => {
if (event.locals.user) {
return redirect(302, '/dashboard');
}
}) satisfies PageServerLoad;
export const actions: Actions = {
setTheme: async ({ url, cookies }) => {
const theme = url.searchParams.get('theme');

View File

@@ -226,7 +226,6 @@
{#each adventures as adventure}
<AdventureCard
user={data.user}
type={adventure.type}
{adventure}
on:delete={deleteAdventure}
on:edit={editAdventure}

View File

@@ -398,7 +398,6 @@
user={data.user}
on:edit={editAdventure}
on:delete={deleteAdventure}
type={adventure.type}
{adventure}
{collection}
/>
@@ -521,7 +520,6 @@
user={data.user}
on:edit={editAdventure}
on:delete={deleteAdventure}
type={adventure.type}
{adventure}
/>
{/each}

View File

@@ -1,9 +1,26 @@
<script lang="ts">
import AdventureCard from '$lib/components/AdventureCard.svelte';
import type { PageData } from './$types';
// @ts-ignore
import Calendar from '@event-calendar/core';
// @ts-ignore
import TimeGrid from '@event-calendar/time-grid';
// @ts-ignore
import DayGrid from '@event-calendar/day-grid';
export let data: PageData;
let plugins = [DayGrid, TimeGrid];
let options = {
view: 'dayGridMonth',
events: [
// 2024 december 1st
{ start: '2024-12-01', end: '2024-12-02', title: 'Event 1' },
// 2024 december 2nd
{ start: '2024-12-02', end: '2024-12-03', title: 'Event 2' }
]
};
// Mock data
const user = data.user;
const recentAdventures = data.props.adventures;
@@ -82,7 +99,7 @@
<h2 class="text-3xl font-semibold mb-4">Recent Adventures</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8">
{#each recentAdventures as adventure}
<AdventureCard {adventure} type="someType" user={data.user} />
<AdventureCard {adventure} user={data.user} readOnly />
{/each}
</div>
@@ -100,6 +117,7 @@
</div>
</div>
</div>
<Calendar {plugins} {options} />
<svelte:head>
<title>Dashboard | AdventureLog</title>

View File

@@ -155,7 +155,6 @@
{#each myAdventures as adventure}
<AdventureCard
user={data.user}
type={adventure.type}
{adventure}
on:delete={deleteAdventure}
on:edit={editAdventure}
@@ -168,13 +167,7 @@
<h2 class="text-center font-bold text-2xl mb-4">{$t('search.public_adventures')}</h2>
<div class="flex flex-wrap gap-4 mr-4 justify-center content-center">
{#each publicAdventures as adventure}
<AdventureCard
user={null}
type={adventure.type}
{adventure}
on:delete={deleteAdventure}
on:edit={editAdventure}
/>
<AdventureCard user={null} {adventure} on:delete={deleteAdventure} on:edit={editAdventure} />
{/each}
</div>
{/if}