Redirect to home on link deletion

This commit is contained in:
2025-12-24 14:21:11 +00:00
parent bd1176fbc3
commit 591ec44ef9
2 changed files with 9 additions and 3 deletions

View File

@@ -2,11 +2,12 @@
import { deleteLink, getLinkInfo } from "@/app/utils/api";
import { Clipboard } from "lucide-react";
import { redirect, useParams } from "next/navigation";
import { useRouter, useParams } from "next/navigation";
import { useEffect, useState } from "react";
export default function Home() {
const params = useParams();
const router = useRouter();
const [errorMessage, setErrorMessage] = useState<string | null>(null);
const [successMessage, setSuccessMessage] = useState<string | null>(null);
@@ -16,6 +17,7 @@ export default function Home() {
const [manageUrl, setManageUrl] = useState<string | null>(null);
const [linkInfo, setLinkInfo] = useState<{
longUrl: string;
shortUrl: string;
manageUrl: string;
title: string;
@@ -28,12 +30,11 @@ export default function Home() {
setLoading(true);
try {
await deleteLink(params.id?.toString() || "");
redirect("/");
router.push("/");
} catch (err) {
console.error(err);
setErrorMessage("Failed to delete the link. Please try again.");
setSuccessMessage(null);
} finally {
setLoading(false);
}
}
@@ -89,6 +90,9 @@ export default function Home() {
</button>
</div>
<p className="mt-4">Redirects to:</p>
<p className="font-mono text-sm text-gray-700">{linkInfo.longUrl}</p>
<p className="mt-4">Created at:</p>
<p className="font-mono text-sm text-gray-700">{new Date(linkInfo.createdAt).toLocaleString()}</p>

View File

@@ -28,6 +28,7 @@ export async function shortenLink(longUrl: string): Promise<{
}
export async function getLinkInfo(id: string): Promise<{
longUrl: string;
shortUrl: string;
manageUrl: string;
title: string;
@@ -47,6 +48,7 @@ export async function getLinkInfo(id: string): Promise<{
return {
title: sl.title,
longUrl: sl.url,
shortUrl: API_BASE_URL + "/l/" + sl.code,
manageUrl: FRONTEND_BASE_URL + "/manage/" + sl.id,
createdAt: sl.createdAt,