diff --git a/src/client/main.nim b/src/client/main.nim index 2f241ab..78a7c25 100644 --- a/src/client/main.nim +++ b/src/client/main.nim @@ -7,8 +7,6 @@ import ./views/modals/generatePayload import ../common/[types, utils, crypto] import ./core/websocket -import sugar - proc main(ip: string = "localhost", port: int = 37573) = var app = createApp(1024, 800, imnodes = true, title = "Conquest", docking = true) defer: app.destroyApp() @@ -39,12 +37,11 @@ proc main(ip: string = "localhost", port: int = 37573) = # Create components var dockspace = Dockspace() - sessionsTable = SessionsTable("Sessions [Table View]", addr consoles) - listenersTable = ListenersTable("Listeners") - eventlog = Eventlog("Eventlog") - lootDownloads = LootDownloads("Downloads") - lootScreenshots = LootScreenshots("Screenshots") - + sessionsTable = SessionsTable(WIDGET_SESSIONS, addr consoles) + listenersTable = ListenersTable(WIDGET_LISTENERS) + eventlog = Eventlog(WIDGET_EVENTLOG) + lootDownloads = LootDownloads(WIDGET_DOWNLOADS) + lootScreenshots = LootScreenshots(WIDGET_SCREENSHOTS) let io = igGetIO() @@ -104,7 +101,7 @@ proc main(ip: string = "localhost", port: int = 37573) = # The only case that is not covered is when the listeners table is hidden and the bottom panel was split var agentConsole = Console(agent) consoles[agent.agentId] = agentConsole - let listenersWindow = igFindWindowByName("Listeners") + let listenersWindow = igFindWindowByName(WIDGET_LISTENERS) if listenersWindow != nil and listenersWindow.DockNode != nil: igSetNextWindowDockID(listenersWindow.DockNode.ID, ImGuiCond_FirstUseEver.int32) else: diff --git a/src/client/utils/globals.nim b/src/client/utils/globals.nim index 3c466b7..9ca1dfd 100644 --- a/src/client/utils/globals.nim +++ b/src/client/utils/globals.nim @@ -1 +1,9 @@ -const CONQUEST_ROOT* {.strdefine.} = "" \ No newline at end of file +import ../utils/fonticon/IconsFontAwesome6 + +const CONQUEST_ROOT* {.strdefine.} = "" + +const WIDGET_SESSIONS* = " " & ICON_FA_LIST & " " & "Sessions [Table View]" +const WIDGET_LISTENERS* = " " & ICON_FA_HEADPHONES & " " & "Listeners" +const WIDGET_EVENTLOG* = "Eventlog" +const WIDGET_DOWNLOADS* = " " & ICON_FA_DOWNLOAD & " " & "Downloads" +const WIDGET_SCREENSHOTS* = " " & ICON_FA_IMAGE & " " & "Screenshots" diff --git a/src/client/views/dockspace.nim b/src/client/views/dockspace.nim index 2f67746..cfd608c 100644 --- a/src/client/views/dockspace.nim +++ b/src/client/views/dockspace.nim @@ -1,6 +1,6 @@ import tables, strutils import imguin/[cimgui, glfw_opengl, simple] -import ../utils/appImGui +import ../utils/[appImGui, globals] type DockspaceComponent* = ref object of RootObj @@ -53,11 +53,11 @@ proc draw*(component: DockspaceComponent, showComponent: ptr bool, views: Table[ discard igDockBuilderSplitNode(dockspaceId, ImGuiDir_Down, 5.0f, dockBottom, dockTop) discard igDockBuilderSplitNode(dockTop[], ImGuiDir_Right, 0.5f, dockTopRight, dockTopLeft) - igDockBuilderDockWindow("Sessions [Table View]", dockTopLeft[]) - igDockBuilderDockWindow("Listeners", dockBottom[]) - igDockBuilderDockWindow("Eventlog", dockTopRight[]) - igDockBuilderDockWindow("Downloads", dockBottom[]) - igDockBuilderDockWindow("Screenshots", dockBottom[]) + igDockBuilderDockWindow(WIDGET_SESSIONS, dockTopLeft[]) + igDockBuilderDockWindow(WIDGET_LISTENERS, dockBottom[]) + igDockBuilderDockWindow(WIDGET_EVENTLOG, dockTopRight[]) + igDockBuilderDockWindow(WIDGET_DOWNLOADS, dockBottom[]) + igDockBuilderDockWindow(WIDGET_SCREENSHOTS, dockBottom[]) igDockBuilderDockWindow("Dear ImGui Demo", dockTopRight[]) igDockBuilderFinish(dockspaceId)