core: update many files
This commit is contained in:
parent
fe29382158
commit
d4a2acba6e
2
.gitignore
vendored
2
.gitignore
vendored
@ -31,7 +31,7 @@ yarn-error.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# env files (can opt-in for committing if needed)
|
||||
.env*
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
15
components/base/global.js
Normal file
15
components/base/global.js
Normal file
@ -0,0 +1,15 @@
|
||||
import { Global } from "@emotion/react";
|
||||
|
||||
export const Fonts = () => (
|
||||
<Global
|
||||
styles={`
|
||||
@font-face {
|
||||
font-family: Estedad;
|
||||
src: url('/fonts/estedad.woff2') format('woff2');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
`}
|
||||
/>
|
||||
);
|
||||
36
contexts/KeycloakContext.js
Normal file
36
contexts/KeycloakContext.js
Normal file
@ -0,0 +1,36 @@
|
||||
import keycloak from "@/lib/keycloak";
|
||||
import { createContext, useContext, useEffect, useState } from "react";
|
||||
|
||||
const KeycloakContext = createContext();
|
||||
|
||||
let keycloakInitialized = false;
|
||||
|
||||
export const KeycloakProvider = ({ children }) => {
|
||||
const [initialized, setInitialized] = useState(false);
|
||||
const [authenticated, setAuthenticated] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (!keycloakInitialized) {
|
||||
keycloakInitialized = true;
|
||||
keycloak
|
||||
.init({
|
||||
onLoad: "login-required",
|
||||
checkLoginIframe: false,
|
||||
flow: "implicit",
|
||||
})
|
||||
.then((auth) => {
|
||||
setAuthenticated(auth);
|
||||
setInitialized(true);
|
||||
})
|
||||
.catch((err) => {});
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<KeycloakContext.Provider value={{ keycloak, authenticated, initialized }}>
|
||||
{children}
|
||||
</KeycloakContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export const useKeycloak = () => useContext(KeycloakContext);
|
||||
54
lib/api.js
Normal file
54
lib/api.js
Normal file
@ -0,0 +1,54 @@
|
||||
import axios from "axios";
|
||||
import keycloak from "./keycloak";
|
||||
|
||||
export const baseUrl = process.env.NEXT_PUBLIC_BASE_URL;
|
||||
|
||||
const axiosInstance = axios.create({
|
||||
baseURL: baseUrl,
|
||||
});
|
||||
|
||||
axiosInstance.interceptors.request.use(
|
||||
async (config) => {
|
||||
// if (keycloak?.authenticated) {
|
||||
// config.headers.Authorization = `Bearer ${keycloak.token}`;
|
||||
// await keycloak.updateToken(30);
|
||||
// }
|
||||
return config;
|
||||
},
|
||||
(error) => Promise.reject(error),
|
||||
);
|
||||
|
||||
axiosInstance.interceptors.response.use(
|
||||
(response) => response,
|
||||
async (error) => {
|
||||
const originalRequest = error.config;
|
||||
|
||||
// if (error?.response?.status === 401 && !originalRequest._retry) {
|
||||
// originalRequest._retry = true;
|
||||
// keycloak.login();
|
||||
// try {
|
||||
// await keycloak.updateToken(30);
|
||||
// const newToken = keycloak.token;
|
||||
|
||||
// if (newToken) {
|
||||
// originalRequest.headers["Authorization"] = `Bearer ${newToken}`;
|
||||
// return axiosInstance(originalRequest);
|
||||
// }
|
||||
// } catch (refreshError) {
|
||||
// localStorage.removeItem("access_account");
|
||||
// keycloak.logout({ redirectUri: window.location.origin });
|
||||
// }
|
||||
// }
|
||||
|
||||
return Promise.reject(error);
|
||||
},
|
||||
);
|
||||
|
||||
// ✅ Fetcher for GET (used in SWR)
|
||||
export const fetcher = async (url) => {
|
||||
const fullUrl = url.startsWith("http") ? url : `${baseUrl}${url}`;
|
||||
const resp = await axiosInstance.get(fullUrl);
|
||||
return resp.data;
|
||||
};
|
||||
|
||||
export default axiosInstance;
|
||||
16
lib/keycloak.js
Normal file
16
lib/keycloak.js
Normal file
@ -0,0 +1,16 @@
|
||||
import Keycloak from "keycloak-js";
|
||||
|
||||
const keycloak = new Keycloak({
|
||||
url: "https://auth.ibagher.ir",
|
||||
realm: "bi",
|
||||
clientId: "rasad",
|
||||
});
|
||||
|
||||
export const initKeycloak = () =>
|
||||
keycloak.init({
|
||||
onLoad: "login-required",
|
||||
checkLoginIframe: false, // optional
|
||||
flow: "implicit", // You can change this to 'standard' if you use authorization code flow
|
||||
});
|
||||
|
||||
export default keycloak;
|
||||
@ -11,7 +11,9 @@
|
||||
"@chakra-ui/react": "2",
|
||||
"@emotion/react": "^11.14.0",
|
||||
"@emotion/styled": "^11.14.1",
|
||||
"axios": "^1.13.5",
|
||||
"framer-motion": "^12.34.3",
|
||||
"keycloak-js": "^26.2.3",
|
||||
"next": "16.1.6",
|
||||
"next-query-params": "^5.1.0",
|
||||
"react": "19.2.3",
|
||||
|
||||
@ -3,17 +3,30 @@ import { ChakraProvider } from "@chakra-ui/react";
|
||||
import { QueryParamProvider } from "use-query-params";
|
||||
import { NextAdapter } from "next-query-params";
|
||||
import { theme } from "@/components/theme";
|
||||
import { useKeycloak } from "@/contexts/KeycloakContext";
|
||||
import { SWRConfig } from "swr";
|
||||
import { fetcher } from "@/lib/api";
|
||||
import { Fonts } from "@/components/base/global";
|
||||
|
||||
const Adapter = (props) => <NextAdapter {...props} shallow={true} />;
|
||||
|
||||
export default function App({ Component, pageProps }) {
|
||||
const Adapter = (props) => <NextAdapter {...props} shallow={true} />;
|
||||
// const { initialized, authenticated } = useKeycloak();
|
||||
|
||||
// if (!initialized) return <Spinner />;
|
||||
// if (!authenticated) return <div>Redirecting to login...</div>;
|
||||
|
||||
return (
|
||||
<ChakraProvider theme={theme}>
|
||||
<QueryParamProvider adapter={Adapter} options={{ enableBatching: true }}>
|
||||
<QueryParamProvider>
|
||||
<SWRConfig value={{ fetcher }}>
|
||||
<QueryParamProvider
|
||||
adapter={Adapter}
|
||||
options={{ enableBatching: true }}
|
||||
>
|
||||
<Fonts />
|
||||
<Component {...pageProps} />
|
||||
</QueryParamProvider>
|
||||
</QueryParamProvider>
|
||||
</SWRConfig>
|
||||
</ChakraProvider>
|
||||
);
|
||||
}
|
||||
|
||||
@ -3,7 +3,10 @@ import { Html, Head, Main, NextScript } from "next/document";
|
||||
export default function Document() {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<Head />
|
||||
<Head>
|
||||
<title>سامانه جامع تولید محتوای هوشمند</title>
|
||||
<link rel="icon" href="/generative-logo.png" />
|
||||
</Head>
|
||||
<body>
|
||||
<Main />
|
||||
<NextScript />
|
||||
|
||||
378
pages/index.js
378
pages/index.js
@ -12,18 +12,10 @@ import {
|
||||
TabPanel,
|
||||
TabPanels,
|
||||
Icon,
|
||||
Divider,
|
||||
HStack,
|
||||
Image,
|
||||
Stack,
|
||||
} from "@chakra-ui/react";
|
||||
import {
|
||||
FiFileText,
|
||||
FiImage,
|
||||
FiVideo,
|
||||
FiLayers,
|
||||
FiSettings,
|
||||
} from "react-icons/fi";
|
||||
import { FiImage, FiLayers } from "react-icons/fi";
|
||||
import { CiVideoOn } from "react-icons/ci";
|
||||
import {
|
||||
IoDocumentTextOutline,
|
||||
@ -31,7 +23,6 @@ import {
|
||||
IoVideocamOutline,
|
||||
} from "react-icons/io5";
|
||||
import { IoIosGitMerge } from "react-icons/io";
|
||||
|
||||
import {
|
||||
NumberParam,
|
||||
StringParam,
|
||||
@ -39,7 +30,6 @@ import {
|
||||
withDefault,
|
||||
} from "use-query-params";
|
||||
import { BsChatText } from "react-icons/bs";
|
||||
// import { StringParam, useQueryParams, withDefault } from "use-query-params";
|
||||
|
||||
export default function Home() {
|
||||
const [filters, setFilters] = useQueryParams({
|
||||
@ -49,174 +39,153 @@ export default function Home() {
|
||||
});
|
||||
|
||||
return (
|
||||
<Flex minH="100vh" bg="gray.50" dir="rtl">
|
||||
{/* Main Content */}
|
||||
<Box
|
||||
w="280px"
|
||||
bg="white"
|
||||
borderLeft="1px solid"
|
||||
borderColor="gray.200"
|
||||
py={8}
|
||||
>
|
||||
<VStack align="stretch" spacing={6}>
|
||||
{/* Brand / Title */}
|
||||
<Box px={6}>
|
||||
<Text fontSize="lg" fontWeight="bold">
|
||||
سرویس ها
|
||||
</Text>
|
||||
<Text fontSize="sm" color="gray.500">
|
||||
داشبورد تولید محتوا
|
||||
</Text>
|
||||
</Box>
|
||||
<Flex direction={"column"} minH="100vh" bg="gray.50" dir="rtl">
|
||||
{/* Header */}
|
||||
<AppHeader />
|
||||
|
||||
<Divider />
|
||||
|
||||
{/* Menu */}
|
||||
<Tabs
|
||||
isFitted
|
||||
variant="soft-rounded"
|
||||
colorScheme="green"
|
||||
px={6}
|
||||
onChange={(e) => setFilters({ model_name: e })}
|
||||
index={filters?.model_name}
|
||||
>
|
||||
<TabList>
|
||||
<Tab>خانم ستاری</Tab>
|
||||
<Tab>رکن آبادی</Tab>
|
||||
</TabList>
|
||||
|
||||
<TabPanels>
|
||||
<TabPanel>
|
||||
<VStack align="stretch" spacing={2}>
|
||||
<SidebarItem
|
||||
icon={FiImage}
|
||||
label="LLM + LoRA"
|
||||
name={"llm"}
|
||||
active={filters?.tab_menu == "llm" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={BsChatText}
|
||||
label="LLM Base"
|
||||
name={"llm_base"}
|
||||
active={filters?.tab_menu == "llm_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL + LoRA"
|
||||
name={"sdxl_lora"}
|
||||
active={filters?.tab_menu == "sdxl_lora" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL"
|
||||
name={"sdxl"}
|
||||
active={filters?.tab_menu == "sdxl" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={CiVideoOn}
|
||||
label="CogVideo + LoRA"
|
||||
name={"cogvideo"}
|
||||
active={filters?.tab_menu == "cogvideo" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="CogVideo Base"
|
||||
name={"cogvideo_base"}
|
||||
active={filters?.tab_menu == "cogvideo_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
</VStack>
|
||||
</TabPanel>
|
||||
<TabPanel>
|
||||
<VStack align="stretch" spacing={2}>
|
||||
<SidebarItem
|
||||
icon={FiImage}
|
||||
label="LLM + LoRA"
|
||||
name={"llm"}
|
||||
active={filters?.tab_menu == "llm" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={BsChatText}
|
||||
label="LLM Base"
|
||||
name={"llm_base"}
|
||||
active={filters?.tab_menu == "llm_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL + LoRA"
|
||||
name={"sdxl_lora"}
|
||||
active={filters?.tab_menu == "sdxl_lora" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL"
|
||||
name={"sdxl"}
|
||||
active={filters?.tab_menu == "sdxl" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={CiVideoOn}
|
||||
label="CogVideo + LoRA"
|
||||
name={"cogvideo"}
|
||||
active={filters?.tab_menu == "cogvideo" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="CogVideo Base"
|
||||
name={"cogvideo_base"}
|
||||
active={filters?.tab_menu == "cogvideo_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
</VStack>
|
||||
</TabPanel>
|
||||
</TabPanels>
|
||||
</Tabs>
|
||||
|
||||
{/* Footer */}
|
||||
</VStack>
|
||||
</Box>
|
||||
|
||||
<VStack w={"100%"} alignItems={"start"}>
|
||||
{/* Page Layout */}
|
||||
<Flex flex="1" minH={0} mt={"92px"}>
|
||||
{/* Sidebar */}
|
||||
<Box
|
||||
w={"100%"}
|
||||
h={"92px"}
|
||||
borderBottom={"1px"}
|
||||
borderBottomColor={"gray.200"}
|
||||
bgColor={"white"}
|
||||
as={Stack}
|
||||
alignItems={"end"}
|
||||
justifyContent={"center"}
|
||||
pl={"20px"}
|
||||
w="280px"
|
||||
bg="#fdfbff"
|
||||
borderLeft="1px solid"
|
||||
borderColor="gray.200"
|
||||
py={8}
|
||||
>
|
||||
<VStack>
|
||||
<Image src={"./logob.png"} />
|
||||
<Text fontSize={"xs"} fontWeight={"bold"}>
|
||||
موسسه تولید سیستم های خبره و هوشمند اسلامی باقرالعلوم(ع)
|
||||
</Text>
|
||||
<VStack align="stretch" spacing={6}>
|
||||
{/* Menu */}
|
||||
<Tabs
|
||||
isFitted
|
||||
variant="soft-rounded"
|
||||
colorScheme="green"
|
||||
px={6}
|
||||
onChange={(e) => setFilters({ model_name: e })}
|
||||
index={filters?.model_name}
|
||||
>
|
||||
<TabList mb={2}>
|
||||
<Tab>خانم ستاری</Tab>
|
||||
<Tab>رکن آبادی</Tab>
|
||||
</TabList>
|
||||
|
||||
<TabPanels>
|
||||
<TabPanel>
|
||||
<VStack align="stretch" spacing={2}>
|
||||
<SidebarItem
|
||||
icon={FiImage}
|
||||
label="LLM + LoRA"
|
||||
name={"llm"}
|
||||
active={filters?.tab_menu == "llm" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={BsChatText}
|
||||
label="LLM Base"
|
||||
name={"llm_base"}
|
||||
active={filters?.tab_menu == "llm_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL + LoRA"
|
||||
name={"sdxl_lora"}
|
||||
active={filters?.tab_menu == "sdxl_lora" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL"
|
||||
name={"sdxl"}
|
||||
active={filters?.tab_menu == "sdxl" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={CiVideoOn}
|
||||
label="CogVideo + LoRA"
|
||||
name={"cogvideo"}
|
||||
active={filters?.tab_menu == "cogvideo" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="CogVideo Base"
|
||||
name={"cogvideo_base"}
|
||||
active={
|
||||
filters?.tab_menu == "cogvideo_base" ? true : false
|
||||
}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
</VStack>
|
||||
</TabPanel>
|
||||
<TabPanel>
|
||||
<VStack align="stretch" spacing={2}>
|
||||
<SidebarItem
|
||||
icon={FiImage}
|
||||
label="LLM + LoRA"
|
||||
name={"llm"}
|
||||
active={filters?.tab_menu == "llm" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={BsChatText}
|
||||
label="LLM Base"
|
||||
name={"llm_base"}
|
||||
active={filters?.tab_menu == "llm_base" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL + LoRA"
|
||||
name={"sdxl_lora"}
|
||||
active={filters?.tab_menu == "sdxl_lora" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="SDXL"
|
||||
name={"sdxl"}
|
||||
active={filters?.tab_menu == "sdxl" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={CiVideoOn}
|
||||
label="CogVideo + LoRA"
|
||||
name={"cogvideo"}
|
||||
active={filters?.tab_menu == "cogvideo" ? true : false}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<SidebarItem
|
||||
icon={FiLayers}
|
||||
label="CogVideo Base"
|
||||
name={"cogvideo_base"}
|
||||
active={
|
||||
filters?.tab_menu == "cogvideo_base" ? true : false
|
||||
}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
</VStack>
|
||||
</TabPanel>
|
||||
</TabPanels>
|
||||
</Tabs>
|
||||
|
||||
{/* Footer */}
|
||||
</VStack>
|
||||
</Box>
|
||||
<Box flex="1" p={8} w={"100%"}>
|
||||
|
||||
{/* Content */}
|
||||
<Box flex="1" p={8} minW={0}>
|
||||
<Tabs
|
||||
variant="soft-rounded"
|
||||
colorScheme="purple"
|
||||
@ -264,21 +233,60 @@ export default function Home() {
|
||||
</TabPanels>
|
||||
</Tabs>
|
||||
</Box>
|
||||
</VStack>
|
||||
|
||||
{/* Right Sidebar */}
|
||||
</Flex>
|
||||
</Flex>
|
||||
);
|
||||
}
|
||||
|
||||
function SidebarItem({
|
||||
icon,
|
||||
label,
|
||||
active = false,
|
||||
filters,
|
||||
setFilters,
|
||||
name,
|
||||
}) {
|
||||
function AppHeader() {
|
||||
return (
|
||||
<Box
|
||||
w="100%"
|
||||
h="92px"
|
||||
borderBottom="1px solid"
|
||||
borderColor="gray.200"
|
||||
bg="#fdfbff"
|
||||
as={HStack}
|
||||
alignItems="center"
|
||||
justifyContent="space-between"
|
||||
px={"20px"}
|
||||
zIndex={10}
|
||||
position="fixed"
|
||||
top={0}
|
||||
>
|
||||
<HStack alignItems={"end"} height={"100%"} py={"10px"}>
|
||||
<Image
|
||||
src="/generative-logo.png"
|
||||
w={"80px"}
|
||||
h={"70px"}
|
||||
loading="lazy"
|
||||
/>
|
||||
<VStack alignItems={"start"} justifyContent={"end"} height={"100%"}>
|
||||
<Text fontWeight={"bold"} fontSize={"20px"}>
|
||||
سامانه تولید محتوای هوشمند
|
||||
</Text>
|
||||
<Text>
|
||||
سامانه جامع تولید محتوا با استفاده از مدلهای زبانی و مولد تصویر و
|
||||
ویدئو
|
||||
</Text>
|
||||
</VStack>
|
||||
</HStack>
|
||||
<VStack
|
||||
w={"fit-content"}
|
||||
alignItems={"center"}
|
||||
justifyContent={"center"}
|
||||
py={"10px"}
|
||||
>
|
||||
<Image src="./logob.png" />
|
||||
<Text fontSize="xs" fontWeight="bold">
|
||||
موسسه تولید سیستم های خبره و هوشمند اسلامی باقرالعلوم(ع)
|
||||
</Text>
|
||||
</VStack>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
function SidebarItem({ icon, label, active = false, setFilters, name }) {
|
||||
return (
|
||||
<Flex
|
||||
align="center"
|
||||
|
||||
BIN
public/generative-logo.png
Normal file
BIN
public/generative-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
@ -14,12 +14,12 @@ html,
|
||||
body {
|
||||
max-width: 100vw;
|
||||
overflow-x: hidden;
|
||||
font-family: Estedad, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--foreground);
|
||||
background: var(--background);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
154
yarn.lock
154
yarn.lock
@ -537,6 +537,20 @@ aria-hidden@^1.2.3:
|
||||
dependencies:
|
||||
tslib "^2.0.0"
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
axios@^1.13.5:
|
||||
version "1.13.5"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43"
|
||||
integrity sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==
|
||||
dependencies:
|
||||
follow-redirects "^1.15.11"
|
||||
form-data "^4.0.5"
|
||||
proxy-from-env "^1.1.0"
|
||||
|
||||
babel-plugin-macros@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
|
||||
@ -551,6 +565,14 @@ baseline-browser-mapping@^2.8.3:
|
||||
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz#5b09935025bf8a80e29130251e337c6a7fc8cbb9"
|
||||
integrity sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==
|
||||
|
||||
call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
|
||||
integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
|
||||
dependencies:
|
||||
es-errors "^1.3.0"
|
||||
function-bind "^1.1.2"
|
||||
|
||||
callsites@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||
@ -571,6 +593,13 @@ color2k@^2.0.2:
|
||||
resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533"
|
||||
integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==
|
||||
|
||||
combined-stream@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
convert-source-map@^1.5.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
|
||||
@ -606,6 +635,11 @@ debug@^4.3.1:
|
||||
dependencies:
|
||||
ms "^2.1.3"
|
||||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||
|
||||
dequal@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
|
||||
@ -621,6 +655,15 @@ detect-node-es@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
|
||||
integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
|
||||
|
||||
dunder-proto@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
|
||||
integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
|
||||
dependencies:
|
||||
call-bind-apply-helpers "^1.0.1"
|
||||
es-errors "^1.3.0"
|
||||
gopd "^1.2.0"
|
||||
|
||||
error-ex@^1.3.1:
|
||||
version "1.3.4"
|
||||
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414"
|
||||
@ -628,6 +671,33 @@ error-ex@^1.3.1:
|
||||
dependencies:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
es-define-property@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
|
||||
integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
|
||||
|
||||
es-errors@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
|
||||
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
|
||||
|
||||
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
|
||||
integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
|
||||
dependencies:
|
||||
es-errors "^1.3.0"
|
||||
|
||||
es-set-tostringtag@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
|
||||
integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
|
||||
dependencies:
|
||||
es-errors "^1.3.0"
|
||||
get-intrinsic "^1.2.6"
|
||||
has-tostringtag "^1.0.2"
|
||||
hasown "^2.0.2"
|
||||
|
||||
escape-string-regexp@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||
@ -645,6 +715,22 @@ focus-lock@^1.3.6:
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
follow-redirects@^1.15.11:
|
||||
version "1.15.11"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340"
|
||||
integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
|
||||
|
||||
form-data@^4.0.5:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053"
|
||||
integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
es-set-tostringtag "^2.1.0"
|
||||
hasown "^2.0.2"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
framer-motion@^12.34.3:
|
||||
version "12.34.3"
|
||||
resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-12.34.3.tgz#946f716bfef710d564bf721f4f364274f6278fd4"
|
||||
@ -666,11 +752,52 @@ function-bind@^1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
|
||||
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
||||
|
||||
get-intrinsic@^1.2.6:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
|
||||
integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
|
||||
dependencies:
|
||||
call-bind-apply-helpers "^1.0.2"
|
||||
es-define-property "^1.0.1"
|
||||
es-errors "^1.3.0"
|
||||
es-object-atoms "^1.1.1"
|
||||
function-bind "^1.1.2"
|
||||
get-proto "^1.0.1"
|
||||
gopd "^1.2.0"
|
||||
has-symbols "^1.1.0"
|
||||
hasown "^2.0.2"
|
||||
math-intrinsics "^1.1.0"
|
||||
|
||||
get-nonce@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3"
|
||||
integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==
|
||||
|
||||
get-proto@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
|
||||
integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
|
||||
dependencies:
|
||||
dunder-proto "^1.0.1"
|
||||
es-object-atoms "^1.0.0"
|
||||
|
||||
gopd@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
|
||||
integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
|
||||
|
||||
has-symbols@^1.0.3, has-symbols@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
|
||||
integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
|
||||
|
||||
has-tostringtag@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
|
||||
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
|
||||
dependencies:
|
||||
has-symbols "^1.0.3"
|
||||
|
||||
hasown@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
|
||||
@ -720,6 +847,11 @@ json-parse-even-better-errors@^2.3.0:
|
||||
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
|
||||
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
|
||||
|
||||
keycloak-js@^26.2.3:
|
||||
version "26.2.3"
|
||||
resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-26.2.3.tgz#f68a7dae060de6a0f87bb6a378d57381cc617c5a"
|
||||
integrity sha512-widjzw/9T6bHRgEp6H/Se3NCCarU7u5CwFKBcwtu7xfA1IfdZb+7Q7/KGusAnBo34Vtls8Oz9vzSqkQvQ7+b4Q==
|
||||
|
||||
lines-and-columns@^1.1.6:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
|
||||
@ -737,6 +869,23 @@ loose-envify@^1.4.0:
|
||||
dependencies:
|
||||
js-tokens "^3.0.0 || ^4.0.0"
|
||||
|
||||
math-intrinsics@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
|
||||
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
|
||||
|
||||
mime-db@1.52.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.12:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
motion-dom@^12.34.3:
|
||||
version "12.34.3"
|
||||
resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-12.34.3.tgz#56224109a20bf2cb38277bfaedeeda5151ce369d"
|
||||
@ -843,6 +992,11 @@ prop-types@^15.6.2:
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.13.1"
|
||||
|
||||
proxy-from-env@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
|
||||
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
|
||||
|
||||
react-clientside-effect@^1.2.7:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.8.tgz#0b90a9d7b2a1823a3a10ed1ea3f651f7e0301cb7"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user