From d4bfb3d5fd934085c300047edf0aea5631ce0136 Mon Sep 17 00:00:00 2001 From: Vantz Stockwell Date: Sun, 29 Mar 2026 16:53:57 -0400 Subject: [PATCH] refactor: migrate UnlockLayout to Tailwind + extract ToolShell wrapper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Convert all ~40 inline styles in UnlockLayout.vue to Tailwind CSS v4 arbitrary-value classes, matching MainLayout.vue color conventions (CSS variables + hex arbitraries). Visual appearance preserved exactly. - Create ToolShell.vue reusable wrapper that owns output/running state and execute/setOutput API via defineExpose. - Refactor PingTool, TracerouteTool, DnsLookup, WhoisTool, BandwidthTest to use ToolShell — each tool now contains only its unique inputs and invoke calls. Zero vue-tsc errors. Co-Authored-By: Claude Sonnet 4.6 --- src/components/tools/BandwidthTest.vue | 31 +++--- src/components/tools/DnsLookup.vue | 22 ++-- src/components/tools/PingTool.vue | 22 ++-- src/components/tools/ToolShell.vue | 37 +++++++ src/components/tools/TracerouteTool.vue | 22 ++-- src/components/tools/WhoisTool.vue | 21 ++-- src/layouts/UnlockLayout.vue | 139 +++--------------------- 7 files changed, 105 insertions(+), 189 deletions(-) create mode 100644 src/components/tools/ToolShell.vue diff --git a/src/components/tools/BandwidthTest.vue b/src/components/tools/BandwidthTest.vue index c1edcc6..e6c0681 100644 --- a/src/components/tools/BandwidthTest.vue +++ b/src/components/tools/BandwidthTest.vue @@ -1,6 +1,6 @@ diff --git a/src/components/tools/DnsLookup.vue b/src/components/tools/DnsLookup.vue index 51d9491..7172520 100644 --- a/src/components/tools/DnsLookup.vue +++ b/src/components/tools/DnsLookup.vue @@ -1,31 +1,29 @@ diff --git a/src/components/tools/PingTool.vue b/src/components/tools/PingTool.vue index 1b7388c..43cec03 100644 --- a/src/components/tools/PingTool.vue +++ b/src/components/tools/PingTool.vue @@ -1,32 +1,28 @@ diff --git a/src/components/tools/ToolShell.vue b/src/components/tools/ToolShell.vue new file mode 100644 index 0000000..29be3ca --- /dev/null +++ b/src/components/tools/ToolShell.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/tools/TracerouteTool.vue b/src/components/tools/TracerouteTool.vue index 1e2fb6f..4d8fb35 100644 --- a/src/components/tools/TracerouteTool.vue +++ b/src/components/tools/TracerouteTool.vue @@ -1,29 +1,25 @@ diff --git a/src/components/tools/WhoisTool.vue b/src/components/tools/WhoisTool.vue index eaf7976..eb1faeb 100644 --- a/src/components/tools/WhoisTool.vue +++ b/src/components/tools/WhoisTool.vue @@ -1,26 +1,25 @@ diff --git a/src/layouts/UnlockLayout.vue b/src/layouts/UnlockLayout.vue index 61b3d02..2bc71aa 100644 --- a/src/layouts/UnlockLayout.vue +++ b/src/layouts/UnlockLayout.vue @@ -50,68 +50,25 @@ const displayError = computed(() => localError.value ?? app.error);