fix: add trailing slash to preferences API calls in portal (#362)

the /preferences endpoint has a trailing slash, so requests without it
get 307 redirected. behind fly's proxy, this redirect was generating
http:// URLs causing mixed content errors. matching the pattern already
used in SettingsMenu.svelte.

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

Co-authored-by: Claude <noreply@anthropic.com>

authored by zzstoatzz.io Claude and committed by GitHub 0b63df26 226a2b08

Changed files
+2 -2
frontend
src
routes
portal
+2 -2
frontend/src/routes/portal/+page.svelte
··· 165 165 166 166 async function loadPreferences() { 167 167 try { 168 - const response = await fetch(`${API_URL}/preferences`, { 168 + const response = await fetch(`${API_URL}/preferences/`, { 169 169 credentials: 'include' 170 170 }); 171 171 if (response.ok) { ··· 179 179 180 180 async function saveAllowComments(enabled: boolean) { 181 181 try { 182 - const response = await fetch(`${API_URL}/preferences`, { 182 + const response = await fetch(`${API_URL}/preferences/`, { 183 183 method: 'POST', 184 184 headers: { 'Content-Type': 'application/json' }, 185 185 credentials: 'include',