diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
index cde299e7bd1..c883ea9d27f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
@@ -1,6 +1,7 @@
import Headline from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/Headline";
import { questionTypes } from "@/app/lib/questions";
import { InboxStackIcon } from "@heroicons/react/24/solid";
+import { CircleSlash2, SmileIcon, StarIcon } from "lucide-react";
import { useMemo } from "react";
import type { TSurveyQuestionSummary } from "@formbricks/types/surveys";
@@ -79,6 +80,26 @@ export default function RatingSummary({ questionSummary }: RatingSummaryProps) {
return total;
}, [results]);
+ const averageRating = useMemo(() => {
+ let total = 0;
+ let count = 0;
+ questionSummary.responses.forEach((response) => {
+ if (response.value && typeof response.value === "number") {
+ total += response.value;
+ count += 1;
+ }
+ });
+ const average = count > 0 ? total / count : 0;
+ return parseFloat(average.toFixed(2));
+ }, [questionSummary]);
+
+ const getIconBasedOnScale = useMemo(() => {
+ const scale = questionSummary.question.scale;
+ if (scale === "number") return