Skip to content

Commit 95e80c2

Browse files
committed
accordion finetuning en show on print
1 parent 9d4dc1c commit 95e80c2

File tree

3 files changed

+38
-22
lines changed

3 files changed

+38
-22
lines changed

src/components/componentMapper.tsx

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,7 @@ import Markdown from 'react-markdown';
66
import { getLabel } from './graphs/get-label';
77
import { CSVData } from './bias-detection-interfaces/csv-data';
88
import { Fragment } from 'react/jsx-runtime';
9-
import {
10-
Accordion,
11-
AccordionContent,
12-
AccordionItem,
13-
AccordionTrigger,
14-
} from './ui/accordion';
9+
import { Accordion } from './ui/accordion';
1510

1611
const createArrayFromPythonDictionary = (dict: Record<string, number>) => {
1712
const resultArray = [];
@@ -79,18 +74,11 @@ export default function ComponentMapper({
7974
);
8075
case 'accordion':
8176
return (
82-
<Accordion key={index} type="single" collapsible>
83-
<AccordionItem value="item-1">
84-
<AccordionTrigger>
85-
{resultItem.title}
86-
</AccordionTrigger>
87-
<AccordionContent>
88-
<Markdown className="mt-2 text-gray-800 markdown">
89-
{resultItem.content}
90-
</Markdown>
91-
</AccordionContent>
92-
</AccordionItem>
93-
</Accordion>
77+
<Accordion
78+
key={index}
79+
title={resultItem.title}
80+
content={resultItem.content}
81+
/>
9482
);
9583
case 'histogram': {
9684
const histogramData = JSON.parse(resultItem.data)?.map(

src/components/ui/accordion.tsx

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import * as AccordionPrimitive from '@radix-ui/react-accordion';
55
import { ChevronDown } from 'lucide-react';
66

77
import { cn } from '@/lib/utils';
8-
9-
const Accordion = AccordionPrimitive.Root;
8+
import Markdown from 'react-markdown';
109

1110
const AccordionItem = React.forwardRef<
1211
React.ElementRef<typeof AccordionPrimitive.Item>,
@@ -28,7 +27,7 @@ const AccordionTrigger = React.forwardRef<
2827
<AccordionPrimitive.Trigger
2928
ref={ref}
3029
className={cn(
31-
'flex flex-1 items-center justify-between pb-4 text-md font-semibold transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180',
30+
'flex flex-1 items-center justify-between p-2 rounded-lg text-md bg-neutral-500 text-white transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180',
3231
className
3332
)}
3433
{...props}
@@ -54,4 +53,29 @@ const AccordionContent = React.forwardRef<
5453
));
5554
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
5655

57-
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
56+
export interface AccordionProps {
57+
title: string;
58+
content: string;
59+
}
60+
61+
export const Accordion = (props: AccordionProps) => (
62+
<>
63+
<div className="hideonprint">
64+
<AccordionPrimitive.Root type="single" collapsible>
65+
<AccordionItem value="item-1">
66+
<AccordionTrigger>{props.title}</AccordionTrigger>
67+
<AccordionContent>
68+
<Markdown className="mt-2 text-gray-800 markdown">
69+
{props.content}
70+
</Markdown>
71+
</AccordionContent>
72+
</AccordionItem>
73+
</AccordionPrimitive.Root>
74+
</div>
75+
<div className="hidden showonprint">
76+
<Markdown className="text-gray-800 markdown">
77+
{props.content}
78+
</Markdown>
79+
</div>
80+
</>
81+
);

src/routes/BiasDetection.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ const PAGE_STYLE = `
2525
display: none !important;
2626
}
2727
28+
.showonprint {
29+
display: block !important;
30+
}
31+
2832
@page {
2933
size: landscape;
3034
margin: 30px 20px;

0 commit comments

Comments
 (0)