Commit ae5dad8e by Arjun Jhukal

updated the new way to updated device id in header

parent e75ab156
......@@ -4,8 +4,8 @@ import React from 'react'
export default function Login() {
return (
<SeonProvider>
// <SeonProvider>
<LoginPage />
</SeonProvider>
// </SeonProvider>
)
}
"use client";
import { setGlobalDeviceId } from "@/services/baseQuery";
import React, { createContext, useContext, useEffect, useState } from "react";
type SeonContextType = {
......@@ -40,6 +41,7 @@ export const SeonProvider: React.FC<{ children: React.ReactNode }> = ({ children
const session = await seon.getSession();
// console.log("Device fingerprint session:", session);
setDeviceId(session);
setGlobalDeviceId(session);
} catch (err) {
console.error("SEON init error:", err);
} finally {
......@@ -58,6 +60,11 @@ export const SeonProvider: React.FC<{ children: React.ReactNode }> = ({ children
};
}, []);
useEffect(() => {
if (deviceId) {
setGlobalDeviceId(deviceId);
}
}, [deviceId]);
return (
<SeonContext.Provider value={{ deviceId, loading }}>
{children}
......
......@@ -51,14 +51,14 @@ export default function RootLayout({
<html lang="en">
{/* className="dark" */}
<body className={`${inter.className} scroll-smooth`} cz-shortcut-listen="true">
{/* <SeonProvider> */}
<SeonProvider>
<ProviderWrapper>
<React.Suspense fallback={<div />}>
<TopLoader />
</React.Suspense>
{children}
</ProviderWrapper>
{/* </SeonProvider> */}
</SeonProvider>
</body>
</html>
);
......
......@@ -2,12 +2,16 @@
import { RootState } from "@/hooks/store";
import { fetchBaseQuery } from "@reduxjs/toolkit/query/react";
let globalDeviceId: string | undefined = undefined;
export const setGlobalDeviceId = (id?: string) => {
globalDeviceId = id;
};
export const baseQuery = fetchBaseQuery({
// Use your Next.js frontend URL + proxy path
// Example: https://sweepstake.webjuwa.com/api/backend OR localhost:3000/api/backend
baseUrl:
(process.env.NEXT_PUBLIC_FRONTEND_URL || "") + "/api/backend",
credentials: "include",
prepareHeaders: (headers, { getState }) => {
const token = (getState() as RootState).auth.access_token;
......@@ -15,6 +19,10 @@ export const baseQuery = fetchBaseQuery({
headers.set("Accept", "application/json");
// headers.set("Content-Type", "application/json");
console.log("deviceId",globalDeviceId)
if (globalDeviceId) {
headers.set("device_id", globalDeviceId);
}
if (token) {
headers.set("Authorization", `Bearer ${token}`);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment