feat: use new form layout for link/delete

This commit is contained in:
Sonny
2024-11-01 20:07:41 +01:00
committed by Sonny
parent edc7972a2f
commit 907dda300e
4 changed files with 42 additions and 4 deletions

View File

@@ -98,7 +98,7 @@ export default class LinksController {
const link = await this.getLinkById(linkId, auth.user!.id);
await link.load('collection');
return inertia.render('links/delete', { link });
return inertia.render('mantine/links/delete', { link });
}
async delete({ request, auth, response }: HttpContext) {

View File

@@ -91,6 +91,7 @@ export default function MantineFormLink({
}))}
onChange={(value) => setData('collectionId', value)}
value={data.collectionId.toString()}
readOnly={disableInputs}
mt="md"
searchable
required
@@ -100,7 +101,7 @@ export default function MantineFormLink({
onChange={({ target }) => setData('favorite', target.checked)}
checked={data.favorite}
error={errors?.favorite}
disabled={disableInputs}
disabled={disableInputs} // readonly not working
mt="md"
/>
</BackToDashboard>

View File

@@ -0,0 +1,37 @@
import { useForm } from '@inertiajs/react';
import { route } from '@izzyjs/route/client';
import { useTranslation } from 'react-i18next';
import MantineFormLink from '~/mantine/components/form/mantine_form_link';
import { LinkWithCollection } from '~/types/app';
export default function DeleteLinkPage({ link }: { link: LinkWithCollection }) {
const { t } = useTranslation('common');
const { data, setData, submit, processing } = useForm({
name: link.name,
description: link.description,
url: link.url,
favorite: link.favorite,
collectionId: link.collectionId,
});
const handleSubmit = () => {
const { method, url } = route('link.delete', {
params: { id: link.id.toString() },
});
submit(method, url);
};
return (
<MantineFormLink
title={t('link.delete')}
textSubmitButton={t('form.delete')}
canSubmit={!processing}
data={data}
setData={setData}
handleSubmit={handleSubmit}
collections={[link.collection]}
disableInputs
submitBtnDanger
/>
);
}

View File

@@ -47,8 +47,8 @@ export default function EditLinkPage({
return (
<MantineFormLink
title={t('link.create')}
textSubmitButton={t('form.create')}
title={t('link.edit')}
textSubmitButton={t('form.update')}
canSubmit={canSubmit}
data={data}
setData={setData}