Skip to content

Commit 9af304d

Browse files
committed
use consts for query param keys
1 parent 657d90b commit 9af304d

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

data-browser/src/components/forms/NewForm/index.tsx

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { properties, useResource, useStore, useTitle } from '@tomic/react';
22
import React, { useCallback, useState } from 'react';
3-
import { useQueryString } from '../../../helpers/navigation';
3+
import { newURLParams, useQueryString } from '../../../helpers/navigation';
44
import { useEffectOnce } from '../../../hooks/useEffectOnce';
55
import { Button } from '../../Button';
66
import { DialogActions, DialogContent, DialogTitle } from '../../Dialog';
@@ -28,14 +28,16 @@ export const NewFormFullPage = ({
2828
classSubject,
2929
}: NewFormProps): JSX.Element => {
3030
const klass = useResource(classSubject);
31-
const [subject, setSubject] = useQueryString('newSubject');
32-
const [parentSubject] = useQueryString('parent');
31+
const [subject, setSubject] = useQueryString(newURLParams.newSubject);
32+
const [parent] = useQueryString(newURLParams.parent);
3333

3434
const { subjectErr, subjectValue, setSubjectValue, resource } = useNewForm(
3535
klass,
36-
subject!,
36+
subject
37+
? subject
38+
: `${parent}/${Math.random().toString(36).substring(2, 9)}`,
3739
setSubject,
38-
parentSubject,
40+
parent,
3941
);
4042

4143
return (

data-browser/src/helpers/navigation.tsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ export function useSearchQuery() {
6666
return useQueryString('query');
6767
}
6868

69+
/** Query parameters used by the `/new` route */
70+
export const newURLParams = {
71+
classSubject: 'classSubject',
72+
parent: 'parent',
73+
newSubject: 'newSubject',
74+
};
75+
6976
/** Constructs a URL for the New Resource form */
7077
export function newURL(
7178
classUrl: string,
@@ -74,9 +81,9 @@ export function newURL(
7481
): string {
7582
const navTo = new URL(location.origin);
7683
navTo.pathname = paths.new;
77-
navTo.searchParams.append('classSubject', classUrl);
78-
parentURL && navTo.searchParams.append('parent', parentURL);
79-
subject && navTo.searchParams.append('newSubject', subject);
84+
navTo.searchParams.append(newURLParams.classSubject, classUrl);
85+
parentURL && navTo.searchParams.append(newURLParams.parent, parentURL);
86+
subject && navTo.searchParams.append(newURLParams.newSubject, subject);
8087

8188
return paths.new + navTo.search;
8289
}

0 commit comments

Comments
 (0)