Send request origin when creating photos
This commit is contained in:
parent
54168dfe80
commit
14d69a167e
@ -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
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
@ -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());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user