@akinon/ui-shell-dev 1.3.5 → 1.4.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.
- package/dist/assets/index-CX4XmW02.css +1 -0
- package/dist/assets/index-D6a6pO8M.js +434 -0
- package/dist/assets/index-kkeQGnUJ.js +1 -0
- package/dist/favicon.svg +3 -0
- package/dist/index.html +2 -2
- package/index.mjs +1 -1
- package/package.json +15 -16
- package/public/favicon.svg +3 -0
- package/src/components/Header.tsx +1 -1
- package/src/components/HeaderSearch.tsx +1 -1
- package/src/components/HeaderUser.tsx +9 -2
- package/src/components/Navigation.tsx +7 -5
- package/src/components/PageHeading.tsx +4 -8
- package/src/components/PluginTestPage.tsx +5 -9
- package/src/components/WelcomePage.tsx +415 -71
- package/src/main.tsx +8 -6
- package/src/providers.tsx +14 -13
- package/src/routes.tsx +19 -18
- package/src/server/dev-server.mjs +34 -13
- package/src/server/dev-server.ts +34 -13
- package/src/types.ts +6 -4
- package/src/utils/navigation.tsx +42 -13
- package/dist/assets/index-BFs1gfY5.css +0 -1
- package/dist/assets/index-CDUI6TEB.js +0 -408
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as n,c as u}from"./index-D6a6pO8M.js";n(function(e,t){t._reactRoot||(t._reactRoot=u.createRoot(t));var o=t._reactRoot;return o.render(e),function(){return new Promise(function(r){setTimeout(function(){o.unmount(),r()},0)})}});
|
package/dist/favicon.svg
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="53" height="52" viewBox="0 0 53 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M38.3113 27.0107C37.5819 26.3304 36.7339 25.7864 35.7661 25.3776C34.7983 24.9698 33.7626 24.7654 32.6567 24.7654C31.5508 24.7654 30.5139 24.9698 29.5461 25.3776C28.5784 25.7864 27.7303 26.3304 27.0021 27.0107C26.2727 27.6921 25.6944 28.4762 25.2672 29.3674C24.8399 30.2586 24.6263 31.1866 24.6263 32.1514C24.6263 33.3638 24.8399 34.4767 25.2672 35.4912C25.6944 36.5068 26.2727 37.3839 27.0021 38.1269C27.7303 38.8689 28.5784 39.4508 29.5461 39.8715C30.5139 40.2922 31.5508 40.502 32.6567 40.502C33.7626 40.502 34.7983 40.2922 35.7661 39.8715C36.7339 39.4508 37.5819 38.8689 38.3113 38.1269C39.0395 37.3839 39.6178 36.5068 40.0451 35.4912C40.4723 34.4767 40.686 33.3638 40.686 32.1514C40.686 31.1866 40.4723 30.2586 40.0451 29.3674C39.6178 28.4762 39.0395 27.6921 38.3113 27.0107ZM35.4823 17.9505L26.3774 0L0 52H52.7536L46.5423 39.7547C45.8464 41.0525 44.9822 42.2109 43.9475 43.2297C42.5525 44.6033 40.8931 45.6675 38.9705 46.4213C37.0478 47.1763 34.9429 47.5537 32.6566 47.5537C30.3693 47.5537 28.2644 47.1763 26.3417 46.4213C24.4191 45.6675 22.7608 44.6033 21.3658 43.2297C19.9707 41.8561 18.8832 40.2295 18.1053 38.3497C17.3252 36.4689 16.9358 34.3912 16.9358 32.1135C16.9358 30.0109 17.3695 28.075 18.2369 26.3055C19.1033 24.5372 20.2664 23.0155 21.724 21.7403C23.1816 20.4662 24.8582 19.4766 26.7571 18.7714C28.6539 18.0663 30.6207 17.7137 32.6566 17.7137C33.6136 17.7137 34.5555 17.7948 35.4823 17.9505Z" fill="#D2282E"/>
|
|
3
|
+
</svg>
|
package/dist/index.html
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
box-sizing: border-box;
|
|
25
25
|
}
|
|
26
26
|
</style>
|
|
27
|
-
<script type="module" crossorigin src="/assets/index-
|
|
28
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
27
|
+
<script type="module" crossorigin src="/assets/index-D6a6pO8M.js"></script>
|
|
28
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CX4XmW02.css">
|
|
29
29
|
</head>
|
|
30
30
|
<body>
|
|
31
31
|
<div id="root"></div>
|
package/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ShellDevServer } from './src/server/dev-server.mjs';
|
|
1
|
+
export { ShellDevServer } from './src/server/dev-server.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akinon/ui-shell-dev",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Development shell application for Akinon UI Protocol plugins",
|
|
6
6
|
"type": "module",
|
|
@@ -15,37 +15,36 @@
|
|
|
15
15
|
"tsconfig.json"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@akinon/app-shell": "^1.3.0",
|
|
19
|
-
"@akinon/fonts-jost-variable": "^2.0.1",
|
|
20
|
-
"@akinon/icons": "^1.0.0",
|
|
21
|
-
"@akinon/ui-react": "^1.2.0",
|
|
22
|
-
"@akinon/ui-utils": "^1.0.0",
|
|
23
18
|
"cors": "^2.8.5",
|
|
24
19
|
"express": "^4.18.2",
|
|
25
|
-
"react": "
|
|
26
|
-
"react-dom": "
|
|
20
|
+
"react": "*",
|
|
21
|
+
"react-dom": "*",
|
|
27
22
|
"react-router-dom": "^6.28.0",
|
|
28
|
-
"vite": "
|
|
23
|
+
"vite": "*",
|
|
24
|
+
"@akinon/icons": "1.1.0",
|
|
25
|
+
"@akinon/app-shell": "1.4.0",
|
|
26
|
+
"@akinon/ui-react": "1.3.0",
|
|
27
|
+
"@akinon/fonts-jost-variable": "2.1.0",
|
|
28
|
+
"@akinon/ui-utils": "1.1.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/cors": "^2.8.17",
|
|
32
32
|
"@types/express": "^4.17.21",
|
|
33
|
-
"@types/react": "
|
|
34
|
-
"@types/react-dom": "
|
|
33
|
+
"@types/react": "*",
|
|
34
|
+
"@types/react-dom": "*",
|
|
35
35
|
"@vitejs/plugin-react": "^5.0.0",
|
|
36
36
|
"@vitejs/plugin-react-swc": "^3.7.2",
|
|
37
|
-
"typescript": "
|
|
38
|
-
"@akinon/typescript-config": "1.0
|
|
37
|
+
"typescript": "*",
|
|
38
|
+
"@akinon/typescript-config": "1.1.0"
|
|
39
39
|
},
|
|
40
40
|
"engines": {
|
|
41
41
|
"node": ">=18"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "vite build",
|
|
45
|
+
"clean": "rm -rf dist node_modules",
|
|
45
46
|
"dev": "vite",
|
|
46
|
-
"preview": "vite preview",
|
|
47
|
-
"typecheck": "tsc --noEmit",
|
|
48
47
|
"lint": "eslint",
|
|
49
|
-
"
|
|
48
|
+
"preview": "vite preview"
|
|
50
49
|
}
|
|
51
50
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="53" height="52" viewBox="0 0 53 52" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M38.3113 27.0107C37.5819 26.3304 36.7339 25.7864 35.7661 25.3776C34.7983 24.9698 33.7626 24.7654 32.6567 24.7654C31.5508 24.7654 30.5139 24.9698 29.5461 25.3776C28.5784 25.7864 27.7303 26.3304 27.0021 27.0107C26.2727 27.6921 25.6944 28.4762 25.2672 29.3674C24.8399 30.2586 24.6263 31.1866 24.6263 32.1514C24.6263 33.3638 24.8399 34.4767 25.2672 35.4912C25.6944 36.5068 26.2727 37.3839 27.0021 38.1269C27.7303 38.8689 28.5784 39.4508 29.5461 39.8715C30.5139 40.2922 31.5508 40.502 32.6567 40.502C33.7626 40.502 34.7983 40.2922 35.7661 39.8715C36.7339 39.4508 37.5819 38.8689 38.3113 38.1269C39.0395 37.3839 39.6178 36.5068 40.0451 35.4912C40.4723 34.4767 40.686 33.3638 40.686 32.1514C40.686 31.1866 40.4723 30.2586 40.0451 29.3674C39.6178 28.4762 39.0395 27.6921 38.3113 27.0107ZM35.4823 17.9505L26.3774 0L0 52H52.7536L46.5423 39.7547C45.8464 41.0525 44.9822 42.2109 43.9475 43.2297C42.5525 44.6033 40.8931 45.6675 38.9705 46.4213C37.0478 47.1763 34.9429 47.5537 32.6566 47.5537C30.3693 47.5537 28.2644 47.1763 26.3417 46.4213C24.4191 45.6675 22.7608 44.6033 21.3658 43.2297C19.9707 41.8561 18.8832 40.2295 18.1053 38.3497C17.3252 36.4689 16.9358 34.3912 16.9358 32.1135C16.9358 30.0109 17.3695 28.075 18.2369 26.3055C19.1033 24.5372 20.2664 23.0155 21.724 21.7403C23.1816 20.4662 24.8582 19.4766 26.7571 18.7714C28.6539 18.0663 30.6207 17.7137 32.6566 17.7137C33.6136 17.7137 34.5555 17.7948 35.4823 17.9505Z" fill="#D2282E"/>
|
|
3
|
+
</svg>
|
|
@@ -14,10 +14,17 @@ export const HeaderUser: React.FC = () => {
|
|
|
14
14
|
}}
|
|
15
15
|
placement="bottomRight"
|
|
16
16
|
>
|
|
17
|
-
<div
|
|
17
|
+
<div
|
|
18
|
+
style={{
|
|
19
|
+
display: 'flex',
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
gap: '8px',
|
|
22
|
+
cursor: 'pointer'
|
|
23
|
+
}}
|
|
24
|
+
>
|
|
18
25
|
<Avatar size="small">Dev</Avatar>
|
|
19
26
|
<span style={{ fontSize: '14px' }}>Developer</span>
|
|
20
27
|
</div>
|
|
21
28
|
</Dropdown>
|
|
22
29
|
);
|
|
23
|
-
};
|
|
30
|
+
};
|
|
@@ -7,7 +7,8 @@ import { useLocation, useNavigate } from 'react-router-dom';
|
|
|
7
7
|
import {
|
|
8
8
|
getFullpageNavigationItems,
|
|
9
9
|
getPluginNavigationItems,
|
|
10
|
-
getStaticNavigationItems
|
|
10
|
+
getStaticNavigationItems,
|
|
11
|
+
getStaticNavigationItemsBottom
|
|
11
12
|
} from '../utils/navigation';
|
|
12
13
|
|
|
13
14
|
export const Navigation: React.FC = () => {
|
|
@@ -17,17 +18,18 @@ export const Navigation: React.FC = () => {
|
|
|
17
18
|
const [selectedKey, setSelectedKey] = useState('/');
|
|
18
19
|
const [openKeys, setOpenKeys] = useState<string[]>([]);
|
|
19
20
|
const items = getStaticNavigationItems();
|
|
21
|
+
const itemsBottom = getStaticNavigationItemsBottom();
|
|
20
22
|
const fullpageItems = getFullpageNavigationItems(
|
|
21
23
|
apps,
|
|
22
|
-
configs as Map<number,
|
|
24
|
+
configs as Map<number, unknown>
|
|
23
25
|
);
|
|
24
|
-
const pluginItems = getPluginNavigationItems();
|
|
26
|
+
const pluginItems = getPluginNavigationItems(apps);
|
|
25
27
|
|
|
26
28
|
useEffect(() => {
|
|
27
29
|
setSelectedKey(location.pathname);
|
|
28
30
|
}, [location]);
|
|
29
31
|
|
|
30
|
-
const onClick: IMenuProps['onClick'] =
|
|
32
|
+
const onClick: IMenuProps['onClick'] = e => {
|
|
31
33
|
if (!e.key.includes('external')) {
|
|
32
34
|
setOpenKeys([]);
|
|
33
35
|
}
|
|
@@ -44,7 +46,7 @@ export const Navigation: React.FC = () => {
|
|
|
44
46
|
<Menu
|
|
45
47
|
mode="inline"
|
|
46
48
|
selectedKeys={[selectedKey]}
|
|
47
|
-
items={[...items, ...fullpageItems, ...pluginItems]}
|
|
49
|
+
items={[...items, ...fullpageItems, ...pluginItems, ...itemsBottom]}
|
|
48
50
|
onClick={onClick}
|
|
49
51
|
theme="dark"
|
|
50
52
|
openKeys={openKeys}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Flex, Space,
|
|
1
|
+
import { Flex, Paragraph, Space, Title } from '@akinon/ui-react';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
export interface PageHeadingProps {
|
|
@@ -45,14 +45,10 @@ export const PageHeading = ({
|
|
|
45
45
|
}}
|
|
46
46
|
>
|
|
47
47
|
<Space direction="vertical" size={4}>
|
|
48
|
-
<
|
|
48
|
+
<Title level={4} style={{ margin: 0 }}>
|
|
49
49
|
{title}
|
|
50
|
-
</
|
|
51
|
-
{description &&
|
|
52
|
-
<Typography.Paragraph type="secondary">
|
|
53
|
-
{description}
|
|
54
|
-
</Typography.Paragraph>
|
|
55
|
-
)}
|
|
50
|
+
</Title>
|
|
51
|
+
{description && <Paragraph type="secondary">{description}</Paragraph>}
|
|
56
52
|
</Space>
|
|
57
53
|
|
|
58
54
|
{actions && <Space>{actions}</Space>}
|
|
@@ -66,7 +66,7 @@ export const PluginTestPage: React.FC = () => {
|
|
|
66
66
|
<PageContent>
|
|
67
67
|
{pluginPlaceholders.length > 0 ? (
|
|
68
68
|
<Row gutter={[20, 20]}>
|
|
69
|
-
{pluginPlaceholders.map(
|
|
69
|
+
{pluginPlaceholders.map(placeholderId => (
|
|
70
70
|
<Col span={12} key={placeholderId}>
|
|
71
71
|
<div
|
|
72
72
|
className="plugin-placeholder"
|
|
@@ -83,18 +83,14 @@ export const PluginTestPage: React.FC = () => {
|
|
|
83
83
|
textAlign: 'center',
|
|
84
84
|
padding: '48px',
|
|
85
85
|
border: '1px dashed #d9d9d9',
|
|
86
|
-
borderRadius: '8px'
|
|
87
|
-
backgroundColor: '#fafafa'
|
|
86
|
+
borderRadius: '8px'
|
|
88
87
|
}}
|
|
89
88
|
>
|
|
90
|
-
<
|
|
89
|
+
<h2>No Plugin Configurations Found</h2>
|
|
91
90
|
<p>
|
|
92
91
|
No plugin applications with placeholder configurations were
|
|
93
|
-
found.
|
|
94
|
-
|
|
95
|
-
<p>
|
|
96
|
-
Make sure your shell configuration includes plugin apps with
|
|
97
|
-
placeholder IDs.
|
|
92
|
+
found. <br /> Make sure your shell configuration includes plugin
|
|
93
|
+
apps with placeholder IDs.
|
|
98
94
|
</p>
|
|
99
95
|
</div>
|
|
100
96
|
)}
|