diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index a17ed84..5191cbf 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ -open_collective: drawdb \ No newline at end of file +open_collective: drawdb +buy_me_a_coffee: drawdb \ No newline at end of file diff --git a/src/components/EditorCanvas/Canvas.jsx b/src/components/EditorCanvas/Canvas.jsx index d16b392..7587f12 100644 --- a/src/components/EditorCanvas/Canvas.jsx +++ b/src/components/EditorCanvas/Canvas.jsx @@ -23,6 +23,7 @@ import { } from "../../hooks"; import { useTranslation } from "react-i18next"; import { useEventListener } from "usehooks-ts"; +import { areFieldsCompatible } from "../../utils/utils"; export default function Canvas() { const { t } = useTranslation(); @@ -34,7 +35,8 @@ export default function Canvas() { pointer, } = canvasContextValue; - const { tables, updateTable, relationships, addRelationship } = useDiagram(); + const { tables, updateTable, relationships, addRelationship, database } = + useDiagram(); const { areas, updateArea } = useAreas(); const { notes, updateNote } = useNotes(); const { layout } = useLayout(); @@ -399,8 +401,11 @@ export default function Canvas() { if (hoveredTable.tableId < 0) return; if (hoveredTable.field < 0) return; if ( - tables[linkingLine.startTableId].fields[linkingLine.startFieldId].type !== - tables[hoveredTable.tableId].fields[hoveredTable.field].type + !areFieldsCompatible( + database, + tables[linkingLine.startTableId].fields[linkingLine.startFieldId], + tables[hoveredTable.tableId].fields[hoveredTable.field], + ) ) { Toast.info(t("cannot_connect")); return; diff --git a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx index f8d99c0..f844513 100644 --- a/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx +++ b/src/components/EditorSidePanel/TablesTab/FieldDetails.jsx @@ -299,6 +299,44 @@ export default function FieldDetails({ data, tid, index }) { /> )} + {databases[database].hasUnsignedTypes && + dbToTypes[database][data.type].signed && ( +