From 35d84857e34e46e15f59f825b8b5ba94263394a4 Mon Sep 17 00:00:00 2001 From: oiupoyt Date: Mon, 31 Aug 2026 23:25:25 +0530 Subject: [PATCH] ui: AMOLED theme across all 30 tools, blue accent, squared edges --- src/app/globals.css | 10 +- src/app/page.tsx | 2 +- src/app/tools/base64/page.tsx | 62 +++--- src/app/tools/box-shadow/page.tsx | 152 ++++++------- src/app/tools/case-converter/page.tsx | 54 ++--- src/app/tools/color-converter/page.tsx | 200 ++++++++--------- src/app/tools/cron-parser/page.tsx | 138 ++++++------ src/app/tools/css-gradient/page.tsx | 124 +++++------ src/app/tools/csv-to-json/page.tsx | 76 +++---- src/app/tools/diff-checker/page.tsx | 118 +++++----- src/app/tools/hash-generator/page.tsx | 42 ++-- src/app/tools/html-entities/page.tsx | 100 ++++----- src/app/tools/image-to-base64/page.tsx | 158 ++++++------- src/app/tools/json-formatter/page.tsx | 66 +++--- src/app/tools/json-to-csv/page.tsx | 78 +++---- src/app/tools/jwt-decoder/page.tsx | 158 ++++++------- src/app/tools/lorem-ipsum/page.tsx | 72 +++--- src/app/tools/markdown-preview/page.tsx | 92 ++++---- src/app/tools/meta-tag-generator/page.tsx | 248 ++++++++++----------- src/app/tools/number-base/page.tsx | 130 +++++------ src/app/tools/password-generator/page.tsx | 102 ++++----- src/app/tools/placeholder-image/page.tsx | 118 +++++----- src/app/tools/px-to-rem/page.tsx | 150 ++++++------- src/app/tools/qr-code/page.tsx | 78 +++---- src/app/tools/regex-tester/page.tsx | 100 ++++----- src/app/tools/slug-generator/page.tsx | 114 +++++----- src/app/tools/sql-formatter/page.tsx | 66 +++--- src/app/tools/timestamp-converter/page.tsx | 158 ++++++------- src/app/tools/url-encoder/page.tsx | 96 ++++---- src/app/tools/uuid-generator/page.tsx | 70 +++--- src/app/tools/word-counter/page.tsx | 86 +++---- src/app/tools/xml-formatter/page.tsx | 68 +++--- src/components/Header.tsx | 4 +- src/components/ToolCard.tsx | 2 +- src/components/ToolLayout.tsx | 2 +- 35 files changed, 1645 insertions(+), 1649 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index 9aa2356..82aa0d5 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -3,7 +3,9 @@ :root { --background: #000000; --foreground: #e5e5e5; - --accent: #10b981; + --accent: #60a5fa; + --accent-hover: #3b82f6; + --accent-dim: #1e3a5f; --surface: #0a0a0a; --surface-hover: #111111; --border: #1a1a1a; @@ -26,12 +28,6 @@ body { } /* Dot pattern background */ -.dot-bg { - background-image: radial-gradient(circle, rgba(255, 255, 255, 0.035) 1px, transparent 1px); - background-size: 20px 20px; -} - -/* Fade the dots at top and bottom */ .dot-bg-fade { position: relative; } diff --git a/src/app/page.tsx b/src/app/page.tsx index 0764508..bae667d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -9,7 +9,7 @@ export default function Home() { {Object.entries(toolsByCategory).map(([category, categoryTools]) => (
-
+

{category}

diff --git a/src/app/tools/base64/page.tsx b/src/app/tools/base64/page.tsx index 129c401..0eb4a34 100644 --- a/src/app/tools/base64/page.tsx +++ b/src/app/tools/base64/page.tsx @@ -161,12 +161,12 @@ export default function Base64Page() {
{/* Controls Bar */} -
+
@@ -233,7 +233,7 @@ export default function Base64Page() {
{/* Options */} -
+
@@ -268,7 +268,7 @@ export default function Base64Page() { {/* Error Notification */} {error && ( -
+
@@ -284,10 +284,10 @@ export default function Base64Page() { {/* Input Area */}
-
@@ -300,7 +300,7 @@ export default function Base64Page() { }} placeholder="Enter or paste text to encode, or Base64 string to decode..." rows={12} - className="w-full p-3 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 font-mono text-sm focus:ring-2 focus:ring-blue-500 focus:outline-none resize-y placeholder:text-gray-400 dark:placeholder:text-gray-500 leading-relaxed shadow-inner" + className="w-full p-3 border border-[#1a1a1a] bg-[#0a0a0a] text-gray-200 font-mono text-sm focus:ring-1 focus:ring-blue-900 focus:outline-none resize-y placeholder:text-gray-400 leading-relaxed shadow-inner" />
@@ -308,31 +308,31 @@ export default function Base64Page() {
-
- + {output.length} chars | {outputBytes} bytes
{/* Information & Feature Highlights */} -
-
-

Full UTF-8 Unicode Support

+
+
+

Full UTF-8 Unicode Support

Handles international character sets, special symbols, and emojis accurately without Latin1 byte truncation errors.

-
-

100% Client-Side & Private

+
+

100% Client-Side & Private

Your data never leaves your browser. All encoding and decoding operations execute locally in JavaScript.

-
-

URL-Safe & MIME Formatting

+
+

URL-Safe & MIME Formatting

Convert standard Base64 characters into URL-friendly variants or wrap output lines for MIME/email standards.

diff --git a/src/app/tools/box-shadow/page.tsx b/src/app/tools/box-shadow/page.tsx index 67e8f34..431be49 100644 --- a/src/app/tools/box-shadow/page.tsx +++ b/src/app/tools/box-shadow/page.tsx @@ -218,21 +218,21 @@ export default function BoxShadowGeneratorPage() { {/* Live Preview Area */}
-

+

Live Preview

- + Background: -
+
{/* The Shadow Card */} @@ -281,7 +281,7 @@ export default function BoxShadowGeneratorPage() { boxShadow: shadowValue, }} > -
+
-

+

Shadow Preview

@@ -304,13 +304,13 @@ export default function BoxShadowGeneratorPage() { {/* Presets Gallery */}

-

+

Quick Presets

@@ -326,13 +326,13 @@ export default function BoxShadowGeneratorPage() { key={preset.name} type="button" onClick={() => applyPreset(preset)} - className="group flex flex-col items-center justify-center p-3 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 hover:border-blue-500 dark:hover:border-blue-500 transition-all hover:scale-[1.03]" + className="group flex flex-col items-center justify-center p-3 border border-[#1a1a1a] bg-[#0a0a0a] hover:border-blue-500 transition-all hover:scale-[1.03]" >
- + {preset.name} @@ -344,8 +344,8 @@ export default function BoxShadowGeneratorPage() { {/* Shadow Control Sliders Grid */}
{/* Controls Column 1: Dimensions & Geometry */} -
-

+
+

@@ -355,7 +355,7 @@ export default function BoxShadowGeneratorPage() { {/* Horizontal Offset */}
-
setHorizontal(Number(e.target.value))} - className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 accent-blue-600" + className="w-full h-2 bg-[#1a1a1a] appearance-none cursor-pointer accent-blue-600" />
-50px @@ -388,7 +388,7 @@ export default function BoxShadowGeneratorPage() { {/* Vertical Offset */}
-
setVertical(Number(e.target.value))} - className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 accent-blue-600" + className="w-full h-2 bg-[#1a1a1a] appearance-none cursor-pointer accent-blue-600" />
-50px @@ -421,7 +421,7 @@ export default function BoxShadowGeneratorPage() { {/* Blur Radius */}
-
setBlur(Number(e.target.value))} - className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 accent-blue-600" + className="w-full h-2 bg-[#1a1a1a] appearance-none cursor-pointer accent-blue-600" />
0px @@ -454,7 +454,7 @@ export default function BoxShadowGeneratorPage() { {/* Spread Radius */}
-
setSpread(Number(e.target.value))} - className="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 accent-blue-600" + className="w-full h-2 bg-[#1a1a1a] appearance-none cursor-pointer accent-blue-600" />
-50px @@ -486,8 +486,8 @@ export default function BoxShadowGeneratorPage() {
{/* Controls Column 2: Color, Opacity & Box Appearance */} -
-

+
+

-