Send request origin when creating photos

This commit is contained in:
Sam Becker 2023-09-25 21:34:03 -05:00
parent 54168dfe80
commit 14d69a167e
3 changed files with 19 additions and 3 deletions

View File

@ -1,6 +1,6 @@
'use client';
import { useCallback, useState } from 'react';
import { useCallback, useEffect, useState } from 'react';
import {
FORM_METADATA_ENTRIES,
PhotoFormData,
@ -30,6 +30,11 @@ export default function PhotoForm({
const url = formData.url ?? '';
const [requestOrigin, setRequestOrigin] = useState<string>();
useEffect(() => {
setRequestOrigin(window.location.origin);
}, []);
const updateBlurData = useCallback((blurData: string) => {
if (type === 'create') {
setFormData(data => ({
@ -96,6 +101,13 @@ export default function PhotoForm({
loading={loadingMessage && !formData[key] ? true : false}
type={checkbox ? 'checkbox' : undefined}
/>)}
{type === 'create' &&
<input
name="requestOrigin"
defaultValue={requestOrigin}
readOnly
hidden
/>}
<div className="flex gap-4">
{type === 'edit' &&
<Link

View File

@ -20,13 +20,16 @@ import { IS_PRO_MODE } from '@/site/config';
import { getNextImageUrlForRequest } from '@/utility/image';
export async function createPhotoAction(formData: FormData) {
const requestOrigin = formData.get('requestOrigin') as string | undefined;
formData.delete('requestOrigin');
const photo = convertFormDataToPhoto(formData, true);
const updatedUrl = await convertUploadToPhoto(
photo.url,
photo.id,
!IS_PRO_MODE
? getNextImageUrlForRequest(photo.url, 3840, 90)
? getNextImageUrlForRequest(photo.url, 3840, 90, requestOrigin)
: undefined,
!IS_PRO_MODE ? 'webp' : undefined,
);

View File

@ -12,8 +12,9 @@ export const getNextImageUrlForRequest = (
imageUrl: string,
width: NextImageWidth,
quality = 75,
baseUrl = BASE_URL,
) => {
const url = new URL(`${BASE_URL}/_next/image`);
const url = new URL(`${baseUrl}/_next/image`);
url.searchParams.append('url', imageUrl);
url.searchParams.append('w', width.toString());