Skip to content

Commit 84b6acd

Browse files
authored
Merge pull request #237 from outerbase/breakdown-to-extension
restructure to more extension-based
2 parents 0decc76 + 851ab42 commit 84b6acd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+897
-774
lines changed

src/app/(theme)/embed/dolt/page-client.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframeDoltDriver } from "@/drivers/iframe-driver";
6+
import DoltExtension from "@/extensions/dolt";
47
import { useSearchParams } from "next/navigation";
58
import { useEffect, useMemo } from "react";
69

710
export default function EmbedPageClient() {
811
const searchParams = useSearchParams();
912
const driver = useMemo(() => new IframeDoltDriver(), []);
1013

14+
const extensions = useMemo(() => {
15+
return new StudioExtensionManager([
16+
...createStandardExtensions(),
17+
new DoltExtension(),
18+
]);
19+
}, []);
20+
1121
useEffect(() => {
1222
return driver.listen();
1323
}, [driver]);
@@ -17,6 +27,7 @@ export default function EmbedPageClient() {
1727
driver={driver}
1828
name={searchParams.get("name") || "Unnamed Connection"}
1929
color={searchParams.get("color") || "gray"}
30+
extensions={extensions}
2031
/>
2132
);
2233
}

src/app/(theme)/embed/mysql/page-client.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframeMySQLDriver } from "@/drivers/iframe-driver";
46
import { useSearchParams } from "next/navigation";
57
import { useEffect, useMemo } from "react";
@@ -8,13 +10,18 @@ export default function EmbedPageClient() {
810
const searchParams = useSearchParams();
911
const driver = useMemo(() => new IframeMySQLDriver(), []);
1012

13+
const extensions = useMemo(() => {
14+
return new StudioExtensionManager(createStandardExtensions());
15+
}, []);
16+
1117
useEffect(() => {
1218
return driver.listen();
1319
}, [driver]);
1420

1521
return (
1622
<Studio
1723
driver={driver}
24+
extensions={extensions}
1825
name={searchParams.get("name") || "Unnamed Connection"}
1926
color={searchParams.get("color") || "gray"}
2027
/>

src/app/(theme)/embed/postgres/page-client.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframePostgresDriver } from "@/drivers/iframe-driver";
46
import { useSearchParams } from "next/navigation";
57
import { useEffect, useMemo } from "react";
@@ -8,13 +10,18 @@ export default function EmbedPageClient() {
810
const searchParams = useSearchParams();
911
const driver = useMemo(() => new IframePostgresDriver(), []);
1012

13+
const extensions = useMemo(() => {
14+
return new StudioExtensionManager(createStandardExtensions());
15+
}, []);
16+
1117
useEffect(() => {
1218
return driver.listen();
1319
}, [driver]);
1420

1521
return (
1622
<Studio
1723
driver={driver}
24+
extensions={extensions}
1825
name={searchParams.get("name") || "Unnamed Connection"}
1926
color={searchParams.get("color") || "gray"}
2027
/>

src/app/(theme)/embed/sqlite/page-client.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframeSQLiteDriver } from "@/drivers/iframe-driver";
46
import { useSearchParams } from "next/navigation";
57
import { useEffect, useMemo } from "react";
@@ -8,12 +10,17 @@ export default function EmbedPageClient() {
810
const searchParams = useSearchParams();
911
const driver = useMemo(() => new IframeSQLiteDriver(), []);
1012

13+
const extensions = useMemo(() => {
14+
return new StudioExtensionManager(createStandardExtensions());
15+
}, []);
16+
1117
useEffect(() => {
1218
return driver.listen();
1319
}, [driver]);
1420

1521
return (
1622
<Studio
23+
extensions={extensions}
1724
driver={driver}
1825
name={searchParams.get("name") || "Unnamed Connection"}
1926
color={searchParams.get("color") || "gray"}

src/app/(theme)/embed/starbase/page-client.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframeSQLiteDriver } from "@/drivers/iframe-driver";
46
import { useSearchParams } from "next/navigation";
57
import { useEffect, useMemo } from "react";
@@ -11,13 +13,18 @@ export default function EmbedPageClient() {
1113
[]
1214
);
1315

16+
const extensions = useMemo(() => {
17+
return new StudioExtensionManager(createStandardExtensions());
18+
}, []);
19+
1420
useEffect(() => {
1521
return driver.listen();
1622
}, [driver]);
1723

1824
return (
1925
<Studio
2026
driver={driver}
27+
extensions={extensions}
2128
name={searchParams.get("name") || "Unnamed Connection"}
2229
color={searchParams.get("color") || "blue"}
2330
/>

src/app/(theme)/embed/turso/page-client.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use client";
22
import { Studio } from "@/components/gui/studio";
3+
import { StudioExtensionManager } from "@/core/extension-manager";
4+
import { createStandardExtensions } from "@/core/standard-extension";
35
import { IframeSQLiteDriver } from "@/drivers/iframe-driver";
46
import { useSearchParams } from "next/navigation";
57
import { useEffect, useMemo } from "react";
@@ -16,13 +18,18 @@ export default function EmbedPageClient() {
1618
[]
1719
);
1820

21+
const extensions = useMemo(() => {
22+
return new StudioExtensionManager(createStandardExtensions());
23+
}, []);
24+
1925
useEffect(() => {
2026
return driver.listen();
2127
}, [driver]);
2228

2329
return (
2430
<Studio
2531
driver={driver}
32+
extensions={extensions}
2633
name={searchParams.get("name") || "Unnamed Connection"}
2734
color={searchParams.get("color") || "gray"}
2835
/>

0 commit comments

Comments
 (0)