Files
medusa-store/www/apps/docs/src/utils/reverse-sidebar.js
Shahed Nasser c6dff873de docs: update docusaurus to v3 (#5625)
* update dependencies

* update onboarding mdx

* fixes for mdx issues

* fixes for mdx compatibility

* resolve mdx errors

* fixes in reference

* fix check errors

* revert change in vale action

* fix node version in action

* fix summary in markdown
2023-11-13 20:11:50 +02:00

28 lines
863 B
JavaScript

function reverseSidebarItems(sidebarItems, categoryItem) {
let result = sidebarItems
if (categoryItem.customProps?.reverse) {
// Reverse items in categories
result = result.map((item) => {
if (item.type === "category") {
return { ...item, items: reverseSidebarItems(item.items, categoryItem) }
}
return item
})
// Reverse items at current level
// use localeCompare since the reverse array method doesn't account for
// numeric strings
result.sort((a, b) => {
const aToCompare = a.id || a.href || a.value || ""
const bToCompare = b.id || b.href || b.value || ""
const comparison = aToCompare.localeCompare(bToCompare, undefined, {
numeric: true,
})
return comparison < 0 ? 1 : comparison > 0 ? -1 : 0
})
}
return result
}
export default reverseSidebarItems