Skip to content

Commit f56b796

Browse files
hultheraksooo
authored andcommitted
Trim custom list names in gui
1 parent 3cb3026 commit f56b796

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

gui/src/renderer/components/select-location/CustomListDialogs.tsx

+15-11
Original file line numberDiff line numberDiff line change
@@ -147,21 +147,25 @@ export function EditListDialog(props: EditListProps) {
147147
const { updateCustomList } = useAppContext();
148148

149149
const [newName, setNewName] = useState(props.list.name);
150+
const newNameTrimmed = newName.trim();
151+
const newNameValid = newNameTrimmed !== '';
150152
const [error, setError, unsetError] = useBoolean();
151153

152154
// Update name in list and save it.
153155
const save = useCallback(async () => {
154-
try {
155-
const updatedList = { ...props.list, name: newName };
156-
const result = await updateCustomList(updatedList);
157-
if (result && result.type === 'name already exists') {
158-
setError();
159-
} else {
160-
props.hide();
156+
if (newNameValid) {
157+
try {
158+
const updatedList = { ...props.list, name: newNameTrimmed };
159+
const result = await updateCustomList(updatedList);
160+
if (result && result.type === 'name already exists') {
161+
setError();
162+
} else {
163+
props.hide();
164+
}
165+
} catch (e) {
166+
const error = e as Error;
167+
log.error(`Failed to edit custom list ${props.list.id}: ${error.message}`);
161168
}
162-
} catch (e) {
163-
const error = e as Error;
164-
log.error(`Failed to edit custom list ${props.list.id}: ${error.message}`);
165169
}
166170
}, [props.list, newName, props.hide]);
167171

@@ -175,7 +179,7 @@ export function EditListDialog(props: EditListProps) {
175179
<ModalAlert
176180
isOpen={props.isOpen}
177181
buttons={[
178-
<AppButton.BlueButton key="save" onClick={save}>
182+
<AppButton.BlueButton key="save" disabled={!newNameValid} onClick={save}>
179183
{messages.gettext('Save')}
180184
</AppButton.BlueButton>,
181185
<AppButton.BlueButton key="cancel" onClick={props.hide}>

gui/src/renderer/components/select-location/CustomLists.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ interface AddListFormProps {
123123

124124
function AddListForm(props: AddListFormProps) {
125125
const [name, setName] = useState('');
126-
const nameValid = name.trim() !== '';
126+
const nameTrimmed = name.trim();
127+
const nameValid = nameTrimmed !== '';
127128
const [error, setError, unsetError] = useBoolean();
128129
const containerRef = useStyledRef<HTMLDivElement>();
129130
const inputRef = useStyledRef<HTMLInputElement>();
@@ -137,7 +138,7 @@ function AddListForm(props: AddListFormProps) {
137138
const createList = useCallback(async () => {
138139
if (nameValid) {
139140
try {
140-
const result = await props.onCreateList(name);
141+
const result = await props.onCreateList(nameTrimmed);
141142
if (result) {
142143
setError();
143144
}

0 commit comments

Comments
 (0)