Skip to content

Commit 6afacb7

Browse files
committed
fix: add hide header option
1 parent 85daba0 commit 6afacb7

File tree

4 files changed

+108
-16
lines changed

4 files changed

+108
-16
lines changed

src/Header/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ type Props = {|
2727

2828
export const Header = ({
2929
leftSideContent = null,
30+
hideHeaderText = false,
3031
items,
3132
onClickItem,
3233
}: Props) => {
@@ -36,6 +37,7 @@ export const Header = ({
3637
{items.map((item) => (
3738
<HeaderButton
3839
key={item.name}
40+
hideText={hideHeaderText}
3941
onClick={() => onClickItem(item)}
4042
{...item}
4143
/>

src/HeaderButton/index.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ const ButtonInnerContent = styled("div")({
2929
display: "flex",
3030
flexDirection: "column",
3131
})
32-
const IconContainer = styled("div")({
32+
const IconContainer = styled("div")(({ textHidden }) => ({
3333
color: colors.grey[700],
34-
height: 20,
34+
height: textHidden ? 32 : 20,
35+
paddingTop: textHidden ? 8 : 0,
3536
"& .MuiSvgIcon-root": {
3637
width: 18,
3738
height: 18,
3839
},
39-
})
40+
}))
4041
const Text = styled("div")({
4142
fontWeight: "bold",
4243
fontSize: 11,
@@ -46,17 +47,25 @@ const Text = styled("div")({
4647
justifyContent: "center",
4748
})
4849

49-
export const HeaderButton = ({ name, icon, disabled, onClick }) => {
50+
export const HeaderButton = ({
51+
name,
52+
icon,
53+
disabled,
54+
onClick,
55+
hideText = false,
56+
}) => {
5057
const customIconMapping = useIconDictionary()
5158
return (
5259
<StyledButton onClick={onClick} disabled={disabled}>
5360
<ButtonInnerContent>
54-
<IconContainer>
61+
<IconContainer textHidden={hideText}>
5562
{icon || getIcon(name, customIconMapping)}
5663
</IconContainer>
57-
<Text>
58-
<div>{name}</div>
59-
</Text>
64+
{!hideText && (
65+
<Text>
66+
<div>{name}</div>
67+
</Text>
68+
)}
6069
</ButtonInnerContent>
6170
</StyledButton>
6271
)

src/Workspace/index.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ const Container = styled("div")({
1616
flexDirection: "column",
1717
height: "100%",
1818
overflow: "hidden",
19-
maxWidth: "100vw"
19+
maxWidth: "100vw",
2020
})
2121
const SidebarsAndContent = styled("div")({
2222
display: "flex",
2323
flexGrow: 1,
2424
width: "100%",
2525
height: "100%",
2626
overflow: "hidden",
27-
maxWidth: "100vw"
27+
maxWidth: "100vw",
2828
})
2929

3030
export default ({
@@ -38,17 +38,22 @@ export default ({
3838
headerLeftSide = null,
3939
iconDictionary = emptyObj,
4040
rightSidebarExpanded,
41-
children
41+
hideHeader = false,
42+
hideHeaderText = false,
43+
children,
4244
}) => {
4345
const [sidebarAndContentRef, sidebarAndContent] = useDimensions()
4446
return (
4547
<IconDictionaryContext.Provider value={iconDictionary}>
4648
<Container style={style}>
47-
<Header
48-
leftSideContent={headerLeftSide}
49-
onClickItem={onClickHeaderItem}
50-
items={headerItems}
51-
/>
49+
{!hideHeader && (
50+
<Header
51+
hideHeaderText={hideHeaderText}
52+
leftSideContent={headerLeftSide}
53+
onClickItem={onClickHeaderItem}
54+
items={headerItems}
55+
/>
56+
)}
5257
<SidebarsAndContent ref={sidebarAndContentRef}>
5358
{iconSidebarItems.length === 0 ? null : (
5459
<IconSidebar

src/Workspace/index.stories.js

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,79 @@ export const FullWidthHeightViewport = () => (
122122
FullWidthHeightViewport.story = {
123123
name: "FullWidthHeightViewport",
124124
}
125+
126+
export const HideHeader = () => (
127+
<div style={{ width: "90vw", height: "90vh" }}>
128+
<Workspace
129+
allowFullscreen
130+
hideHeader
131+
headerItems={[{ name: "Prev" }, { name: "Next" }, { name: "Save" }]}
132+
onClickHeaderItem={action("onClickHeaderItem")}
133+
onClickIconSidebarItem={action("onClickIconSidebarItem")}
134+
selectedTools={["play"]}
135+
iconSidebarItems={[
136+
{
137+
name: "Play",
138+
helperText: "Play Tooltip",
139+
},
140+
{
141+
name: "Pause",
142+
helperText: "Pause Tooltip",
143+
},
144+
]}
145+
rightSidebarItems={[
146+
<SidebarBox icon={<FeaturedVideoIcon />} title="Region Selector">
147+
Hello world!
148+
</SidebarBox>,
149+
]}
150+
>
151+
<div
152+
style={{ margin: 40, width: 400, height: 400, backgroundColor: "#f00" }}
153+
>
154+
Hello World
155+
</div>
156+
</Workspace>
157+
</div>
158+
)
159+
160+
HideHeader.story = {
161+
name: "HideHeader",
162+
}
163+
164+
export const HideHeaderText = () => (
165+
<div style={{ width: "90vw", height: "90vh" }}>
166+
<Workspace
167+
allowFullscreen
168+
hideHeaderText
169+
headerItems={[{ name: "Prev" }, { name: "Next" }, { name: "Save" }]}
170+
onClickHeaderItem={action("onClickHeaderItem")}
171+
onClickIconSidebarItem={action("onClickIconSidebarItem")}
172+
selectedTools={["play"]}
173+
iconSidebarItems={[
174+
{
175+
name: "Play",
176+
helperText: "Play Tooltip",
177+
},
178+
{
179+
name: "Pause",
180+
helperText: "Pause Tooltip",
181+
},
182+
]}
183+
rightSidebarItems={[
184+
<SidebarBox icon={<FeaturedVideoIcon />} title="Region Selector">
185+
Hello world!
186+
</SidebarBox>,
187+
]}
188+
>
189+
<div
190+
style={{ margin: 40, width: 400, height: 400, backgroundColor: "#f00" }}
191+
>
192+
Hello World
193+
</div>
194+
</Workspace>
195+
</div>
196+
)
197+
198+
HideHeaderText.story = {
199+
name: "HideHeaderText",
200+
}

0 commit comments

Comments
 (0)