mirror of
https://github.com/netbirdio/dashboard.git
synced 2026-09-23 00:30:43 -07:00
Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee21c424a2 | ||
|
|
40cf40829c | ||
|
|
30cd602e41 | ||
|
|
a11511ecbf | ||
|
|
2ac5504bee | ||
|
|
f6476ecf05 | ||
|
|
c8108ef01f | ||
|
|
ad4e54129a | ||
|
|
57318de4c6 | ||
|
|
70c2f973ef | ||
|
|
3bbe1079af | ||
|
|
923c00b70c |
No files matched your search
+41
-42
@@ -473,7 +473,7 @@ export const AccessControl = () => {
|
||||
};
|
||||
|
||||
const renderPorts = (ports: string[]) => {
|
||||
if (!ports) {
|
||||
if (!ports) {
|
||||
return (
|
||||
<Tag style={{ marginRight: 3 }}>
|
||||
<span className="menlo-font">ALL</span>
|
||||
@@ -661,7 +661,46 @@ export const AccessControl = () => {
|
||||
/>
|
||||
)}
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
{!showTutorial && (
|
||||
{showTutorial && !loading ? (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create New Rule
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any rules. {"\n"}
|
||||
Get started with access control by adding a new one.
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/manage-network-access"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewPolicy()}
|
||||
>
|
||||
Add rule
|
||||
</Button>
|
||||
</Space>
|
||||
) : (
|
||||
<Table
|
||||
pagination={{
|
||||
current: currentPage,
|
||||
@@ -825,46 +864,6 @@ export const AccessControl = () => {
|
||||
/>
|
||||
</Table>
|
||||
)}
|
||||
{showTutorial && (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create New Rule
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any rules. {"\n"}
|
||||
Get started with access control by adding a new one.
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/manage-network-access"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewPolicy()}
|
||||
>
|
||||
Add rule
|
||||
</Button>
|
||||
</Space>
|
||||
)}
|
||||
</Card>
|
||||
</Space>
|
||||
</Col>
|
||||
|
||||
+41
-41
@@ -540,7 +540,47 @@ export const Nameservers = () => {
|
||||
/>
|
||||
)}
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
{!showTutorial && (
|
||||
{showTutorial && !loading ? (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create Nameserver
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any nameservers. {"\n"}
|
||||
Get started by adding one to your network.
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/manage-dns-in-your-network"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewNSGroup()}
|
||||
>
|
||||
Add nameserver
|
||||
</Button>
|
||||
</Space>
|
||||
)
|
||||
: (
|
||||
<Table
|
||||
pagination={{
|
||||
pageSize,
|
||||
@@ -651,46 +691,6 @@ export const Nameservers = () => {
|
||||
/>
|
||||
</Table>
|
||||
)}
|
||||
{showTutorial && (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create Nameserver
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any nameservers. {"\n"}
|
||||
Get started by adding one to your network.
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/manage-dns-in-your-network"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewNSGroup()}
|
||||
>
|
||||
Add nameserver
|
||||
</Button>
|
||||
</Space>
|
||||
)}
|
||||
</Card>
|
||||
</Space>
|
||||
</>
|
||||
|
||||
+52
-44
@@ -206,8 +206,6 @@ export const Peers = () => {
|
||||
}
|
||||
}, [deletedPeer]);
|
||||
|
||||
|
||||
|
||||
const filterDataTable = (): Peer[] => {
|
||||
const t = textToSearch.toLowerCase().trim();
|
||||
let f: Peer[] = filter(peers, (f: Peer) => {
|
||||
@@ -511,7 +509,14 @@ export const Peers = () => {
|
||||
|
||||
let loginExpire = peer.login_expired ? (
|
||||
<Tooltip title="The peer is offline and needs to be re-authenticated because its login has expired ">
|
||||
<Tag color="red"><Text style={{fontSize: "10px", color: "rgba(210, 64, 64, 0.85)"}} type={"secondary"}>needs login</Text></Tag>
|
||||
<Tag color="red">
|
||||
<Text
|
||||
style={{ fontSize: "10px", color: "rgba(210, 64, 64, 0.85)" }}
|
||||
type={"secondary"}
|
||||
>
|
||||
needs login
|
||||
</Text>
|
||||
</Tag>
|
||||
</Tooltip>
|
||||
) : (
|
||||
""
|
||||
@@ -519,9 +524,11 @@ export const Peers = () => {
|
||||
|
||||
const userEmail = users?.find((u) => u.id === peer.user_id)?.email;
|
||||
let expiry = !peer.login_expiration_enabled ? (
|
||||
<Tag>
|
||||
<Text type="secondary" style={{ fontSize: 10 }}>expiration disabled</Text>
|
||||
</Tag>
|
||||
<Tag>
|
||||
<Text type="secondary" style={{ fontSize: 10 }}>
|
||||
expiration disabled
|
||||
</Text>
|
||||
</Tag>
|
||||
) : null;
|
||||
if (!userEmail) {
|
||||
return (
|
||||
@@ -573,12 +580,14 @@ export const Peers = () => {
|
||||
<Col span={24}>
|
||||
<Title className="page-heading">Peers</Title>
|
||||
{peers.length ? (
|
||||
<Paragraph style={{marginTop: "5px"}}>
|
||||
A list of all machines and devices connected to your private network. Use this view to manage peers
|
||||
<Paragraph style={{ marginTop: "5px" }}>
|
||||
A list of all machines and devices connected to your private
|
||||
network. Use this view to manage peers
|
||||
</Paragraph>
|
||||
) : (
|
||||
<Paragraph style={{marginTop: "5px"}} type={"secondary"}>
|
||||
A list of all machines and devices connected to your private network. Use this view to manage peers
|
||||
<Paragraph style={{ marginTop: "5px" }} type={"secondary"}>
|
||||
A list of all machines and devices connected to your private
|
||||
network. Use this view to manage peers
|
||||
</Paragraph>
|
||||
)}
|
||||
|
||||
@@ -649,7 +658,39 @@ export const Peers = () => {
|
||||
/>
|
||||
)}
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
{!showTutorial && (
|
||||
{showTutorial && !loading ? (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Get Started
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any connected machines.{" "}
|
||||
{"\n"}
|
||||
Get started by adding one to your network.
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => setAddPeerModalOpen(true)}
|
||||
>
|
||||
Add new peer
|
||||
</Button>
|
||||
</Space>
|
||||
) : (
|
||||
<Table
|
||||
pagination={{
|
||||
pageSize,
|
||||
@@ -804,39 +845,6 @@ export const Peers = () => {
|
||||
/>
|
||||
</Table>
|
||||
)}
|
||||
{showTutorial && (
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Get Started
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
It looks like you don't have any connected machines.{" "}
|
||||
{"\n"}
|
||||
Get started by adding one to your network.
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => setAddPeerModalOpen(true)}
|
||||
>
|
||||
Add new peer
|
||||
</Button>
|
||||
</Space>
|
||||
)}
|
||||
</Card>
|
||||
</Space>
|
||||
</Col>
|
||||
|
||||
+13
-14
@@ -463,9 +463,11 @@ export const Routes = () => {
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Tag color="default">
|
||||
<Text type="secondary" style={{ fontSize: 12 }}>off</Text>
|
||||
</Tag>
|
||||
<Tag color="default">
|
||||
<Text type="secondary" style={{ fontSize: 12 }}>
|
||||
off
|
||||
</Text>
|
||||
</Tag>
|
||||
<Button
|
||||
type="link"
|
||||
style={{ padding: "0" }}
|
||||
@@ -497,16 +499,13 @@ export const Routes = () => {
|
||||
let name = selectedGroup ? selectedGroup.network_id : "";
|
||||
confirm({
|
||||
icon: <ExclamationCircleOutlined />,
|
||||
title: (
|
||||
<span className="font-500">
|
||||
Delete routes to network {name}
|
||||
</span>
|
||||
),
|
||||
title: <span className="font-500">Delete routes to network {name}</span>,
|
||||
width: 600,
|
||||
content: (
|
||||
<Space direction="vertical" size="small">
|
||||
<Paragraph>
|
||||
This operation will delete all routes to the network {name}. Are you sure?
|
||||
This operation will delete all routes to the network {name}. Are you
|
||||
sure?
|
||||
</Paragraph>
|
||||
<Alert
|
||||
message={
|
||||
@@ -808,7 +807,11 @@ export const Routes = () => {
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
{showTutorial ? (
|
||||
{loading || loadingPeer ? (
|
||||
<div className="container-spinner">
|
||||
<Spin size={"large"} />
|
||||
</div>
|
||||
) : showTutorial ? (
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
<Space
|
||||
direction="vertical"
|
||||
@@ -849,10 +852,6 @@ export const Routes = () => {
|
||||
</Button>
|
||||
</Space>
|
||||
</Card>
|
||||
) : loading || loadingPeer ? (
|
||||
<div className="container-spinner">
|
||||
<Spin size={"large"} />
|
||||
</div>
|
||||
) : (
|
||||
<div className="routes-accordian">
|
||||
<Collapse onChange={callback}>
|
||||
|
||||
+54
-71
@@ -360,26 +360,6 @@ export const SetupKeys = () => {
|
||||
);
|
||||
};
|
||||
|
||||
const setUpdateGroupsVisible = (
|
||||
setupKeyToAction: SetupKey,
|
||||
status: boolean
|
||||
) => {
|
||||
if (status) {
|
||||
dispatch(setupKeyActions.setSetupKey({ ...setupKeyToAction }));
|
||||
dispatch(setupKeyActions.setSetupNewKeyVisible(true));
|
||||
return;
|
||||
}
|
||||
const autoGroups: string[] = [];
|
||||
dispatch(
|
||||
setupKeyActions.setSetupKey({
|
||||
name: "",
|
||||
type: "one-off",
|
||||
auto_groups: autoGroups,
|
||||
} as SetupKey)
|
||||
);
|
||||
dispatch(setupKeyActions.setSetupNewKeyVisible(false));
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Container style={{ paddingTop: "40px" }}>
|
||||
@@ -388,24 +368,26 @@ export const SetupKeys = () => {
|
||||
<Col span={24}>
|
||||
<Title className="page-heading">Setup Keys</Title>
|
||||
{setupKeys.length ? (
|
||||
<Paragraph style={{marginTop: "5px"}}>
|
||||
Setup keys are pre-authentication keys that allow to register new machines in your network.
|
||||
<Paragraph style={{ marginTop: "5px" }}>
|
||||
Setup keys are pre-authentication keys that allow to register
|
||||
new machines in your network.
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/register-machines-using-setup-keys"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
) : (
|
||||
<Paragraph style={{marginTop: "5px"}} type={"secondary"}>
|
||||
Setup key is a pre-authentication key that allows to register new machines in your network
|
||||
<Paragraph style={{ marginTop: "5px" }} type={"secondary"}>
|
||||
Setup key is a pre-authentication key that allows to register
|
||||
new machines in your network
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/register-machines-using-setup-keys"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/register-machines-using-setup-keys"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
@@ -481,47 +463,48 @@ export const SetupKeys = () => {
|
||||
closable
|
||||
/>
|
||||
)}
|
||||
{showTutorial ? (
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
{showTutorial && !loading ? (
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
<Space
|
||||
direction="vertical"
|
||||
size="small"
|
||||
align="center"
|
||||
style={{
|
||||
display: "flex",
|
||||
padding: "45px 15px",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create Setup Key
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
Add a setup key to register new machines in your
|
||||
network. {"\n"} The key links machines to your account
|
||||
during initial setup.{" "}
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/register-machines-using-setup-keys"
|
||||
>
|
||||
<Title level={4} style={{ textAlign: "center" }}>
|
||||
Create Setup Key
|
||||
</Title>
|
||||
<Paragraph
|
||||
style={{
|
||||
textAlign: "center",
|
||||
whiteSpace: "pre-line",
|
||||
}}
|
||||
>
|
||||
Add a setup key to register new machines in your
|
||||
network. {"\n"} The key links machines to your account during
|
||||
initial setup. <a
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
href="https://docs.netbird.io/how-to/register-machines-using-setup-keys"
|
||||
>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewSetupKey()}
|
||||
>
|
||||
Add setup key
|
||||
</Button>
|
||||
</Space>
|
||||
</Card>
|
||||
{" "}
|
||||
Learn more
|
||||
</a>
|
||||
</Paragraph>
|
||||
<Button
|
||||
size={"middle"}
|
||||
type="primary"
|
||||
onClick={() => onClickAddNewSetupKey()}
|
||||
>
|
||||
Add setup key
|
||||
</Button>
|
||||
</Space>
|
||||
</Card>
|
||||
) : (
|
||||
<Card bodyStyle={{ padding: 0 }}>
|
||||
<Table
|
||||
|
||||
Reference in new issue
Block a user