🧑💻 create button delay helper
This commit is contained in:
7
app/(clear)/layout.tsx
Normal file
7
app/(clear)/layout.tsx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import React from "react";
|
||||||
|
|
||||||
|
const clearLayout = ({ children }: Readonly<{ children: React.ReactNode }>) => {
|
||||||
|
return <div>{children}</div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default clearLayout;
|
||||||
7
app/(clear)/login/page.tsx
Normal file
7
app/(clear)/login/page.tsx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import React from "react";
|
||||||
|
|
||||||
|
const page = () => {
|
||||||
|
return <div>page</div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default page;
|
||||||
7
app/(clear)/signup/page.tsx
Normal file
7
app/(clear)/signup/page.tsx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import React from "react";
|
||||||
|
|
||||||
|
const page = () => {
|
||||||
|
return <div>Sign Up</div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default page;
|
||||||
11
shared/lib/delayButtonClick.ts
Normal file
11
shared/lib/delayButtonClick.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
|
export const delayButtonClick = (
|
||||||
|
router: ReturnType<typeof useRouter>,
|
||||||
|
href: string,
|
||||||
|
timeout: number = 300
|
||||||
|
) => {
|
||||||
|
setTimeout(() => {
|
||||||
|
router.push(href);
|
||||||
|
}, timeout);
|
||||||
|
};
|
||||||
@ -1,6 +1,5 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import V from "next/link";
|
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Link,
|
Link,
|
||||||
@ -12,8 +11,9 @@ import {
|
|||||||
NavbarMenuItem,
|
NavbarMenuItem,
|
||||||
NavbarMenuToggle,
|
NavbarMenuToggle,
|
||||||
} from "@heroui/react";
|
} from "@heroui/react";
|
||||||
import { usePathname } from "next/navigation";
|
import { usePathname, useRouter } from "next/navigation";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
|
import { delayButtonClick } from "../lib/delayButtonClick";
|
||||||
|
|
||||||
export const AcmeLogo = () => {
|
export const AcmeLogo = () => {
|
||||||
return (
|
return (
|
||||||
@ -29,7 +29,9 @@ export const AcmeLogo = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const NavbarUI = () => {
|
const NavbarUI = () => {
|
||||||
|
const router = useRouter();
|
||||||
const pathNameNow = usePathname();
|
const pathNameNow = usePathname();
|
||||||
|
|
||||||
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
||||||
|
|
||||||
const navbarItems = [
|
const navbarItems = [
|
||||||
@ -86,17 +88,16 @@ const NavbarUI = () => {
|
|||||||
</NavbarContent>
|
</NavbarContent>
|
||||||
<NavbarContent justify="end">
|
<NavbarContent justify="end">
|
||||||
<NavbarItem className="hidden lg:flex">
|
<NavbarItem className="hidden lg:flex">
|
||||||
<Link href="#" className="font-medium">
|
<Link href="/login" className="font-medium">
|
||||||
Login
|
Login
|
||||||
</Link>
|
</Link>
|
||||||
</NavbarItem>
|
</NavbarItem>
|
||||||
<NavbarItem>
|
<NavbarItem>
|
||||||
<Button
|
<Button
|
||||||
as={Link}
|
|
||||||
color="primary"
|
color="primary"
|
||||||
href="#"
|
|
||||||
variant="solid"
|
variant="solid"
|
||||||
radius="sm"
|
radius="sm"
|
||||||
|
onPress={() => delayButtonClick(router, "/signup")}
|
||||||
>
|
>
|
||||||
Sign Up
|
Sign Up
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user