From 1c831c9902d76f843227bf6710261ea3bd6dea0b Mon Sep 17 00:00:00 2001 From: KarimTamani Date: Tue, 27 May 2025 16:42:43 +0100 Subject: [PATCH] init the index schema --- package.json | 4 +- src/App.tsx | 1 - src/components/menu/menu-dropdown.tsx | 6 +-- src/components/menu/menu.tsx | 3 +- src/components/navbar/connection-status.tsx | 4 +- src/components/navbar/navbar.tsx | 8 ++-- src/components/sidebar/sidebar.tsx | 2 +- src/hooks/use-overlapping-tables.tsx | 2 +- src/hooks/use-relationship-name.tsx | 2 +- src/lib/schemas/app-schema.ts | 8 +++- src/lib/schemas/field-schema.ts | 20 ++++++---- src/lib/schemas/field_index-schema.ts | 31 ++++++++++++++ src/lib/schemas/index-schema.ts | 40 +++++++++++++++++++ src/lib/schemas/table-schema.ts | 8 +++- src/pages/dashboard/dashboard-page.tsx | 3 +- .../database/database-control-buttons.tsx | 2 +- src/pages/database/database-page.tsx | 2 +- .../create-relationship-form.tsx | 2 +- .../relationship-accordion-body.tsx | 6 +-- .../relationship-controller.tsx | 4 +- .../index/indexes-list.tsx | 2 +- .../table-accordion-body.tsx | 6 +-- .../table-accordion-header.tsx | 4 +- .../tables-controller/tables-controller.tsx | 4 +- src/pages/database/table/field.tsx | 6 +-- src/pages/database/table/relationship.tsx | 10 ++--- .../database-history-context.tsx | 6 +-- .../database-provider/database-context.ts | 4 +- .../database-provider/database-provider.tsx | 12 +++++- .../diagram-provider/diagram-context.tsx | 2 +- .../diagram-provider/diagram-provider.tsx | 4 +- src/providers/sync-provider/sync-provider.tsx | 2 +- src/routes/app-route.tsx | 2 +- src/routes/dashboard-route.tsx | 1 - src/routes/database-route.tsx | 3 +- tsconfig.json | 32 ++++++++++----- 36 files changed, 177 insertions(+), 81 deletions(-) create mode 100644 src/lib/schemas/field_index-schema.ts create mode 100644 src/lib/schemas/index-schema.ts diff --git a/package.json b/package.json index 55fdc1f..6efb23c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev": "vite", "build": "tsc && vite build", "lint": "eslint -c .eslintrc.json ./src/**/**/*.{ts,tsx} --fix", - "preview": "vite preview" + "preview": "vite preview" }, "dependencies": { "@dnd-kit/core": "^6.3.1", @@ -65,4 +65,4 @@ "vite-plugin-top-level-await": "^1.5.0", "vite-tsconfig-paths": "^4.3.2" } -} +} \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 0a5de85..bd6d1eb 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,7 +7,6 @@ import useAppRoutes from "./routes/app-route"; import { SyncProvider } from "./providers/sync-provider/sync-provider"; import DatabaseProvider from "./providers/database-provider/database-provider"; import DiagramProvider from "./providers/diagram-provider/diagram-provider"; -import { NextUIProvider } from "@nextui-org/react"; import { ThemeProvider as NextThemesProvider } from "next-themes"; import { HeroUIProvider, ToastProvider } from "@heroui/react"; diff --git a/src/components/menu/menu-dropdown.tsx b/src/components/menu/menu-dropdown.tsx index 72615c6..e193ace 100644 --- a/src/components/menu/menu-dropdown.tsx +++ b/src/components/menu/menu-dropdown.tsx @@ -1,5 +1,5 @@ -import { Dropdown, DropdownMenu as HeroDropdownMenu, DropdownItem, DropdownTrigger, Button, useDisclosure, Popover, PopoverTrigger, PopoverContent, Divider, DropdownSection } from "@heroui/react"; -import { useCallback, useMemo, useState } from "react"; +import { Dropdown, DropdownMenu as HeroDropdownMenu, DropdownItem, DropdownTrigger, Button } from "@heroui/react"; +import { useMemo } from "react"; import SubmenuDropdown from "./submenu-dropdown"; @@ -22,7 +22,7 @@ export interface MenuDropdownProps { isOpen?: boolean , clickHandler? : () => void } -const DropdownMenu: React.FC = ({ title, children, isOpen , clickHandler }) => { +const DropdownMenu: React.FC = ({ title, children, clickHandler }) => { const disabledChilds: string[] = useMemo(() => { return children ? children?.filter((child: MenuDropdownProps) => child.isDisabled && child.title).map((child: MenuDropdownProps) => child.title as string) : [] }, [children]); diff --git a/src/components/menu/menu.tsx b/src/components/menu/menu.tsx index 4361f1b..627a05c 100644 --- a/src/components/menu/menu.tsx +++ b/src/components/menu/menu.tsx @@ -1,8 +1,7 @@ import { useTheme } from "next-themes"; import DropdownMenu, { MenuDropdownProps } from "./menu-dropdown"; -import React, { useMemo } from "react"; -import { menuItem } from "@heroui/react"; +import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; diff --git a/src/components/navbar/connection-status.tsx b/src/components/navbar/connection-status.tsx index 92a5938..8c71b1a 100644 --- a/src/components/navbar/connection-status.tsx +++ b/src/components/navbar/connection-status.tsx @@ -3,7 +3,7 @@ import { Wifi, WifiOff } from "lucide-react"; import { useEffect, useMemo, useRef, useState } from "react"; import { Tooltip, TooltipContent, TooltipTrigger } from "../tooltip/tooltip"; import { cn, Divider, Progress } from "@heroui/react"; -import { differenceInHours, differenceInMinutes, lastDayOfYear } from "date-fns"; +import { differenceInHours, differenceInMinutes } from "date-fns"; const ConnectionStatus: React.FC = () => { @@ -19,7 +19,7 @@ const ConnectionStatus: React.FC = () => { }) useEffect(() => { - const getLastUploadAtValue = (event: any) => { + const getLastUploadAtValue = () => { const last_upload_at = localStorage.getItem("last_upload_at"); if (last_upload_at) setLastUploadAt(new Date(last_upload_at)); diff --git a/src/components/navbar/navbar.tsx b/src/components/navbar/navbar.tsx index b6ed6ad..8ffa07d 100644 --- a/src/components/navbar/navbar.tsx +++ b/src/components/navbar/navbar.tsx @@ -1,6 +1,6 @@ -import { NavbarBrand, NavbarContent, Navbar as NavbarContainer, Image, Dropdown, DropdownTrigger, Button, DropdownMenu, DropdownItem } from "@heroui/react"; -import Menu from "../menu/menu"; -import { useTheme } from "next-themes"; + + +import Menu from "../menu/menu"; import ConnectionStatus from "./connection-status"; interface Props { @@ -9,8 +9,8 @@ interface Props { const Navbar: React.FC = ({ }) => { - const { resolvedTheme } = useTheme(); + return (