Skip to content

Commit 3afc05d

Browse files
committed
fix(dashboard): fix app creation/edit forms, add valid siwe auth
1 parent 68d73b4 commit 3afc05d

16 files changed

Lines changed: 612 additions & 632 deletions

File tree

packages/apps/app-dashboard/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@lit-protocol/types": "^7.2.3",
2525
"@lit-protocol/vincent-app-sdk": "workspace:*",
2626
"@lit-protocol/vincent-contracts-sdk": "5.1.0",
27-
"@lit-protocol/vincent-registry-sdk": "4.3.0",
27+
"@lit-protocol/vincent-registry-sdk": "workspace:*",
2828
"@radix-ui/react-checkbox": "^1.2.3",
2929
"@radix-ui/react-dialog": "^1.1.14",
3030
"@radix-ui/react-label": "^2.1.7",

packages/apps/app-dashboard/src/components/developer-dashboard/app/forms/CreateAppForm.tsx

Lines changed: 16 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { Form } from '@/components/shared/ui/form';
99
import { Button } from '@/components/shared/ui/button';
1010
import {
1111
TextField,
12+
NumberField,
1213
LongTextField,
13-
ArrayField,
1414
ImageUploadField,
1515
} from '@/components/developer-dashboard/form-fields';
1616
import { DeploymentStatusSelectField } from '@/components/developer-dashboard/form-fields/array/DeploymentStatusSelectField';
@@ -19,27 +19,17 @@ import { extractErrorMessage } from '@/utils/developer-dashboard/app-forms';
1919

2020
const { appDoc } = docSchemas;
2121

22-
const {
23-
name,
24-
description,
25-
contactEmail,
26-
appUserUrl,
27-
logo,
28-
redirectUris,
29-
deploymentStatus,
30-
delegateeAddresses,
31-
} = appDoc.shape;
22+
const { appId, name, description, contactEmail, appUrl, logo, deploymentStatus } = appDoc.shape;
3223

3324
export const CreateAppSchema = z
3425
.object({
26+
appId,
3527
name,
3628
description,
3729
contactEmail,
38-
appUserUrl,
30+
appUrl,
3931
logo,
40-
redirectUris,
4132
deploymentStatus,
42-
delegateeAddresses,
4333
})
4434
.strict();
4535

@@ -57,8 +47,6 @@ export function CreateAppForm({ onSubmit, isSubmitting = false }: CreateAppFormP
5747
const form = useForm<CreateAppFormData>({
5848
resolver: zodResolver(CreateAppSchema),
5949
defaultValues: {
60-
redirectUris: [''],
61-
delegateeAddresses: [''],
6250
deploymentStatus: 'dev',
6351
},
6452
});
@@ -100,6 +88,16 @@ export function CreateAppForm({ onSubmit, isSubmitting = false }: CreateAppFormP
10088
Basic Information
10189
</h3>
10290
<div className="space-y-6">
91+
<NumberField
92+
name="appId"
93+
register={register}
94+
error={errors.appId?.message}
95+
label="App ID"
96+
placeholder="Enter on-chain app ID"
97+
required
98+
min={1}
99+
/>
100+
103101
<TextField
104102
name="name"
105103
register={register}
@@ -129,9 +127,9 @@ export function CreateAppForm({ onSubmit, isSubmitting = false }: CreateAppFormP
129127
/>
130128

131129
<TextField
132-
name="appUserUrl"
130+
name="appUrl"
133131
register={register}
134-
error={errors.appUserUrl?.message}
132+
error={errors.appUrl?.message}
135133
label="App User URL"
136134
placeholder="https://yourapp.com"
137135
required
@@ -163,31 +161,6 @@ export function CreateAppForm({ onSubmit, isSubmitting = false }: CreateAppFormP
163161
</div>
164162
</div>
165163

166-
{/* Full Width Fields */}
167-
<div className="space-y-6">
168-
<ArrayField
169-
name="redirectUris"
170-
register={register}
171-
error={errors.redirectUris?.message}
172-
errors={errors}
173-
control={control}
174-
label="Redirect URIs"
175-
placeholder="https://yourapp.com/callback"
176-
required
177-
/>
178-
179-
<ArrayField
180-
name="delegateeAddresses"
181-
register={register}
182-
error={errors.delegateeAddresses?.message}
183-
errors={errors}
184-
control={control}
185-
label="Delegatee Addresses"
186-
placeholder="0x1234567890123456789012345678901234567890"
187-
required
188-
/>
189-
</div>
190-
191164
{/* Status Messages */}
192165
{submitError && (
193166
<div className="flex items-center gap-2 px-3 py-2 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800">

packages/apps/app-dashboard/src/components/developer-dashboard/app/forms/EditAppForm.tsx

Lines changed: 8 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,27 @@ import { StatusMessage } from '@/components/shared/ui/statusMessage';
1010
import {
1111
TextField,
1212
LongTextField,
13-
ArrayField,
1413
DeploymentStatusSelectField,
15-
NumberSelectField,
1614
ImageUploadField,
1715
} from '@/components/developer-dashboard/form-fields';
18-
import { App, AppVersion } from '@/types/developer-dashboard/appTypes';
16+
import { App } from '@/types/developer-dashboard/appTypes';
1917
import { theme, fonts } from '@/lib/themeClasses';
2018
import { extractErrorMessage } from '@/utils/developer-dashboard/app-forms';
2119

2220
const { appDoc } = docSchemas;
2321

24-
const {
25-
name,
26-
description,
27-
contactEmail,
28-
appUserUrl,
29-
logo,
30-
redirectUris,
31-
deploymentStatus,
32-
activeVersion,
33-
delegateeAddresses,
34-
} = appDoc.shape;
22+
const { name, description, contactEmail, appUrl, logo, deploymentStatus, activeVersion } =
23+
appDoc.shape;
3524

3625
export const EditAppSchema = z
3726
.object({
3827
name,
3928
description,
4029
contactEmail,
41-
appUserUrl,
30+
appUrl,
4231
logo,
43-
redirectUris,
4432
deploymentStatus,
4533
activeVersion,
46-
delegateeAddresses,
4734
})
4835
.required()
4936
.partial({ logo: true, activeVersion: true })
@@ -53,19 +40,11 @@ export type EditAppFormData = z.infer<typeof EditAppSchema>;
5340

5441
interface EditAppFormProps {
5542
appData: App;
56-
appVersions: AppVersion[];
5743
onSubmit: (data: EditAppFormData) => Promise<void>;
5844
isSubmitting?: boolean;
59-
isPublished?: boolean;
6045
}
6146

62-
export function EditAppForm({
63-
appData,
64-
appVersions,
65-
onSubmit,
66-
isSubmitting = false,
67-
isPublished = false,
68-
}: EditAppFormProps) {
47+
export function EditAppForm({ appData, onSubmit, isSubmitting = false }: EditAppFormProps) {
6948
const [submitError, setSubmitError] = useState<string | null>(null);
7049
const [submitSuccess, setSubmitSuccess] = useState(false);
7150

@@ -75,12 +54,10 @@ export function EditAppForm({
7554
name: appData.name,
7655
description: appData.description,
7756
contactEmail: appData.contactEmail,
78-
appUserUrl: appData.appUserUrl,
57+
appUrl: appData.appUrl,
7958
logo: appData.logo,
80-
redirectUris: appData.redirectUris,
8159
deploymentStatus: appData.deploymentStatus,
8260
activeVersion: appData.activeVersion,
83-
delegateeAddresses: appData.delegateeAddresses,
8461
},
8562
});
8663

@@ -107,12 +84,6 @@ export function EditAppForm({
10784
}
10885
};
10986

110-
// Create version options from appVersions, showing enabled/disabled status for all versions
111-
const versionOptions = appVersions.map((version) => ({
112-
value: version.version,
113-
label: `Version ${version.version} (${version.enabled ? 'Enabled' : 'Disabled'})`,
114-
}));
115-
11687
return (
11788
<Form {...form}>
11889
<form onSubmit={handleSubmit(handleFormSubmit)} className="space-y-6">
@@ -142,9 +113,9 @@ export function EditAppForm({
142113
/>
143114

144115
<TextField
145-
name="appUserUrl"
116+
name="appUrl"
146117
register={register}
147-
error={errors.appUserUrl?.message}
118+
error={errors.appUrl?.message}
148119
label="App User URL"
149120
placeholder="https://yourapp.com"
150121
/>
@@ -159,40 +130,8 @@ export function EditAppForm({
159130
label="Logo"
160131
/>
161132

162-
<ArrayField
163-
name="redirectUris"
164-
register={register}
165-
error={errors.redirectUris?.message}
166-
errors={errors}
167-
control={control}
168-
label="Redirect URIs"
169-
placeholder="https://yourapp.com/callback"
170-
/>
171-
172133
<DeploymentStatusSelectField error={errors.deploymentStatus?.message} control={control} />
173134

174-
{isPublished && (
175-
<NumberSelectField
176-
name="activeVersion"
177-
error={errors.activeVersion?.message}
178-
control={control}
179-
label="Active Version"
180-
options={versionOptions}
181-
required
182-
/>
183-
)}
184-
185-
<ArrayField
186-
name="delegateeAddresses"
187-
register={register}
188-
error={errors.delegateeAddresses?.message}
189-
errors={errors}
190-
control={control}
191-
label="Delegatee Addresses"
192-
placeholder="0x1234567890123456789012345678901234567890"
193-
required
194-
/>
195-
196135
{/* Status Messages */}
197136
{submitError && <StatusMessage message={submitError} type="error" />}
198137
{submitSuccess && <StatusMessage message="App updated successfully!" type="success" />}

0 commit comments

Comments
 (0)