Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita1d06f5

Browse files
committed
address code review comments
1 parent607c9fc commita1d06f5

File tree

1 file changed

+26
-29
lines changed

1 file changed

+26
-29
lines changed

‎site/src/pages/TasksPage/TasksPage.tsx‎

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -260,21 +260,14 @@ const TaskForm: FC<TaskFormProps> = ({ templates, onSuccess }) => {
260260

261261
// Handle preset data changes
262262
useEffect(()=>{
263-
if(presetsData!==undefined){
264-
setPresets(presetsData);
265-
// Reset selected preset when changing templates or when no presets available
266-
if(presetsData===null||presetsData.length===0){
267-
setSelectedPresetId(null);
268-
}else{
269-
// Set default preset if available
270-
constdefaultPreset=presetsData.find((p:Preset)=>p.Default);
271-
if(defaultPreset){
272-
setSelectedPresetId(defaultPreset.ID);
273-
}else{
274-
setSelectedPresetId(null);
275-
}
276-
}
263+
if(!presetsData){
264+
setPresets(null);
265+
return;
277266
}
267+
setPresets(presetsData);
268+
constdefaultPreset=presetsData.find((p:Preset)=>p.Default);
269+
constdefaultPresetID=defaultPreset?.ID||null;
270+
setSelectedPresetId(defaultPresetID);
278271
},[presetsData]);
279272
constmissedExternalAuth=externalAuth?.filter(
280273
(auth)=>!auth.optional&&!auth.authenticated,
@@ -402,21 +395,13 @@ const TaskForm: FC<TaskFormProps> = ({ templates, onSuccess }) => {
402395
<SelectValueplaceholder="Select a preset"/>
403396
</SelectTrigger>
404397
<SelectContent>
405-
{presets
406-
.sort((a,b)=>{
407-
// Default preset should come first
408-
if(a.Default&&!b.Default)return-1;
409-
if(!a.Default&&b.Default)return1;
410-
// Otherwise, sort alphabetically by name
411-
returna.Name.localeCompare(b.Name);
412-
})
413-
.map((preset)=>(
414-
<SelectItemvalue={preset.ID}key={preset.ID}>
415-
<spanclassName="overflow-hidden text-ellipsis block">
416-
{preset.Name}{preset.Default&&"(Default)"}
417-
</span>
418-
</SelectItem>
419-
))}
398+
{sortedPresets(presets).map((preset)=>(
399+
<SelectItemvalue={preset.ID}key={preset.ID}>
400+
<spanclassName="overflow-hidden text-ellipsis block">
401+
{preset.Name}{preset.Default&&"(Default)"}
402+
</span>
403+
</SelectItem>
404+
))}
420405
</SelectContent>
421406
</Select>
422407
</div>
@@ -740,4 +725,16 @@ export const data = {
740725
},
741726
};
742727

728+
// sortedPresets sorts presets with the default preset first,
729+
// followed by the rest sorted alphabetically by name ascending.
730+
constsortedPresets=(presets:Preset[]):Preset[]=>{
731+
returnpresets.sort((a,b)=>{
732+
// Default preset should come first
733+
if(a.Default&&!b.Default)return-1;
734+
if(!a.Default&&b.Default)return1;
735+
// Otherwise, sort alphabetically by name
736+
returna.Name.localeCompare(b.Name);
737+
});
738+
};
739+
743740
exportdefaultTasksPage;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp