react-lgpd-consent - v0.3.4
    Preparing search index...

    Function useConsentTexts

    Hook para acessar e manipular o estado de consentimento do usuário.

    Estado e métodos para consentimento.

    • Hook para acessar os textos personalizáveis da interface de consentimento.

      Returns ConsentTexts

      O objeto completo de textos da interface, mesclando padrões com customizações

      Este hook retorna o objeto completo de textos configurados no ConsentProvider. Os textos incluem tanto os valores padrão em português quanto as customizações fornecidas via prop texts. É útil para criar componentes personalizados que mantêm consistência com a configuração de textos do projeto.

      • bannerMessage: Mensagem principal do banner
      • acceptAll, declineAll, preferences: Textos dos botões
      • modalTitle, modalIntro: Cabeçalho do modal
      • save, close: Ações do modal
      • controllerInfo: Informações do controlador de dados
      • dataTypes: Tipos de dados coletados
      • thirdPartySharing: Compartilhamento com terceiros
      • userRights: Direitos do titular dos dados
      • contactInfo: Contato do DPO (Data Protection Officer)
      • Padrão em português brasileiro
      • Suporte completo a customização via ConsentProvider.texts
      • Tipagem TypeScript completa para IntelliSense
      • Fallback automático para textos padrão quando não customizados

      Se usado fora do ConsentProvider - verifique se está dentro de <ConsentProvider>

      function CustomBanner() {
      const texts = useConsentTexts();

      return (
      <div className="custom-banner">
      <p>{texts.bannerMessage}</p>
      <button>{texts.acceptAll}</button>
      <button>{texts.declineAll}</button>
      </div>
      );
      }
      function ComplianceInfo() {
      const texts = useConsentTexts();

      return (
      <div>
      {texts.controllerInfo && <p>{texts.controllerInfo}</p>}
      {texts.userRights && <p>{texts.userRights}</p>}
      {texts.contactInfo && <p>{texts.contactInfo}</p>}
      </div>
      );
      }
      function CustomPreferencesModal() {
      const texts = useConsentTexts();
      const { preferences, setPreference, closePreferences } = useConsent();

      return (
      <div className="custom-modal">
      <h2>{texts.preferencesTitle || texts.modalTitle}</h2>
      <p>{texts.preferencesDescription || texts.modalIntro}</p>

      <label>
      <input
      type="checkbox"
      checked={preferences.analytics}
      onChange={(e) => setPreference('analytics', e.target.checked)}
      />
      Cookies Analíticos
      </label>

      <div className="modal-actions">
      <button onClick={closePreferences}>{texts.close}</button>
      <button>{texts.save}</button>
      </div>
      </div>
      );
      }
      function MultiLanguageBanner() {
      const texts = useConsentTexts();
      const [language, setLanguage] = useState('pt');

      // Usar textos customizados baseado no idioma
      const message = language === 'en'
      ? 'We use cookies to improve your experience'
      : texts.bannerMessage;

      const acceptText = language === 'en' ? 'Accept All' : texts.acceptAll;

      return (
      <div>
      <select onChange={(e) => setLanguage(e.target.value)}>
      <option value="pt">Português</option>
      <option value="en">English</option>
      </select>
      <p>{message}</p>
      <button>{acceptText}</button>
      </div>
      );
      }

      0.1.0