Skip to content

Commit 7ed7802

Browse files
committed
feat(repo-explorer): added branches dropdown auto-close
1 parent cd96a98 commit 7ed7802

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/features/repo-explorer/components/branches-menu/index.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ import "./index.scss";
77
type Props = {
88
repo: RepoIdentity;
99
branches?: Array<BranchIdentity>;
10+
onVisibleChange?: (flag: boolean) => void;
1011
};
1112

12-
const BranchesMenu = ({ repo, branches }: Props) => {
13+
const BranchesMenu = ({ repo, branches, onVisibleChange }: Props) => {
1314
return (
14-
<Menu className="branches-menu" onClick={() => {}}>
15+
<Menu className="branches-menu">
1516
{branches?.map((branch, index) => (
16-
<Menu.Item key={index}>
17+
<Menu.Item key={index} onClick={() => onVisibleChange?.(false)}>
1718
<Link to={`/${repo.owner}/${repo.name}/tree/${branch.name}`}>
1819
{branch.name}
1920
</Link>

src/features/repo-explorer/components/toolbar/index.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Button, Dropdown, Popover } from "antd";
2-
import React from "react";
2+
import React, { useState } from "react";
33
import { RepoIdentity, BranchIdentity } from "models";
44
import BranchesMenu from "../branches-menu";
55
import CloneMenu from "./clone-menu";
@@ -12,12 +12,21 @@ type Props = {
1212
};
1313

1414
const RepoToolbar = ({ repo, branches, activeBranch }: Props) => {
15+
const [isBranchDropdownVisible, setBranchDropdownVisible] = useState(false);
1516
return (
1617
<div className="flex justify-between">
1718
<Dropdown
18-
overlay={<BranchesMenu branches={branches} repo={repo} />}
19+
overlay={
20+
<BranchesMenu
21+
branches={branches}
22+
repo={repo}
23+
onVisibleChange={setBranchDropdownVisible}
24+
/>
25+
}
1926
placement="bottomLeft"
2027
arrow
28+
visible={isBranchDropdownVisible}
29+
onVisibleChange={setBranchDropdownVisible}
2130
trigger={["click"]}
2231
>
2332
<Button className="branch-dropdown">{activeBranch}</Button>

0 commit comments

Comments
 (0)