openvsx-webui-test 0.20.0-dev.4 → 0.20.1-rc.0

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.
Files changed (77) hide show
  1. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts +2 -1
  2. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts.map +1 -1
  3. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -1
  4. package/lib/components/scan-admin/scan-card/scan-card-header.js +1 -1
  5. package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
  6. package/lib/components/scan-admin/scan-card/utils.js +1 -1
  7. package/lib/components/scan-admin/scan-card/utils.js.map +1 -1
  8. package/lib/default/menu-content.d.ts +1 -1
  9. package/lib/default/menu-content.js +1 -1
  10. package/lib/default/menu-content.js.map +1 -1
  11. package/lib/main.d.ts.map +1 -1
  12. package/lib/main.js +5 -5
  13. package/lib/main.js.map +1 -1
  14. package/lib/other-pages.d.ts.map +1 -1
  15. package/lib/other-pages.js +7 -7
  16. package/lib/other-pages.js.map +1 -1
  17. package/lib/pages/admin-dashboard/{admin-routes.d.ts → admin-dashboard-routes.d.ts} +6 -9
  18. package/lib/pages/admin-dashboard/admin-dashboard-routes.d.ts.map +1 -0
  19. package/lib/pages/admin-dashboard/{admin-routes.js → admin-dashboard-routes.js} +6 -9
  20. package/lib/pages/admin-dashboard/admin-dashboard-routes.js.map +1 -0
  21. package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
  22. package/lib/pages/admin-dashboard/admin-dashboard.js +9 -9
  23. package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
  24. package/lib/pages/admin-dashboard/customers/customer-member-list.js +1 -1
  25. package/lib/pages/admin-dashboard/customers/customer-member-list.js.map +1 -1
  26. package/lib/pages/admin-dashboard/customers/customers.js +1 -1
  27. package/lib/pages/admin-dashboard/customers/customers.js.map +1 -1
  28. package/lib/pages/admin-dashboard/publisher-admin.js +1 -1
  29. package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
  30. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js +1 -1
  31. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js.map +1 -1
  32. package/lib/pages/admin-dashboard/welcome.js +1 -1
  33. package/lib/pages/admin-dashboard/welcome.js.map +1 -1
  34. package/lib/pages/extension-detail/extension-detail-changes.d.ts.map +1 -1
  35. package/lib/pages/extension-detail/extension-detail-changes.js +1 -4
  36. package/lib/pages/extension-detail/extension-detail-changes.js.map +1 -1
  37. package/lib/pages/extension-detail/extension-detail-overview.d.ts.map +1 -1
  38. package/lib/pages/extension-detail/extension-detail-overview.js +1 -6
  39. package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
  40. package/lib/pages/extension-detail/extension-detail-routes.d.ts +0 -1
  41. package/lib/pages/extension-detail/extension-detail-routes.d.ts.map +1 -1
  42. package/lib/pages/extension-detail/extension-detail-routes.js +2 -3
  43. package/lib/pages/extension-detail/extension-detail-routes.js.map +1 -1
  44. package/lib/pages/extension-detail/extension-detail.d.ts.map +1 -1
  45. package/lib/pages/extension-detail/extension-detail.js +120 -247
  46. package/lib/pages/extension-detail/extension-detail.js.map +1 -1
  47. package/lib/pages/extension-detail/use-extension-details.d.ts +23 -0
  48. package/lib/pages/extension-detail/use-extension-details.d.ts.map +1 -0
  49. package/lib/pages/extension-detail/use-extension-details.js +80 -0
  50. package/lib/pages/extension-detail/use-extension-details.js.map +1 -0
  51. package/lib/pages/user/avatar.js +1 -1
  52. package/lib/pages/user/avatar.js.map +1 -1
  53. package/lib/pages/user/user-settings-namespace-detail.js +1 -1
  54. package/lib/pages/user/user-settings-namespace-detail.js.map +1 -1
  55. package/package.json +3 -1
  56. package/src/components/scan-admin/scan-card/scan-card-expanded-content.tsx +4 -4
  57. package/src/components/scan-admin/scan-card/scan-card-header.tsx +1 -1
  58. package/src/components/scan-admin/scan-card/utils.ts +1 -1
  59. package/src/default/menu-content.tsx +1 -1
  60. package/src/main.tsx +11 -6
  61. package/src/other-pages.tsx +20 -16
  62. package/src/pages/admin-dashboard/{admin-routes.ts → admin-dashboard-routes.ts} +5 -8
  63. package/src/pages/admin-dashboard/admin-dashboard.tsx +27 -23
  64. package/src/pages/admin-dashboard/customers/customer-member-list.tsx +1 -1
  65. package/src/pages/admin-dashboard/customers/customers.tsx +1 -1
  66. package/src/pages/admin-dashboard/publisher-admin.tsx +1 -1
  67. package/src/pages/admin-dashboard/usage-stats/usage-stats.tsx +1 -1
  68. package/src/pages/admin-dashboard/welcome.tsx +1 -1
  69. package/src/pages/extension-detail/extension-detail-changes.tsx +1 -5
  70. package/src/pages/extension-detail/extension-detail-overview.tsx +1 -7
  71. package/src/pages/extension-detail/extension-detail-routes.ts +2 -3
  72. package/src/pages/extension-detail/extension-detail.tsx +290 -407
  73. package/src/pages/extension-detail/use-extension-details.tsx +101 -0
  74. package/src/pages/user/avatar.tsx +1 -1
  75. package/src/pages/user/user-settings-namespace-detail.tsx +1 -1
  76. package/lib/pages/admin-dashboard/admin-routes.d.ts.map +0 -1
  77. package/lib/pages/admin-dashboard/admin-routes.js.map +0 -1
@@ -14,7 +14,7 @@ import { Box, Button, Link, Paper, Grid, Typography } from '@mui/material';
14
14
  import { styled } from '@mui/material/styles';
15
15
  import WarningIcon from '@mui/icons-material/Warning';
16
16
  import { UserNamespaceExtensionListContainer } from './user-namespace-extension-list';
17
- import { AdminDashboardRoutes } from '../admin-dashboard/admin-routes';
17
+ import { AdminDashboardRoutes } from '../admin-dashboard/admin-dashboard-routes';
18
18
  import { NamespaceChangeDialog } from '../admin-dashboard/namespace-change-dialog';
19
19
  import { UserNamespaceMemberList } from './user-namespace-member-list';
20
20
  import { UserNamespaceDetails } from './user-namespace-details';
@@ -1 +1 @@
1
- {"version":3,"file":"user-settings-namespace-detail.js","sourceRoot":"","sources":["../../../src/pages/user/user-settings-namespace-detail.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-settings-namespace-detail.js","sourceRoot":"","sources":["../../../src/pages/user/user-settings-namespace-detail.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openvsx-webui-test",
3
- "version": "0.20.0-dev.4",
3
+ "version": "0.20.1-rc.0",
4
4
  "description": "User interface for Eclipse Open VSX",
5
5
  "keywords": [
6
6
  "react",
@@ -107,6 +107,7 @@
107
107
  "express-rate-limit": "^7.4.0",
108
108
  "mocha": "^11.7.0",
109
109
  "rimraf": "^6.1.0",
110
+ "rollup-plugin-visualizer": "^7.0.1",
110
111
  "ts-mocha": "^11.1.0",
111
112
  "ts-node": "^10.9.2",
112
113
  "typescript": "^5.9.0",
@@ -125,6 +126,7 @@
125
126
  "watch:default": "yarn build:server && vite build --watch",
126
127
  "start:default": "node lib/default/server",
127
128
  "dev": "vite dev",
129
+ "preview": "vite preview",
128
130
  "link2server": "sh -c 'ln -sf $(realpath dist) ../server/build/resources/main/static'"
129
131
  },
130
132
  "packageManager": "yarn@4.9.1"
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import { FC } from "react";
14
+ import { FC } from 'react';
15
15
  import { Box, Typography, Collapse, Chip } from '@mui/material';
16
16
  import { useTheme, Theme } from '@mui/material/styles';
17
17
  import { ScanResult, Threat, ValidationFailure, CheckResult } from '../../../context/scan-admin';
@@ -63,7 +63,7 @@ const ThreatItem: FC<ThreatItemProps> = ({ threat }) => {
63
63
  /**
64
64
  * A single validation failure item in the expanded content.
65
65
  */
66
- const ValidationFailureItem: React.FC<ValidationFailureItemProps> = ({ failure }) => {
66
+ const ValidationFailureItem: FC<ValidationFailureItemProps> = ({ failure }) => {
67
67
  const theme = useTheme();
68
68
  const isUnenforced = !failure.enforcedFlag;
69
69
 
@@ -119,7 +119,7 @@ const formatDuration = (ms: number | null): string | undefined => {
119
119
  /**
120
120
  * A single check result item showing what check was run and its outcome.
121
121
  */
122
- const CheckResultItem: React.FC<CheckResultItemProps> = ({ checkResult }) => {
122
+ const CheckResultItem: FC<CheckResultItemProps> = ({ checkResult }) => {
123
123
  const theme = useTheme();
124
124
  const colors = getCheckResultColor(checkResult.result, theme);
125
125
  const isPassed = checkResult.result === 'PASSED';
@@ -182,7 +182,7 @@ const CheckResultItem: React.FC<CheckResultItemProps> = ({ checkResult }) => {
182
182
  * The expanded content section showing threats, validation failures, and check results.
183
183
  * Each item's enforcedFlag controls its individual striping effect.
184
184
  */
185
- export const ScanCardExpandedContent: React.FC<ScanCardExpandedContentProps> = ({ scan, expanded, onCollapseComplete }) => {
185
+ export const ScanCardExpandedContent: FC<ScanCardExpandedContentProps> = ({ scan, expanded, onCollapseComplete }) => {
186
186
  const theme = useTheme();
187
187
  const hasThreats = scan.threats.length > 0;
188
188
  const hasValidationFailures = scan.validationFailures.length > 0;
@@ -32,7 +32,7 @@ import {
32
32
  getStatusColorSx,
33
33
  } from './utils';
34
34
  import { createRoute } from '../../../utils';
35
- import { AdminDashboardRoutes } from '../../../pages/admin-dashboard/admin-routes';
35
+ import { AdminDashboardRoutes } from '../../../pages/admin-dashboard/admin-dashboard-routes';
36
36
  import { ExtensionDetailRoutes } from '../../../pages/extension-detail/extension-detail-routes';
37
37
 
38
38
  interface ScanCardHeaderProps {
@@ -189,7 +189,7 @@ export const shouldShowExpandButton = (scan: ScanResult): boolean => {
189
189
  };
190
190
 
191
191
  export const hasDownload = (scan: ScanResult): boolean => {
192
- return scan.status === 'PASSED' || scan.status === 'QUARANTINED';
192
+ return scan.status === 'PASSED' || scan.status === 'QUARANTINED' || scan.status === 'ERROR';
193
193
  };
194
194
 
195
195
  export const getFileName = (url?: string): string => {
@@ -25,7 +25,7 @@ import { MainContext } from '../context';
25
25
  import SettingsIcon from '@mui/icons-material/Settings';
26
26
  import AdminPanelSettingsIcon from '@mui/icons-material/AdminPanelSettings';
27
27
  import LogoutIcon from '@mui/icons-material/Logout';
28
- import { AdminDashboardRoutes } from '../pages/admin-dashboard/admin-routes';
28
+ import { AdminDashboardRoutes } from '../pages/admin-dashboard/admin-dashboard-routes';
29
29
  import { LogoutForm } from '../pages/user/logout';
30
30
  import { LoginComponent } from './login';
31
31
 
package/src/main.tsx CHANGED
@@ -8,11 +8,10 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import { FunctionComponent, ReactNode, useEffect, useState, useRef } from 'react';
11
+ import { FunctionComponent, ReactNode, useEffect, useState, useRef, lazy, Suspense } from 'react';
12
12
  import { CssBaseline } from '@mui/material';
13
13
  import { Route, Routes } from 'react-router-dom';
14
- import { AdminDashboard } from './pages/admin-dashboard/admin-dashboard';
15
- import { AdminDashboardRoutes } from './pages/admin-dashboard/admin-routes';
14
+ import { AdminDashboardRoutes } from './pages/admin-dashboard/admin-dashboard-routes';
16
15
  import { ErrorDialog } from './components/error-dialog';
17
16
  import { handleError } from './utils';
18
17
  import { ExtensionRegistryService } from './extension-registry-service';
@@ -20,9 +19,11 @@ import { UserData, isError, ReportedError, isSuccess, LoginProviders } from './e
20
19
  import { MainContext } from './context';
21
20
  import { PageSettings } from './page-settings';
22
21
  import { ErrorResponse } from './server-request';
22
+ import { OtherPages } from './other-pages';
23
23
 
24
24
  import '../src/main.css';
25
- import { OtherPages } from './other-pages';
25
+
26
+ const AdminDashboard = lazy(() => import('./pages/admin-dashboard/admin-dashboard').then(m => ({ default: m.AdminDashboard })));
26
27
 
27
28
  export const Main: FunctionComponent<MainProps> = props => {
28
29
  const [user, setUser] = useState<UserData>();
@@ -98,8 +99,12 @@ export const Main: FunctionComponent<MainProps> = props => {
98
99
  return <>
99
100
  { MainHeadTagsComponent ? <MainHeadTagsComponent pageSettings={props.pageSettings}/> : null }
100
101
  <Routes>
101
- <Route path={AdminDashboardRoutes.MAIN + '/*'} element={<AdminDashboard userLoading={userLoading} />} />
102
- <Route path='*' element={ <OtherPages user={user} userLoading={userLoading} /> } />
102
+ <Route path={AdminDashboardRoutes.MAIN + '/*'} element={
103
+ <Suspense fallback={null}>
104
+ <AdminDashboard userLoading={userLoading} />
105
+ </Suspense>
106
+ } />
107
+ <Route path='*' element={<OtherPages user={user} userLoading={userLoading} />} />
103
108
  </Routes>
104
109
  {
105
110
  error ?
@@ -11,25 +11,27 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  *****************************************************************************/
13
13
 
14
- import { FunctionComponent, useContext, useEffect, useState } from 'react';
14
+ import { FunctionComponent, useContext, useEffect, useState, lazy, Suspense } from 'react';
15
15
  import { Routes, Route } from 'react-router-dom';
16
16
  import { AppBar, Box, Toolbar } from '@mui/material';
17
17
  import { styled, Theme } from '@mui/material/styles';
18
18
  import { Banner } from './components/banner';
19
19
  import { MainContext } from './context';
20
20
  import { HeaderMenu } from './header-menu';
21
- import { ExtensionListContainer } from './pages/extension-list/extension-list-container';
22
- import { ExtensionListRoutes } from "./pages/extension-list/extension-list-routes";
23
- import { UserSettings } from './pages/user/user-settings';
21
+ import { ExtensionListRoutes } from './pages/extension-list/extension-list-routes';
24
22
  import { UserSettingsRoutes } from './pages/user/user-settings-routes';
25
- import { NamespaceDetail } from './pages/namespace-detail/namespace-detail';
26
23
  import { NamespaceDetailRoutes } from './pages/namespace-detail/namespace-detail-routes';
27
- import { ExtensionDetail } from './pages/extension-detail/extension-detail';
28
24
  import { ExtensionDetailRoutes } from './pages/extension-detail/extension-detail-routes';
29
25
  import { getCookieValueByKey, setCookie } from './utils';
30
26
  import { UserData } from './extension-registry-types';
27
+
28
+ import { ExtensionDetail } from './pages/extension-detail/extension-detail';
29
+ import { ExtensionListContainer } from './pages/extension-list/extension-list-container';
30
+ import { NamespaceDetail } from './pages/namespace-detail/namespace-detail';
31
31
  import { NotFound } from './not-found';
32
32
 
33
+ const UserSettings = lazy(() => import('./pages/user/user-settings').then(m => ({ default: m.UserSettings })));
34
+
33
35
  const ToolbarItem = styled(Box)({
34
36
  display: 'flex',
35
37
  alignItems: 'center'
@@ -122,16 +124,18 @@ export const OtherPages: FunctionComponent<OtherPagesProps> = (props) => {
122
124
  : null
123
125
  }
124
126
  <Box pb={`${getContentPadding()}px`}>
125
- <Routes>
126
- <Route path={ExtensionListRoutes.MAIN} element={ <ExtensionListContainer /> } />
127
- <Route path={UserSettingsRoutes.MAIN} element={<UserSettings userLoading={props.userLoading} />} />
128
- <Route path={UserSettingsRoutes.DELETE_EXTENSION} element={<UserSettings userLoading={props.userLoading} />} />
129
- <Route path={NamespaceDetailRoutes.MAIN} element={ <NamespaceDetail /> } />
130
- <Route path={ExtensionDetailRoutes.MAIN} element={<ExtensionDetail />} />
131
- <Route path={ExtensionDetailRoutes.MAIN_TARGET} element={<ExtensionDetail />} />
132
- {AdditionalRoutes ?? null}
133
- <Route path='*' element={<NotFound />} />
134
- </Routes>
127
+ <Suspense fallback={null}>
128
+ <Routes>
129
+ <Route path={ExtensionListRoutes.MAIN} element={ <ExtensionListContainer /> } />
130
+ <Route path={UserSettingsRoutes.MAIN} element={<UserSettings userLoading={props.userLoading} />} />
131
+ <Route path={UserSettingsRoutes.DELETE_EXTENSION} element={<UserSettings userLoading={props.userLoading} />} />
132
+ <Route path={NamespaceDetailRoutes.MAIN} element={ <NamespaceDetail /> } />
133
+ <Route path={ExtensionDetailRoutes.MAIN} element={<ExtensionDetail />} />
134
+ <Route path={ExtensionDetailRoutes.MAIN_TARGET} element={<ExtensionDetail />} />
135
+ {AdditionalRoutes ?? null}
136
+ <Route path='*' element={<NotFound />} />
137
+ </Routes>
138
+ </Suspense>
135
139
  </Box>
136
140
  {
137
141
  FooterComponent ?
@@ -1,15 +1,12 @@
1
- /******************************************************************************
2
- * Copyright (c) 2026 Contributors to the Eclipse Foundation.
3
- *
4
- * See the NOTICE file(s) distributed with this work for additional
5
- * information regarding copyright ownership.
1
+ /********************************************************************************
2
+ * Copyright (c) 2020 TypeFox and others
6
3
  *
7
4
  * This program and the accompanying materials are made available under the
8
- * terms of the Eclipse Public License 2.0 which is available at
9
- * https://www.eclipse.org/legal/epl-2.0.
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
10
7
  *
11
8
  * SPDX-License-Identifier: EPL-2.0
12
- *****************************************************************************/
9
+ ********************************************************************************/
13
10
 
14
11
  import { createRoute } from '../../utils';
15
12
 
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import { FunctionComponent, ReactNode, useContext, useState } from 'react';
11
+ import { FunctionComponent, ReactNode, useContext, useState, lazy, Suspense } from 'react';
12
12
  import {
13
13
  Box,
14
14
  Container,
@@ -35,22 +35,24 @@ import PersonIcon from '@mui/icons-material/Person';
35
35
  import SecurityIcon from '@mui/icons-material/Security';
36
36
  import SpeedIcon from '@mui/icons-material/Speed';
37
37
  import StarIcon from '@mui/icons-material/Star';
38
- import { CustomerDetails } from './customers/customer-details';
39
- import { Customers } from './customers/customers';
40
38
  import { DrawerHeader } from '../../components/sidepanel/drawer-header';
41
39
  import { Sidepanel } from "../../components/sidepanel/sidepanel";
42
- import { ExtensionAdmin } from './extension-admin';
43
40
  import { LoginComponent } from "../../default/login";
44
- import { Logs } from './logs/logs';
45
41
  import { MainContext } from '../../context';
46
- import { NamespaceAdmin } from './namespace-admin';
47
42
  import { NavigationItem } from '../../components/sidepanel/navigation-item';
43
+ import { AdminDashboardRoutes } from './admin-dashboard-routes';
44
+
45
+ import { NamespaceAdmin } from './namespace-admin';
48
46
  import { PublisherAdmin } from './publisher-admin';
49
47
  import { ScanAdmin } from './scan-admin';
50
48
  import { Tiers } from './tiers/tiers';
51
- import { UsageStatsView } from './usage-stats/usage-stats';
49
+ import { Customers } from './customers/customers';
50
+ import { CustomerDetails } from './customers/customer-details';
51
+ import { Logs } from './logs/logs';
52
52
  import { Welcome } from './welcome';
53
- import { AdminDashboardRoutes } from "./admin-routes";
53
+
54
+ const ExtensionAdmin = lazy(() => import('./extension-admin').then(m => ({ default: m.ExtensionAdmin })));
55
+ const UsageStatsView = lazy(() => import('./usage-stats/usage-stats').then(m => ({ default: m.UsageStatsView })));
54
56
 
55
57
  const Message: FunctionComponent<{message: string}> = ({ message }) => {
56
58
  return (<Box sx={{
@@ -270,21 +272,23 @@ export const AdminDashboard: FunctionComponent<AdminDashboardProps> = props => {
270
272
  }}
271
273
  >
272
274
  <Container sx={{ pt: 2, pb: 4, px: 3 }} maxWidth='xl'>
273
- <Routes>
274
- <Route path='/namespaces' element={<NamespaceAdmin/>} />
275
- <Route path='/extensions' element={<ExtensionAdmin/>} />
276
- <Route path='/extensions/:namespace/:extension' element={<ExtensionAdmin/>} />
277
- <Route path='/publisher' element={<PublisherAdmin/>} />
278
- <Route path='/publisher/:publisher' element={<PublisherAdmin/>} />
279
- <Route path='/scans' element={<ScanAdmin/>} />
280
- <Route path='/tiers' element={<Tiers/>} />
281
- <Route path='/customers' element={<Customers/>} />
282
- <Route path='/customers/:customer' element={<CustomerDetails/>} />
283
- <Route path='/usage' element={<UsageStatsView/>} />
284
- <Route path='/usage/:customer' element={<UsageStatsView/>} />
285
- <Route path='/logs' element={<Logs/>} />
286
- <Route path='*' element={<Welcome/>} />
287
- </Routes>
275
+ <Suspense fallback={null}>
276
+ <Routes>
277
+ <Route path='/namespaces' element={<NamespaceAdmin/>} />
278
+ <Route path='/extensions' element={<ExtensionAdmin/>} />
279
+ <Route path='/extensions/:namespace/:extension' element={<ExtensionAdmin/>} />
280
+ <Route path='/publisher' element={<PublisherAdmin/>} />
281
+ <Route path='/publisher/:publisher' element={<PublisherAdmin/>} />
282
+ <Route path='/scans' element={<ScanAdmin/>} />
283
+ <Route path='/tiers' element={<Tiers/>} />
284
+ <Route path='/customers' element={<Customers/>} />
285
+ <Route path='/customers/:customer' element={<CustomerDetails/>} />
286
+ <Route path='/usage' element={<UsageStatsView/>} />
287
+ <Route path='/usage/:customer' element={<UsageStatsView/>} />
288
+ <Route path='/logs' element={<Logs/>} />
289
+ <Route path='*' element={<Welcome/>} />
290
+ </Routes>
291
+ </Suspense>
288
292
  </Container>
289
293
  </Box>
290
294
  </Main>
@@ -24,7 +24,7 @@ import {
24
24
  ListItemText, IconButton, type PaperProps, Paper
25
25
  } from '@mui/material';
26
26
  import { Link as RouterLink } from 'react-router-dom';
27
- import { AdminDashboardRoutes } from '../admin-routes';
27
+ import { AdminDashboardRoutes } from '../admin-dashboard-routes';
28
28
  import { MainContext } from '../../../context';
29
29
  import { CustomerMembership, Customer, UserData, isError } from '../../../extension-registry-types';
30
30
  import { AddUserDialog } from '../../user/add-user-dialog';
@@ -34,7 +34,7 @@ import { CustomerFormDialog } from "./customer-form-dialog";
34
34
  import { DeleteCustomerDialog } from "./delete-customer-dialog";
35
35
  import { createRoute, handleError } from "../../../utils";
36
36
  import { createMultiSelectFilterOperators, createArrayContainsFilterOperators } from "../components";
37
- import { AdminDashboardRoutes } from "../admin-routes";
37
+ import { AdminDashboardRoutes } from "../admin-dashboard-routes";
38
38
  import { Link } from "react-router-dom";
39
39
 
40
40
  export const Customers: FC = () => {
@@ -16,7 +16,7 @@ import { MainContext } from '../../context';
16
16
  import { StyledInput } from './namespace-input';
17
17
  import { SearchListContainer } from './search-list-container';
18
18
  import { PublisherDetails } from './publisher-details';
19
- import { AdminDashboardRoutes } from './admin-routes';
19
+ import { AdminDashboardRoutes } from './admin-dashboard-routes';
20
20
 
21
21
  // eslint-disable-next-line react-refresh/only-export-components
22
22
  export const UpdateContext = createContext({ handleUpdate: () => { } });
@@ -17,7 +17,7 @@ import { useParams, useNavigate } from "react-router-dom";
17
17
  import { MainContext } from "../../../context";
18
18
  import type { Customer } from "../../../extension-registry-types";
19
19
  import { handleError } from "../../../utils";
20
- import { AdminDashboardRoutes } from "../admin-routes";
20
+ import { AdminDashboardRoutes } from "../admin-dashboard-routes";
21
21
  import { SearchListContainer } from "../search-list-container";
22
22
  import { CustomerSearch } from "./usage-stats-search";
23
23
  import { UsageStatsChart } from "../../../components/rate-limiting/usage-stats/usage-stats-chart";
@@ -12,7 +12,7 @@ import { FunctionComponent } from 'react';
12
12
  import { Typography, Grid, Paper } from '@mui/material';
13
13
  import { styled, Theme } from '@mui/material/styles';
14
14
  import { Link } from 'react-router-dom';
15
- import { AdminDashboardRoutes } from './admin-routes';
15
+ import { AdminDashboardRoutes } from './admin-dashboard-routes';
16
16
 
17
17
  export const Welcome: FunctionComponent = props => {
18
18
  return <Grid container direction='column' spacing={2} sx={{ height: '100%' }}>
@@ -21,14 +21,10 @@ export const ExtensionDetailChanges: FunctionComponent<ExtensionDetailChangesPro
21
21
  const context = useContext(MainContext);
22
22
  const abortController = useRef<AbortController>(new AbortController());
23
23
 
24
- useEffect(() => {
25
- updateChanges();
26
- return () => abortController.current.abort();
27
- }, []);
28
-
29
24
  useEffect(() => {
30
25
  setLoading(true);
31
26
  updateChanges();
27
+ return () => abortController.current.abort();
32
28
  }, [props.extension.namespace, props.extension.name, props.extension.version]);
33
29
 
34
30
  const updateChanges = async (): Promise<void> => {
@@ -78,16 +78,10 @@ export const ExtensionDetailOverview: FunctionComponent<ExtensionDetailOverviewP
78
78
  </Grid>);
79
79
  }, [props.extension.downloads]);
80
80
 
81
- useEffect(() => {
82
- updateReadme();
83
- return () => {
84
- abortController.current.abort();
85
- };
86
- }, []);
87
-
88
81
  useEffect(() => {
89
82
  setLoading(true);
90
83
  updateReadme();
84
+ return () => abortController.current.abort();
91
85
  }, [props.extension.namespace, props.extension.name, props.extension.version]);
92
86
 
93
87
  const updateReadme = async (): Promise<void> => {
@@ -18,12 +18,11 @@ export namespace ExtensionDetailRoutes {
18
18
  export const NAMESPACE = ':namespace';
19
19
  export const NAME = ':name';
20
20
  export const TARGET = `:target(${getTargetPlatforms().join('|')})`;
21
- export const VERSION = ':version?';
22
21
  }
23
22
 
24
23
  export const ROOT = 'extension';
25
- export const MAIN = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, Parameters.VERSION]);
26
- export const MAIN_TARGET = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, Parameters.TARGET, Parameters.VERSION]);
24
+ export const MAIN = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, '*']);
25
+ export const MAIN_TARGET = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, Parameters.TARGET, '*']);
27
26
  export const LATEST = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME]);
28
27
  export const LATEST_TARGET = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, Parameters.TARGET]);
29
28
  export const PRE_RELEASE = createRoute([ROOT, Parameters.NAMESPACE, Parameters.NAME, 'pre-release']);