diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index cf83c23..3e35156 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -9,6 +9,7 @@ import { ProjectLayout } from './layout/projectLayout'; import Status from './views/project/status'; import Recon from './views/project/recon'; import { ReconResults } from './views/project/results/recon-results'; +import JsLeaks from './views/project/JsLeaks.1'; function Home() { return ( @@ -31,6 +32,7 @@ export default function App() { } /> } /> } /> + } /> diff --git a/src/renderer/components/sidebar.tsx b/src/renderer/components/sidebar.tsx index 1224a9e..e50e4e8 100644 --- a/src/renderer/components/sidebar.tsx +++ b/src/renderer/components/sidebar.tsx @@ -41,6 +41,12 @@ const dashboardMenu: DashboardMenu[] = [ Disabled: true, icon: , }, + + { + href: 'jsleaks', + title: 'JsLeaks', + icon: , + }, ]; const resultArch: DashboardMenu[] = [ diff --git a/src/renderer/views/project/JsLeaks.tsx b/src/renderer/views/project/JsLeaks.tsx new file mode 100644 index 0000000..b3ad068 --- /dev/null +++ b/src/renderer/views/project/JsLeaks.tsx @@ -0,0 +1,41 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '../../components/ui/card'; +import Secrets from './JsLeaks Jobs/secrets'; +import EndPoints from './JsLeaks Jobs/EndPoints'; + +export default function JsLeaks() { + return ( +
+

Initiate Recon Attacks

+
+
+ + + Find Secrets + wanna find secrets ? + + + + + + + + Find EndPoints + + Unveiling extra and hidden endpoints + + + + + + +
+
+
+ ); +} diff --git a/src/renderer/views/project/jsLeaksJob/Endpoint.tsx b/src/renderer/views/project/jsLeaksJob/Endpoint.tsx new file mode 100644 index 0000000..205df3f --- /dev/null +++ b/src/renderer/views/project/jsLeaksJob/Endpoint.tsx @@ -0,0 +1,23 @@ +import { Loader2 } from 'lucide-react'; +import { useState } from 'react'; +import { Button } from '../../../components/ui/button'; + +export default function EndPoints() { + const [Loading, setLoading] = useState(false); + const RunEndPoints = async () => { + setLoading(true); + }; + return ( + // eslint-disable-next-line react/jsx-no-useless-fragment + <> + {!Loading ? ( + + ) : ( + + )} + + ); +} diff --git a/src/renderer/views/project/jsLeaksJob/secrets.tsx b/src/renderer/views/project/jsLeaksJob/secrets.tsx new file mode 100644 index 0000000..865aea9 --- /dev/null +++ b/src/renderer/views/project/jsLeaksJob/secrets.tsx @@ -0,0 +1,23 @@ +import { Loader2 } from 'lucide-react'; +import { useState } from 'react'; +import { Button } from '../../../components/ui/button'; + +export default function Secrets() { + const [Loading, setLoading] = useState(false); + const RunSecrets = async () => { + setLoading(true); + }; + return ( + // eslint-disable-next-line react/jsx-no-useless-fragment + <> + {!Loading ? ( + + ) : ( + + )} + + ); +}