Skip to content

Commit 3439e29

Browse files
committed
feat: use PostGuard shield logo with purple colorway
Copy the PostGuard SVG logo from the personal site, replace blue (#0071EB) with purple (#7C3AED) for light mode and violet (#A78BFA) with white text for dark mode. Replace the generic mdi:shield-lock icon with the actual logo across all pages: header, portal sidebar, admin sidebar, and login pages. Global .light-only/.dark-only CSS classes handle theme switching.
1 parent 3096502 commit 3439e29

8 files changed

Lines changed: 101 additions & 12 deletions

File tree

src/lib/assets/images/logo-dark.svg

Lines changed: 40 additions & 0 deletions
Loading

src/lib/assets/images/logo.svg

Lines changed: 33 additions & 0 deletions
Loading

src/lib/components/Header.svelte

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<script lang="ts">
22
import ThemeSwitcher from './ThemeSwitcher.svelte';
33
import Icon from '@iconify/svelte';
4+
import logoLight from '$lib/assets/images/logo.svg';
5+
import logoDark from '$lib/assets/images/logo-dark.svg';
46
57
let {
68
showPricing = true,
@@ -26,8 +28,8 @@
2628
<header>
2729
<div class="header-inner">
2830
<a href="/" class="logo" aria-label="PostGuard for Business home">
29-
<Icon icon="mdi:shield-lock" width="28" height="28" />
30-
<span class="logo-text">PostGuard</span>
31+
<img src={logoLight} alt="PostGuard" class="logo-img light-only" height="28" />
32+
<img src={logoDark} alt="PostGuard" class="logo-img dark-only" height="28" />
3133
<span class="logo-badge">Business</span>
3234
</a>
3335

@@ -87,12 +89,6 @@
8789
color: var(--pg-text);
8890
}
8991
90-
.logo-text {
91-
font-family: var(--pg-font-family);
92-
font-weight: var(--pg-font-weight-extrabold);
93-
font-size: var(--pg-font-size-lg);
94-
}
95-
9692
.logo-badge {
9793
font-family: var(--pg-font-family);
9894
font-size: var(--pg-font-size-xs);

src/lib/global.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,18 @@ body {
7979
.invert {
8080
filter: invert(100%);
8181
}
82+
83+
.light-only {
84+
display: none !important;
85+
}
86+
}
87+
88+
.dark-only {
89+
display: none !important;
90+
}
91+
92+
.dark .dark-only {
93+
display: block !important;
8294
}
8395

8496
*,

src/routes/(admin)/+layout.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<script lang="ts">
22
import Icon from '@iconify/svelte';
3+
import logoLight from '$lib/assets/images/logo.svg';
4+
import logoDark from '$lib/assets/images/logo-dark.svg';
35
import ThemeSwitcher from '$lib/components/ThemeSwitcher.svelte';
46
import type { LayoutData } from './$types';
57
@@ -34,7 +36,7 @@
3436
<aside class="sidebar" class:open={sidebarOpen}>
3537
<div class="sidebar-header">
3638
<a href="/admin/organizations" class="sidebar-logo">
37-
<Icon icon="mdi:shield-lock" width="24" height="24" />
39+
<img src={logoLight} alt="PostGuard" class="logo-img light-only" height="22" /><img src={logoDark} alt="PostGuard" class="logo-img dark-only" height="22" />
3840
<span>Admin</span>
3941
</a>
4042
<button class="sidebar-close desktop-hide" onclick={() => (sidebarOpen = false)}>

src/routes/(portal)/+layout.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<script lang="ts">
22
import Icon from '@iconify/svelte';
3+
import logoLight from '$lib/assets/images/logo.svg';
4+
import logoDark from '$lib/assets/images/logo-dark.svg';
35
import ThemeSwitcher from '$lib/components/ThemeSwitcher.svelte';
46
import type { LayoutData } from './$types';
57
@@ -37,7 +39,7 @@
3739
<aside class="sidebar" class:open={sidebarOpen}>
3840
<div class="sidebar-header">
3941
<a href="/" class="sidebar-logo">
40-
<Icon icon="mdi:shield-lock" width="24" height="24" />
42+
<img src={logoLight} alt="PostGuard" class="logo-img light-only" height="22" /><img src={logoDark} alt="PostGuard" class="logo-img dark-only" height="22" />
4143
<span>PostGuard</span>
4244
</a>
4345
<button class="sidebar-close desktop-hide" onclick={() => (sidebarOpen = false)}>

src/routes/auth/login/+page.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import ThemeSwitcher from '$lib/components/ThemeSwitcher.svelte';
44
import YiviLogin from '$lib/components/YiviLogin.svelte';
55
import Icon from '@iconify/svelte';
6+
import logoLight from '$lib/assets/images/logo.svg';
7+
import logoDark from '$lib/assets/images/logo-dark.svg';
68
import { goto } from '$app/navigation';
79
import { page } from '$app/state';
810
import type { PageData } from './$types';
@@ -21,7 +23,7 @@
2123
<section class="login-page">
2224
<div class="login-header">
2325
<a href="/" class="logo">
24-
<Icon icon="mdi:shield-lock" width="24" height="24" />
26+
<img src={logoLight} alt="PostGuard" class="logo-img light-only" height="22" /><img src={logoDark} alt="PostGuard" class="logo-img dark-only" height="22" />
2527
<span>PostGuard</span>
2628
</a>
2729
<ThemeSwitcher />

src/routes/auth/login/admin/+page.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import ThemeSwitcher from '$lib/components/ThemeSwitcher.svelte';
44
import YiviLogin from '$lib/components/YiviLogin.svelte';
55
import Icon from '@iconify/svelte';
6+
import logoLight from '$lib/assets/images/logo.svg';
7+
import logoDark from '$lib/assets/images/logo-dark.svg';
68
import { goto } from '$app/navigation';
79
import type { PageData } from './$types';
810
@@ -18,7 +20,7 @@
1820
<section class="login-page">
1921
<div class="login-header">
2022
<a href="/" class="logo">
21-
<Icon icon="mdi:shield-lock" width="24" height="24" />
23+
<img src={logoLight} alt="PostGuard" class="logo-img light-only" height="22" /><img src={logoDark} alt="PostGuard" class="logo-img dark-only" height="22" />
2224
<span>PostGuard</span>
2325
</a>
2426
<ThemeSwitcher />

0 commit comments

Comments
 (0)