feat: separate Chinese display name and English packaging name

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-28 08:54:43 +08:00
parent aef449e0e4
commit edf2bdada6
11 changed files with 104 additions and 28 deletions

View File

@@ -4,7 +4,8 @@ import { createBuild } from "../api";
export default function Upload() {
const navigate = useNavigate();
const [appName, setAppName] = useState("");
const [appNameZh, setAppNameZh] = useState("");
const [appNameEn, setAppNameEn] = useState("");
const [identifier, setIdentifier] = useState("");
const [file, setFile] = useState<File | null>(null);
const [loading, setLoading] = useState(false);
@@ -23,7 +24,8 @@ export default function Upload() {
try {
const formData = new FormData();
formData.append("file", file);
formData.append("appName", appName);
formData.append("appNameZh", appNameZh);
formData.append("appNameEn", appNameEn);
if (identifier.trim()) {
formData.append("identifier", identifier.trim());
}
@@ -40,15 +42,29 @@ export default function Upload() {
return (
<section className="card">
<h2></h2>
<p className="hint"> index.html 50MB</p>
<p className="hint">
index.html 50MB
Bundle ID
</p>
<form className="form" onSubmit={onSubmit}>
<label>
<input
value={appName}
onChange={(e) => setAppName(e.target.value)}
value={appNameZh}
onChange={(e) => setAppNameZh(e.target.value)}
placeholder="我的应用"
required
/>
</label>
<label>
<input
value={appNameEn}
onChange={(e) => setAppNameEn(e.target.value)}
placeholder="My App"
required
pattern="[a-zA-Z][a-zA-Z0-9 _.-]*"
title="以字母开头,仅含英文字母、数字、空格、下划线和连字符"
/>
</label>
<label>