feat(rendering): component based

This commit is contained in:
Pihkaal
2024-01-26 09:17:40 +01:00
parent 64fc73a05e
commit 0a9ce46e02
8 changed files with 100 additions and 18 deletions

View File

@@ -0,0 +1,18 @@
import { createContext, useContext } from "react";
import { type TerminalRenderer } from "~/utils/terminal/renderer";
const TerminalCanvasContext = createContext<TerminalRenderer | undefined>(
undefined,
);
export const TerminalCanvasContextProvider = TerminalCanvasContext.Provider;
export const useTerminalCanvas = () => {
const context = useContext(TerminalCanvasContext);
if (!context)
throw new Error(
"useTerminalCanvas must be used inside a Terminal component",
);
return context;
};

View File

@@ -1,8 +1,8 @@
import { createContext, useContext } from "react";
const TerminalContext = createContext<{ cols: number; rows: number } | null>(
null,
);
const TerminalContext = createContext<
{ cols: number; rows: number } | undefined
>(undefined);
export const TerminalContextProvider = TerminalContext.Provider;