<template>
  <div class="h-screen w-screen flex flex-col bg-[#0d1117] text-[#e0e0e0]">
    <NetworkScanner v-if="tool === 'network-scanner'" :session-id="sessionId" />
    <PortScanner v-else-if="tool === 'port-scanner'" :session-id="sessionId" />
    <PingTool v-else-if="tool === 'ping'" :session-id="sessionId" />
    <TracerouteTool v-else-if="tool === 'traceroute'" :session-id="sessionId" />
    <WakeOnLan v-else-if="tool === 'wake-on-lan'" :session-id="sessionId" />
    <DnsLookup v-else-if="tool === 'dns-lookup'" :session-id="sessionId" />
    <WhoisTool v-else-if="tool === 'whois'" :session-id="sessionId" />
    <BandwidthTest v-else-if="tool === 'bandwidth'" :session-id="sessionId" />
    <SubnetCalc v-else-if="tool === 'subnet-calc'" />
    <DockerPanel v-else-if="tool === 'docker'" :session-id="sessionId" />
    <FileEditor v-else-if="tool === 'editor'" :session-id="sessionId" />
    <SshKeyGen v-else-if="tool === 'ssh-keygen'" />
    <PasswordGen v-else-if="tool === 'password-gen'" />
    <HelpWindow v-else-if="tool === 'help'" />
    <div v-else class="flex-1 flex items-center justify-center text-sm text-[#484f58]">
      Unknown tool: {{ tool }}
    </div>
  </div>
</template>

<script setup lang="ts">
import NetworkScanner from "./NetworkScanner.vue";
import PortScanner from "./PortScanner.vue";
import PingTool from "./PingTool.vue";
import TracerouteTool from "./TracerouteTool.vue";
import WakeOnLan from "./WakeOnLan.vue";
import DnsLookup from "./DnsLookup.vue";
import WhoisTool from "./WhoisTool.vue";
import BandwidthTest from "./BandwidthTest.vue";
import SubnetCalc from "./SubnetCalc.vue";
import DockerPanel from "./DockerPanel.vue";
import FileEditor from "./FileEditor.vue";
import SshKeyGen from "./SshKeyGen.vue";
import PasswordGen from "./PasswordGen.vue";
import HelpWindow from "./HelpWindow.vue";

defineProps<{
  tool: string;
  sessionId: string;
}>();
</script>
