import React from 'react' import { FaClipboardCheck, FaQuestionCircle, FaUsers, FaClock, FaArrowRight } from 'react-icons/fa' import dayjs from 'dayjs' import { SurveyDto } from '@/proxy/intranet/models' import useLocale from '@/utils/hooks/useLocale' import { currentLocalDate } from '@/utils/dateUtils' import { useLocalization } from '@/utils/hooks/useLocalization' interface SurveysProps { surveys?: SurveyDto[] onTakeSurvey: (survey: SurveyDto) => void } const Surveys: React.FC = ({ surveys, onTakeSurvey }) => { const currentLocale = useLocale() const { translate } = useLocalization() return (
{/* Header with gradient */}

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.Title')}

{surveys?.map((survey, index) => { const daysLeft = dayjs(survey.deadline).diff(dayjs(), 'day') const urgency = daysLeft <= 3 ? 'urgent' : daysLeft <= 7 ? 'warning' : 'normal' const isCompleted = !!survey.myResponse return (
onTakeSurvey(survey)} className={`group relative p-5 rounded-xl border cursor-pointer transition-all duration-300 hover:shadow-lg hover:-translate-y-1 ${ isCompleted ? 'bg-green-50 dark:bg-green-900/20 border-green-300 dark:border-green-700 hover:border-green-400 dark:hover:border-green-500' : 'bg-white dark:bg-gray-750 border-gray-200 dark:border-gray-600 hover:border-purple-300 dark:hover:border-purple-500' }`} > {/* Background gradient on hover */}
{/* Survey Title */}
{isCompleted && ( )}

{survey.title}

{daysLeft > 0 ? translate('::App.Platform.Intranet.Widgets.ActiveSurveys.DaysLeft', { count: daysLeft }) : translate('::App.Platform.Intranet.Widgets.ActiveSurveys.LastDay')}
{/* Survey Stats */}

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.Questions')}

{survey.questions.length}

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.Responses')}

{survey.responses}

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.Duration')}

~5dk

{/* Progress Bar */}
{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.CompletionRate')} {Math.round((survey.responses / 100) * 100)}%
{/* Deadline */}

{currentLocalDate(survey.deadline, currentLocale || 'tr')}

{/* Action Button */}
) })} {surveys?.length === 0 && (

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.NoActive')}

{translate('::App.Platform.Intranet.Widgets.ActiveSurveys.WillAppearHere')}

)}
) } export default Surveys