mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2025-12-30 21:29:44 -06:00
* feat(go-sdk): cron and schedules API, minor fixes * try to improve code block and docs * revert pre-commit * fix: generate * fix: put overflow in right place * remove branch specs
41 lines
947 B
TypeScript
41 lines
947 B
TypeScript
"use client";
|
|
|
|
import { useTheme } from "nextra-theme-docs";
|
|
import React, { useEffect, useState, useMemo } from "react";
|
|
import { codeToHtml } from "shiki";
|
|
|
|
interface CodeStyleRenderProps {
|
|
parsed: string;
|
|
language: string;
|
|
}
|
|
|
|
const CodeStyleRender = ({ parsed, language }: CodeStyleRenderProps) => {
|
|
const [html, setHtml] = useState<string>("");
|
|
const theme = useTheme();
|
|
|
|
const themeName = useMemo(() => {
|
|
return theme.resolvedTheme === "dark" ? "github-dark" : "github-light";
|
|
}, [theme.resolvedTheme]);
|
|
|
|
useEffect(() => {
|
|
const asyncHighlight = async () => {
|
|
const highlightedHtml = await codeToHtml(parsed, {
|
|
lang: language.toLowerCase(),
|
|
theme: themeName,
|
|
});
|
|
|
|
setHtml(highlightedHtml);
|
|
};
|
|
|
|
asyncHighlight();
|
|
}, [parsed, language, themeName]);
|
|
|
|
return (
|
|
<>
|
|
<div dangerouslySetInnerHTML={{ __html: html }}></div>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default CodeStyleRender;
|