diff --git a/src/components/database/query-textarea.tsx b/src/components/database/query-textarea.tsx index 50c6c1d..4dd1287 100644 --- a/src/components/database/query-textarea.tsx +++ b/src/components/database/query-textarea.tsx @@ -140,12 +140,9 @@ const SQLITE_KEYWORDS = [ "WITHOUT" ]; -interface QueryTextareaProps { - columnNames: string[]; -} - -export default function SQLRepl({ columnNames }: QueryTextareaProps) { - const { customQuery, setCustomQuery, tables } = useSQLiteStore(); +export default function QueryTextarea() { + const { customQuery, setCustomQuery, tables, tableSchemas } = + useSQLiteStore(); const isDark = useTheme(); @@ -154,6 +151,11 @@ export default function SQLRepl({ columnNames }: QueryTextareaProps) { const word = context.matchBefore(/\w*/); if (!word || (word.from === word.to && !context.explicit)) return null; + const columnNames: string[] = []; + for (const i of Object.values(tableSchemas)) { + columnNames.push(...Object.keys(i)); + } + const options = [ ...SQLITE_KEYWORDS.map((keyword) => ({ label: keyword, @@ -169,7 +171,7 @@ export default function SQLRepl({ columnNames }: QueryTextareaProps) { options: options }; }, - [tables, columnNames] + [tables, tableSchemas] ); const handleChange = useCallback( diff --git a/src/components/database/upper-section.tsx b/src/components/database/upper-section.tsx index 812398d..4a586fb 100644 --- a/src/components/database/upper-section.tsx +++ b/src/components/database/upper-section.tsx @@ -121,7 +121,7 @@ export function DBTable() { Execute Query
- +
diff --git a/src/components/landing/dropzone.tsx b/src/components/landing/dropzone.tsx index 642c408..129db5f 100644 --- a/src/components/landing/dropzone.tsx +++ b/src/components/landing/dropzone.tsx @@ -25,7 +25,7 @@ const ACCEPTED_TYPES = { "text/sqlite-dump": [".sql"] }; -export default function UploadFile() { +function UploadFile() { const { loadDatabaseBytes, setDatabaseData } = useSQLiteStore(); const [errors, setErrors] = useState([]); @@ -113,3 +113,5 @@ const FileStats: React.FC<{ errors?: FileError[] }> = memo(({ errors }) => { }, [errors]); return null; }); + +export default memo(UploadFile); diff --git a/src/components/landing/footer.tsx b/src/components/landing/footer.tsx index c92d223..07d0d0b 100644 --- a/src/components/landing/footer.tsx +++ b/src/components/landing/footer.tsx @@ -1,7 +1,8 @@ +import { memo } from "react"; import ThemeModeToggle from "@/components/settings/theme-mode-toggle"; import { GithubIcon } from "lucide-react"; -export default function Footer() { +function Footer() { return ( ); } + +export default memo(Footer);