Skip to content

Commit 7bb0d5e

Browse files
committed
[optimize] update Navigators
[optimize] update Upstream packages
1 parent 56e72f1 commit 7bb0d5e

4 files changed

Lines changed: 86 additions & 154 deletions

File tree

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@
2020
"url": "https://github.com/EasyWebApp/EasyWebApp.github.io/issues"
2121
},
2222
"dependencies": {
23-
"boot-cell": "^1.7.0",
24-
"cell-router": "^2.0.3",
23+
"boot-cell": "^1.9.4",
24+
"cell-router": "^2.0.4",
2525
"classnames": "^2.2.6",
26-
"github-web-widget": "^3.0.0-beta.8",
26+
"github-web-widget": "^3.0.0-beta.9",
2727
"koajax": "^0.6.4",
2828
"marked": "^1.2.7",
29-
"prismjs": "^1.22.0",
30-
"web-cell": "^2.3.0-beta.4",
31-
"web-utility": "^2.2.1"
29+
"prismjs": "^1.23.0",
30+
"web-cell": "^2.3.0-rc.1",
31+
"web-utility": "^2.4.3"
3232
},
3333
"devDependencies": {
3434
"@babel/core": "^7.12.10",
3535
"@types/classnames": "^2.2.11",
3636
"autoprefixer": "^9.8.6",
37-
"husky": "^4.3.6",
38-
"less": "^4.0.0",
37+
"husky": "^4.3.7",
38+
"less": "^4.1.0",
3939
"lint-staged": "^10.5.3",
4040
"parcel-bundler": "^1.12.4",
4141
"postcss-modules": "^3.2.2",

source/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { serviceWorkerUpdate } from 'web-utility';
1+
import { serviceWorkerUpdate } from 'web-utility/source/event';
22
import { documentReady, render, createCell } from 'web-cell';
33

44
import { PageFrame } from './page';

source/page/data.ts

Lines changed: 40 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,16 @@ export const footer = [
2020
},
2121
{
2222
title: '组件库',
23-
href: 'https://bootstrap.web-cell.dev/'
23+
menu: [
24+
{
25+
title: 'Bootstrap',
26+
href: 'https://bootstrap.web-cell.dev/'
27+
},
28+
{
29+
title: 'Material Design',
30+
href: 'https://material.web-cell.dev/'
31+
}
32+
]
2433
},
2534
{
2635
title: '网络库',
@@ -73,18 +82,9 @@ export const footer = [
7382
{
7483
title: '关于',
7584
menu: [
76-
{
77-
title: '上游贡献',
78-
href: 'upstream'
79-
},
80-
{
81-
title: '用户案例',
82-
href: 'case'
83-
},
84-
{
85-
title: '关于作者',
86-
href: 'https://tech-query.me/'
87-
}
85+
{ title: '上游贡献', href: 'upstream' },
86+
{ title: '用户案例', href: 'case' },
87+
{ title: '关于作者', href: 'https://tech-query.me/' }
8888
]
8989
}
9090
];
@@ -94,6 +94,7 @@ export const header = [...footer[0].menu, ...footer[2].menu];
9494
export const scaffold: DropMenuItemProps[] = Object.entries({
9595
scaffold: '前台项目',
9696
DashBoard: '后台项目',
97+
mobile: '移动应用',
9798
'mark-wiki': '静态网站'
9899
}).map(([name, title]) => ({
99100
title,
@@ -172,121 +173,32 @@ export const feature = [
172173
];
173174

174175
export const upstream = [
175-
{
176-
org: 'webcomponents',
177-
repo: 'polyfills',
178-
issue: 88
179-
},
180-
{
181-
org: 'webcomponents',
182-
repo: 'shadydom',
183-
pull: 294
184-
},
185-
{
186-
org: 'calebdwilliams',
187-
repo: 'element-internals-polyfill',
188-
issue: 13
189-
},
190-
{
191-
org: 'calebdwilliams',
192-
repo: 'element-internals-polyfill',
193-
issue: 17
194-
},
195-
{
196-
org: 'GoogleChrome',
197-
repo: 'web.dev',
198-
pull: 4400
199-
},
200-
{
201-
org: 'tc39',
202-
repo: 'proposal-decorators',
203-
pull: 154
204-
},
205-
{
206-
org: 'babel',
207-
repo: 'babel',
208-
issue: 8808
209-
},
210-
{
211-
org: 'babel',
212-
repo: 'babel-upgrade',
213-
issue: 88
214-
},
215-
{
216-
org: 'babel',
217-
repo: 'babel-upgrade',
218-
pull: 92
219-
},
220-
{
221-
org: 'TypeStrong',
222-
repo: 'ts-node',
223-
issue: 990
224-
},
225-
{
226-
org: 'TypeStrong',
227-
repo: 'typedoc',
228-
issue: 1401
229-
},
230-
{
231-
org: 'jsdom',
232-
repo: 'jsdom',
233-
issue: 2600
234-
},
235-
{
236-
org: 'jsdom',
237-
repo: 'w3c-xmlserializer',
238-
issue: 2
239-
},
240-
{
241-
org: 'jsdom',
242-
repo: 'w3c-xmlserializer',
243-
pull: 3
244-
},
245-
{
246-
org: 'capricorn86',
247-
repo: 'happy-dom',
248-
issue: 33
249-
},
250-
{
251-
org: 'snabbdom',
252-
repo: 'snabbdom',
253-
issue: 797
254-
},
255-
{
256-
org: 'snabbdom',
257-
repo: 'snabbdom',
258-
issue: 844
259-
},
260-
{
261-
org: 'jvanbruegge',
262-
repo: 'snabbdom-looks-like',
263-
pull: 2
264-
},
265-
{
266-
org: 'parcel-bundler',
267-
repo: 'parcel',
268-
issue: 4205
269-
},
270-
{
271-
org: 'developit',
272-
repo: 'microbundle',
273-
issue: 711
274-
},
275-
{
276-
org: 'slune-org',
277-
repo: 'ts-transform-asset',
278-
issue: 2
279-
},
280-
{
281-
org: 'slune-org',
282-
repo: 'ts-transform-asset',
283-
issue: 3
284-
},
285-
{
286-
org: 'BuilderIO',
287-
repo: 'builder',
288-
issue: 95
289-
}
176+
{ org: 'webcomponents', repo: 'polyfills', issue: 88 },
177+
{ org: 'webcomponents', repo: 'shadydom', pull: 294 },
178+
{ org: 'calebdwilliams', repo: 'element-internals-polyfill', issue: 13 },
179+
{ org: 'calebdwilliams', repo: 'element-internals-polyfill', issue: 17 },
180+
{ org: 'GoogleChrome', repo: 'web.dev', pull: 4400 },
181+
{ org: 'tc39', repo: 'proposal-decorators', pull: 154 },
182+
{ org: 'babel', repo: 'babel', issue: 8808 },
183+
{ org: 'babel', repo: 'babel-upgrade', issue: 88 },
184+
{ org: 'babel', repo: 'babel-upgrade', pull: 92 },
185+
{ org: 'TypeStrong', repo: 'ts-node', issue: 990 },
186+
{ org: 'TypeStrong', repo: 'typedoc', issue: 1401 },
187+
{ org: 'TypeStrong', repo: 'typedoc', issue: 1432 },
188+
{ org: 'TypeStrong', repo: 'typedoc', issue: 1440 },
189+
{ org: 'jsdom', repo: 'jsdom', issue: 2600 },
190+
{ org: 'jsdom', repo: 'w3c-xmlserializer', issue: 2 },
191+
{ org: 'jsdom', repo: 'w3c-xmlserializer', pull: 3 },
192+
{ org: 'capricorn86', repo: 'happy-dom', issue: 33 },
193+
{ org: 'snabbdom', repo: 'snabbdom', issue: 797 },
194+
{ org: 'snabbdom', repo: 'snabbdom', issue: 844 },
195+
{ org: 'jvanbruegge', repo: 'snabbdom-looks-like', pull: 2 },
196+
{ org: 'parcel-bundler', repo: 'parcel', issue: 4205 },
197+
{ org: 'developit', repo: 'microbundle', issue: 711 },
198+
{ org: 'slune-org', repo: 'ts-transform-asset', issue: 2 },
199+
{ org: 'slune-org', repo: 'ts-transform-asset', issue: 3 },
200+
{ org: 'john-techfox', repo: 'quill-upload', issue: 8 },
201+
{ org: 'BuilderIO', repo: 'builder', issue: 95 }
290202
];
291203

292204
export const cases = [

source/page/index.tsx

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
import { createCell, Fragment } from 'web-cell';
1+
import { createCell, Fragment, WebCellProps } from 'web-cell';
22
import { CellRouter } from 'cell-router/source';
33
import { NavBar } from 'boot-cell/source/Navigator/NavBar';
44
import { NavLink } from 'boot-cell/source/Navigator/Nav';
5-
import { isXDomain } from 'web-utility';
5+
import { DropMenuItem } from 'boot-cell/source/Navigator/DropMenu';
6+
import { isXDomain } from 'web-utility/source/URL';
7+
import classNames from 'classnames';
68

79
import { history } from '../model';
810
import { header, footer } from './data';
@@ -85,24 +87,31 @@ function Copyright() {
8587
);
8688
}
8789

88-
function FooterList({ title, menu }: typeof footer[0]) {
90+
function FooterList({
91+
className,
92+
menu
93+
}: WebCellProps & Pick<typeof footer[0], 'menu'>) {
8994
return (
90-
<div className="col-4 col-md">
91-
<h5>{title}</h5>
92-
<ul className="list-unstyled text-small">
93-
{menu?.map(({ href, title }) => (
94-
<li>
95+
<ul className={classNames('list-unstyled', 'text-small', className)}>
96+
{menu?.map(({ menu, href, title }) => (
97+
<li>
98+
{menu ? (
99+
<>
100+
{title}
101+
<FooterList className="pl-3" menu={menu} />
102+
</>
103+
) : (
95104
<a
96105
className="text-muted"
97106
target={isXDomain(href) ? '_blank' : ''}
98107
href={href}
99108
>
100109
{title}
101110
</a>
102-
</li>
103-
))}
104-
</ul>
105-
</div>
111+
)}
112+
</li>
113+
))}
114+
</ul>
106115
);
107116
}
108117

@@ -120,9 +129,17 @@ export function PageFrame() {
120129
/>
121130
}
122131
>
123-
{header.map(({ title, ...rest }) => (
124-
<NavLink {...rest}>{title}</NavLink>
125-
))}
132+
{header.map(({ menu, title, ...rest }) =>
133+
menu ? (
134+
<NavLink title={title}>
135+
{menu.map(({ href, title }) => (
136+
<DropMenuItem href={href}>{title}</DropMenuItem>
137+
))}
138+
</NavLink>
139+
) : (
140+
<NavLink {...rest}>{title}</NavLink>
141+
)
142+
)}
126143
</NavBar>
127144

128145
<CellRouter
@@ -147,8 +164,11 @@ export function PageFrame() {
147164
>
148165
<img src={EasyWebApp_QQ} title="QQ 群" />
149166
</a>
150-
{footer.map(item => (
151-
<FooterList {...item} />
167+
{footer.map(({ title, menu }) => (
168+
<div className="col-4 col-md">
169+
<h5>{title}</h5>
170+
<FooterList menu={menu} />
171+
</div>
152172
))}
153173
</div>
154174
</footer>

0 commit comments

Comments
 (0)