mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
24 lines
780 B
TypeScript
24 lines
780 B
TypeScript
import { CustomNavbarItem } from '../custom-navbar-item'
|
|
|
|
const regenerateOrder = (items: CustomNavbarItem[]) => {
|
|
items.forEach((item, index) => {
|
|
if (item.order === index) {
|
|
return
|
|
}
|
|
item.order = index
|
|
})
|
|
const orderMap = Object.fromEntries(items.map(it => [it.name, it.order]))
|
|
CustomNavbarItem.navbarOptions.order = orderMap
|
|
}
|
|
export const checkSequentialOrder = (items: CustomNavbarItem[]) => {
|
|
const isSequentialOrder = items.every((item, index) => item.order === index)
|
|
if (!isSequentialOrder) {
|
|
regenerateOrder(items)
|
|
}
|
|
}
|
|
export const sortItems = (items: CustomNavbarItem[], orderMap: Record<string, number>) => {
|
|
const sortedItems = lodash.sortBy(items, it => orderMap[it.name])
|
|
regenerateOrder(sortedItems)
|
|
return sortedItems
|
|
}
|