mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-14 18:01:06 +00:00
feat(UIShell): only render hamburger menu if SideNav exists (#457)
* feat(UIShell): only render hamburger menu if SideNav exists * feat(SideNav): store logic moved to onMount
This commit is contained in:
parent
4b7c44994c
commit
a9e63e0038
3 changed files with 13 additions and 1 deletions
|
@ -35,6 +35,7 @@
|
|||
/** Obtain a reference to the HTML anchor element */
|
||||
export let ref = null;
|
||||
|
||||
import { shouldRenderHamburgerMenu } from "../navStore";
|
||||
import HamburgerMenu from "../SideNav/HamburgerMenu.svelte";
|
||||
|
||||
let winWidth = undefined;
|
||||
|
@ -50,7 +51,7 @@
|
|||
|
||||
<header role="banner" aria-label="{ariaLabel}" class:bx--header="{true}">
|
||||
<slot name="skip-to-content" />
|
||||
{#if winWidth < 1056 || persistentHamburgerMenu}
|
||||
{#if ($shouldRenderHamburgerMenu && winWidth < 1056) || persistentHamburgerMenu}
|
||||
<HamburgerMenu bind:isOpen="{isSideNavOpen}" />
|
||||
{/if}
|
||||
<a
|
||||
|
|
|
@ -10,6 +10,14 @@
|
|||
|
||||
/** Set to `true` to toggle the expanded state */
|
||||
export let isOpen = false;
|
||||
|
||||
import { onMount } from "svelte";
|
||||
import { shouldRenderHamburgerMenu } from "../navStore";
|
||||
|
||||
onMount(() => {
|
||||
shouldRenderHamburgerMenu.set(true);
|
||||
return () => shouldRenderHamburgerMenu.set(false);
|
||||
});
|
||||
</script>
|
||||
|
||||
{#if fixed}
|
||||
|
|
3
src/UIShell/navStore.js
Normal file
3
src/UIShell/navStore.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import { writable } from "svelte/store";
|
||||
|
||||
export const shouldRenderHamburgerMenu = writable(false);
|
Loading…
Add table
Add a link
Reference in a new issue