diff --git a/src/lib/components/admin/AlbumForm.svelte b/src/lib/components/admin/AlbumForm.svelte index cd1a123..36cb3f2 100644 --- a/src/lib/components/admin/AlbumForm.svelte +++ b/src/lib/components/admin/AlbumForm.svelte @@ -9,7 +9,6 @@ import UnifiedMediaModal from './UnifiedMediaModal.svelte' import SmartImage from '../SmartImage.svelte' import Composer from './composer' - import { authenticatedFetch } from '$lib/admin-auth' import { toast } from '$lib/stores/toast' import type { Album, Media } from '@prisma/client' import type { JSONContent } from '@tiptap/core' @@ -99,7 +98,9 @@ if (!album) return try { - const response = await authenticatedFetch(`/api/albums/${album.id}`) + const response = await fetch(`/api/albums/${album.id}`, { + credentials: 'same-origin' + }) if (response.ok) { const data = await response.json() albumMedia = data.media || [] @@ -158,12 +159,13 @@ const url = mode === 'edit' ? `/api/albums/${album?.id}` : '/api/albums' const method = mode === 'edit' ? 'PUT' : 'POST' - const response = await authenticatedFetch(url, { + const response = await fetch(url, { method, headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) + body: JSON.stringify(payload), + credentials: 'same-origin' }) if (!response.ok) { @@ -181,12 +183,13 @@ if (mode === 'create' && pendingMediaIds.length > 0) { const photoToastId = toast.loading('Adding selected photos to album...') try { - const photoResponse = await authenticatedFetch(`/api/albums/${savedAlbum.id}/media`, { + const photoResponse = await fetch(`/api/albums/${savedAlbum.id}/media`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ mediaIds: pendingMediaIds }) + body: JSON.stringify({ mediaIds: pendingMediaIds }), + credentials: 'same-origin' }) if (!photoResponse.ok) { diff --git a/src/lib/components/admin/AlbumSelector.svelte b/src/lib/components/admin/AlbumSelector.svelte index 732db45..d6e871b 100644 --- a/src/lib/components/admin/AlbumSelector.svelte +++ b/src/lib/components/admin/AlbumSelector.svelte @@ -61,11 +61,9 @@ async function loadAlbums() { try { isLoading = true - const auth = localStorage.getItem('admin_auth') - if (!auth) return const response = await fetch('/api/albums', { - headers: { Authorization: `Basic ${auth}` } + credentials: 'same-origin' }) if (!response.ok) { @@ -98,13 +96,10 @@ try { isSaving = true error = '' - const auth = localStorage.getItem('admin_auth') - if (!auth) return const response = await fetch('/api/albums', { method: 'POST', headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ @@ -112,7 +107,8 @@ slug: newAlbumSlug.trim(), isPhotography: true, status: 'draft' - }) + }), + credentials: 'same-origin' }) if (!response.ok) { @@ -143,8 +139,6 @@ try { isSaving = true error = '' - const auth = localStorage.getItem('admin_auth') - if (!auth) return // Get the list of albums to add/remove const currentAlbumIds = new Set(currentAlbums.map((a) => a.id)) @@ -158,10 +152,10 @@ const response = await fetch(`/api/albums/${albumId}/media`, { method: 'POST', headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify({ mediaIds: [mediaId] }) + body: JSON.stringify({ mediaIds: [mediaId] }), + credentials: 'same-origin' }) if (!response.ok) { @@ -174,10 +168,10 @@ const response = await fetch(`/api/albums/${albumId}/media`, { method: 'DELETE', headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify({ mediaIds: [mediaId] }) + body: JSON.stringify({ mediaIds: [mediaId] }), + credentials: 'same-origin' }) if (!response.ok) { diff --git a/src/lib/components/admin/AlbumSelectorModal.svelte b/src/lib/components/admin/AlbumSelectorModal.svelte index c89fc26..fdb1084 100644 --- a/src/lib/components/admin/AlbumSelectorModal.svelte +++ b/src/lib/components/admin/AlbumSelectorModal.svelte @@ -34,16 +34,14 @@ try { isSaving = true error = '' - const auth = localStorage.getItem('admin_auth') - if (!auth) return const response = await fetch(`/api/albums/${selectedAlbumId}/media`, { method: 'POST', headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify({ mediaIds: selectedMediaIds }) + body: JSON.stringify({ mediaIds: selectedMediaIds }), + credentials: 'same-origin' }) if (!response.ok) { diff --git a/src/lib/components/admin/EssayForm.svelte b/src/lib/components/admin/EssayForm.svelte index d12ccde..3056679 100644 --- a/src/lib/components/admin/EssayForm.svelte +++ b/src/lib/components/admin/EssayForm.svelte @@ -146,12 +146,6 @@ $effect(() => { try { isSaving = true - const auth = localStorage.getItem('admin_auth') - if (!auth) { - goto('/admin/login') - return - } - const payload = { title, slug, @@ -167,13 +161,17 @@ $effect(() => { const response = await fetch(url, { method, headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) + body: JSON.stringify(payload), + credentials: 'same-origin' }) if (!response.ok) { + if (response.status === 401) { + goto('/admin/login') + return + } throw new Error(`Failed to ${mode === 'edit' ? 'save' : 'create'} essay`) } diff --git a/src/lib/components/admin/PhotoPostForm.svelte b/src/lib/components/admin/PhotoPostForm.svelte index dddcf12..f4d2c5b 100644 --- a/src/lib/components/admin/PhotoPostForm.svelte +++ b/src/lib/components/admin/PhotoPostForm.svelte @@ -185,12 +185,6 @@ $effect(() => { } } - const auth = localStorage.getItem('admin_auth') - if (!auth) { - goto('/admin/login') - return - } - // Generate slug from title const slug = createSlug(title) @@ -215,13 +209,17 @@ $effect(() => { const response = await fetch(url, { method, headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) + body: JSON.stringify(payload), + credentials: 'same-origin' }) if (!response.ok) { + if (response.status === 401) { + goto('/admin/login') + return + } throw new Error(`Failed to ${mode === 'edit' ? 'update' : 'create'} photo post`) } diff --git a/src/lib/components/admin/ProjectForm.svelte b/src/lib/components/admin/ProjectForm.svelte index 75a4bb8..d7f70ed 100644 --- a/src/lib/components/admin/ProjectForm.svelte +++ b/src/lib/components/admin/ProjectForm.svelte @@ -242,12 +242,6 @@ try { isSaving = true - const auth = localStorage.getItem('admin_auth') - if (!auth) { - goto('/admin/login') - return - } - const payload = { title: formData.title, subtitle: formData.subtitle, diff --git a/src/lib/components/admin/SimplePostForm.svelte b/src/lib/components/admin/SimplePostForm.svelte index 293a4dd..d204ea0 100644 --- a/src/lib/components/admin/SimplePostForm.svelte +++ b/src/lib/components/admin/SimplePostForm.svelte @@ -136,12 +136,6 @@ $effect(() => { try { isSaving = true - const auth = localStorage.getItem('admin_auth') - if (!auth) { - goto('/admin/login') - return - } - const payload: any = { type: 'post', // Use simplified post type status: publishStatus, @@ -161,13 +155,17 @@ $effect(() => { const response = await fetch(url, { method, headers: { - Authorization: `Basic ${auth}`, 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) + body: JSON.stringify(payload), + credentials: 'same-origin' }) if (!response.ok) { + if (response.status === 401) { + goto('/admin/login') + return + } throw new Error(`Failed to ${mode === 'edit' ? 'save' : 'create'} post`) }