Manuel Bustillo 981f5079e3
Some checks failed
Check usage of free licenses / build-static-assets (pull_request) Successful in 54s
Playwright Tests / test (pull_request) Failing after 1m9s
Add copyright notice / copyright_notice (pull_request) Successful in 1m14s
Build Nginx-based docker image / build-static-assets (push) Has been cancelled
Use dompurify to sanitize content before rendering
2025-06-08 20:57:22 +02:00

26 lines
719 B
TypeScript

/* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
'use client'
import { AbstractApi } from '@/app/api/abstract-api';
import { Website, WebsiteSerializer } from '@/app/lib/website';
import { useState, useEffect } from 'react';
import DOMPurify from "dompurify";
export default function Page() {
const [websiteContent, setWebsiteContent] = useState<string>("");
const api = new AbstractApi<Website>();
const serializer = new WebsiteSerializer();
useEffect(() => {
api.get(serializer, undefined, (loadedWebsite) => {
setWebsiteContent(loadedWebsite.content || "");
});
}, []);
return (
<div dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(websiteContent) }} />
);
}