Skip to content

Commit 88f481b

Browse files
committed
style: styled StatementPreview
1 parent 8118d63 commit 88f481b

File tree

1 file changed

+42
-8
lines changed

1 file changed

+42
-8
lines changed

src/components/statementWizard/StatementPreview.tsx

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,57 @@
11
import React from 'react';
22
import type { Entry } from '../../../types/entries';
33

4+
// Mapping from atom to background classes based on your wizard border colors.
5+
const atomBgClasses: Record<string, string> = {
6+
subject: 'bg-subjectSelector', // derived from border-subjectSelector
7+
verb: 'bg-verbSelector', // derived from border-verbSelector
8+
object: 'bg-objectInput', // derived from border-objectInput
9+
adverbial: 'bg-gray-400', // using the complement color as default
10+
};
11+
412
interface StatementPreviewProps {
513
selection: Entry;
614
}
715

816
const StatementPreview: React.FC<StatementPreviewProps> = ({ selection }) => {
917
const { subject, verb, object, adverbial } = selection.atoms;
10-
const adverbialText =
11-
adverbial && adverbial.length > 0 ? adverbial.join(' ') : '';
12-
const fullStatement = `${subject} ${verb} ${object}${
13-
adverbialText ? ' ' + adverbialText : ''
14-
}`;
1518

1619
return (
1720
<div className='mt-4 p-2 border-t border-gray-200 bg-gray-50'>
18-
<p className='text-sm text-gray-600'>
19-
Current Statement: {fullStatement}
20-
</p>
21+
<p className='text-sm text-gray-600 mb-2'>Current Statement:</p>
22+
<div className='flex flex-wrap gap-2'>
23+
{subject && (
24+
<span
25+
className={`px-2 py-1 rounded ${atomBgClasses.subject} text-black`}
26+
>
27+
{subject}
28+
</span>
29+
)}
30+
{verb && (
31+
<span
32+
className={`px-2 py-1 rounded ${atomBgClasses.verb} text-black`}
33+
>
34+
{verb}
35+
</span>
36+
)}
37+
{object && (
38+
<span
39+
className={`px-2 py-1 rounded ${atomBgClasses.object} text-black`}
40+
>
41+
{object}
42+
</span>
43+
)}
44+
{adverbial &&
45+
adverbial.length > 0 &&
46+
adverbial.map((word, index) => (
47+
<span
48+
key={index}
49+
className={`px-2 py-1 rounded ${atomBgClasses.adverbial} text-black`}
50+
>
51+
{word}
52+
</span>
53+
))}
54+
</div>
2155
</div>
2256
);
2357
};

0 commit comments

Comments
 (0)