T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/src/pages/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/src/pages/faq.tsx
import { useState, useEffect } from 'react';
import { useRouter } from 'next/router';
import LayoutWithSidebar from '../components/LayoutWithSidebar';
import StructuredData, { createFAQStructuredData, createBreadcrumbStructuredData } from '../components/StructuredData';
import OpenGraphMeta from '../components/OpenGraphMeta';
import { motion } from 'framer-motion';

const translations = {
  en: {
    title: 'Frequently Asked Questions',
    faqs: [
      {
        question: 'Who can participate in this class action?',
        answer: 'Any detained person or someone with a detained relative can participate in this class action. This includes detainees themselves, their families, and their loved ones.'
      },
      {
        question: 'What rights are we defending?',
        answer: 'We are defending several fundamental rights, including the right to dignified detention conditions, access to medical care, maintaining family ties, and respect for fundamental human rights.'
      },
      {
        question: 'How can I register for the class action?',
        answer: 'You can register by filling out the registration form on our website. We will guide you through the process and provide you with all necessary information.'
      },
      {
        question: 'Are there any fees to participate?',
        answer: 'No, participation in the class action is free. We work on a contingency basis, which means we only collect fees if the action is successful.'
      },
      {
        question: 'How long will the class action take?',
        answer: 'The duration of a class action can vary, but we are committed to keeping all participants informed of the progress. We work efficiently to achieve results as quickly as possible.'
      },
      {
        question: 'What happens after I register?',
        answer: 'After registration, our legal team will review your case and contact you to discuss next steps. We will keep you informed of all important developments.'
      },
      {
        question: 'How can I access the class action information if I\'m in prison?',
        answer: 'While in prison, you can access the official court documents through canlii.org, which is available in prison computer systems. For registration, you can ask a family member or friend to help you register through our website.'
      },
      {
        question: 'How can I stay updated about the case progress?',
        answer: 'We will send regular updates to the contact information you provide during registration. You can also check canlii.org for official court documents and updates.'
      },
      {
        question: 'What if I need help with the registration process?',
        answer: 'If you need assistance with registration, you can ask a family member or friend to help you, or contact us through our website. We can guide you through the process and answer any questions you may have.'
      },
      {
        question: 'Can I still participate if I\'m no longer in prison?',
        answer: 'Yes, if you were detained during the relevant time period, you can still participate in the class action. The same applies to family members of current or former detainees.'
      },
      {
        question: 'How will I know if the class action is successful?',
        answer: 'We will notify all registered participants of the outcome through the contact information provided during registration. Updates will also be available on canlii.org.'
      },
      {
        question: 'What documents do I need to keep for the class action?',
        answer: 'It\'s important to keep any documents related to your detention, such as medical records, incident reports, or correspondence with prison authorities. These documents may be needed to support your case.'
      },
      {
        question: 'How is my personal information protected?',
        answer: 'Your personal information is kept strictly confidential and is only used for the purposes of the class action. We comply with all privacy laws and regulations to ensure your data is secure.'
      },
      {
        question: 'What if I need to update my contact information?',
        answer: 'You can modify your most recent application to update your contact information. If you haven\'t filed any application yet, you can create a new one with your correct information.'
      },
      {
        question: 'What if I made a mistake in my application?',
        answer: 'You can modify your most recent application to correct any mistakes. Make sure to review all information carefully before submitting.'
      },
      {
        question: 'How do I know if my application was received?',
        answer: 'You will receive a confirmation email after your application is successfully submitted. Keep this confirmation for your records.'
      },
      {
        question: 'What if I need help filling out the application?',
        answer: 'If you need assistance with the application process, you can contact our support team. We\'re here to help you complete your application correctly.'
      },
      {
        question: 'How can I check the status of my application?',
        answer: 'You can check the status of your application directly in your application form. We regularly update the status to keep you informed about the progress of your case.'
      }
    ],
    contact: {
      title: 'Have more questions?',
      description: "Our team is here to help. Don't hesitate to contact us.",
      button: 'Contact Us'
    }
  },
  fr: {
    title: 'Questions Fréquentes',
    faqs: [
      {
        question: 'Qui peut participer à cette action collective ?',
        answer: 'Toute personne détenue ou ayant un proche en détention peut participer à cette action collective. Cela inclut les détenus eux-mêmes, leurs familles, et leurs proches.'
      },
      {
        question: 'Quels sont les droits que nous défendons ?',
        answer: 'Nous défendons plusieurs droits fondamentaux, notamment le droit à des conditions de détention dignes, l\'accès aux soins médicaux, le maintien des liens familiaux, et le respect des droits humains fondamentaux.'
      },
      {
        question: 'Comment puis-je m\'inscrire à l\'action collective ?',
        answer: 'Vous pouvez vous inscrire en remplissant le formulaire d\'inscription sur notre site web. Nous vous guiderons à travers le processus et vous fournirons toutes les informations nécessaires.'
      },
      {
        question: 'Y a-t-il des frais pour participer ?',
        answer: 'Non, la participation à l\'action collective est gratuite. Nous travaillons sur la base du succès, ce qui signifie que nous ne percevons des honoraires que si l\'action est couronnée de succès.'
      },
      {
        question: 'Combien de temps prendra l\'action collective ?',
        answer: 'La durée d\'une action collective peut varier, mais nous nous engageons à maintenir tous les participants informés de l\'avancement du processus. Nous travaillons efficacement pour obtenir des résultats dans les meilleurs délais.'
      },
      {
        question: 'Que se passe-t-il après mon inscription ?',
        answer: 'Après votre inscription, notre équipe juridique examinera votre dossier et vous contactera pour discuter des prochaines étapes. Nous vous tiendrons informé de tous les développements importants.'
      },
      {
        question: 'Comment puis-je accéder aux informations de l\'action collective si je suis en prison ?',
        answer: 'En prison, vous pouvez accéder aux documents officiels du tribunal via canlii.org, qui est disponible dans les systèmes informatiques de la prison. Pour l\'inscription, vous pouvez demander à un membre de votre famille ou à un ami de vous aider à vous inscrire via notre site web.'
      },
      {
        question: 'Comment puis-je rester informé de l\'avancement du dossier ?',
        answer: 'Nous enverrons des mises à jour régulières aux coordonnées que vous avez fournies lors de l\'inscription. Vous pouvez également consulter canlii.org pour les documents officiels du tribunal et les mises à jour.'
      },
      {
        question: 'Que faire si j\'ai besoin d\'aide pour le processus d\'inscription ?',
        answer: 'Si vous avez besoin d\'aide pour l\'inscription, vous pouvez demander à un membre de votre famille ou à un ami de vous aider, ou nous contacter via notre site web. Nous pouvons vous guider à travers le processus et répondre à toutes vos questions.'
      },
      {
        question: 'Puis-je toujours participer si je ne suis plus en prison ?',
        answer: 'Oui, si vous avez été détenu pendant la période pertinente, vous pouvez toujours participer à l\'action collective. Il en va de même pour les membres de la famille des détenus actuels ou anciens.'
      },
      {
        question: 'Comment saurai-je si l\'action collective est couronnée de succès ?',
        answer: 'Nous informerons tous les participants inscrits du résultat via les coordonnées fournies lors de l\'inscription. Les mises à jour seront également disponibles sur canlii.org.'
      },
      {
        question: 'Quels documents dois-je conserver pour l\'action collective ?',
        answer: 'Il est important de conserver tous les documents liés à votre détention, tels que les dossiers médicaux, les rapports d\'incident ou la correspondance avec les autorités pénitentiaires. Ces documents pourraient être nécessaires pour appuyer votre dossier.'
      },
      {
        question: 'Comment mes informations personnelles sont-elles protégées ?',
        answer: 'Vos informations personnelles sont strictement confidentielles et ne sont utilisées que dans le cadre de l\'action collective. Nous respectons toutes les lois et réglementations sur la protection de la vie privée pour assurer la sécurité de vos données.'
      },
      {
        question: 'Que faire si je dois mettre à jour mes coordonnées ?',
        answer: 'Vous pouvez modifier votre demande la plus récente pour mettre à jour vos coordonnées. Si vous n\'avez pas encore déposé de demande, vous pouvez en créer une nouvelle avec vos informations correctes.'
      },
      {
        question: 'Que faire si j\'ai fait une erreur dans ma demande ?',
        answer: 'Vous pouvez modifier votre demande la plus récente pour corriger toute erreur. Assurez-vous de vérifier attentivement toutes les informations avant de soumettre.'
      },
      {
        question: 'Comment savoir si ma demande a été reçue ?',
        answer: 'Vous recevrez un email de confirmation après que votre demande ait été soumise avec succès. Conservez cette confirmation pour vos dossiers.'
      },
      {
        question: 'Que faire si j\'ai besoin d\'aide pour remplir la demande ?',
        answer: 'Si vous avez besoin d\'aide pour le processus de demande, vous pouvez contacter notre équipe de soutien. Nous sommes là pour vous aider à compléter votre demande correctement.'
      },
      {
        question: 'Comment puis-je vérifier l\'état de ma demande ?',
        answer: 'Vous pouvez vérifier l\'état de votre demande directement dans votre formulaire de demande. Nous mettons régulièrement à jour le statut pour vous tenir informé de l\'avancement de votre dossier.'
      }
    ],
    contact: {
      title: 'Vous avez d\'autres questions ?',
      description: "Notre équipe est là pour vous aider. N\'hésitez pas à nous contacter.",
      button: 'Contactez-nous'
    }
  }
};

const FAQ = () => {
  const router = useRouter();
  const t = translations[router.locale as 'en' | 'fr'] || translations.en;
  const [openIndex, setOpenIndex] = useState<number | null>(null);
  const [isMobile, setIsMobile] = useState(false);

  // Mobile detection
  useEffect(() => {
    const checkMobile = () => {
      setIsMobile(window.innerWidth < 768);
    };
    
    checkMobile();
    window.addEventListener('resize', checkMobile);
    return () => window.removeEventListener('resize', checkMobile);
  }, []);

  return (
    <>
      <OpenGraphMeta
        title="FAQ - Frequently Asked Questions - Liberté Même en Prison"
        description="Find answers to frequently asked questions about our class action, legal services, and how to participate. Get help with registration, understand your rights, and learn about the legal process."
        url="/faq"
        type="website"
        tags={[
          'FAQ',
          'frequently asked questions',
          'class action',
          'legal help',
          'prison rights',
          'legal services'
        ]}
        image="/images/logo.png"
      />
      <StructuredData
        type="faq"
        data={createFAQStructuredData(t.faqs)}
      />
      <StructuredData
        type="breadcrumb"
        data={createBreadcrumbStructuredData([
          { name: 'Home', url: '/' },
          { name: t.title, url: '/faq' }
        ])}
      />
      <LayoutWithSidebar>
        <motion.div
        className={`mx-auto ${isMobile ? 'px-2 py-4 max-w-full' : 'max-w-4xl px-4 py-8'}`}
        initial={{ opacity: 0, y: 40 }}
        animate={{ opacity: 1, y: 0 }}
        transition={{ duration: 0.7 }}
      >
        <h1 className={`font-bold text-gray-900 mb-8 ${isMobile ? 'text-2xl' : 'text-4xl'}`}>
          {t.title}
        </h1>
        <div className="space-y-4">
          {t.faqs.map((faq, index) => (
            <motion.div
              key={index}
              className="bg-white rounded-lg shadow-xl overflow-hidden border border-primary"
              initial={{ opacity: 0, x: index % 2 === 0 ? -40 : 40 }}
              whileInView={{ opacity: 1, x: 0 }}
              viewport={{ once: true }}
              transition={{ duration: 0.5, delay: 0.1 * index }}
            >
              <button
                className={`w-full text-left flex justify-between items-center hover:bg-primary/10 transition-all font-semibold text-gray-900 hover:scale-[1.01] ${isMobile ? 'px-4 py-3' : 'px-6 py-4'}`}
                onClick={() => setOpenIndex(openIndex === index ? null : index)}
              >
                <span className={isMobile ? 'text-sm' : ''}>{faq.question}</span>
                <span className={`transform transition-transform ${openIndex === index ? 'rotate-45' : ''} ${isMobile ? 'text-lg' : 'text-2xl'}`}>+</span>
              </button>
              {openIndex === index && (
                <motion.div
                  className={`border-t border-primary/20 bg-gray-50 ${isMobile ? 'px-4 py-3' : 'px-6 py-4'}`}
                  initial={{ opacity: 0, height: 0 }}
                  animate={{ opacity: 1, height: 'auto' }}
                  exit={{ opacity: 0, height: 0 }}
                  transition={{ duration: 0.3 }}
                >
                  <p className={`text-gray-700 leading-relaxed ${isMobile ? 'text-sm' : ''}`}>{faq.answer}</p>
                </motion.div>
              )}
            </motion.div>
          ))}
        </div>
        
        <motion.div
          className={`text-center border border-primary rounded-xl shadow-xl ${isMobile ? 'mt-8 p-6' : 'mt-12 p-8'}`}
          initial={{ opacity: 0, y: 40 }}
          whileInView={{ opacity: 1, y: 0 }}
          viewport={{ once: true }}
          transition={{ duration: 0.7, delay: 0.3 }}
        >
          <h2 className={`font-bold text-gray-900 mb-4 ${isMobile ? 'text-xl' : 'text-2xl'}`}>{t.contact.title}</h2>
          <p className={`text-gray-600 mb-6 ${isMobile ? 'text-sm' : ''}`}>{t.contact.description}</p>
          <a
            href="/contact"
            className={`inline-block bg-primary text-white rounded-lg font-semibold shadow-lg hover:bg-primary-dark hover:scale-105 transition-all duration-200 ${isMobile ? 'px-6 py-3 text-base' : 'px-8 py-4 text-lg'}`}
          >
            {t.contact.button}
          </a>
        </motion.div>
      </motion.div>
    </LayoutWithSidebar>
  </>
);
}

export default FAQ; 

CasperSecurity Mini