diff --git a/pos-frontend/app/inventory/page.tsx b/pos-frontend/app/inventory/page.tsx index 2665992..7cf6acd 100644 --- a/pos-frontend/app/inventory/page.tsx +++ b/pos-frontend/app/inventory/page.tsx @@ -1,5 +1,6 @@ import React, { useState } from 'react' import { Container, Paper, Col, Table, Button, TextInput, useMantineTheme } from '@mantine/core' +import Example from './query' interface InventoryItem { id: number @@ -8,6 +9,14 @@ interface InventoryItem { quantity: number } +async function fetchBlob(url: string) { + const response = await fetch(url) + + // Here is the significant part + // reading the stream as a blob instead of json + return response.blob() +} + export default function InventoryPage() { const theme = useMantineTheme() const [items, setItems] = useState([]) @@ -30,52 +39,75 @@ export default function InventoryPage() { setQuantity('') } - return ( - - - - - - - - - - - - - {items.map((item) => ( - - - - - - - ))} - -
IDNamePriceQuantity
{item.id}{item.name}{item.price}{item.quantity}
-
+ const [imageSourceUrl, setImageSourceUrl] = React.useState("") - - setName(event.currentTarget.value)} - /> - setPrice(event.currentTarget.value)} - /> - setQuantity(event.currentTarget.value)} - /> - - -
+ const downloadImageAndSetSource = async (imageUrl: any) => { + const image = await fetchBlob(imageUrl) + setImageSourceUrl(URL.createObjectURL(image)) + } + + return ( + <> + + + + + + + + + + + + + {items.map((item) => ( + + + + + + + ))} + +
IDNamePriceQuantity
{item.id}{item.name}{item.price}{item.quantity}
+
+ + + setName(event.currentTarget.value)} + /> + setPrice(event.currentTarget.value)} + /> + setQuantity(event.currentTarget.value)} + /> + + +
+ + {/* would fetch the source from axios */} + ITEM + + + ) } diff --git a/pos-frontend/app/inventory/query.tsx b/pos-frontend/app/inventory/query.tsx new file mode 100644 index 0000000..c537404 --- /dev/null +++ b/pos-frontend/app/inventory/query.tsx @@ -0,0 +1,27 @@ +import { + useQuery, +} from '@tanstack/react-query' + +export default function Example() { + const { isPending, error, data } = useQuery({ + queryKey: ['repoData'], + queryFn: () => + fetch('https://api.github.com/repos/TanStack/query').then((res) => + res.json(), + ), + }) + + if (isPending) return 'Loading...' + + if (error) return 'An error has occurred: ' + error.message + + return ( +
+

{data.name}

+

{data.description}

+ 👀 {data.subscribers_count}{' '} + ✨ {data.stargazers_count}{' '} + 🍴 {data.forks_count} +
+ ) +} diff --git a/pos-frontend/app/layout.tsx b/pos-frontend/app/layout.tsx index c240f52..f7e0911 100644 --- a/pos-frontend/app/layout.tsx +++ b/pos-frontend/app/layout.tsx @@ -1,45 +1,38 @@ -// import { fonts } from './fonts' -// import { Inter } from 'next/font/google' -// import 'bootstrap/dist/css/bootstrap.min.css' - -// const inter = Inter({ subsets: ['latin'] }) - -// export default function RootLayout({ -// children, -// }: { -// children: React.ReactNode, -// }) { -// return ( -// -// -// {children} -// -// -// ) -// } - +"use client" import '@mantine/core/styles.css' - +import { + hydrate, + QueryClient, + QueryClientProvider, +} from '@tanstack/react-query' import { ColorSchemeScript, MantineProvider } from '@mantine/core' +import { useState } from 'react' -export const metadata = { - title: 'My Mantine app', - description: 'I have followed setup instructions carefully', -} +// export const metadata = { +// title: 'My Mantine app', +// description: 'I have followed setup instructions carefully', +// } + +// const queryClient = new QueryClient() export default function RootLayout({ children, }: { children: React.ReactNode }) { + const [queryClient] = useState(() => new QueryClient()) + return ( - {children} + {/* can add a theme */} + + {children} + ) diff --git a/pos-frontend/package.json b/pos-frontend/package.json index 4764bd5..14e2056 100644 --- a/pos-frontend/package.json +++ b/pos-frontend/package.json @@ -31,10 +31,12 @@ "@nextui-org/button": "^2.0.31", "@nextui-org/react": "^2.3.6", "@tabler/icons-react": "^3.3.0", + "@tanstack/react-query": "^5.40.1", "@tiptap/extension-link": "^2.3.1", "@tiptap/react": "^2.3.1", "@tiptap/starter-kit": "^2.3.1", "@types/react-bootstrap": "^0.32.36", + "@types/react-query": "^1.2.9", "bootstrap": "^5.3.3", "dayjs": "^1.11.11", "embla-carousel-react": "^8.0.2", @@ -45,6 +47,7 @@ "react": "^18", "react-bootstrap": "^2.10.2", "react-dom": "^18", + "react-query": "^3.39.3", "recharts": "^2.12.6", "rocksdb": "^5.2.1" }, diff --git a/pos-frontend/pnpm-lock.yaml b/pos-frontend/pnpm-lock.yaml index c83d1b9..808f184 100644 --- a/pos-frontend/pnpm-lock.yaml +++ b/pos-frontend/pnpm-lock.yaml @@ -68,6 +68,9 @@ importers: '@tabler/icons-react': specifier: ^3.3.0 version: 3.3.0(react@18.3.1) + '@tanstack/react-query': + specifier: ^5.40.1 + version: 5.40.1(react@18.3.1) '@tiptap/extension-link': specifier: ^2.3.1 version: 2.3.1(@tiptap/core@2.3.1(@tiptap/pm@2.3.1))(@tiptap/pm@2.3.1) @@ -80,6 +83,9 @@ importers: '@types/react-bootstrap': specifier: ^0.32.36 version: 0.32.36 + '@types/react-query': + specifier: ^1.2.9 + version: 1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) bootstrap: specifier: ^5.3.3 version: 5.3.3(@popperjs/core@2.11.8) @@ -110,6 +116,9 @@ importers: react-dom: specifier: ^18 version: 18.3.1(react@18.3.1) + react-query: + specifier: ^3.39.3 + version: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) recharts: specifier: ^2.12.6 version: 2.12.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -2267,6 +2276,14 @@ packages: '@tabler/icons@3.3.0': resolution: {integrity: sha512-PLVe9d7b59sKytbx00KgeGhQG3N176Ezv8YMmsnSz4s0ifDzMWlp/h2wEfQZ0ZNe8e377GY2OW6kovUe3Rnd0g==} + '@tanstack/query-core@5.40.0': + resolution: {integrity: sha512-eD8K8jsOIq0Z5u/QbvOmfvKKE/XC39jA7yv4hgpl/1SRiU+J8QCIwgM/mEHuunQsL87dcvnHqSVLmf9pD4CiaA==} + + '@tanstack/react-query@5.40.1': + resolution: {integrity: sha512-gOcmu+gpFd2taHrrgMM9RemLYYEDYfsCqszxCC0xtx+csDa4R8t7Hr7SfWXQP13S2sF+mOxySo/+FNXJFYBqcA==} + peerDependencies: + react: ^18.0.0 + '@testing-library/dom@9.3.4': resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -2540,6 +2557,10 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + '@types/react-query@1.2.9': + resolution: {integrity: sha512-xfVcv5zjC6fGf6axPyKxdXNm9RKK9OFzSIyZeCR3r9h4zDuqSpHc8ilTBtfQ1zU/uCx+tAsB+W6vzdCBMu1jtg==} + deprecated: This is a stub types definition. react-query provides its own type definitions, so you do not need this installed. + '@types/react-transition-group@4.4.10': resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} @@ -2800,6 +2821,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2819,6 +2844,9 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + broadcast-channel@3.7.0: + resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==} + browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} @@ -3173,6 +3201,9 @@ packages: detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -4056,6 +4087,9 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4259,6 +4293,9 @@ packages: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true + match-sorter@6.3.4: + resolution: {integrity: sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -4273,6 +4310,9 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + microseconds@0.2.0: + resolution: {integrity: sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -4325,6 +4365,9 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nano-time@1.0.0: + resolution: {integrity: sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4473,6 +4516,9 @@ packages: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} + oblivious-set@1.0.0: + resolution: {integrity: sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -4794,6 +4840,18 @@ packages: react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-query@3.39.3: + resolution: {integrity: sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + react-remove-scroll-bar@2.3.6: resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} @@ -4882,6 +4940,9 @@ packages: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} + remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5312,6 +5373,9 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + unload@2.2.0: + resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==} + update-browserslist-db@1.0.14: resolution: {integrity: sha512-JixKH8GR2pWYshIPUg/NujK3JO7JiqEEUiNArE86NQyrgUuZeTlZQN3xuS/yiV5Kb48ev9K6RqNkaJjXsdg7Jw==} hasBin: true @@ -8826,6 +8890,13 @@ snapshots: '@tabler/icons@3.3.0': {} + '@tanstack/query-core@5.40.0': {} + + '@tanstack/react-query@5.40.1(react@18.3.1)': + dependencies: + '@tanstack/query-core': 5.40.0 + react: 18.3.1 + '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.24.2 @@ -9123,6 +9194,14 @@ snapshots: dependencies: '@types/react': 18.3.1 + '@types/react-query@1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react-query: 3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - react + - react-dom + - react-native + '@types/react-transition-group@4.4.10': dependencies: '@types/react': 18.3.1 @@ -9445,6 +9524,8 @@ snapshots: base64-js@1.5.1: {} + big-integer@1.6.52: {} + binary-extensions@2.3.0: {} bootstrap@5.3.3(@popperjs/core@2.11.8): @@ -9464,6 +9545,17 @@ snapshots: dependencies: fill-range: 7.0.1 + broadcast-channel@3.7.0: + dependencies: + '@babel/runtime': 7.24.5 + detect-node: 2.1.0 + js-sha3: 0.8.0 + microseconds: 0.2.0 + nano-time: 1.0.0 + oblivious-set: 1.0.0 + rimraf: 3.0.2 + unload: 2.2.0 + browser-stdout@1.3.1: {} browserslist@4.23.0: @@ -9823,6 +9915,8 @@ snapshots: detect-node-es@1.1.0: {} + detect-node@2.1.0: {} + didyoumean@1.2.2: {} diff-sequences@29.6.3: {} @@ -10027,7 +10121,7 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) @@ -10046,12 +10140,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 @@ -10063,14 +10157,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -10084,7 +10178,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -11046,6 +11140,8 @@ snapshots: jiti@1.21.0: {} + js-sha3@0.8.0: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11254,6 +11350,11 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 + match-sorter@6.3.4: + dependencies: + '@babel/runtime': 7.24.5 + remove-accents: 0.5.0 + mdurl@2.0.0: {} merge-stream@2.0.0: {} @@ -11265,6 +11366,8 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + microseconds@0.2.0: {} + mime-db@1.52.0: {} mime-types@2.1.35: @@ -11328,6 +11431,10 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nano-time@1.0.0: + dependencies: + big-integer: 1.6.52 + nanoid@3.3.7: {} napi-macros@2.2.2: {} @@ -11467,6 +11574,8 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 + oblivious-set@1.0.0: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -11826,6 +11935,15 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-query@3.39.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.5 + broadcast-channel: 3.7.0 + match-sorter: 6.3.4 + react: 18.3.1 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll-bar@2.3.6(@types/react@18.3.1)(react@18.3.1): dependencies: react: 18.3.1 @@ -11939,6 +12057,8 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 + remove-accents@0.5.0: {} + require-directory@2.1.1: {} requires-port@1.0.0: {} @@ -12408,6 +12528,11 @@ snapshots: universalify@0.2.0: {} + unload@2.2.0: + dependencies: + '@babel/runtime': 7.24.5 + detect-node: 2.1.0 + update-browserslist-db@1.0.14(browserslist@4.23.0): dependencies: browserslist: 4.23.0