Skip to content

Commit d91bd16

Browse files
authored
Merge pull request #46 from hardforkio/feature/fix-33-top-bar-responsiveness
Make top bar responsive.
2 parents 5ac1e22 + 087f213 commit d91bd16

File tree

3 files changed

+62
-79
lines changed

3 files changed

+62
-79
lines changed
Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,56 @@
11
.outer {
2-
display: flex;
3-
flex-direction: column;
4-
justify-content: stretch;
5-
height:100%;
2+
display: flex;
3+
flex-direction: column;
4+
justify-content: stretch;
5+
height: 100%;
66
}
77

88
.content {
9-
overflow: auto;
10-
display: flex;
11-
flex-direction: column;
12-
flex-grow: 1;
13-
height: 0; //This is a dirty hack to enable flex behaviour for Safari on iOS.
9+
overflow: auto;
10+
display: flex;
11+
flex-direction: column;
12+
flex-grow: 1;
13+
height: 0; //This is a dirty hack to enable flex behaviour for Safari on iOS.
1414
}
1515

1616
.menu {
17-
overflow: auto;
18-
flex-grow: 0;
17+
flex-grow: 0;
1918
}
2019

2120
.editor {
22-
flex-basis: 70%;
23-
overflow: auto;
21+
flex-basis: 70%;
22+
overflow: auto;
2423
}
2524

2625
.toolSection {
27-
flex-direction: row;
28-
display: flex;
29-
overflow: auto;
30-
flex-basis: 30%;
26+
flex-direction: row;
27+
display: flex;
28+
overflow: auto;
29+
flex-basis: 30%;
3130
}
3231

3332

3433
.info {
35-
flex-basis: 30%;
36-
overflow: auto;
34+
flex-basis: 30%;
35+
overflow: auto;
3736
}
3837

3938
.tools {
40-
flex-basis: 70%;
41-
overflow: auto;
39+
flex-basis: 70%;
40+
overflow: auto;
4241
}
4342

4443

45-
4644
@media screen and (orientation: landscape) {
47-
.content {
48-
flex-direction: row;
49-
}
50-
.toolSection {
51-
flex-direction: column;
52-
flex-basis: 30%;
53-
overflow: initial;
54-
}
55-
.info {
56-
flex-basis: auto;
57-
}
45+
.content {
46+
flex-direction: row;
47+
}
48+
.toolSection {
49+
flex-direction: column;
50+
flex-basis: 30%;
51+
overflow: initial;
52+
}
53+
.info {
54+
flex-basis: auto;
55+
}
5856
}

frontend/src/js/dataset/DatasetSelector.tsx

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type { DatasetType } from "./reducer";
1515
import { selectDataset } from "./actions";
1616

1717
const Root = styled("div")`
18-
min-width: 300px;
18+
flex-grow: 1;
1919
padding: 0px 0 0 20px;
2020
color: ${({ theme }) => theme.col.black};
2121
`;
@@ -36,25 +36,29 @@ const DatasetSelector = (props: PropsType) => {
3636
const selected = options.filter(set => selectedDatasetId === set.value);
3737

3838
return (
39-
<Root>
40-
<ReactSelect
41-
name="dataset-selector"
42-
value={error ? -1 : selected}
43-
//@ts-ignore
44-
45-
onChange={value =>
46-
!isEmpty(value)
47-
? selectDataset(value.value, selectedDatasetId)
48-
: selectDataset(null, selectedDatasetId)
49-
}
50-
placeholder={
51-
error
52-
? T.translate("datasetSelector.error")
53-
: T.translate("reactSelect.placeholder")
54-
}
55-
isDisabled={!!error}
56-
options={options}
57-
/>
39+
<Root className="d-flex flex-grow-1 align-items-center">
40+
{/*TODO: translate and style me. Without this the dropdown makes little sense to the user.*/}
41+
<div className={"px-2"}>Dataset:</div>
42+
<div className="flex-grow-1">
43+
<ReactSelect
44+
name="dataset-selector"
45+
value={error ? -1 : selected}
46+
//@ts-ignore
47+
48+
onChange={value =>
49+
!isEmpty(value)
50+
? selectDataset(value.value, selectedDatasetId)
51+
: selectDataset(null, selectedDatasetId)
52+
}
53+
placeholder={
54+
error
55+
? T.translate("datasetSelector.error")
56+
: T.translate("reactSelect.placeholder")
57+
}
58+
isDisabled={!!error}
59+
options={options}
60+
/>
61+
</div>
5862
</Root>
5963
);
6064
};

frontend/src/js/header/Header.tsx

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,6 @@ const Root = styled("header")`
99
color: ${({ theme }) => theme.col.blueGrayDark};
1010
border-bottom: 1px solid ${({ theme }) => theme.col.grayMediumLight};
1111
box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
12-
padding: 0 20px;
13-
display: flex;
14-
flex-direction: row;
15-
justify-content: space-between;
16-
align-items: center;
17-
`;
18-
19-
const OverflowHidden = styled("div")`
20-
overflow: hidden;
21-
flex-shrink: 0;
22-
display: flex;
23-
flex-direction: row;
24-
align-items: center;
25-
`;
26-
27-
const Spacer = styled("span")`
28-
margin: 0 10px;
29-
height: 20px;
3012
`;
3113

3214
const Logo = styled("div")`
@@ -39,8 +21,6 @@ const Logo = styled("div")`
3921
`;
4022

4123
const Headline = styled("h1")`
42-
margin: 0 auto 0 0;
43-
line-height: 2;
4424
font-size: ${({ theme }) => theme.font.md};
4525
font-weight: 300;
4626
`;
@@ -54,12 +34,13 @@ type PropsType = {
5434
class Header extends React.Component<PropsType> {
5535
render() {
5636
return (
57-
<Root>
58-
<OverflowHidden>
37+
<Root className="align-items-center d-flex w-100 justify-content-between p-2">
38+
<div className="d-none d-sm-flex align-items-center">
5939
<Logo title={this.props.version} />
60-
<Spacer />
61-
<Headline>{T.translate("headline")}</Headline>
62-
</OverflowHidden>
40+
<div className="d-none d-md-block">
41+
<Headline className="px-2 my-0">{T.translate("headline")}</Headline>
42+
</div>
43+
</div>
6344
<DatasetSelector />
6445
</Root>
6546
);
@@ -68,7 +49,7 @@ class Header extends React.Component<PropsType> {
6849

6950
//@ts-ignore
7051

71-
const mapStateToProps = (state, ownProps) => {
52+
const mapStateToProps = state => {
7253
return {
7354
version: state.startup.config.version,
7455
isDevelopment: !state.startup.config.production || false

0 commit comments

Comments
 (0)