cleanup frontend notifications
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 1m39s
All checks were successful
Build and Deploy MITM Webserver / build (push) Successful in 1m39s
This commit is contained in:
@@ -7,7 +7,21 @@ import {
|
||||
ReloadOutlined,
|
||||
StopOutlined,
|
||||
} from '@ant-design/icons';
|
||||
import { Button, Card, Form, List, message, Modal, Radio, Select, Space, Spin, Tag, Tooltip, Typography } from 'antd';
|
||||
import {
|
||||
Button,
|
||||
Card,
|
||||
Form,
|
||||
List,
|
||||
Modal,
|
||||
notification,
|
||||
Radio,
|
||||
Select,
|
||||
Space,
|
||||
Spin,
|
||||
Tag,
|
||||
Tooltip,
|
||||
Typography,
|
||||
} from 'antd';
|
||||
import { ReactElement, useMemo, useState } from 'react';
|
||||
import { startSniffer, stopSniffer, stopSnifferByInterface } from '../api/apiClient';
|
||||
import { BridgeInfo, InterfaceInfo } from '../types/network';
|
||||
@@ -52,18 +66,21 @@ export default function SnifferManager(props: SnifferManagerProps): ReactElement
|
||||
const handleStartSubmit = async (values: any) => {
|
||||
const { target } = values;
|
||||
if (!target) {
|
||||
message.warning('Please select a target to start sniffing on.');
|
||||
notification.warning({ message: 'Warning', description: 'Please select a target to start sniffing on.' });
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const payload = startMode === 'interface' ? { interface: target } : { bridge: target };
|
||||
const res = await startSniffer(payload);
|
||||
message.success(`Sniffer started on ${target} (session ${res.session_id})`);
|
||||
notification.success({
|
||||
message: 'Sniffer started',
|
||||
description: `Sniffer started on ${target} (session ${res.session_id})`,
|
||||
});
|
||||
await props.refreshAll();
|
||||
setIsModalOpen(false);
|
||||
} catch (err: any) {
|
||||
console.error('startSniffer error', err);
|
||||
message.error(err?.message ?? 'Failed to start sniffer');
|
||||
notification.error(err?.message ?? 'Failed to start sniffer');
|
||||
} finally {
|
||||
}
|
||||
};
|
||||
@@ -72,11 +89,13 @@ export default function SnifferManager(props: SnifferManagerProps): ReactElement
|
||||
const handleStopAll = async () => {
|
||||
try {
|
||||
await stopSniffer();
|
||||
message.success('All sniffers stopped');
|
||||
notification.success({
|
||||
message: 'All sniffers stopped',
|
||||
});
|
||||
await props.refreshStatus();
|
||||
} catch (err: any) {
|
||||
console.error('stopSniffer error', err);
|
||||
message.error(err?.message ?? 'Failed to stop sniffers');
|
||||
notification.error(err?.message ?? 'Failed to stop sniffers');
|
||||
} finally {
|
||||
}
|
||||
};
|
||||
@@ -86,7 +105,10 @@ export default function SnifferManager(props: SnifferManagerProps): ReactElement
|
||||
try {
|
||||
// prefer stop by interface
|
||||
await stopSnifferByInterface(ifaceName);
|
||||
message.success(`Stopped sniffing on ${ifaceName}`);
|
||||
notification.success({
|
||||
message: 'Sniffer stopped',
|
||||
description: `Sniffer stopped on interface ${ifaceName}`,
|
||||
});
|
||||
await props.refreshStatus();
|
||||
return;
|
||||
} catch (err: any) {
|
||||
@@ -95,14 +117,20 @@ export default function SnifferManager(props: SnifferManagerProps): ReactElement
|
||||
if (session_id) {
|
||||
try {
|
||||
await stopSniffer({ session_id });
|
||||
message.success(`Stopped session ${session_id}`);
|
||||
notification.success({
|
||||
message: 'Sniffer stopped',
|
||||
description: `Sniffer stopped on interface ${ifaceName} (session ${session_id})`,
|
||||
});
|
||||
await props.refreshStatus();
|
||||
return;
|
||||
} catch (err2: any) {
|
||||
console.error('stopSniffer by session fallback failed', err2);
|
||||
}
|
||||
}
|
||||
message.error(err?.message ?? 'Failed to stop sniffer');
|
||||
notification.error({
|
||||
message: 'Failed to stop sniffer',
|
||||
description: err?.message ?? 'Failed to stop sniffer',
|
||||
});
|
||||
} finally {
|
||||
}
|
||||
};
|
||||
@@ -169,11 +197,17 @@ export default function SnifferManager(props: SnifferManagerProps): ReactElement
|
||||
// start on this interface
|
||||
try {
|
||||
const res = await startSniffer({ interface: name });
|
||||
message.success(`Started sniffer on ${name} (session ${res.session_id})`);
|
||||
notification.success({
|
||||
message: 'Sniffer started',
|
||||
description: `Sniffer started on ${name} (session ${res.session_id})`,
|
||||
});
|
||||
await props.refreshStatus();
|
||||
} catch (err: any) {
|
||||
console.error('startSniffer quick', err);
|
||||
message.error(err?.message ?? 'Failed to start sniffer');
|
||||
notification.error({
|
||||
message: 'Failed to start sniffer',
|
||||
description: err?.message ?? 'Failed to start sniffer',
|
||||
});
|
||||
} finally {
|
||||
}
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user