export react-query from main

* add bottom padding to treeItem
* remove redundant tree scroll
This commit is contained in:
Philipinho
2024-04-19 01:57:56 +01:00
parent df9110268c
commit 9ae6ac41c1
4 changed files with 33 additions and 44 deletions

View File

@ -1,18 +0,0 @@
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import React from "react";
const queryClient = new QueryClient({
defaultOptions: {
queries: {
refetchOnMount: false,
refetchOnWindowFocus: false,
retry: false,
},
},
});
export function TanstackProvider({ children }: React.PropsWithChildren) {
return (
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
);
}

View File

@ -3,7 +3,6 @@ import { useAtom } from "jotai";
import { treeApiAtom } from "@/features/page/tree/atoms/tree-api-atom.ts"; import { treeApiAtom } from "@/features/page/tree/atoms/tree-api-atom.ts";
import { import {
useGetRootSidebarPagesQuery, useGetRootSidebarPagesQuery,
useGetSidebarPagesQuery,
useUpdatePageMutation, useUpdatePageMutation,
} from "@/features/page/queries/page-query.ts"; } from "@/features/page/queries/page-query.ts";
import React, { useEffect, useRef } from "react"; import React, { useEffect, useRef } from "react";
@ -32,8 +31,8 @@ import {
} from "@/features/page/tree/utils/utils.ts"; } from "@/features/page/tree/utils/utils.ts";
import { SpaceTreeNode } from "@/features/page/tree/types.ts"; import { SpaceTreeNode } from "@/features/page/tree/types.ts";
import { getSidebarPages } from "@/features/page/services/page-service.ts"; import { getSidebarPages } from "@/features/page/services/page-service.ts";
import { QueryClient } from "@tanstack/react-query";
import { SidebarPagesParams } from "@/features/page/types/page.types.ts"; import { SidebarPagesParams } from "@/features/page/types/page.types.ts";
import { queryClient } from "@/main.tsx";
interface SpaceTreeProps { interface SpaceTreeProps {
spaceId: string; spaceId: string;
@ -70,8 +69,7 @@ export default function SpaceTree({ spaceId }: SpaceTreeProps) {
useEffect(() => { useEffect(() => {
setTimeout(() => { setTimeout(() => {
treeAPi?.select(pageId); treeAPi?.select(pageId, { align: "auto" });
treeAPi?.scrollTo(pageId, "auto");
}, 200); }, 200);
}, [treeAPi, pageId]); }, [treeAPi, pageId]);
@ -89,7 +87,6 @@ export default function SpaceTree({ spaceId }: SpaceTreeProps) {
disableMultiSelection={true} disableMultiSelection={true}
className={classes.tree} className={classes.tree}
rowClassName={classes.row} rowClassName={classes.row}
// padding={15}
rowHeight={30} rowHeight={30}
overscanCount={8} overscanCount={8}
dndRootElement={rootElement.current} dndRootElement={rootElement.current}
@ -103,11 +100,9 @@ export default function SpaceTree({ spaceId }: SpaceTreeProps) {
); );
} }
const queryClient = new QueryClient();
function Node({ node, style, dragHandle }: NodeRendererProps<any>) { function Node({ node, style, dragHandle }: NodeRendererProps<any>) {
const navigate = useNavigate(); const navigate = useNavigate();
const updatePageMutation = useUpdatePageMutation(); const updatePageMutation = useUpdatePageMutation();
//const use = useGetExpandPageTreeQuery()
const [treeData, setTreeData] = useAtom(treeDataAtom); const [treeData, setTreeData] = useAtom(treeDataAtom);
function updateTreeData( function updateTreeData(

View File

@ -98,3 +98,7 @@
.arrow { .arrow {
display: flex; display: flex;
} }
[role="treeitem"] {
padding-bottom: 2px;
}

View File

@ -1,31 +1,39 @@
import '@mantine/core/styles.css'; import "@mantine/core/styles.css";
import '@mantine/spotlight/styles.css'; import "@mantine/spotlight/styles.css";
import '@mantine/notifications/styles.css'; import "@mantine/notifications/styles.css";
import React from 'react'; import React from "react";
import ReactDOM from 'react-dom/client'; import ReactDOM from "react-dom/client";
import App from './App.tsx'; import App from "./App.tsx";
import { theme } from '@/theme'; import { theme } from "@/theme";
import { MantineProvider } from '@mantine/core'; import { MantineProvider } from "@mantine/core";
import { TanstackProvider } from '@/components/providers/tanstack-provider'; import { BrowserRouter } from "react-router-dom";
import { BrowserRouter } from 'react-router-dom'; import { ModalsProvider } from "@mantine/modals";
import { ModalsProvider } from '@mantine/modals'; import { Notifications } from "@mantine/notifications";
import { Notifications } from '@mantine/notifications'; import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); export const queryClient = new QueryClient({
defaultOptions: {
queries: {
refetchOnMount: false,
refetchOnWindowFocus: false,
retry: false,
},
},
});
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement,
);
root.render( root.render(
<BrowserRouter> <BrowserRouter>
<MantineProvider theme={theme}> <MantineProvider theme={theme}>
<ModalsProvider> <ModalsProvider>
<TanstackProvider> <QueryClientProvider client={queryClient}>
<Notifications position="top-right" limit={3} /> <Notifications position="top-right" limit={3} />
<App /> <App />
</TanstackProvider> </QueryClientProvider>
</ModalsProvider> </ModalsProvider>
</MantineProvider> </MantineProvider>
</BrowserRouter>, </BrowserRouter>,
); );