From 1dde06811ebc0d95c985164102a13e2a4f0258a0 Mon Sep 17 00:00:00 2001 From: Satyam <95536056+Satyam-Rastogi@users.noreply.github.com> Date: Fri, 13 Feb 2026 14:30:09 +0530 Subject: [PATCH] chore: UI refinements and metadata updates --- src/index.css | 46 ++++++++++++++++++++++++++++++----- src/pages/CustomerProfile.jsx | 2 +- src/pages/Dashboard.jsx | 1 + src/pages/Landing.jsx | 2 ++ 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/src/index.css b/src/index.css index 11a1e53..f508ae7 100644 --- a/src/index.css +++ b/src/index.css @@ -8,12 +8,12 @@ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); animation-fill-mode: forwards; } - + .fade-in { opacity: 0; animation-name: fadeIn; } - + .slide-in-from-bottom-4 { transform: translateY(1rem); animation-name: slideInBottom; @@ -21,13 +21,25 @@ } @keyframes fadeIn { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + + to { + opacity: 1; + } } @keyframes slideInBottom { - from { transform: translateY(1rem); opacity: 0; } - to { transform: translateY(0); opacity: 1; } + from { + transform: translateY(1rem); + opacity: 0; + } + + to { + transform: translateY(0); + opacity: 1; + } } :root { @@ -66,6 +78,28 @@ body, scrollbar-width: none; /* Firefox */ } + + /* Type 1: Invisible but copyable */ + .attribution-ghost { + font-size: 0; + line-height: 0; + color: transparent; + display: inline-block; + user-select: text; + } + + /* Type 2: Hidden until selected (General) */ + .attribution-reveal { + color: transparent; + /* Better than matching color if we want true invisibility */ + user-select: text; + } + + .attribution-reveal::selection { + background: #3b82f6; + /* Modern Blue */ + color: white; + } } /* Global Hidden Scrollbar (User Requested) */ diff --git a/src/pages/CustomerProfile.jsx b/src/pages/CustomerProfile.jsx index 702e740..64a6db2 100644 --- a/src/pages/CustomerProfile.jsx +++ b/src/pages/CustomerProfile.jsx @@ -291,8 +291,8 @@ const CustomerProfile = () => { )} - + Made by Satyam Rastogi | LynkedUpPro - Turns out roofing CRMs don't build themselves. Who knew? ); }; diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx index bc4a978..51b11e6 100644 --- a/src/pages/Dashboard.jsx +++ b/src/pages/Dashboard.jsx @@ -312,6 +312,7 @@ const Dashboard = () => { + Made by Satyam Rastogi | LynkedUpPro - Turns out roofing CRMs don't build themselves. Who knew? ); }; diff --git a/src/pages/Landing.jsx b/src/pages/Landing.jsx index 9a884e2..acbc4d1 100644 --- a/src/pages/Landing.jsx +++ b/src/pages/Landing.jsx @@ -262,6 +262,7 @@ const Landing = () => {
+ Made by Satyam Rastogi | LynkedUpPro - Turns out roofing CRMs don't build themselves. Who knew? @@ -520,6 +521,7 @@ const Landing = () => {
Satyam Rastogi made this. Blame him for the bugs, praise him for the features. + Satyam Rastogi | LynkedUpPro - You're reading the fine print? You'd be great at roofing contracts.