Compare commits

..

2 Commits

Author SHA1 Message Date
ef8ab903ee Updates favicon for Scrounge Quest theming 2026-05-19 00:05:17 -05:00
44a5805b2b Makes photo dialog clearer 2026-05-18 23:58:37 -05:00
3 changed files with 39 additions and 16 deletions

View File

@@ -1,8 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none">
<!-- Magnifying glass circle -->
<circle cx="26" cy="26" r="18" stroke="#14b8a6" stroke-width="5" fill="#ffffff"/>
<!-- Magnifying glass handle -->
<line x1="39" y1="39" x2="56" y2="56" stroke="#f97316" stroke-width="6" stroke-linecap="round"/>
<!-- SH text inside the lens -->
<text x="26" y="31" text-anchor="middle" font-family="Georgia, serif" font-size="15" font-weight="700" fill="#14b8a6">SH</text>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<!-- Shield (navy blue, gold border) -->
<path d="M8,5 H56 V36 Q56,57 32,63 Q8,57 8,36 Z" fill="#1e3a8a"/>
<path d="M8,5 H56 V36 Q56,57 32,63 Q8,57 8,36 Z" fill="none" stroke="#d4a017" stroke-width="2.5"/>
<!-- Bushy tail — drawn first so body sits on top of it -->
<path d="M30,44 C46,46 58,34 54,18 C50,6 36,6 32,16"
fill="none" stroke="#d4a017" stroke-width="11" stroke-linecap="round"/>
<!-- Body (upright) -->
<ellipse cx="24" cy="37" rx="7.5" ry="10.5" fill="#d4a017"/>
<!-- Head -->
<circle cx="24" cy="22" r="6.5" fill="#d4a017"/>
<!-- Ears -->
<polygon points="19,17 16,9 23,14" fill="#d4a017"/>
<polygon points="26,16 28,8 32,12" fill="#d4a017"/>
<!-- Eye -->
<circle cx="22" cy="21" r="1.5" fill="#1e3a8a"/>
<!-- Front paws raised (rearing up) -->
<line x1="18" y1="30" x2="12" y2="22" stroke="#d4a017" stroke-width="4.5" stroke-linecap="round"/>
<line x1="30" y1="28" x2="37" y2="20" stroke="#d4a017" stroke-width="4.5" stroke-linecap="round"/>
<!-- Hind legs -->
<line x1="18" y1="46" x2="16" y2="54" stroke="#d4a017" stroke-width="4.5" stroke-linecap="round"/>
<line x1="30" y1="47" x2="33" y2="54" stroke="#d4a017" stroke-width="4.5" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -242,8 +242,8 @@
{@const hunt = sheetHunt}
{@const myTeam = sheetIsActive ? ongoingTeams[hunt.id] : upcomingTeams[hunt.id]}
<div class="fixed inset-0 z-40" onclick={closeSheet} role="presentation"></div>
<div class="fixed bottom-0 left-0 right-0 z-50 bg-base-100 rounded-t-2xl shadow-2xl max-h-[80vh] overflow-y-auto">
<div class="p-4 border-b border-base-200 flex items-center justify-between sticky top-0 bg-base-100">
<div class="fixed bottom-0 left-0 right-0 z-50 bg-base-200 rounded-t-2xl shadow-2xl max-h-[80vh] overflow-y-auto">
<div class="p-4 border-b border-base-300 flex items-center justify-between sticky top-0 bg-base-200">
<div>
<h3 class="font-bold text-lg">{hunt.title}</h3>
<p class="text-xs text-base-content/50">{formatDateTime(hunt.startDateTime)} {formatDateTime(hunt.endDateTime)}</p>
@@ -260,7 +260,7 @@
<LoadingSpinner />
{:else if myTeam}
<!-- Already on a team -->
<div class="rounded-xl border border-base-200 p-4 flex flex-col gap-3">
<div class="rounded-xl bg-base-100 border border-base-300 p-4 flex flex-col gap-3">
<div>
<p class="text-xs font-semibold uppercase tracking-wide text-base-content/40 mb-1">Your Team</p>
<p class="text-lg font-bold">{myTeam.name}</p>

View File

@@ -376,7 +376,7 @@
{#if teamMembersOpen && myTeam}
{@const team = myTeam}
<div class="fixed inset-0 z-50 flex items-center justify-center p-6" role="presentation" onclick={() => teamMembersOpen = false}>
<div class="bg-base-100 rounded-2xl shadow-2xl w-full max-w-sm p-5" role="dialog" aria-modal="true" onclick={(e) => e.stopPropagation()}>
<div class="bg-base-200 rounded-2xl shadow-2xl w-full max-w-sm p-5" role="dialog" aria-modal="true" onclick={(e) => e.stopPropagation()}>
<div class="flex items-center justify-between mb-4">
<div>
<p class="text-xs font-semibold uppercase tracking-wide text-base-content/40">Team</p>
@@ -435,13 +435,13 @@
<!-- Item detail bottom sheet -->
{#if selectedItem}
<div class="fixed inset-0 z-40" onclick={closeSheet} role="presentation"></div>
<div class="fixed bottom-0 left-0 right-0 z-50 bg-base-100 rounded-t-2xl shadow-2xl max-h-[80vh] overflow-y-auto">
<div class="p-4 border-b border-base-200 flex items-center justify-between sticky top-0 bg-base-100">
<div class="fixed bottom-0 left-0 right-0 z-50 bg-base-200 rounded-t-2xl shadow-2xl max-h-[80vh] overflow-y-auto">
<div class="p-4 border-b border-base-300 flex items-center justify-between sticky top-0 bg-base-200">
<div>
<h3 class="font-bold text-lg">{selectedItem.name}</h3>
<p class="text-xs text-base-content/50">{selectedItem.points} points</p>
</div>
<button class="btn btn-ghost btn-sm btn-circle" onclick={closeSheet}></button>
<button class="btn btn-outline btn-sm" onclick={closeSheet}>Done</button>
</div>
<div class="p-4 flex flex-col gap-4">
{#if submitting}
@@ -494,9 +494,9 @@
{:else if itemPhotos.filter(p => p.photoStatus !== 'REMOVED').length > 0}
<div class="flex flex-col gap-3">
{#each itemPhotos.filter(p => p.photoStatus !== 'REMOVED') as photo (photo.id)}
<div class="card bg-base-200 overflow-hidden">
<div class="card bg-base-100 overflow-hidden">
<button class="w-full cursor-zoom-in" onclick={() => expandedPhoto = photo}>
<AuthImage photoId={photo.id} version="SMALL" alt={photo.hunterName} class="w-full h-48 object-cover" />
<AuthImage photoId={photo.id} version="SMALL" alt={photo.hunterName} class="w-full max-h-64 object-contain bg-base-300" />
</button>
<div class="p-3 flex items-center justify-between">
<div>
@@ -513,6 +513,7 @@
{:else}
<p class="text-center text-base-content/50 py-4 text-sm">No photos submitted yet</p>
{/if}
</div>
</div>
{/if}