Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/app/changelog/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,21 @@ export default function ChangelogEntryPage({
{entry.deprecatedReason ||
"This release is no longer supported. Superseded by the newer database architecture introduced in later releases. Please use a current release instead."}
</p>
<div className="mt-3.5 flex flex-wrap items-center gap-3">
<div className="mt-3.5 flex flex-wrap items-center gap-4">
<Link
href="/downloads"
className="inline-flex items-center gap-1 text-xs font-semibold text-red-700 dark:text-red-300 underline hover:no-underline"
>
<span>View current production downloads</span>
<ArrowRight className="h-3 w-3" aria-hidden="true" />
</Link>
<Link
href="/upgrade"
className="inline-flex items-center gap-1 text-xs font-semibold text-red-700 dark:text-red-300 underline hover:no-underline"
>
<span>Upgrade &amp; Migration Guidance</span>
<ArrowRight className="h-3 w-3" aria-hidden="true" />
</Link>
</div>
</div>
)}
Expand Down
21 changes: 21 additions & 0 deletions src/app/upgrade/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { Metadata } from "next";
import { UpgradeContent } from "@/components/upgrade/UpgradeContent";
import { SITE_META } from "@/lib/constants";

export const metadata: Metadata = {
title: "Upgrade & Migration Guide | Passcodes",
description:
"Find the right next step for your Passcodes installation. Step-by-step guidance for first-time installs, version updates, legacy migrations, device changes, and backups.",
openGraph: {
title: "Upgrade & Migration Guide | Passcodes",
description:
"Find the right next step for your Passcodes installation. Guidance for first-time installs, version updates, legacy migrations, device changes, and backups.",
url: `${SITE_META.url}/upgrade/`,
siteName: "Passcodes",
type: "website",
},
};

export default function UpgradePage() {
return <UpgradeContent />;
}
9 changes: 9 additions & 0 deletions src/components/downloads/DownloadCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,15 @@ export function DownloadCard({
newer database architecture introduced in later
releases. Please use a current release instead.
</p>
<div className="mt-2.5">
<Link
href="/upgrade"
className="inline-flex items-center gap-1 font-semibold text-red-700 dark:text-red-300 underline hover:no-underline"
>
<span>Upgrade &amp; Migration Guidance</span>
<ArrowRight className="h-3 w-3" aria-hidden="true" />
</Link>
</div>
</div>
)}

Expand Down
37 changes: 36 additions & 1 deletion src/components/downloads/DownloadsContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -222,14 +222,49 @@ export function DownloadsContent() {
>
Installation &amp; Setup Guide
</Link>
{" "}or visit the{" "}
<Link
href="/upgrade"
className="font-medium text-[var(--accent-light)] underline hover:no-underline"
>
Upgrade &amp; Migration Center
</Link>
.
</p>
</div>
</ScrollReveal>
)
)}

{/* 3. Alternative Distribution */}
{/* 3. Upgrade & Migration Guidance */}
<ScrollReveal delay={80}>
<div className="mb-10 rounded-2xl border border-[var(--border-light)] bg-[var(--card-bg)] p-5 sm:p-6 backdrop-blur-md">
<div className="flex flex-col sm:flex-row sm:items-center justify-between gap-4">
<div className="space-y-1">
<div className="flex items-center gap-2">
<span className="editorial-badge border border-[var(--border-light)] bg-[var(--card-bg)] text-[var(--accent-light)]">
Planning an Update?
</span>
</div>
<h2 className="text-base font-semibold text-[var(--text)]">
Upgrade &amp; Migration Center
</h2>
<p className="text-xs sm:text-sm text-[var(--text-muted)] max-w-xl">
Need help deciding how to update safely, switching phones, or upgrading from a deprecated v1.x/v2.x release? Follow our guided decision flow before installing.
</p>
</div>
<Link
href="/upgrade"
className="btn btn-outline btn-small shrink-0 inline-flex items-center gap-1.5 self-start sm:self-center"
>
<span>Get Guidance</span>
<ArrowRight className="h-3.5 w-3.5" aria-hidden="true" />
</Link>
</div>
</div>
</ScrollReveal>

{/* 4. Alternative Distribution */}
<ScrollReveal delay={100}>
<KomiSection />
</ScrollReveal>
Expand Down
9 changes: 9 additions & 0 deletions src/components/downloads/ReleaseList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,15 @@ export function ReleaseList({
architecture introduced in later releases.
Please use a current release instead.
</p>
<div className="mt-2">
<Link
href="/upgrade"
className="inline-flex items-center gap-1 font-semibold text-red-700 dark:text-red-300 underline hover:no-underline"
>
<span>Upgrade &amp; Migration Guidance</span>
<ArrowRight className="h-3 w-3" aria-hidden="true" />
</Link>
</div>
</div>
)}

Expand Down
8 changes: 8 additions & 0 deletions src/components/layout/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,14 @@ export function Footer() {
Changelog
</Link>
</li>
<li>
<Link
href="/upgrade"
className="text-[var(--footer-muted)] transition-colors hover:text-[var(--text)]"
>
Upgrade &amp; Migration
</Link>
</li>
<li>
<Link
href={USER_GUIDE_URL}
Expand Down
Loading
Loading