@@ -498,46 +498,47 @@ export const Presets: React.FC<Presets.Props> = (props) => {
498498 }
499499
500500 // Handle normal preset/group reordering
501- if ( props . on_presets_reorder ) {
502- const new_visible_presets = new_state
503- . filter (
504- ( item ) =>
505- item . id !== UNGROUPED_ID &&
506- item . id !== TRAILING_GROUP_ID &&
507- item . id !== TRAILING_SEPARATOR_ID
508- )
509- . map ( ( { id, ...preset } ) => preset ) as Presets . Preset [ ]
501+ const new_visible_presets = new_state
502+ . filter (
503+ ( item ) =>
504+ item . id !== UNGROUPED_ID &&
505+ item . id !== TRAILING_GROUP_ID &&
506+ item . id !== TRAILING_SEPARATOR_ID
507+ )
508+ . map ( ( { id, ...preset } ) => preset ) as Presets . Preset [ ]
510509
511- const reordered_presets : Presets . Preset [ ] = [ ]
510+ const reordered_presets : Presets . Preset [ ] = [ ]
512511
513- for ( const preset of new_visible_presets ) {
514- reordered_presets . push ( preset )
512+ for ( const preset of new_visible_presets ) {
513+ reordered_presets . push ( preset )
515514
516- if ( ! preset . chatbot && preset . is_collapsed ) {
517- // It's a collapsed group. Find its children in original list and add them.
518- const original_index = props . presets . findIndex (
519- ( p ) => p . name = == preset . name
520- )
515+ if ( ! preset . chatbot && preset . is_collapsed ) {
516+ // It's a collapsed group. Find its children in original list and add them.
517+ const original_index = props . presets . findIndex (
518+ ( p ) => p . name == preset . name
519+ )
521520
522- if ( original_index !== - 1 ) {
523- for (
524- let i = original_index + 1 ;
525- i < props . presets . length ;
526- i ++
521+ if ( original_index != - 1 ) {
522+ for (
523+ let i = original_index + 1 ;
524+ i < props . presets . length ;
525+ i ++
526+ ) {
527+ const child_candidate = props . presets [ i ]
528+ if (
529+ ( ( child_candidate . chatbot && child_candidate . name ) ||
530+ ! child_candidate . name ) &&
531+ props . presets [ i - 1 ] . name
527532 ) {
528- const child_candidate = props . presets [ i ]
529- if ( child_candidate . chatbot && child_candidate . name ) {
530- reordered_presets . push ( child_candidate )
531- } else {
532- // next group or separator found
533- break
534- }
533+ reordered_presets . push ( child_candidate )
534+ } else {
535+ break
535536 }
536537 }
537538 }
538539 }
539- props . on_presets_reorder ( reordered_presets )
540540 }
541+ props . on_presets_reorder ( reordered_presets )
541542 } }
542543 animation = { 150 }
543544 handle = { `.${ styles . presets__item__left__drag_handle } ` }
@@ -788,7 +789,7 @@ export const Presets: React.FC<Presets.Props> = (props) => {
788789
789790 return (
790791 < div
791- key = { preset . name }
792+ key = { preset . id }
792793 className = { cn ( styles . presets__item , {
793794 [ styles [ 'presets__item--highlighted' ] ] :
794795 props . selected_preset_name == preset . name
0 commit comments