From 094863c9931226e0c5e7b272c5bf7cd44c2ed2ea Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 18 May 2025 10:02:47 +0000 Subject: [PATCH] fix(studio,eu): Remove submenus from account measurements sets and patterns. (#354) Fixes #311 in both the repository studio and in the freesewing.eu site. (Because I am not able to test the stand-alone studio, I'll submit a separate PR to add the fix there.) Co-authored-by: Benjamin Fan Reviewed-on: https://codeberg.org/freesewing/freesewing/pulls/354 Reviewed-by: Joost De Cock Co-authored-by: Benjamin Fan Co-committed-by: Benjamin Fan --- sites/org/docusaurus.config.mjs | 16 ++++++++++++++++ sites/studio/docusaurus.config.mjs | 23 +++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/sites/org/docusaurus.config.mjs b/sites/org/docusaurus.config.mjs index f08ffe502e6..7d8703f4a09 100644 --- a/sites/org/docusaurus.config.mjs +++ b/sites/org/docusaurus.config.mjs @@ -25,6 +25,22 @@ function customizeSidebar(items) { } } + // Filter out submenus in Your Measurements Sets and Your Patterns + for (const item in items) { + if (items[item].label === 'Account') { + for (const design in items[item].items) { + for (const subpage in items[item].items[design].items) { + if ( + items[item].items[design].items[subpage].label === 'Your Measurements Sets' || + items[item].items[design].items[subpage].label === 'Your Patterns' + ) { + items[item].items[design].items[subpage].items = [] + } + } + } + } + } + return items } diff --git a/sites/studio/docusaurus.config.mjs b/sites/studio/docusaurus.config.mjs index 369dfa1c9a4..4ed76f5ba0e 100644 --- a/sites/studio/docusaurus.config.mjs +++ b/sites/studio/docusaurus.config.mjs @@ -2,6 +2,25 @@ import { themes as prismThemes } from 'prism-react-renderer' import { docusaurusPlugins } from './plugins/index.mjs' import smartypants from 'remark-smartypants' +function customizeSidebar(items) { + // Filter out submenus in Your Measurements Sets and Your Patterns + for (const item in items) { + if (items[item].label === 'Account') { + for (const design in items[item].items) { + for (const subpage in items[item].items[design].items) { + if ( + items[item].items[design].items[subpage].label === 'Your Measurements Sets' || + items[item].items[design].items[subpage].label === 'Your Patterns' + ) { + items[item].items[design].items[subpage].items = [] + } + } + } + } + } + return items +} + const config = { title: 'FreeSewing Studio', tagline: 'FreeSewing for Designers', @@ -25,6 +44,10 @@ const config = { docs: { routeBasePath: '/', sidebarPath: './sidebars.js', + async sidebarItemsGenerator({ defaultSidebarItemsGenerator, ...args }) { + const sidebarItems = await defaultSidebarItemsGenerator(args) + return customizeSidebar(sidebarItems) + }, remarkPlugins: [[smartypants, { dashes: 'oldschool' }]], }, theme: {