Skip to content
Snippets Groups Projects
Commit e48e2753 authored by Loïc Correnson's avatar Loïc Correnson
Browse files

[ivette/sidebar] sidebar selector tweaks

parent 7bac6c91
No related branches found
No related tags found
No related merge requests found
...@@ -87,7 +87,17 @@ function Wrapper(props: WrapperProps): JSX.Element { ...@@ -87,7 +87,17 @@ function Wrapper(props: WrapperProps): JSX.Element {
export function Panel(): JSX.Element { export function Panel(): JSX.Element {
const [selected, setSelected] = const [selected, setSelected] =
Dome.useStringSettings('ivette.sidebar.selected'); Dome.useStringSettings('ivette.sidebar.selected');
const sidebars = Ext.useElements(SIDEBAR); const sidebars = Ext.useElements(SIDEBAR);
// Ensures there is one selected sidebar
React.useEffect(() => {
if (sidebars.every((sb) => sb.id !== selected)) {
const first = sidebars[0];
if (first) setSelected(first.id);
}
}, [sidebars, selected, setSelected]);
const items = sidebars.map((sb) => ( const items = sidebars.map((sb) => (
<Selector <Selector
key={sb.id} key={sb.id}
...@@ -95,6 +105,7 @@ export function Panel(): JSX.Element { ...@@ -95,6 +105,7 @@ export function Panel(): JSX.Element {
setSelected={setSelected} setSelected={setSelected}
{...sb} /> {...sb} />
)); ));
const wrappers = sidebars.map((sb) => ( const wrappers = sidebars.map((sb) => (
<Wrapper <Wrapper
key={sb.id} key={sb.id}
...@@ -103,9 +114,15 @@ export function Panel(): JSX.Element { ...@@ -103,9 +114,15 @@ export function Panel(): JSX.Element {
/> />
)); ));
// Hide sidebar if only one of them
const selectorClasses = classes(
'sidebar-items dome-color-frame',
sidebars.length <= 1 && 'dome-erased'
);
return ( return (
<div className="sidebar-ruler"> <div className="sidebar-ruler">
<div className="sidebar-items dome-color-frame"> <div className={selectorClasses}>
{items} {items}
</div> </div>
{wrappers} {wrappers}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment