Graphical PDS migrator for AT Protocol

no key display

Changed files
+19 -14
islands
routes
static
icons
+3 -12
islands/MigrationProgress.tsx
···
export default function MigrationProgress(props: MigrationProgressProps) {
const [token, setToken] = useState("");
-
const [recoveryKey, setRecoveryKey] = useState("");
+
const [steps, setSteps] = useState<MigrationStep[]>([
{ name: "Create Account", status: "pending" },
{ name: "Migrate Data", status: "pending" },
···
throw new Error("Invalid response from server");
}
-
setRecoveryKey(data.recoveryKey);
+
updateStepStatus(2, "verifying");
const verified = await verifyStep(2);
if (!verified) {
···
))}
</div>
-
{recoveryKey && (
-
<div class="p-4 bg-yellow-50 dark:bg-yellow-900 rounded-lg border-2 border-yellow-200 dark:border-yellow-800">
-
<p class="text-sm font-medium text-yellow-800 dark:text-yellow-200">
-
Important: Save your recovery key
-
</p>
-
<p class="mt-1 text-sm text-yellow-700 dark:text-yellow-300 break-all font-mono">
-
{recoveryKey}
-
</p>
-
</div>
-
)}
+
{steps[3].status === "completed" && (
<div class="p-4 bg-green-50 dark:bg-green-900 rounded-lg border-2 border-green-200 dark:border-green-800">
+1 -1
islands/MigrationSetup.tsx
···
<div class="text-center mb-4 mt-6">
<h3 class="text-2xl font-bold text-red-600 mb-2 tracking-wide">Final Boarding Call</h3>
<p class="text-gray-700 dark:text-gray-300 mb-2 text-base">
-
<span class="font-semibold text-red-500">Warning:</span> This migration process can be <strong>irreversible</strong>.<br />Once completed, you may not be able to return to your previous account state.
+
<span class="font-semibold text-red-500">Warning:</span> This migration process can be <strong>irreversible</strong>.<br />Airport is in <strong>alpha</strong> currently, and we don't recommend it for main accounts.
</p>
<p class="text-gray-700 dark:text-gray-300 mb-4 text-base">
Please type <span class="font-mono font-bold text-blue-600">MIGRATE</span> below to confirm and proceed.
+6 -1
routes/index.tsx
···
<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>
+
<p class="font-mono mb-4 sm:mb-6 mt-0 text-center text-gray-600 dark:text-gray-300">
+
Airport is in <strong>alpha</strong> currently, and we don't recommend it for main accounts. <br/> Please use its migration tools at your own risk.
+
</p>
<Ticket />
···
label="BEGIN YOUR JOURNEY"
/>
</div>
-
+
<p class="font-mono text-lg sm:text-xl mb-4 mt-4 sm:mb-6 mt-0 text-center text-gray-600 dark:text-gray-300">
+
Airport is made with love by <a class="text-blue-500 hover:underline" href="https://bsky.social/profile/knotbin.com">Roscoe</a> in collaboration with <a class="text-blue-500 hover:underline" href="https://sprk.so">Spark</a>.
+
</p>
<SocialLinks />
</div>
</div>
+9
static/icons/bluesky.svg
···
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-20 -20 296 266" fill="none">
+
<path
+
d="M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"
+
stroke="currentColor"
+
stroke-width="25"
+
fill="none"
+
stroke-linejoin="round"
+
/>
+
</svg>