mirror of
https://github.com/0xShay/halflink.git
synced 2026-01-11 13:13:25 +00:00
Redirect to home on link deletion
This commit is contained in:
@@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
import { deleteLink, getLinkInfo } from "@/app/utils/api";
|
import { deleteLink, getLinkInfo } from "@/app/utils/api";
|
||||||
import { Clipboard } from "lucide-react";
|
import { Clipboard } from "lucide-react";
|
||||||
import { redirect, useParams } from "next/navigation";
|
import { useRouter, useParams } from "next/navigation";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
const params = useParams();
|
const params = useParams();
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
||||||
const [successMessage, setSuccessMessage] = 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 [manageUrl, setManageUrl] = useState<string | null>(null);
|
||||||
|
|
||||||
const [linkInfo, setLinkInfo] = useState<{
|
const [linkInfo, setLinkInfo] = useState<{
|
||||||
|
longUrl: string;
|
||||||
shortUrl: string;
|
shortUrl: string;
|
||||||
manageUrl: string;
|
manageUrl: string;
|
||||||
title: string;
|
title: string;
|
||||||
@@ -28,12 +30,11 @@ export default function Home() {
|
|||||||
setLoading(true);
|
setLoading(true);
|
||||||
try {
|
try {
|
||||||
await deleteLink(params.id?.toString() || "");
|
await deleteLink(params.id?.toString() || "");
|
||||||
redirect("/");
|
router.push("/");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
setErrorMessage("Failed to delete the link. Please try again.");
|
setErrorMessage("Failed to delete the link. Please try again.");
|
||||||
setSuccessMessage(null);
|
setSuccessMessage(null);
|
||||||
} finally {
|
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,6 +90,9 @@ export default function Home() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</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="mt-4">Created at:</p>
|
||||||
<p className="font-mono text-sm text-gray-700">{new Date(linkInfo.createdAt).toLocaleString()}</p>
|
<p className="font-mono text-sm text-gray-700">{new Date(linkInfo.createdAt).toLocaleString()}</p>
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export async function shortenLink(longUrl: string): Promise<{
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getLinkInfo(id: string): Promise<{
|
export async function getLinkInfo(id: string): Promise<{
|
||||||
|
longUrl: string;
|
||||||
shortUrl: string;
|
shortUrl: string;
|
||||||
manageUrl: string;
|
manageUrl: string;
|
||||||
title: string;
|
title: string;
|
||||||
@@ -47,6 +48,7 @@ export async function getLinkInfo(id: string): Promise<{
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
title: sl.title,
|
title: sl.title,
|
||||||
|
longUrl: sl.url,
|
||||||
shortUrl: API_BASE_URL + "/l/" + sl.code,
|
shortUrl: API_BASE_URL + "/l/" + sl.code,
|
||||||
manageUrl: FRONTEND_BASE_URL + "/manage/" + sl.id,
|
manageUrl: FRONTEND_BASE_URL + "/manage/" + sl.id,
|
||||||
createdAt: sl.createdAt,
|
createdAt: sl.createdAt,
|
||||||
|
|||||||
Reference in New Issue
Block a user