Graphical PDS migrator for AT Protocol

some ui stuff

Changed files
+24 -11
islands
routes
+16 -3
islands/AirportSign.tsx
···
</div>
{/* Display Board Text */}
-
<div className="relative flex justify-center items-center py-2 pb-4 px-4">
<div className="relative text-center">
-
<span className="font-mono text-[3em] font-semibold tracking-[0.12em] leading-[0.9] text-white
[text-shadow:0_0_20px_rgba(255,255,255,0.2),0_0_40px_rgba(255,255,255,0.1)]
relative z-10">
ATP INTERNECTIONAL AIRPORT
</span>
{/* Text glow effect */}
<div className="absolute inset-0 blur-[2px] opacity-50">
-
<span className="font-mono text-[3em] font-semibold tracking-[0.12em] leading-[0.9] text-white">
ATP INTERNECTIONAL AIRPORT
</span>
</div>
···
</div>
{/* Vignette effect */}
<div className="absolute inset-0 bg-[radial-gradient(circle_at_center,_transparent_0%,_rgba(0,0,0,0.2)_100%)]">
</div>
</div>
</div>
···
</div>
{/* Display Board Text */}
+
<div className="relative flex justify-center items-center py-1 sm:py-2 pb-2 sm:pb-4 px-2 sm:px-4">
<div className="relative text-center">
+
<span className="font-mono text-[2em] sm:text-[3em] font-semibold tracking-[0.12em] leading-[0.9] text-white
[text-shadow:0_0_20px_rgba(255,255,255,0.2),0_0_40px_rgba(255,255,255,0.1)]
relative z-10">
ATP INTERNECTIONAL AIRPORT
</span>
{/* Text glow effect */}
<div className="absolute inset-0 blur-[2px] opacity-50">
+
<span className="font-mono text-[2em] sm:text-[3em] font-semibold tracking-[0.12em] leading-[0.9] text-white">
ATP INTERNECTIONAL AIRPORT
</span>
</div>
···
</div>
{/* Vignette effect */}
<div className="absolute inset-0 bg-[radial-gradient(circle_at_center,_transparent_0%,_rgba(0,0,0,0.2)_100%)]">
+
</div>
+
</div>
+
</div>
+
</div>
+
+
{/* Under Construction Extension BELOW the sign, perfectly matching main sign frame, no outline or padding on top */}
+
<div className="absolute left-1/2 top-full -translate-x-1/2">
+
<div className="bg-gradient-to-b from-slate-800 to-slate-900 pb-1 px-1 rounded-b-lg rounded-t-none shadow-[0_2px_10px_rgba(0,0,0,0.3)] border-t-0">
+
<div className="bg-gradient-to-b from-slate-600 via-slate-700 to-slate-800 pb-2 px-2 rounded-b-[6px] rounded-t-none border-t-0">
+
<div className="bg-black px-4 pt-0 pb-0.5 rounded-b-[4px] rounded-t-none border-t-0">
+
<span className="font-mono text-sm font-medium tracking-wider text-yellow-400 [text-shadow:0_0_10px_rgba(255,255,0,0.3)] animate-pulse">
+
UNDER CONSTRUCTION
+
</span>
</div>
</div>
</div>
+4 -4
islands/Header.tsx
···
{/* Home Link */}
<a
href="/"
-
className="airport-sign bg-gradient-to-r from-blue-500 to-blue-600 text-white flex items-center px-6 py-3 hover:translate-y-1 transition-all duration-200 hover:from-blue-600 hover:to-blue-700"
>
<img
src="/icons/plane_bold.svg"
···
<div className="relative group">
<a
href="/migrate"
-
className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-6 py-3 hover:translate-y-1 transition-all duration-200 hover:from-amber-500 hover:to-amber-600"
>
<img
src="/icons/plane-departure_bold.svg"
···
{user?.did
? (
<div className="relative group">
-
<div className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-6 py-3 hover:translate-y-1 transition-all duration-200 hover:from-amber-500 hover:to-amber-600 cursor-pointer">
<img
src="/icons/ticket_bold.svg"
alt="Check-in"
···
: (
<a
href="/login"
-
className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-6 py-3 hover:translate-y-1 transition-all duration-200 hover:from-amber-500 hover:to-amber-600"
>
<img
src="/icons/ticket_bold.svg"
···
{/* Home Link */}
<a
href="/"
+
className="airport-sign bg-gradient-to-r from-blue-500 to-blue-600 text-white flex items-center px-3 sm:px-6 py-2 sm:py-3 transform translate-y-0 transition-transform duration-200 ease-in-out hover:translate-y-1 hover:from-blue-600 hover:to-blue-700"
>
<img
src="/icons/plane_bold.svg"
···
<div className="relative group">
<a
href="/migrate"
+
className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-3 sm:px-6 py-2 sm:py-3 transform translate-y-0 transition-transform duration-200 ease-in-out hover:translate-y-1 hover:from-amber-500 hover:to-amber-600"
>
<img
src="/icons/plane-departure_bold.svg"
···
{user?.did
? (
<div className="relative group">
+
<div className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-3 sm:px-6 py-2 sm:py-3 transform translate-y-0 transition-transform duration-200 ease-in-out hover:translate-y-1 hover:from-amber-500 hover:to-amber-600 cursor-pointer">
<img
src="/icons/ticket_bold.svg"
alt="Check-in"
···
: (
<a
href="/login"
+
className="airport-sign bg-gradient-to-r from-amber-400 to-amber-500 text-slate-900 flex items-center px-3 sm:px-6 py-2 sm:py-3 transform translate-y-0 transition-transform duration-200 ease-in-out hover:translate-y-1 hover:from-amber-500 hover:to-amber-600"
>
<img
src="/icons/ticket_bold.svg"
+4 -4
routes/index.tsx
···
export default function Home() {
return (
<>
-
<div class="px-4 py-8 mx-auto">
<div class="max-w-screen-lg mx-auto flex flex-col items-center justify-center">
<AirportSign />
<div class="prose dark:prose-invert max-w-none w-full mb-0">
-
<p class="font-mono text-xl font-bold mb-6 mt-0 text-center text-gray-600 dark:text-gray-300">
Your terminal for seamless AT Protocol PDS migration and backup.
</p>
<Ticket />
-
<div class="mt-8 text-center">
<a
href="/login"
-
class="inline-flex items-center px-6 py-3 border border-transparent text-lg font-mono rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
>
Begin Your Journey
</a>
···
export default function Home() {
return (
<>
+
<div class="px-2 sm:px-4 py-4 sm:py-8 mx-auto">
<div class="max-w-screen-lg mx-auto flex flex-col items-center justify-center">
<AirportSign />
<div class="prose dark:prose-invert max-w-none w-full mb-0">
+
<p class="font-mono text-lg sm:text-xl font-bold mb-4 sm:mb-6 mt-0 text-center text-gray-600 dark:text-gray-300">
Your terminal for seamless AT Protocol PDS migration and backup.
</p>
<Ticket />
+
<div class="mt-6 sm:mt-8 text-center">
<a
href="/login"
+
class="inline-flex items-center px-4 sm:px-6 py-2 sm:py-3 border border-transparent text-base sm:text-lg font-mono rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
>
Begin Your Journey
</a>