Skip to content

Commit 446cfe9

Browse files
authored
Deploy May 22, 2025 (#5471)
[Carla Severe] Make the sidebar start out closed on mobile screens (#5464) [Carla Severe] Make the tab bar scrollable to allow accessing tabs on narrow page widths (mobile layout) (#5463) [depfu[bot]] Update all Yarn dependencies (2025-05-21) (#5466)
2 parents 96c748d + 55d6087 commit 446cfe9

File tree

6 files changed

+231
-211
lines changed

6 files changed

+231
-211
lines changed

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
"core-js": "^3.42.0",
8484
"escape-string-regexp": "^4.0.0",
8585
"gecko-profiler-demangle": "^0.3.3",
86-
"idb": "^8.0.2",
86+
"idb": "^8.0.3",
8787
"jszip": "^3.10.1",
8888
"long": "^5.3.2",
8989
"memoize-immutable": "^3.0.0",
@@ -132,20 +132,20 @@
132132
"copy-webpack-plugin": "^13.0.0",
133133
"cross-env": "^7.0.3",
134134
"css-loader": "^7.1.2",
135-
"cssnano": "^7.0.6",
135+
"cssnano": "^7.0.7",
136136
"devtools-license-check": "^0.9.0",
137137
"eslint": "^8.57.1",
138-
"eslint-config-prettier": "^10.1.2",
138+
"eslint-config-prettier": "^10.1.5",
139139
"eslint-import-resolver-alias": "^1.1.2",
140140
"eslint-plugin-flowtype": "^8.0.3",
141141
"eslint-plugin-import": "^2.31.0",
142142
"eslint-plugin-jest": "^28.11.0",
143143
"eslint-plugin-jest-dom": "^5.5.0",
144144
"eslint-plugin-jest-formatting": "^3.1.0",
145145
"eslint-plugin-react": "^7.37.5",
146-
"eslint-plugin-testing-library": "^7.1.1",
146+
"eslint-plugin-testing-library": "^7.2.1",
147147
"espree": "^10.3.0",
148-
"fake-indexeddb": "^6.0.0",
148+
"fake-indexeddb": "^6.0.1",
149149
"fetch-mock-jest": "^1.5.1",
150150
"file-loader": "^6.2.0",
151151
"flow-bin": "^0.96.0",
@@ -161,7 +161,7 @@
161161
"mkdirp": "^3.0.1",
162162
"node-fetch": "^2.6.11",
163163
"npm-run-all2": "^8.0.1",
164-
"open": "^10.1.1",
164+
"open": "^10.1.2",
165165
"postcss": "^8.5.3",
166166
"postcss-loader": "^8.1.1",
167167
"prettier": "^3.5.3",

src/components/app/Details.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ type DispatchProps = {|
4949

5050
type Props = ConnectedProps<{||}, StateProps, DispatchProps>;
5151

52+
const SMALL_SCREEN_WIDTH = 768;
53+
5254
class ProfileViewerImpl extends PureComponent<Props> {
5355
_onSelectTab = (selectedTab: string) => {
5456
const { changeSelectedTab } = this.props;
@@ -64,6 +66,15 @@ class ProfileViewerImpl extends PureComponent<Props> {
6466
changeSidebarOpenState(selectedTab, !isSidebarOpen);
6567
};
6668

69+
componentDidMount() {
70+
const width = window.innerWidth;
71+
const { selectedTab, isSidebarOpen, changeSidebarOpenState } = this.props;
72+
73+
if (width <= SMALL_SCREEN_WIDTH && isSidebarOpen) {
74+
changeSidebarOpenState(selectedTab, false);
75+
}
76+
}
77+
6778
render() {
6879
const { visibleTabs, selectedTab, isSidebarOpen } = this.props;
6980
const hasSidebar = selectSidebar(selectedTab) !== null;

src/components/app/TabBar.css

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,23 @@
1717

1818
.tabBarTabWrapper {
1919
display: flex;
20+
overflow: auto hidden;
2021
min-width: 0; /* This makes the tab container actually shrinkable below min-content */
22+
flex: 1;
2123
flex-flow: row nowrap;
2224
padding: 0;
23-
margin: 0 -0.5px; /* This combines with the -0.5px horizontal margin of .tabBarTab to clip off the first tab's 1px starting border */
25+
margin: 0 -0.5px -1px; /* The -0.5px horizontal margin combines with the -0.5px horizontal margin of .tabBarTab to clip off the first tab's 1px starting border. The -1px bottom margin makes our contents overlap the .Details-top-bar bottom border, so that the selected tab can cover that bottom border. */
2426
list-style: none;
27+
scrollbar-width: none;
2528
}
2629

2730
.tabBarTab {
2831
position: relative;
2932
min-width: 8em;
30-
padding: 6px 4px;
33+
padding: 6px 4px 5px;
3134
border: solid transparent;
3235
border-width: 0 1px;
33-
margin: 0 -0.5px; /* This makes the 1px border between adjacent tabs overlap */
36+
margin: 0 -0.5px 1px; /* The -0.5px horizontal margin makes the 1px border between adjacent tabs overlap. The 1px bottom margin makes space for the .Details-top-bar bottom border. */
3437
background-clip: padding-box;
3538
cursor: default;
3639
font-size: 12px;
@@ -74,8 +77,9 @@
7477

7578
.tabBarTab.selected {
7679
z-index: 1;
80+
padding: 6px 4px;
7781
border-color: var(--grey-30);
78-
margin-bottom: -1px; /* Expand 1px towards the bottom to cover the tab bar bottom border. */
82+
margin: 0 -0.5px; /* No bottom margin, so that this tab covers the .Details-top-bar bottom border. */
7983
background: #fff;
8084
color: var(--blue-60);
8185
transition: none; /* Switch the background color instantly when a tab is selected */

src/components/shared/MarkerSettings.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44

55
.markerSettings {
66
display: flex;
7+
overflow: auto hidden;
78
height: 25px;
89
flex-flow: row nowrap;
910
padding: 0;
1011
line-height: 25px;
12+
scrollbar-width: none;
13+
white-space: nowrap;
1114
}
1215

1316
.filterMarkersButton {

src/components/shared/StackSettings.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44

55
.stackSettings {
66
display: flex;
7+
overflow: auto hidden;
78
height: 25px;
89
flex-flow: row nowrap;
910
align-items: stretch;
1011
padding: 0;
12+
scrollbar-width: none;
1113
white-space: nowrap;
1214
}
1315

0 commit comments

Comments
 (0)