From 0843c55f5907939f44220a8e68e96b951f4f72c2 Mon Sep 17 00:00:00 2001 From: ejminguez Date: Mon, 13 Oct 2025 00:29:24 +0800 Subject: [PATCH 1/2] feat: updated evaluation questions --- frontend/src/components/Slider.tsx | 11 +- frontend/src/components/TextArea.tsx | 15 +- frontend/src/hooks/usePyconEvaluationForm.ts | 100 ++++++++++ frontend/src/model/pycon/evaluations.ts | 115 ++++++++++++ .../pages/client/pycon/evaluate/Evaluate.tsx | 88 +++++++++ .../pycon/evaluate/EvaluateFormSkeleton.tsx | 32 ++++ .../pycon/evaluate/PyconEvaluatePage.tsx | 17 ++ .../pycon/evaluate/footer/EvaluateFooter.tsx | 93 ++++++++++ .../evaluate/footer/useEvaluateFooter.ts | 133 ++++++++++++++ .../questionBuilder/QuestionBuilder.tsx | 27 +++ .../questionBuilder/QuestionTypeSwitch.tsx | 106 +++++++++++ .../questionBuilder/questionSchemaBuilder.ts | 67 +++++++ .../questionBuilder/questionsConfig.ts | 173 ++++++++++++++++++ .../pycon/evaluate/steps/ClaimCertificate.tsx | 67 +++++++ .../pycon/evaluate/steps/EvaluationSteps.ts | 27 +++ .../pycon/evaluate/steps/EventInformation.tsx | 64 +++++++ .../pycon/evaluate/steps/shareToLinkedIn.ts | 40 ++++ .../evaluate/steps/useClaimCertificate.ts | 35 ++++ .../client/pycon/evaluate/useEvaluatePage.ts | 18 ++ frontend/src/routes/routes.tsx | 2 +- 20 files changed, 1221 insertions(+), 9 deletions(-) create mode 100644 frontend/src/hooks/usePyconEvaluationForm.ts create mode 100644 frontend/src/model/pycon/evaluations.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/Evaluate.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/EvaluateFormSkeleton.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/PyconEvaluatePage.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/footer/EvaluateFooter.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/footer/useEvaluateFooter.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/questionBuilder/QuestionBuilder.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/questionBuilder/QuestionTypeSwitch.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/questionBuilder/questionSchemaBuilder.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/questionBuilder/questionsConfig.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/steps/ClaimCertificate.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/steps/EvaluationSteps.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/steps/EventInformation.tsx create mode 100644 frontend/src/pages/client/pycon/evaluate/steps/shareToLinkedIn.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/steps/useClaimCertificate.ts create mode 100644 frontend/src/pages/client/pycon/evaluate/useEvaluatePage.ts diff --git a/frontend/src/components/Slider.tsx b/frontend/src/components/Slider.tsx index 32daef2a..07bdd5d1 100644 --- a/frontend/src/components/Slider.tsx +++ b/frontend/src/components/Slider.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; +import durian from '@/assets/pycon/durian.png'; import { cn } from '@/utils/classes'; import * as SliderPrimitive from '@radix-ui/react-slider'; @@ -12,11 +13,13 @@ const Slider = React.forwardRef, R )} {...props} > - - + + - - + ) ); diff --git a/frontend/src/components/TextArea.tsx b/frontend/src/components/TextArea.tsx index a73bf3f8..237a384b 100644 --- a/frontend/src/components/TextArea.tsx +++ b/frontend/src/components/TextArea.tsx @@ -1,20 +1,27 @@ import * as React from 'react'; import { cn } from '@/utils/classes'; -export interface TextareaProps extends React.TextareaHTMLAttributes {} +export interface TextareaProps extends React.TextareaHTMLAttributes { + variant?: 'default' | 'custard'; +} + +const Textarea = React.forwardRef(({ className, variant = 'default', ...props }, ref) => { + const variantClass = variant === 'custard' ? 'bg-[#feefdb] text-[#312541] placeholder:text-gray-600' : 'bg-input'; -const Textarea = React.forwardRef(({ className, ...props }, ref) => { return (