Skip to content

Commit 6d8b03d

Browse files
committed
fix: Fix menu active issue.
1 parent e080342 commit 6d8b03d

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"react-dom": "17.0.2",
3737
"react-redux": "7.2.6",
3838
"react-router-dom": "6.2.1",
39-
"uiw": "4.9.10"
39+
"uiw": "4.9.11"
4040
},
4141
"engines": {
4242
"node": ">=14.0.0"

src/components/Search.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import { useState, Fragment } from 'react';
22
import Input from '@uiw/react-input';
33
import Button from '@uiw/react-button';
4-
import { useDispatch } from 'react-redux';
4+
import { useDispatch, useSelector } from 'react-redux';
55
import { Link, useNavigate } from 'react-router-dom';
6-
import { Dispatch } from '../models';
6+
import { Dispatch, RootState } from '../models';
77
import styles from './Search.module.less';
88

99
export default function Search() {
10+
const { package: pkg, pkgname } = useSelector(({ global }: RootState) => ({
11+
package: global.package,
12+
pkgname: global.pkgname,
13+
}));
1014
const dispatch = useDispatch<Dispatch>();
1115
const [value, setValue] = useState<string>();
1216
const navigate = useNavigate();
@@ -32,11 +36,13 @@ export default function Search() {
3236
3337
},
3438
]);
39+
const name = pkg && pkg.name ? `${pkg.name}@${pkg.version}` : pkgname;
3540
return (
3641
<Fragment>
3742
<Input
3843
className={styles.input}
3944
size="large"
45+
defaultValue={name}
4046
preIcon="search"
4147
onChange={(e) => {
4248
setValue(e.target.value);

src/pages/Preview/DirectoryTrees.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useSelector } from 'react-redux';
33
import Menu, { MenuItemProps } from '@uiw/react-menu';
44
import Tag from '@uiw/react-tag';
55
import Loader from '@uiw/react-loader';
6-
import { NavLink } from 'react-router-dom';
6+
import { NavLink, useLocation } from 'react-router-dom';
77
import { RootState } from '../../models';
88
import { Files } from '../../models/global';
99
import styles from './DirectoryTrees.module.less';
@@ -66,19 +66,26 @@ function MeunItemView(props: { path?: string; filepath?: string; size?: number }
6666
}
6767

6868
export default function DirectoryTrees() {
69+
const location = useLocation();
6970
const { loading, files, pkgname } = useSelector(({ global, loading }: RootState) => ({
7071
loading: loading.effects.global.getDirectoryTrees,
7172
files: global.files,
7273
pkgname: global.pkgname,
7374
}));
7475

76+
const pathname = location.pathname.replace(new RegExp(`/pkg/${pkgname}/file`), '')
77+
7578
function renderMenuItem(data: Files[] = [], menuItems: any = []) {
7679
data.forEach((item, idx) => {
7780
if (item.type === 'directory') {
81+
const collapse = new RegExp(`^${item.path}`).test(pathname);
7882
menuItems.push(
7983
<Menu.SubMenu
8084
key={idx}
8185
icon="folder"
86+
overlayProps={{
87+
isOpen: collapse
88+
}}
8289
style={{ color: '#1d64ce' }}
8390
text={item.path.replace(/^\//, '').replace(/(.+?).\//g, '')}
8491
>

0 commit comments

Comments
 (0)