feat(resources): avoid a default language

This commit is contained in:
Jean-Philippe Sirois
2020-05-19 20:50:47 -04:00
parent 5941866778
commit 4283300472
2 changed files with 33 additions and 20 deletions
+29 -16
View File
@@ -127,24 +127,17 @@ const FirstLevelFolder = memo(({ item }: { item: IFolder }) => {
) )
}) })
const AllLanguages: FC<{ const LanguageList: FC<{
items: IFileOrFolder[] items: IFileOrFolder[]
expanded: boolean
setExpanded: React.Dispatch<React.SetStateAction<boolean>> setExpanded: React.Dispatch<React.SetStateAction<boolean>>
}> = ({ items, expanded, setExpanded }) => { }> = ({ items, setExpanded }) => {
const { current, setCurrent } = useSidebar() const { current, setCurrent } = useSidebar()
return ( return (
<SC.ExpandLanguages> <SC.StyledLanguageList>
<SC.ExpandLanguagesHeader
onClick={() => setExpanded(prevState => !prevState)}
>
Expand languages {expanded ? <SC.CollapseIcon /> : <SC.ExpandIcon />}
</SC.ExpandLanguagesHeader>
{expanded && (
<SC.ExpandLanguagesList>
{items.map(item => ( {items.map(item => (
<SC.Language <SC.Language
key={item.title}
className={current === item.title ? "active" : ""} className={current === item.title ? "active" : ""}
onClick={() => { onClick={() => {
setCurrent(item.title) setCurrent(item.title)
@@ -154,8 +147,29 @@ const AllLanguages: FC<{
{item.title} {item.title}
</SC.Language> </SC.Language>
))} ))}
</SC.ExpandLanguagesList> </SC.StyledLanguageList>
)} )
}
const AllLanguages: FC<{
items: IFileOrFolder[]
expanded: boolean
setExpanded: React.Dispatch<React.SetStateAction<boolean>>
}> = ({ items, expanded, setExpanded }) => {
const { current } = useSidebar()
if (!current) {
return <LanguageList items={items} setExpanded={setExpanded} />
}
return (
<SC.ExpandLanguages>
<SC.ExpandLanguagesHeader
onClick={() => setExpanded(prevState => !prevState)}
>
Expand languages {expanded ? <SC.CollapseIcon /> : <SC.ExpandIcon />}
</SC.ExpandLanguagesHeader>
{expanded && <LanguageList items={items} setExpanded={setExpanded} />}
</SC.ExpandLanguages> </SC.ExpandLanguages>
) )
} }
@@ -170,8 +184,7 @@ export const ResourcesSidebar: FC<HTMLAttributes<HTMLDivElement>> = props => {
languages languages
) )
const currentLanguage = const currentLanguage = sortedLanguages.find(lang => lang.title === current)
sortedLanguages.find(lang => lang.title === current) || sortedLanguages[0]
return ( return (
<Sidebar {...props}> <Sidebar {...props}>
@@ -180,7 +193,7 @@ export const ResourcesSidebar: FC<HTMLAttributes<HTMLDivElement>> = props => {
expanded={expandedLanguages} expanded={expandedLanguages}
setExpanded={setExpandedLanguages} setExpanded={setExpandedLanguages}
/> />
<Tree item={currentLanguage} firstLevel={true} /> {currentLanguage && <Tree item={currentLanguage} firstLevel={true} />}
</Sidebar> </Sidebar>
) )
} }
+1 -1
View File
@@ -130,7 +130,7 @@ export const ExpandLanguagesHeader = styled.div`
} }
` `
export const ExpandLanguagesList = styled.div` export const StyledLanguageList = styled.div`
padding: 8px 0; padding: 8px 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;