bugfix - fixed modal
This commit is contained in:
parent
de9ab44cdf
commit
9f4a4749ab
|
@ -17,13 +17,16 @@ interface HeaderProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Header({ isUserLoggedIn }: HeaderProps) {
|
export default function Header({ isUserLoggedIn }: HeaderProps) {
|
||||||
|
//Advice: Remove this and replace it with proper state management like Redux, Recoil or Zustand
|
||||||
const [user, setUser] = useState<User | undefined>();
|
const [user, setUser] = useState<User | undefined>();
|
||||||
|
const [statefulUser, setStatefulUser] = useState<User | undefined>();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
(async () => {
|
(async () => {
|
||||||
const user = await getUser();
|
const user = await getUser();
|
||||||
setUser(user as User);
|
setUser(user as User);
|
||||||
})();
|
})();
|
||||||
}, []);
|
}, [statefulUser]);
|
||||||
|
//End Advice
|
||||||
const { theme, setTheme } = useTheme();
|
const { theme, setTheme } = useTheme();
|
||||||
return (
|
return (
|
||||||
<header className="absolute w-full z-30">
|
<header className="absolute w-full z-30">
|
||||||
|
@ -98,6 +101,8 @@ export default function Header({ isUserLoggedIn }: HeaderProps) {
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
localStorage.getItem("price") &&
|
||||||
|
localStorage.removeItem("price");
|
||||||
document.getElementById("sign-up-modal")?.click();
|
document.getElementById("sign-up-modal")?.click();
|
||||||
}}
|
}}
|
||||||
className={`btn btn-primary btn-sm text-primary-content`}
|
className={`btn btn-primary btn-sm text-primary-content`}
|
||||||
|
@ -143,7 +148,7 @@ export default function Header({ isUserLoggedIn }: HeaderProps) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ModalSignIn />
|
<ModalSignIn />
|
||||||
<ModalSignUp />
|
<ModalSignUp setUser={setStatefulUser} />
|
||||||
</header>
|
</header>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import React from "react";
|
import React, { Dispatch, SetStateAction } from "react";
|
||||||
import Icon from "@/components/Icon/Icon";
|
import Icon from "@/components/Icon/Icon";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { yupResolver } from "@hookform/resolvers/yup";
|
import { yupResolver } from "@hookform/resolvers/yup";
|
||||||
|
@ -9,10 +9,14 @@ import { companySizeList } from "@/constants";
|
||||||
import pb from "@/lib/pocketbase";
|
import pb from "@/lib/pocketbase";
|
||||||
import { createCheckoutSession, login } from "@/app/(auth)/actions";
|
import { createCheckoutSession, login } from "@/app/(auth)/actions";
|
||||||
import { toast } from "react-toastify";
|
import { toast } from "react-toastify";
|
||||||
import { Price } from "@/types";
|
import { Price, User } from "@/types";
|
||||||
import { useRouter } from "next/navigation";
|
import { useRouter } from "next/navigation";
|
||||||
|
|
||||||
function ModalSignUp() {
|
function ModalSignUp({
|
||||||
|
setUser,
|
||||||
|
}: {
|
||||||
|
setUser: Dispatch<SetStateAction<User | undefined>>;
|
||||||
|
}) {
|
||||||
const {
|
const {
|
||||||
register,
|
register,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
|
@ -60,7 +64,7 @@ function ModalSignUp() {
|
||||||
organisationSize: data.organisationSize,
|
organisationSize: data.organisationSize,
|
||||||
});
|
});
|
||||||
//create user
|
//create user
|
||||||
await pb
|
const user = await pb
|
||||||
.collection("user")
|
.collection("user")
|
||||||
.create({ ...data, organisation: organisation.id });
|
.create({ ...data, organisation: organisation.id });
|
||||||
//login user
|
//login user
|
||||||
|
@ -71,6 +75,7 @@ function ModalSignUp() {
|
||||||
document.getElementById("sign-up-modal")?.click();
|
document.getElementById("sign-up-modal")?.click();
|
||||||
const price = localStorage.getItem("price");
|
const price = localStorage.getItem("price");
|
||||||
const type = localStorage.getItem("type");
|
const type = localStorage.getItem("type");
|
||||||
|
setUser(user as User);
|
||||||
console.log("price", price);
|
console.log("price", price);
|
||||||
console.log("type", type);
|
console.log("type", type);
|
||||||
price && generateCheckoutPage(JSON.parse(price), type ?? "");
|
price && generateCheckoutPage(JSON.parse(price), type ?? "");
|
||||||
|
|
|
@ -17,7 +17,7 @@ export default function PriceCard({
|
||||||
}) {
|
}) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const openSignUpModalOnPriceClick = (price: Price, type: string) => {
|
const openSignUpModalOnPriceClick = (price: Price, type: string) => {
|
||||||
const signUpModal = document.getElementById("sign-up-modal-button");
|
const signUpModal = document.getElementById("sign-up-modal");
|
||||||
if (!signUpModal) return;
|
if (!signUpModal) return;
|
||||||
signUpModal.click();
|
signUpModal.click();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue