Update cospend layout styling to match site theme

- Change navigation text from "View All Payments" to "All Payments"
- Remove Nord theme background overrides to use global site background
- Update side panel styling to match site colors in light/dark modes
- Maintain existing functionality while improving visual consistency

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-12 17:27:16 +02:00
parent cdc744282c
commit aa15a392f1

View File

@@ -5,9 +5,18 @@
import { fly } from 'svelte/transition'; import { fly } from 'svelte/transition';
import { quintOut } from 'svelte/easing'; import { quintOut } from 'svelte/easing';
import PaymentModal from '$lib/components/PaymentModal.svelte'; import PaymentModal from '$lib/components/PaymentModal.svelte';
import Header from '$lib/components/Header.svelte';
import UserHeader from '$lib/components/UserHeader.svelte';
export let data;
let showModal = false; let showModal = false;
let paymentId = null; let paymentId = null;
let user;
if (data.session) {
user = data.session.user;
}
$: { $: {
// Check if URL contains payment view route OR if we have paymentId in state // Check if URL contains payment view route OR if we have paymentId in state
@@ -37,28 +46,37 @@
} }
</script> </script>
<div class="layout-container" class:has-modal={showModal}> <Header>
<div class="main-content"> <ul class="site_header" slot="links">
<slot /> <li><a href="/cospend">Dashboard</a></li>
</div> <li><a href="/cospend/payments">All Payments</a></li>
<li><a href="/cospend/recurring">Recurring Payments</a></li>
</ul>
<UserHeader slot="right_side" {user}></UserHeader>
<div class="layout-container" class:has-modal={showModal}>
<div class="main-content">
<slot />
</div>
<div class="side-panel"> <div class="side-panel">
{#if showModal} {#if showModal}
<div class="modal-content"> <div class="modal-content">
{#key paymentId} {#key paymentId}
<div in:fly={{x: 50, duration: 300, easing: quintOut}} out:fly={{x: -50, duration: 300, easing: quintOut}}> <div in:fly={{x: 50, duration: 300, easing: quintOut}} out:fly={{x: -50, duration: 300, easing: quintOut}}>
<PaymentModal {paymentId} on:close={() => showModal = false} on:paymentDeleted={handlePaymentDeleted} /> <PaymentModal {paymentId} on:close={() => showModal = false} on:paymentDeleted={handlePaymentDeleted} />
</div> </div>
{/key} {/key}
</div> </div>
{/if} {/if}
</div>
</div> </div>
</div> </Header>
<style> <style>
.layout-container { .layout-container {
display: flex; display: flex;
min-height: 100vh; min-height: calc(100vh - 4rem);
} }
.main-content { .main-content {
@@ -72,11 +90,11 @@
.side-panel { .side-panel {
position: fixed; position: fixed;
top: 0; top: 4rem;
right: 0; right: 0;
width: 400px; width: 400px;
height: 100vh; height: calc(100vh - 4rem);
background: white; background: #fbf9f3;
border-left: 1px solid #dee2e6; border-left: 1px solid #dee2e6;
box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1); box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
z-index: 100; z-index: 100;
@@ -103,6 +121,13 @@
overflow-y: auto; overflow-y: auto;
} }
@media (prefers-color-scheme: dark) {
.side-panel {
background: var(--background-dark);
border-left-color: #434C5E;
}
}
@media (max-width: 768px) { @media (max-width: 768px) {
.layout-container.has-modal { .layout-container.has-modal {
flex-direction: column; flex-direction: column;
@@ -122,6 +147,14 @@
border-left: none; border-left: none;
border-top: 1px solid #dee2e6; border-top: 1px solid #dee2e6;
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
top: auto;
bottom: 0;
}
}
@media (max-width: 768px) and (prefers-color-scheme: dark) {
.side-panel {
border-top-color: #434C5E;
} }
} }
</style> </style>