"use client"; import { useEffect, useState } from 'react'; import { useKnowledgeBaseArticle } from '@/lib/hooks/useSupport'; import { markArticleHelpful } from '@/lib/api/supportService'; interface KnowledgeBaseArticleModalProps { slug: string; onClose: () => void; } const KnowledgeBaseArticleModal = ({ slug, onClose }: KnowledgeBaseArticleModalProps) => { const { article, loading, error } = useKnowledgeBaseArticle(slug); const [feedbackGiven, setFeedbackGiven] = useState(false); useEffect(() => { // Prevent body scroll when modal is open document.body.style.overflow = 'hidden'; return () => { document.body.style.overflow = 'unset'; }; }, []); const handleFeedback = async (helpful: boolean) => { if (!article || feedbackGiven) return; try { await markArticleHelpful(slug, helpful); setFeedbackGiven(true); } catch (error) { console.error('Error submitting feedback:', error); } }; const formatDate = (dateString: string) => { const date = new Date(dateString); return date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); }; return (
Loading article...
{error}
Thank you for your feedback!
) : (