+ {infoCards.map((infoCard, index) => {
+ const colorClass =
+ infoCard.variant &&
+ Mappings.NotificationSummary.notificationSummaryVariants[
+ infoCard.variant as keyof typeof Mappings.NotificationSummary.notificationSummaryVariants
+ ];
+
+ return (
+
+ {infoCard.value}
+
+ }
+ description={
+ infoCard.description ? (
+
+
+
+ ) : undefined
+ }
+ icon={
+ infoCard.icon ? (
+
+ ) : undefined
+ }
+ />
+ );
+ })}
+
+ );
+};
diff --git a/packages/blocks/notification-summary/src/frontend/NotificationSummary.renderer.tsx b/packages/blocks/notification-summary/src/frontend/NotificationSummary.renderer.tsx
new file mode 100644
index 000000000..38e942229
--- /dev/null
+++ b/packages/blocks/notification-summary/src/frontend/NotificationSummary.renderer.tsx
@@ -0,0 +1,31 @@
+import { useLocale } from 'next-intl';
+import React, { Suspense } from 'react';
+
+import { Loading } from '@o2s/ui/components/Loading';
+
+import { NotificationSummary } from './NotificationSummary.server';
+import { NotificationSummaryRendererProps } from './NotificationSummary.types';
+
+export const NotificationSummaryRenderer: React.FC