'use client';
import React, { useState } from 'react';
import InscriptionFormShared from '@/components/Inscription/InscriptionFormShared';
import { useSearchParams, useRouter } from 'next/navigation';
import { useCsrfToken } from '@/context/CsrfContext';
import { useEstablishment } from '@/context/EstablishmentContext';
import { FE_PARENTS_HOME_URL } from '@/utils/Url';
import { editRegisterForm } from '@/app/actions/subscriptionAction';
import logger from '@/utils/logger';

export default function Page() {
  const searchParams = useSearchParams();
  const studentId = searchParams.get('studentId');
  const enable = searchParams.get('enabled') === 'true';
  const router = useRouter();
  const csrfToken = useCsrfToken();
  const { selectedEstablishmentId } = useEstablishment();

  const handleSubmit = async (data) => {
    try {
      const result = await editRegisterForm(studentId, data, csrfToken);
      logger.debug('Success:', result);
      router.push(FE_PARENTS_HOME_URL);
    } catch (error) {
      logger.error('Error:', error);
    }
  };

  return (
    <InscriptionFormShared
      studentId={studentId}
      csrfToken={csrfToken}
      selectedEstablishmentId={selectedEstablishmentId}
      onSubmit={handleSubmit}
      cancelUrl={FE_PARENTS_HOME_URL}
      enable={enable}
    />
  );
}
