npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@doraverse/cookie-consent

v1.0.16

Published

Cookie consent component for Doraverse applications

Readme

@doraverse/cookie-consent

Cookie consent component cho các ứng dụng Doraverse với tích hợp API tracking và quản lý permissions.

Cài đặt

pnpm add @doraverse/cookie-consent

Sử dụng

Setup cơ bản

Wrap ứng dụng của bạn với CookieConsentProvider:

import { CookieConsentProvider } from '@doraverse/cookie-consent';

function App() {
  return (
    <CookieConsentProvider 
      // baseUrl là tùy chọn. Nếu không truyền, package sẽ tự suy luận theo domain
      // baseUrl="https://auth.doradora.vn"
      lang="en" // 'vi' | 'en' | 'ja'
    >
      {/* Rest of your app */}
    </CookieConsentProvider>
  );
}

export default App;

Sử dụng hook để check permissions / khởi tạo GA

import { useEffect } from 'react';
import { useCookieSettings } from '@doraverse/cookie-consent';

function MyComponent() {
  const { permissions, initGA, openSettings } = useCookieSettings();

  useEffect(() => {
    // Chỉ init GA khi backend bật GA và user cho phép analytics
    if (initGA && permissions?.analytics) {
      initGAClient();
    }
  }, [initGA, permissions?.analytics]);

  return (
    <div>
      <button onClick={openSettings}>Cookie Settings</button>
    </div>
  );
}

Ghi chú về baseUrl (tự suy luận)

  • Không bắt buộc truyền baseUrl. Package sẽ tự suy luận khi chạy trên trình duyệt:
    • Domain chứa localhost hoặc doradora.vn -> dùng https://auth.doradora.vn
    • Domain chứa doradora.ai -> dùng https://auth.doradora.ai
    • Domain chứa doraverse.com -> dùng https://auth.doraverse.com
  • Nếu không khớp các domain trên và không truyền baseUrl -> baseUrl = null và UI cookie consent sẽ không được render (tắt tính năng).

API

CookieConsentProvider Props

| Prop | Type | Default | Description | |------|------|---------|-------------| | baseUrl | string | auto-resolve | Base URL của API backend. Tùy chọn; sẽ tự suy luận theo domain như ghi chú trên | | lang | 'vi' \| 'en' \| 'ja' | 'en' | Ngôn ngữ hiển thị | | children | React.ReactNode | - | Nội dung ứng dụng |

useCookieSettings()

Hook để truy cập trạng thái cookie consent:

const {
  permissions,    // CookiePermissions - quyền hiện tại
  initGA,         // boolean - backend có bật GA không
  openSettings,   // () => void - mở popup settings
} = useCookieSettings();

CookiePermissions

interface CookiePermissions {
  necessary: boolean;    // Luôn true
  functional: boolean;   // Functional cookies
  analytics: boolean;    // Analytics cookies  
  marketing: boolean;    // Marketing cookies
}

API Endpoints

Package này tích hợp với API backend:

  • GET {baseUrl}/api/v1/cookies-consent/status?version={packageVersion} - Lấy trạng thái consent
  • POST {baseUrl}/api/v1/cookies-consent/tracking - Gửi thông tin consent

Build

# Build package
pnpm build

# Dev mode với watch
pnpm dev

# Type check
pnpm type-check

License

MIT © Doraverse