Skip to content

Commit df75fee

Browse files
committed
Insight Dashboard
1 parent a7d0ecb commit df75fee

File tree

15 files changed

+1239
-138
lines changed

15 files changed

+1239
-138
lines changed

apps/dashboard/src/@/components/ui/DynamicHeight.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function DynamicHeight(props: {
3434
);
3535
}
3636

37-
function useHeightObserver() {
37+
export function useHeightObserver() {
3838
const elementRef = useRef<HTMLDivElement>(null);
3939
const [height, setHeight] = useState<number | undefined>();
4040

apps/dashboard/src/@/components/ui/ScrollShadow/ScrollShadow.module.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
position: absolute;
33
left: 0;
44
width: 100%;
5-
height: 40px;
5+
height: 32px;
66
pointer-events: none;
77
}
88

99
.scrollShadowX {
1010
position: absolute;
1111
top: 0;
12-
width: 40px;
12+
width: 32px;
1313
height: 100%;
1414
pointer-events: none;
1515
}

apps/dashboard/src/@/components/ui/code/CodeBlockContainer.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ export function CodeBlockContainer(props: {
1111
children: React.ReactNode;
1212
className?: string;
1313
scrollableClassName?: string;
14+
scrollableContainerClassName?: string;
1415
copyButtonClassName?: string;
16+
shadowColor?: string;
1517
}) {
1618
const { hasCopied, onCopy } = useClipboard(props.codeToCopy);
1719

@@ -24,8 +26,11 @@ export function CodeBlockContainer(props: {
2426
>
2527
<ScrollShadow
2628
scrollableClassName={cn("p-4", props.scrollableClassName)}
27-
className="text-xs md:text-sm [&_*]:leading-relaxed"
28-
shadowColor="hsl(var(--muted))"
29+
className={cn(
30+
"text-xs md:text-sm [&_*]:leading-relaxed",
31+
props.scrollableContainerClassName,
32+
)}
33+
shadowColor={props.shadowColor || "hsl(var(--muted))"}
2934
>
3035
{props.children}
3136
</ScrollShadow>

apps/dashboard/src/@/components/ui/code/RenderCode.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ export function RenderCode(props: {
66
className?: string;
77
scrollableClassName?: string;
88
copyButtonClassName?: string;
9+
scrollableContainerClassName?: string;
10+
shadowColor?: string;
911
}) {
1012
return (
1113
<CodeBlockContainer
1214
codeToCopy={props.code}
1315
className={props.className}
1416
copyButtonClassName={props.copyButtonClassName}
1517
scrollableClassName={props.scrollableClassName}
18+
scrollableContainerClassName={props.scrollableContainerClassName}
19+
shadowColor={props.shadowColor}
1620
>
1721
<div
1822
// biome-ignore lint/security/noDangerouslySetInnerHtml: we know what we're doing here

apps/dashboard/src/@/components/ui/code/code.client.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ export type CodeProps = {
1212
scrollableClassName?: string;
1313
keepPreviousDataOnCodeChange?: boolean;
1414
copyButtonClassName?: string;
15+
scrollableContainerClassName?: string;
16+
shadowColor?: string;
1517
};
1618

1719
export const CodeClient: React.FC<CodeProps> = ({
@@ -21,6 +23,8 @@ export const CodeClient: React.FC<CodeProps> = ({
2123
scrollableClassName,
2224
keepPreviousDataOnCodeChange = false,
2325
copyButtonClassName,
26+
scrollableContainerClassName,
27+
shadowColor,
2428
}) => {
2529
const codeQuery = useQuery({
2630
queryKey: ["html", code],
@@ -38,6 +42,8 @@ export const CodeClient: React.FC<CodeProps> = ({
3842
className={className}
3943
scrollableClassName={scrollableClassName}
4044
copyButtonClassName={copyButtonClassName}
45+
scrollableContainerClassName={scrollableContainerClassName}
46+
shadowColor={shadowColor}
4147
/>
4248
);
4349
}
@@ -49,6 +55,8 @@ export const CodeClient: React.FC<CodeProps> = ({
4955
className={className}
5056
scrollableClassName={scrollableClassName}
5157
copyButtonClassName={copyButtonClassName}
58+
scrollableContainerClassName={scrollableContainerClassName}
59+
shadowColor={shadowColor}
5260
/>
5361
);
5462
};

apps/dashboard/src/@/components/ui/code/getCodeHtml.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ function isPrettierSupportedLang(lang: BundledLanguage) {
1010
lang === "ts" ||
1111
lang === "tsx" ||
1212
lang === "javascript" ||
13-
lang === "typescript" ||
14-
lang === "css" ||
15-
lang === "json"
13+
lang === "typescript"
1614
);
1715
}
1816

apps/dashboard/src/@/components/ui/code/plaintext-code.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ export function PlainTextCodeBlock(props: {
77
className?: string;
88
scrollableClassName?: string;
99
codeClassName?: string;
10+
scrollableContainerClassName?: string;
11+
shadowColor?: string;
1012
}) {
1113
return (
1214
<CodeBlockContainer
1315
codeToCopy={props.code}
1416
className={props.className}
1517
copyButtonClassName={props.copyButtonClassName}
1618
scrollableClassName={props.scrollableClassName}
19+
scrollableContainerClassName={props.scrollableContainerClassName}
20+
shadowColor={props.shadowColor}
1721
>
1822
<code className={cn("block whitespace-pre", props.codeClassName)}>
1923
{props.code}

0 commit comments

Comments
 (0)