File tree Expand file tree Collapse file tree
packages/evershop/src/modules/pageBuilder/pages/admin/pageBuilderEdit Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -785,13 +785,24 @@ export default function Editor({
785785 } , [ rolloutPlansResult . data ] ) ;
786786 const pageRoutes = useMemo (
787787 ( ) =>
788- allRoutes . filter (
789- ( r : any ) =>
790- r . editableInPageBuilder === true &&
791- ! r . isApi &&
792- ! r . isAdmin &&
793- typeof r . path === 'string'
794- ) ,
788+ allRoutes
789+ . filter (
790+ ( r : any ) =>
791+ r . editableInPageBuilder === true &&
792+ ! r . isApi &&
793+ ! r . isAdmin &&
794+ typeof r . path === 'string'
795+ )
796+ // Homepage first, then alphabetical by display name. The raw `routes`
797+ // query returns scan/registration order, which reads as random in the
798+ // switcher and Pages tab; a stable, predictable order is friendlier.
799+ // `.filter` already returned a fresh array, so sorting in place is safe.
800+ . sort ( ( a : any , b : any ) => {
801+ if ( a . id === b . id ) return 0 ;
802+ if ( a . id === 'homepage' ) return - 1 ;
803+ if ( b . id === 'homepage' ) return 1 ;
804+ return ( a . name ?? '' ) . localeCompare ( b . name ?? '' ) ;
805+ } ) ,
795806 [ allRoutes ]
796807 ) ;
797808
You can’t perform that action at this time.
0 commit comments