Fixed glitch with back button
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m33s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m33s
This commit is contained in:
parent
f1ff991010
commit
e6f99ba87b
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.env
|
||||||
|
buikd-push.sh
|
@ -12,10 +12,10 @@ fi
|
|||||||
echo "$GITEA_PAT" | docker login $GITEA_SERVER -u $GITEA_USER --password-stdin
|
echo "$GITEA_PAT" | docker login $GITEA_SERVER -u $GITEA_USER --password-stdin
|
||||||
|
|
||||||
# Build and tag the Docker image
|
# Build and tag the Docker image
|
||||||
docker build -t $GITEA_SERVER/$GITEA_USER/$GITEA_REPO:$IMAGE_TAG .
|
docker build --output=type=docker -t $GITEA_SERVER/$GITEA_USER/$GITEA_REPO:$IMAGE_TAG .
|
||||||
|
|
||||||
# Push the image
|
# Push the image
|
||||||
DOCKER_CLI_EXPERIMENTAL=enabled docker --log-level debug push $GITEA_SERVER/$GITEA_USER/$GITEA_REPO:$IMAGE_TAG
|
docker --log-level debug push $GITEA_SERVER/$GITEA_USER/$GITEA_REPO:$IMAGE_TAG
|
||||||
|
|
||||||
# Logout to prevent credential storage
|
# Logout to prevent credential storage
|
||||||
docker logout $GITEA_SERVER
|
docker logout $GITEA_SERVER
|
||||||
|
@ -54,7 +54,7 @@ export default async function BlogPage() {
|
|||||||
<div>
|
<div>
|
||||||
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
||||||
<div className="absolute left-0 flex items-center h-full ml-6">
|
<div className="absolute left-0 flex items-center h-full ml-6">
|
||||||
<BackButton />
|
<BackButton defaultPath="/" />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xl">Posts</span>
|
<span className="text-xl">Posts</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,7 +18,7 @@ export default function ExamplePost() {
|
|||||||
<PageTransition>
|
<PageTransition>
|
||||||
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
||||||
<div className="absolute left-0 flex items-center h-full ml-6">
|
<div className="absolute left-0 flex items-center h-full ml-6">
|
||||||
<BackButton />
|
<BackButton defaultPath="/blog" />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xl">{title}</span>
|
<span className="text-xl">{title}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,7 +47,7 @@ export default function ExamplePost() {
|
|||||||
<div className='pb-[20px]'>
|
<div className='pb-[20px]'>
|
||||||
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
||||||
<div className="absolute left-0 flex items-center h-full ml-6">
|
<div className="absolute left-0 flex items-center h-full ml-6">
|
||||||
<BackButton />
|
<BackButton defaultPath="/blog" />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xl">{title}</span>
|
<span className="text-xl">{title}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -48,7 +48,7 @@ export default function ExamplePost() {
|
|||||||
<div className='pb-[20px]'>
|
<div className='pb-[20px]'>
|
||||||
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
<div style={{paddingTop: "50px"}} className="relative flex justify-center items-center h-[50px]">
|
||||||
<div className="absolute left-0 flex items-center h-full ml-6">
|
<div className="absolute left-0 flex items-center h-full ml-6">
|
||||||
<BackButton />
|
<BackButton defaultPath="/blog" />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-sm sm:text-base md:text-xl lg:text-2xl truncate max-w-[80%]">{title}</span>
|
<span className="text-sm sm:text-base md:text-xl lg:text-2xl truncate max-w-[80%]">{title}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -42,7 +42,7 @@ export default function ContactPage() {
|
|||||||
<div>
|
<div>
|
||||||
<div style={{ paddingTop: "50px" }} className="relative flex justify-center items-center h-[50px]">
|
<div style={{ paddingTop: "50px" }} className="relative flex justify-center items-center h-[50px]">
|
||||||
<div className="absolute left-0 flex items-center h-full ml-6">
|
<div className="absolute left-0 flex items-center h-full ml-6">
|
||||||
<BackButton />
|
<BackButton defaultPath="/" />
|
||||||
</div>
|
</div>
|
||||||
<span className="text-xl">Get in touch</span>
|
<span className="text-xl">Get in touch</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,12 +2,38 @@
|
|||||||
|
|
||||||
import { IoMdArrowBack } from "react-icons/io";
|
import { IoMdArrowBack } from "react-icons/io";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
export default function BackButton() {
|
interface BackButtonProps {
|
||||||
|
defaultPath?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BackButton({ defaultPath = "/" }: BackButtonProps) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const [shouldUseDefault, setShouldUseDefault] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Check if we should use default path
|
||||||
|
const hasNoValidHistory = window.history.length <= 1;
|
||||||
|
const hasNoReferrer = !document.referrer || document.referrer === '';
|
||||||
|
const referrerIsExternal = document.referrer && !document.referrer.includes(window.location.hostname);
|
||||||
|
const referrerIsEmpty = document.referrer === 'about:blank' || document.referrer.startsWith('data:');
|
||||||
|
|
||||||
|
setShouldUseDefault(hasNoValidHistory || hasNoReferrer || referrerIsExternal || referrerIsEmpty);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
|
if (shouldUseDefault) {
|
||||||
|
router.push(defaultPath);
|
||||||
|
} else {
|
||||||
|
// Try to go back, but fallback to default if it fails
|
||||||
|
try {
|
||||||
router.back();
|
router.back();
|
||||||
|
} catch (error: unknown) {
|
||||||
|
console.error("Error going back:", error);
|
||||||
|
router.push(defaultPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user