mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
41 lines
859 B
TypeScript
41 lines
859 B
TypeScript
"use client";
|
|
|
|
import { useFormStatus } from "react-dom";
|
|
import { saveData } from "./action";
|
|
import { useRef } from "react";
|
|
|
|
function Submit() {
|
|
const { pending } = useFormStatus();
|
|
return (
|
|
<button disabled={pending}>{pending ? "Submitting" : "Submit"}</button>
|
|
);
|
|
}
|
|
|
|
export default function UploadForm() {
|
|
const formRef = useRef<HTMLFormElement | null>(null);
|
|
|
|
async function formAction(formData: FormData) {
|
|
await saveData(formData);
|
|
formRef.current?.reset();
|
|
alert("Save success!");
|
|
}
|
|
|
|
return (
|
|
<form action={formAction} ref={formRef}>
|
|
<h1>Upload Demo</h1>
|
|
|
|
<div>Email</div>
|
|
<input type="email" name="email" required />
|
|
<br />
|
|
<br />
|
|
|
|
<div>Select file</div>
|
|
<input type="file" name="file" required />
|
|
<br />
|
|
<br />
|
|
<br />
|
|
<Submit />
|
|
</form>
|
|
);
|
|
}
|