fix: tweaks on summary page (#1791)

This commit is contained in:
Dhruwang Jariwala
2023-12-18 15:30:16 +05:30
committed by GitHub
parent 6f552886d0
commit 89c614fafb
11 changed files with 46 additions and 27 deletions

View File

@@ -4,7 +4,6 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "storybook dev -p 6006",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview",
"storybook": "storybook dev -p 6006",

View File

@@ -32,7 +32,7 @@ export default function CTASummary({ questionSummary }: CTASummaryProps) {
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className=" flex items-center rounded-lg bg-slate-100 p-2 ">
@@ -43,6 +43,9 @@ export default function CTASummary({ questionSummary }: CTASummaryProps) {
<InboxStackIcon className="mr-2 h-4 w-4 " />
{ctr.count} responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="space-y-5 rounded-b-lg bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">

View File

@@ -40,7 +40,7 @@ export default function ConsentSummary({ questionSummary }: ConsentSummaryProps)
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className=" flex items-center rounded-lg bg-slate-100 p-2">
{questionTypeInfo && <questionTypeInfo.icon className="mr-2 h-4 w-4 " />}
@@ -50,6 +50,9 @@ export default function ConsentSummary({ questionSummary }: ConsentSummaryProps)
<InboxStackIcon className="mr-2 h-4 w-4 " />
{ctr.count} responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="space-y-5 rounded-b-lg bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">

View File

@@ -27,7 +27,7 @@ export default function DateQuestionSummary({
return (
<div className="rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2 ">
@@ -38,6 +38,9 @@ export default function DateQuestionSummary({
<InboxStackIcon className="mr-2 h-4 w-4" />
{questionSummary.responses.length} Responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="rounded-b-lg bg-white ">
@@ -81,15 +84,15 @@ export default function DateQuestionSummary({
);
})}
<div className="my-1 flex justify-center">
{displayCount < questionSummary.responses.length && (
{displayCount < questionSummary.responses.length && (
<div className="my-1 flex justify-center">
<button
onClick={() => setDisplayCount((prevCount) => prevCount + responsesPerPage)}
className="my-2 flex h-8 items-center justify-center rounded-lg border border-gray-300 bg-white px-3 text-sm text-gray-500 hover:bg-gray-100 hover:text-gray-700">
Show more
</button>
)}
</div>
</div>
)}
</div>
</div>
);

View File

@@ -21,7 +21,7 @@ export default function FileUploadSummary({ questionSummary, environmentId }: Fi
return (
<div className="rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2 ">
@@ -32,6 +32,9 @@ export default function FileUploadSummary({ questionSummary, environmentId }: Fi
<InboxStackIcon className="mr-2 h-4 w-4" />
{questionSummary.responses.length} Responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="rounded-b-lg bg-white ">

View File

@@ -1,17 +1,11 @@
interface HeadlineProps {
headline: string;
required?: boolean;
}
export default function Headline({ headline, required = true }: HeadlineProps) {
export default function Headline({ headline }: HeadlineProps) {
return (
<div className={"align-center flex justify-between gap-4 "}>
<h3 className="pb-1 text-lg font-semibold text-slate-900 md:text-xl">{headline}</h3>
{!required && (
<span className="text-md pb-1 font-light leading-7 text-gray-500" tabIndex={-1}>
Optional
</span>
)}
</div>
);
}

View File

@@ -131,7 +131,7 @@ export default function MultipleChoiceSummary({
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2">
@@ -142,6 +142,9 @@ export default function MultipleChoiceSummary({
<InboxStackIcon className="mr-2 h-4 w-4 " />
{totalResponses} responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
{/* <div className=" flex items-center rounded-lg bg-slate-100 p-2">
<ArrowTrendingUpIcon className="mr-2 h-4 w-4" />
2.8 average

View File

@@ -80,7 +80,7 @@ export default function NPSSummary({ questionSummary }: NPSSummaryProps) {
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2">
@@ -91,6 +91,9 @@ export default function NPSSummary({ questionSummary }: NPSSummaryProps) {
<InboxStackIcon className="mr-2 h-4 w-4 " />
{result.total} responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="space-y-5 rounded-b-lg bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">

View File

@@ -27,8 +27,7 @@ export default function OpenTextSummary({
return (
<div className="rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2 ">
{questionTypeInfo && <questionTypeInfo.icon className="mr-2 h-4 w-4 " />}
@@ -38,6 +37,9 @@ export default function OpenTextSummary({
<InboxStackIcon className="mr-2 h-4 w-4" />
{questionSummary.responses.length} Responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="rounded-b-lg bg-white ">
@@ -81,15 +83,15 @@ export default function OpenTextSummary({
);
})}
<div className="my-1 flex justify-center">
{displayCount < questionSummary.responses.length && (
{displayCount < questionSummary.responses.length && (
<div className="flex justify-center py-1">
<button
onClick={() => setDisplayCount((prevCount) => prevCount + responsesPerPage)}
className="my-2 flex h-8 items-center justify-center rounded-lg border border-gray-300 bg-white px-3 text-sm text-gray-500 hover:bg-gray-100 hover:text-gray-700">
Show more
</button>
)}
</div>
</div>
)}
</div>
</div>
);

View File

@@ -74,7 +74,7 @@ export default function PictureChoiceSummary({ questionSummary }: PictureChoiceS
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2">
@@ -88,6 +88,9 @@ export default function PictureChoiceSummary({ questionSummary }: PictureChoiceS
<div className="flex items-center rounded-lg bg-slate-100 p-2">
{isMulti ? "Multi" : "Single"} Select
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="space-y-5 rounded-b-lg bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">

View File

@@ -82,7 +82,7 @@ export default function RatingSummary({ questionSummary }: RatingSummaryProps) {
return (
<div className=" rounded-lg border border-slate-200 bg-slate-50 shadow-sm">
<div className="space-y-2 px-4 pb-5 pt-6 md:px-6">
<Headline headline={questionSummary.question.headline} required={questionSummary.question.required} />
<Headline headline={questionSummary.question.headline} />
<div className="flex space-x-2 text-xs font-semibold text-slate-600 md:text-sm">
<div className="flex items-center rounded-lg bg-slate-100 p-2">
@@ -93,9 +93,12 @@ export default function RatingSummary({ questionSummary }: RatingSummaryProps) {
<InboxStackIcon className="mr-2 h-4 w-4 " />
{totalResponses} responses
</div>
{!questionSummary.question.required && (
<div className="flex items-center rounded-lg bg-slate-100 p-2">Optional</div>
)}
</div>
</div>
<div className="space-y-5 bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">
<div className="space-y-5 rounded-b-lg bg-white px-4 pb-6 pt-4 text-sm md:px-6 md:text-base">
{results.map((result: any) => (
<div key={result.label}>
<div className="text flex justify-between px-2 pb-2">