diff --git a/src/i18/languages/ar.ts b/src/i18/languages/ar.ts
index 70e8c21..681190c 100644
--- a/src/i18/languages/ar.ts
+++ b/src/i18/languages/ar.ts
@@ -6,6 +6,7 @@ export const ar = {
tables: "الجداول",
relationships: "العلاقات",
database: "قاعدة البيانات",
+ documentation : "الوثائق"
},
color_picker: {
default_color: "اللون الافتراضي"
@@ -195,6 +196,7 @@ export const ar = {
import_database: {
title: "استيراد قاعدة البيانات",
import: "استيراد",
+ view_docs : "عرض الوثائق" ,
import_options: "هل ترغب في الاستيراد باستخدام:",
import_error: "خطأ في تحليل SQL",
import_error_description: "تعذر استيراد SQL الخاص بك بسبب وجود صيغة غير صحيحة.",
diff --git a/src/i18/languages/de.ts b/src/i18/languages/de.ts
index 0cae024..f7a86ea 100644
--- a/src/i18/languages/de.ts
+++ b/src/i18/languages/de.ts
@@ -6,7 +6,7 @@ export const de = {
tables: "Tabellen",
relationships: "Beziehungen",
database: "Datenbank",
-
+ documentation : "Dokumentation"
},
color_picker: {
default_color: "Standardfarbe"
@@ -196,6 +196,7 @@ export const de = {
import_database: {
title: "Datenbank importieren",
import: "Importieren",
+ view_docs : "Dokumentation anzeigen" ,
import_options: "Möchtest du importieren mit:",
import_error: "SQL-Parsing-Fehler",
import_error_description: "Wir konnten dein SQL nicht importieren, da es ungültige Syntax enthält.",
diff --git a/src/i18/languages/en.ts b/src/i18/languages/en.ts
index b58fc62..6e1e00f 100644
--- a/src/i18/languages/en.ts
+++ b/src/i18/languages/en.ts
@@ -6,8 +6,9 @@ export const en = {
translation: {
sidebar: {
tables: "Tables",
- relationships: "Relationships",
- database : "Database"
+ relationships: "Relationships",
+ database: "Database",
+ documentation : "Docs"
},
color_picker: {
@@ -15,9 +16,9 @@ export const en = {
},
navbar: {
rename_db: "Rename database",
- search: "Search" ,
-
- command : "Type a command or search..." ,
+ search: "Search",
+
+ command: "Type a command or search...",
},
db_controller: {
filter: "Filter",
@@ -43,7 +44,7 @@ export const en = {
source_table: "Source Table",
referenced_table: "Referenced Table",
-
+
required: "Required",
select_table: "Select table",
select_field: "Select field",
@@ -182,8 +183,8 @@ export const en = {
theme: "Theme",
light: "Light",
dark: "Dark",
-
- system : "System" ,
+
+ system: "System",
help: "Help",
show_docs: "Show Docs",
join_discord: "Join Discord",
@@ -204,10 +205,11 @@ export const en = {
delete_database_content: "This action is irreversible and will permanently remove the diagram.",
delete: "Delete",
empty_diagram: "Empty diagram",
- create_and_import : "Create and import" ,
+ create_and_import: "Create and import",
import_database: {
title: "Import your Database",
import: "Import",
+ view_docs : "View Docs" ,
import_options: "Would you like to import using :",
import_error: "SQL Parsing Error",
import_error_description: "We couldn't import your SQL because it contains invalid syntax.",
diff --git a/src/i18/languages/es.ts b/src/i18/languages/es.ts
index a7f0e4c..aab2a18 100644
--- a/src/i18/languages/es.ts
+++ b/src/i18/languages/es.ts
@@ -5,7 +5,8 @@ export const es = {
translation: {
sidebar: {
tables: "Tablas",
- relationships: "Relaciones"
+ relationships: "Relaciones",
+ documentation : "Documentación"
},
color_picker: {
@@ -204,6 +205,7 @@ export const es = {
import_database: {
title: "Importar tu base de datos",
import: "Importar",
+ view_docs : "Ver la documentación" ,
import_options: "¿Te gustaría importar usando :",
import_error: "Error al analizar SQL",
import_error_description: "No pudimos importar tu SQL porque contiene sintaxis inválida.",
diff --git a/src/i18/languages/fr.ts b/src/i18/languages/fr.ts
index 4f71079..94831e8 100644
--- a/src/i18/languages/fr.ts
+++ b/src/i18/languages/fr.ts
@@ -7,6 +7,7 @@ export const fr = {
tables: "Tables",
relationships: "Relations",
database: "Base de données",
+ documentation : "Docs"
},
color_picker: {
@@ -198,6 +199,7 @@ export const fr = {
import_database: {
title: "Importer votre base de données",
import: "Importer",
+ view_docs : "Voir la documentation" ,
import_options: "Souhaitez-vous importer en utilisant :",
import_error: "Erreur d’analyse SQL",
import_error_description: "Nous n'avons pas pu importer votre SQL car il contient une syntaxe invalide.",
diff --git a/src/i18/languages/hi.ts b/src/i18/languages/hi.ts
index f110821..35c0372 100644
--- a/src/i18/languages/hi.ts
+++ b/src/i18/languages/hi.ts
@@ -5,9 +5,8 @@ export const hi = {
sidebar: {
tables: "तालिकाएँ",
relationships: "रिलेशनशिप्स",
- database: "डेटाबेस",
-
-
+ database: "डेटाबेस",
+ documentation : "दस्तावेज़"
},
color_picker: {
@@ -179,7 +178,7 @@ export const hi = {
theme: "थीम",
light: "हल्का",
dark: "गहरा",
- system: "सिस्टम" ,
+ system: "सिस्टम",
help: "मदद",
show_docs: "दस्तावेज़ दिखाएं",
join_discord: "डिस्कॉर्ड से जुड़ें"
@@ -200,11 +199,12 @@ export const hi = {
delete_database_content: "यह क्रिया अपरिवर्तनीय है और आरेख को स्थायी रूप से हटा देगी।",
delete: "हटाएँ",
empty_diagram: "खाली आरेख",
- create_and_import : "बनाएँ और आयात करें" ,
+ create_and_import: "बनाएँ और आयात करें",
import_database: {
title: "अपना डेटाबेस आयात करें",
import: "आयात करें",
+ view_docs : "दस्तावेज़ देखें" ,
import_options: "क्या आप निम्न के माध्यम से आयात करना चाहेंगे:",
import_error: "SQL पार्सिंग त्रुटि",
import_error_description: "हम आपका SQL आयात नहीं कर सके क्योंकि इसमें अमान्य सिंटैक्स है।",
@@ -216,7 +216,7 @@ export const hi = {
name: "नाम",
created_at: "बनाया गया",
tables: "टेबल्स"
- } ,
+ },
export_sql: "SQL निर्यात करें",
export_sql_header: "अपने डेटाबेस आरेख को SQL कोड में निर्यात करें"
},
diff --git a/src/i18/languages/pt.ts b/src/i18/languages/pt.ts
index 2a19f1e..385314c 100644
--- a/src/i18/languages/pt.ts
+++ b/src/i18/languages/pt.ts
@@ -6,6 +6,7 @@ export const pt = {
tables: "Tabelas",
relationships: "Relacionamentos",
database: "Banco de dados",
+ documentation : "Documentação"
},
color_picker: {
@@ -204,6 +205,7 @@ export const pt = {
import_database: {
title: "Importar seu Banco de Dados",
import: "Importar",
+ view_docs : "Ver documentação" ,
import_options: "Gostaria de importar usando:",
import_error: "Erro de Análise SQL",
import_error_description: "Não foi possível importar seu SQL porque contém sintaxe inválida.",
diff --git a/src/i18/languages/ru.ts b/src/i18/languages/ru.ts
index ef9e9ff..690497d 100644
--- a/src/i18/languages/ru.ts
+++ b/src/i18/languages/ru.ts
@@ -6,6 +6,7 @@ export const ru = {
tables: "Таблицы",
relationships: "Связи",
database: "База данных",
+ documentation : "Документация"
},
color_picker: {
default_color: "Цвет по умолчанию"
@@ -13,7 +14,6 @@ export const ru = {
navbar: {
rename_db: "Переименовать базу данных",
search: "Поиск",
-
command: "Введите команду или выполните поиск...",
},
db_controller: {
@@ -194,6 +194,7 @@ export const ru = {
import_database: {
title: "Импортируйте вашу базу данных",
import: "Импорт",
+ view_docs : "Просмотреть документацию" ,
import_options: "Вы хотите импортировать с помощью:",
import_error: "Ошибка разбора SQL",
import_error_description: "Не удалось импортировать SQL, так как он содержит недопустимый синтаксис.",
diff --git a/src/i18/languages/zh.ts b/src/i18/languages/zh.ts
index 8613fc1..902edbd 100644
--- a/src/i18/languages/zh.ts
+++ b/src/i18/languages/zh.ts
@@ -6,8 +6,7 @@ export const zh = {
tables: "数据表",
relationships: "关系",
database: "数据库",
-
-
+ documentation: "文档"
},
color_picker: {
@@ -16,7 +15,6 @@ export const zh = {
navbar: {
rename_db: "重命名数据库",
search: "搜索",
-
command: "输入命令或搜索...",
},
db_controller: {
@@ -212,6 +210,7 @@ export const zh = {
import_database: {
title: "导入数据库",
import: "导入",
+ view_docs : "查看文档" ,
import_options: "请选择导入方式:",
import_error: "SQL 解析错误",
import_error_description: "我们无法导入您的 SQL,因为它包含无效语法。",
diff --git a/src/lib/database.ts b/src/lib/database.ts
index 95b9028..a2a70ed 100644
--- a/src/lib/database.ts
+++ b/src/lib/database.ts
@@ -88,7 +88,8 @@ export interface ImportDatabaseMethod {
export interface ImportDatabaseOption {
dialect: DatabaseDialect,
- methods: ImportDatabaseMethod[]
+ methods: ImportDatabaseMethod[] ;
+ docUrl? : string ;
}
diff --git a/src/providers/database-provider/database-provider.tsx b/src/providers/database-provider/database-provider.tsx
index 2f0eb9c..4d2e4d7 100644
--- a/src/providers/database-provider/database-provider.tsx
+++ b/src/providers/database-provider/database-provider.tsx
@@ -1,5 +1,5 @@
import { DatabaseDataContext, DatabaseOperationsContext } from "./database-context";
-import { useCallback, useContext, useMemo, useState } from "react";
+import { useCallback, useContext, useEffect, useMemo, useState } from "react";
import { db } from "../sync-provider/sync-provider";
import { TableInsertType, tables, TableType } from "@/lib/schemas/table-schema";
import { useQuery } from "@powersync/react";
@@ -88,8 +88,11 @@ const DatabaseProvider: React.FC
= ({ children }) => {
else
database = undefined as any;
+ useEffect(() => {
+ console.log(database);
+ }, [database])
+
-
// Fetch all data types
let { data: data_types, isLoading: loadingDataTypes, isFetching: fetchingDatatypes } = useQuery(toCompilableQuery(
@@ -107,12 +110,12 @@ const DatabaseProvider: React.FC = ({ children }) => {
})
-
+
const isLoading: boolean = loadingDataTypes || loadingDatabases || loadingCurrentDatabase;
const isSwitchingDatabase: boolean = useMemo(() => {
return currentDatabaseId != (database as any)?.id
- }, [currentDatabaseId, database ]);
+ }, [currentDatabaseId, database]);
// CRUD for database
const createDatabase = useCallback(async (database: DatabaseInsertType): Promise => {
@@ -226,7 +229,7 @@ const DatabaseProvider: React.FC = ({ children }) => {
})
}, [db]);
- // Reorder fields in a table
+ // Reorder fields in a table
const orderTables = useCallback(async (tablesList: TableType[]): Promise => {
return await db.transaction(async (tx) => {
for (let index = 0; index < tablesList.length; index++) {
diff --git a/src/providers/diagram-provider/diagram-context.tsx b/src/providers/diagram-provider/diagram-context.tsx
index 4d536e8..506ae01 100644
--- a/src/providers/diagram-provider/diagram-context.tsx
+++ b/src/providers/diagram-provider/diagram-context.tsx
@@ -5,6 +5,9 @@ import { createContext, Dispatch } from "react";
interface DiagramDataContextType {
focusedTableId: string | undefined;
focusedRelationshipId: string | undefined;
+
+ setFocusedTableId : ( focused : string | undefined) => void ,
+ setFocusedRelationshipId : ( focused : string | undefined) => void
}
interface DiagramOpsContextType {
diff --git a/src/providers/diagram-provider/diagram-provider.tsx b/src/providers/diagram-provider/diagram-provider.tsx
index 9bef846..a1f1cdc 100644
--- a/src/providers/diagram-provider/diagram-provider.tsx
+++ b/src/providers/diagram-provider/diagram-provider.tsx
@@ -19,16 +19,16 @@ const DiagramProvider: React.FC = ({ children }) => {
const [focusedTableId, setFocusedTableId] = useState(undefined)
const [focusedRelationshipId, setFocusedRelationshipId] = useState(undefined)
const [isConnectionInProgress, setIsConnectionInProgress] = useState(false);
-
+
const [showController, setShowController] = useState(() => {
- const value: string | null = localStorage.getItem(CONTROLLER_VISIBILITY_KEY) ;
+ const value: string | null = localStorage.getItem(CONTROLLER_VISIBILITY_KEY);
if (value)
return JSON.parse(value);
return true;
});
const [cardinalityStyle, setCardinalityStyle] = useState(() => {
const value: string | null = localStorage.getItem(CARDINALITY_STYLE_KEY);
-
+
if (value)
return value as CardinalityStyle;
return CardinalityStyle.SYMBOLIC;
@@ -101,19 +101,21 @@ const DiagramProvider: React.FC = ({ children }) => {
}, [setFocusedRelationshipId]);
- const changeCardinalityStyle = useCallback((style : CardinalityStyle) => {
- localStorage.setItem(CARDINALITY_STYLE_KEY , style) ;
- setCardinalityStyle( style) ;
- } , []) ;
+ const changeCardinalityStyle = useCallback((style: CardinalityStyle) => {
+ localStorage.setItem(CARDINALITY_STYLE_KEY, style);
+ setCardinalityStyle(style);
+ }, []);
- const openController = useCallback((isOpen : boolean) => {
- localStorage.setItem( CONTROLLER_VISIBILITY_KEY , JSON.stringify(isOpen) ) ;
- setShowController(isOpen) ;
- } , [])
+ const openController = useCallback((isOpen: boolean) => {
+ localStorage.setItem(CONTROLLER_VISIBILITY_KEY, JSON.stringify(isOpen));
+ setShowController(isOpen);
+ }, [])
const contextDatatValue = useMemo(() => ({
focusedTableId,
focusedRelationshipId,
+ setFocusedTableId,
+ setFocusedRelationshipId
}), [focusedTableId, focusedRelationshipId,]);
@@ -124,7 +126,7 @@ const DiagramProvider: React.FC = ({ children }) => {
isConnectionInProgress,
showController,
cardinalityStyle,
- changeCardinalityStyle ,
+ changeCardinalityStyle,
openController
}), [focusOnTable, focusOnRelationship, setIsConnectionInProgress, isConnectionInProgress, showController, setShowController, cardinalityStyle,
diff --git a/src/routes/database-route.tsx b/src/routes/database-route.tsx
index f3c9323..479e6e3 100644
--- a/src/routes/database-route.tsx
+++ b/src/routes/database-route.tsx
@@ -1,5 +1,5 @@
-import Database from '@/features/database/';
+import DatabaseLayout from '@/features/database';
import RelationshipController from '@/features/database/components/db-controller/relationship-controller';
import TablesController from '@/features/database/components/db-controller/tables-controller';
import { Navigate, Route } from 'react-router-dom';
@@ -8,7 +8,7 @@ import { Navigate, Route } from 'react-router-dom';
const useDatabaseRoutes = () => {
return (
- } >
+ } >
} />
}>
}>