@openstack_dev/gatsby-theme-marketing-oif-core 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gatsby-config.js CHANGED
@@ -41,12 +41,12 @@ const manifestPlugin = faviconAsset
41
41
 
42
42
  const plugins = [
43
43
  {
44
- resolve: "gatsby-plugin-mui-theme-provider",
44
+ resolve: "@openstack_dev/gatsby-plugin-mui-theme-provider",
45
45
  options: {
46
46
  themePath: `${__dirname}/src/theme.js`,
47
47
  },
48
48
  },
49
- "gatsby-plugin-emotion-cache-provider",
49
+ "@openstack_dev/gatsby-plugin-emotion-cache-provider",
50
50
  ...manifestPlugin,
51
51
  {
52
52
  resolve: "gatsby-alias-imports",
package/netlify.toml CHANGED
@@ -3,256 +3,256 @@
3
3
  # Define which paths this specific [[headers]] block will cover.
4
4
  for = "/*"
5
5
  [headers.values]
6
- Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI"
6
+ Authorization = "Basic undefined"
7
7
 
8
8
  [[redirects]]
9
9
  from = "/marketplace/*"
10
- to = "https://devbranch.openstack.org/marketplace/:splat"
10
+ to = "undefined/marketplace/:splat"
11
11
  status = 200
12
12
  force = true
13
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
13
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
14
14
 
15
15
  [[redirects]]
16
16
  from = "/themes/*"
17
- to = "https://devbranch.openstack.org/themes/:splat"
17
+ to = "undefined/themes/:splat"
18
18
  status = 200
19
19
  force = true
20
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
20
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
21
21
 
22
22
  [[redirects]]
23
23
  from = "/navbar/*"
24
- to = "https://devbranch.openstack.org/navbar/:splat"
24
+ to = "undefined/navbar/:splat"
25
25
  status = 200
26
26
  force = true
27
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
27
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
28
28
 
29
29
  [[redirects]]
30
30
  from = "/framework/*"
31
- to = "https://devbranch.openstack.org/framework/:splat"
31
+ to = "undefined/framework/:splat"
32
32
  status = 200
33
33
  force = true
34
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
34
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
35
35
 
36
36
  [[redirects]]
37
37
  from = "/googlemaps/*"
38
- to = "https://devbranch.openstack.org/googlemaps/:splat"
38
+ to = "undefined/googlemaps/:splat"
39
39
  status = 200
40
40
  force = true
41
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
41
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
42
42
 
43
43
  [[redirects]]
44
44
  from = "/node_modules/*"
45
- to = "https://devbranch.openstack.org/node_modules/:splat"
45
+ to = "undefined/node_modules/:splat"
46
46
  status = 200
47
47
  force = true
48
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
48
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
49
49
 
50
50
  [[redirects]]
51
51
  from = "/maps_images/*"
52
- to = "https://devbranch.openstack.org/maps_images/:splat"
52
+ to = "undefined/maps_images/:splat"
53
53
  status = 200
54
54
  force = true
55
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
55
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
56
56
 
57
57
  [[redirects]]
58
58
  from = "/use-cases/*"
59
- to = "https://devbranch.openstack.org/use-cases/:splat"
59
+ to = "undefined/use-cases/:splat"
60
60
  status = 200
61
61
  force = true
62
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
62
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
63
63
 
64
64
  [[redirects]]
65
65
  from = "/software/*"
66
- to = "https://devbranch.openstack.org/software/:splat"
66
+ to = "undefined/software/:splat"
67
67
  status = 200
68
68
  force = true
69
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
69
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
70
70
 
71
71
  [[redirects]]
72
72
  from = "/openstack-map/*"
73
- to = "https://devbranch.openstack.org/openstack-map/:splat"
73
+ to = "undefined/openstack-map/:splat"
74
74
  status = 200
75
75
  force = true
76
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
76
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
77
77
 
78
78
  [[redirects]]
79
79
  from = "/surveys/*"
80
- to = "https://devbranch.openstack.org/surveys/:splat"
80
+ to = "undefined/surveys/:splat"
81
81
  status = 200
82
82
  force = true
83
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
83
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
84
84
 
85
85
  [[redirects]]
86
86
  from = "/user-survey/*"
87
- to = "https://devbranch.openstack.org/user-survey/:splat"
87
+ to = "undefined/user-survey/:splat"
88
88
  status = 200
89
89
  force = true
90
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
90
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
91
91
 
92
92
  [[redirects]]
93
93
  from = "/blog/*"
94
- to = "https://devbranch.openstack.org/blog/:splat"
94
+ to = "undefined/blog/:splat"
95
95
  status = 200
96
96
  force = true
97
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
97
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
98
98
 
99
99
  [[redirects]]
100
100
  from = "/marketing/*"
101
- to = "https://devbranch.openstack.org/marketing/:splat"
101
+ to = "undefined/marketing/:splat"
102
102
  status = 200
103
103
  force = true
104
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
104
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
105
105
 
106
106
  [[redirects]]
107
107
  from = "/summit/*"
108
- to = "https://devbranch.openstack.org/summit/:splat"
108
+ to = "undefined/summit/:splat"
109
109
  status = 200
110
110
  force = true
111
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
111
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
112
112
 
113
113
  [[redirects]]
114
114
  from = "/brand/*"
115
- to = "https://devbranch.openstack.org/brand/:splat"
115
+ to = "undefined/brand/:splat"
116
116
  status = 200
117
117
  force = true
118
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
118
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
119
119
 
120
120
  [[redirects]]
121
121
  from = "/community/*"
122
- to = "https://devbranch.openstack.org/community/:splat"
122
+ to = "undefined/community/:splat"
123
123
  status = 200
124
124
  force = true
125
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
125
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
126
126
 
127
127
  [[redirects]]
128
128
  from = "/events/*"
129
- to = "https://devbranch.openstack.org/events/:splat"
129
+ to = "undefined/events/:splat"
130
130
  status = 200
131
131
  force = true
132
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
132
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
133
133
 
134
134
  [[redirects]]
135
135
  from = "/ptg/*"
136
- to = "https://devbranch.openstack.org/ptg/:splat"
136
+ to = "undefined/ptg/:splat"
137
137
  status = 200
138
138
  force = true
139
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
139
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
140
140
 
141
141
  [[redirects]]
142
142
  from = "/videos/*"
143
- to = "https://devbranch.openstack.org/videos/:splat"
143
+ to = "undefined/videos/:splat"
144
144
  status = 200
145
145
  force = true
146
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
146
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
147
147
 
148
148
  [[redirects]]
149
149
  from = "/summit-video-app/*"
150
- to = "https://devbranch.openstack.org/summit-video-app/:splat"
150
+ to = "undefined/summit-video-app/:splat"
151
151
  status = 200
152
152
  force = true
153
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
153
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
154
154
 
155
155
  [[redirects]]
156
156
  from = "/news/*"
157
- to = "https://devbranch.openstack.org/summit-video-app/:splat"
157
+ to = "undefined/summit-video-app/:splat"
158
158
  status = 200
159
159
  force = true
160
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
160
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
161
161
 
162
162
  [[redirects]]
163
163
  from = "/favicon/*"
164
- to = "https://devbranch.openstack.org/favicon/:splat"
164
+ to = "undefined/favicon/:splat"
165
165
  status = 200
166
166
  force = true
167
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
167
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
168
168
 
169
169
  [[redirects]]
170
170
  from = "/errors_pages/*"
171
- to = "https://devbranch.openstack.org/errors_pages/:splat"
171
+ to = "undefined/errors_pages/:splat"
172
172
  status = 200
173
173
  force = true
174
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
174
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
175
175
 
176
176
  [[redirects]]
177
177
  from = "/speaker_bureau/*"
178
- to = "https://devbranch.openstack.org/speaker_bureau/:splat"
178
+ to = "undefined/speaker_bureau/:splat"
179
179
  status = 200
180
180
  force = true
181
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
181
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
182
182
 
183
183
  [[redirects]]
184
184
  from = "/coa/*"
185
- to = "https://devbranch.openstack.org/coa/:splat"
185
+ to = "undefined/coa/:splat"
186
186
  status = 200
187
187
  force = true
188
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
188
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
189
189
 
190
190
  [[redirects]]
191
191
  from = "/learn/*"
192
- to = "https://devbranch.openstack.org/learn/:splat"
192
+ to = "undefined/learn/:splat"
193
193
  status = 200
194
194
  force = true
195
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
195
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
196
196
 
197
197
  [[redirects]]
198
198
  from = "/Security/*"
199
- to = "https://devbranch.openstack.org/Security/:splat"
199
+ to = "undefined/Security/:splat"
200
200
  status = 200
201
201
  force = true
202
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
202
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
203
203
 
204
204
  [[redirects]]
205
205
  from = "/OpenStackIdAuthenticator/*"
206
- to = "https://devbranch.openstack.org/OpenStackIdAuthenticator/:splat"
206
+ to = "undefined/OpenStackIdAuthenticator/:splat"
207
207
  status = 200
208
208
  force = true
209
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
209
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
210
210
 
211
211
  [[redirects]]
212
212
  from = "/profile/*"
213
- to = "https://devbranch.openstack.org/profile/:splat"
213
+ to = "undefined/profile/:splat"
214
214
  status = 200
215
215
  force = true
216
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
216
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
217
217
 
218
218
  [[redirects]]
219
219
  from = "/userprofile/*"
220
- to = "https://devbranch.openstack.org/userprofile/:splat"
220
+ to = "undefined/userprofile/:splat"
221
221
  status = 200
222
222
  force = true
223
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
223
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
224
224
 
225
225
  [[redirects]]
226
226
  from = "/registration/*"
227
- to = "https://devbranch.openstack.org/registration/:splat"
227
+ to = "undefined/registration/:splat"
228
228
  status = 200
229
229
  force = true
230
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
230
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
231
231
 
232
232
  [[redirects]]
233
233
  from = "/legal/*"
234
- to = "https://devbranch.openstack.org/legal/:splat"
234
+ to = "undefined/legal/:splat"
235
235
  status = 200
236
236
  force = true
237
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
237
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
238
238
 
239
239
  [[redirects]]
240
240
  from = "/ICLA/*"
241
- to = "https://devbranch.openstack.org/ICLA/:splat"
241
+ to = "undefined/ICLA/:splat"
242
242
  status = 200
243
243
  force = true
244
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
244
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
245
245
 
246
246
  [[redirects]]
247
247
  from = "/marketplaceadmin/*"
248
- to = "https://devbranch.openstack.org/marketplaceadmin/:splat"
248
+ to = "undefined/marketplaceadmin/:splat"
249
249
  status = 200
250
250
  force = true
251
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
251
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
252
252
 
253
253
  [[redirects]]
254
254
  from = "/api/*"
255
- to = "https://devbranch.openstack.org/api/:splat"
255
+ to = "undefined/api/:splat"
256
256
  status = 200
257
257
  force = true
258
- headers = {Authorization = "Basic b3BlbnN0YWNrOlF1YWNrZXI", X-From = "netlify", X-Forwarded-Host = "main--oif-marketing-site-dev.netlify.app"}
258
+ headers = {Authorization = "Basic undefined", X-From = "netlify", X-Forwarded-Host = "undefined"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openstack_dev/gatsby-theme-marketing-oif-core",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Base theme for Marketing Sites",
5
5
  "author": "smarcet",
6
6
  "keywords": [
@@ -15,7 +15,8 @@
15
15
  "format": "prettier --trailing-comma es5 --no-semi --single-quote --write \"{gatsby-*.js,src/**/*.js}\"",
16
16
  "prepare": "husky",
17
17
  "lint": "eslint src",
18
- "precommit": "npx lint-staged --diff=origin/main --verbose"
18
+ "precommit": "npx lint-staged --diff=origin/main --verbose",
19
+ "publish": "yarn publish --access public"
19
20
  },
20
21
  "lint-staged": {
21
22
  "*.{js,jsx}": "eslint --fix",
@@ -32,6 +33,8 @@
32
33
  "@mui/material": "^5.15.15",
33
34
  "@ncwidgets/file-relation": "^0.8.0",
34
35
  "@ncwidgets/id": "^0.8.1",
36
+ "@openstack_dev/gatsby-plugin-emotion-cache-provider": "^1.0.0",
37
+ "@openstack_dev/gatsby-plugin-mui-theme-provider": "^1.0.0",
35
38
  "@react-pdf/renderer": "^3.1.12",
36
39
  "@react-spring/web": "^9.4.3",
37
40
  "@sentry/browser": "^7.39.0",
@@ -1,3 +1,7 @@
1
1
  {
2
- "name": "gatsby-plugin-emotion-cache-provider"
2
+ "name": "@openstack_dev/gatsby-plugin-emotion-cache-provider",
3
+ "version": "1.0.0",
4
+ "scripts": {
5
+ "publish": "yarn publish --access public"
6
+ }
3
7
  }
@@ -1,3 +1,7 @@
1
1
  {
2
- "name": "gatsby-plugin-mui-theme-provider"
2
+ "name": "@openstack_dev/gatsby-plugin-mui-theme-provider",
3
+ "version": "1.0.0",
4
+ "scripts": {
5
+ "publish": "yarn publish --access public"
6
+ }
3
7
  }
@@ -0,0 +1,145 @@
1
+ import * as React from "react";
2
+ import PropTypes from "prop-types";
3
+ import { navigate } from "gatsby";
4
+ import Box from "@mui/material/Box";
5
+ import Button from "@mui/material/Button";
6
+ import AddIcon from "@mui/icons-material/Add";
7
+ import RemoveIcon from "@mui/icons-material/Remove";
8
+ import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
9
+
10
+ import styles from "../index.module.scss";
11
+
12
+ function AuthUserSubNavBar({
13
+ member,
14
+ isMobile,
15
+ navbarMenu,
16
+ setActiveMenu,
17
+ isSearchBarOpen,
18
+ handleNavigation,
19
+ }) {
20
+ const onClickLogout = () => {
21
+ navigate("/auth/logout", {
22
+ state: {
23
+ backUrl: window.location.pathname,
24
+ },
25
+ });
26
+ };
27
+
28
+ return isMobile ? (
29
+ <>
30
+ <Button
31
+ className={styles.mobileOption}
32
+ onClick={() => setActiveMenu("My Account")}
33
+ disableRipple
34
+ >
35
+ My Account
36
+ {navbarMenu === "My Account" ? (
37
+ <RemoveIcon aria-hidden="true" />
38
+ ) : (
39
+ <AddIcon aria-hidden="true" />
40
+ )}
41
+ </Button>
42
+ {navbarMenu === "My Account" && (
43
+ <Box className={styles.mobileDropdownMenu}>
44
+ <Button
45
+ className={styles.mobileDropdownOption}
46
+ onClick={() => handleNavigation("/profile/")}
47
+ sx={{ display: "block" }}
48
+ disableRipple
49
+ >
50
+ Edit Profile
51
+ </Button>
52
+ <Button
53
+ className={styles.mobileDropdownOption}
54
+ onClick={() => handleNavigation(
55
+ `/community/members/profile/${
56
+ member.id
57
+ }/${`${member.first_name.toLowerCase()}-${member.last_name.toLowerCase()}`}`,
58
+ )}
59
+ sx={{ display: "block" }}
60
+ disableRipple
61
+ >
62
+ View Public Profile
63
+ </Button>
64
+ <div className={styles.divider} />
65
+ <Button
66
+ className={styles.mobileDropdownOption}
67
+ sx={{ display: "block" }}
68
+ onClick={onClickLogout}
69
+ disableRipple
70
+ >
71
+ Log out
72
+ </Button>
73
+ </Box>
74
+ )}
75
+ </>
76
+ ) : (
77
+ <Box
78
+ maxWidth="15%"
79
+ sx={{
80
+ display: {
81
+ xs: "none",
82
+ md: isSearchBarOpen ? "none" : "flex",
83
+ },
84
+ justifyContent: "flex-end",
85
+ marginLeft: "auto",
86
+ }}
87
+ >
88
+ <Box
89
+ className={`${styles.navbarOption}`}
90
+ sx={{ my: 2, display: "block" }}
91
+ >
92
+ My Account
93
+ <ArrowDropDownIcon className={styles.arrowDownIcon} />
94
+ <Box className={styles.dropDownMenu}>
95
+ <Button
96
+ className={styles.dropdownMenuOption}
97
+ onClick={() => handleNavigation("/profile/")}
98
+ sx={{ display: "block" }}
99
+ disableRipple
100
+ >
101
+ Edit Profile
102
+ </Button>
103
+ <Button
104
+ className={styles.dropdownMenuOption}
105
+ onClick={() => handleNavigation(
106
+ `/community/members/profile/${
107
+ member.id
108
+ }/${`${member.first_name.toLowerCase()}-${member.last_name.toLowerCase()}`}`,
109
+ )}
110
+ sx={{ display: "block" }}
111
+ disableRipple
112
+ >
113
+ View Public Profile
114
+ </Button>
115
+ <div className={styles.divider} />
116
+ <Button
117
+ className={styles.dropdownMenuOption}
118
+ sx={{ display: "block" }}
119
+ onClick={onClickLogout}
120
+ disableRipple
121
+ >
122
+ Log out
123
+ </Button>
124
+ </Box>
125
+ </Box>
126
+ </Box>
127
+ );
128
+ }
129
+
130
+ AuthUserSubNavBar.propTypes = {
131
+ member: PropTypes.oneOfType([PropTypes.object, PropTypes.oneOf([null])]),
132
+ isMobile: PropTypes.bool.isRequired,
133
+ navbarMenu: PropTypes.string.isRequired,
134
+ setActiveMenu: PropTypes.func,
135
+ isSearchBarOpen: PropTypes.bool,
136
+ handleNavigation: PropTypes.func.isRequired,
137
+ };
138
+
139
+ AuthUserSubNavBar.defaultProps = {
140
+ member: null,
141
+ isSearchBarOpen: false,
142
+ setActiveMenu: (option) => console.log(option),
143
+ };
144
+
145
+ export default AuthUserSubNavBar;
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import PropTypes from "prop-types";
3
+ import { doLogin } from "openstack-uicore-foundation/lib/security/methods";
4
+ import Button from "@mui/material/Button";
5
+
6
+ import styles from "../index.module.scss";
7
+
8
+ function LoginButton({ backUrl }) {
9
+ return (
10
+ <Button
11
+ className={`${styles.navbarOption} ${styles.login}`}
12
+ onClick={() => doLogin(backUrl)}
13
+ sx={{ my: 2, display: "block" }}
14
+ disableRipple
15
+ >
16
+ Log in
17
+ </Button>
18
+ );
19
+ }
20
+
21
+ LoginButton.propTypes = {
22
+ backUrl: PropTypes.string,
23
+ };
24
+
25
+ LoginButton.defaultProps = {
26
+ backUrl: "/",
27
+ };
28
+
29
+ export default LoginButton;
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ import PropTypes from "prop-types";
3
+ import Box from "@mui/material/Box";
4
+ import IconButton from "@mui/material/IconButton";
5
+ import MenuIcon from "@mui/icons-material/Menu";
6
+
7
+ import styles from "./index.module.scss";
8
+
9
+ function MobileMenu({ handleMobileMenuToggle }) {
10
+ return (
11
+ <Box
12
+ className={styles.mobileMenuWrapper}
13
+ sx={{ flexGrow: 1, display: { xs: "flex", md: "none" } }}
14
+ >
15
+ <IconButton
16
+ className={styles.toggleIcon}
17
+ size="large"
18
+ aria-label="account of current user"
19
+ aria-controls="menu-appbar"
20
+ aria-haspopup="true"
21
+ onClick={() => handleMobileMenuToggle()}
22
+ color="inherit"
23
+ >
24
+ <MenuIcon />
25
+ </IconButton>
26
+ </Box>
27
+ );
28
+ }
29
+
30
+ MobileMenu.propTypes = {
31
+ handleMobileMenuToggle: PropTypes.func.isRequired,
32
+ };
33
+
34
+ export default MobileMenu;
@@ -0,0 +1,9 @@
1
+ .mobileMenuWrapper {
2
+ .toggleIcon {
3
+ color: #5a5a5a;
4
+ margin-left: auto;
5
+ &:hover {
6
+ background-color: transparent;
7
+ }
8
+ }
9
+ }