Files
PrivyDrop/frontend
david_bai 761921684c feat(ui): add 8s P2P slow-connect hint + i18n; document full connection feedback flows
- Hook (useConnectionFeedback):
      - Add SLOW_RTC_MS=8000 timer when entering negotiating
      - Foreground-only; pending while hidden; show once per negotiation attempt
      - Clear timers on connect/disconnect; reset attempt flags when leaving negotiating
      - Cleanup timers on unmount
  - i18n:
      - Add required key ClipboardApp.rtc_slow to types
      - Provide translations for zh, en, ja, es, de, fr, ko
  - Docs:
      - flows.zh-CN: add UI connection feedback state machine covering
        join_inProgress (immediate), join_slow (3s), join_timeout (15s),
        rtc_negotiating, rtc_slow (8s), rtc_connected, rtc_reconnecting, rtc_restored;
        document equivalent success signals and visibility gating
      - code-map.zh-CN: outline responsibilities/locations for useRoomManager (join slow/timeout)
        and useConnectionFeedback (negotiation slow, reconnect/restored)
2025-12-05 19:10:00 +08:00
..
2025-06-22 21:34:54 +08:00
2025-06-20 20:54:42 +08:00
2025-10-25 11:55:21 +08:00
2025-06-20 20:54:42 +08:00
2025-06-22 10:13:47 +08:00
2025-06-20 20:54:42 +08:00
2025-06-20 20:54:42 +08:00

PrivyDrop - Frontend

This is the frontend for PrivyDrop, a privacy-focused file sharing application built with Next.js and based on WebRTC.

🛠️ Tech Stack

  • Frontend Framework: Next.js 14 (App Router)
  • UI Framework: React 18 + TypeScript
  • Styling: Tailwind CSS + shadcn/ui
  • P2P Transport: WebRTC
  • Signaling Service Client: Socket.IO Client
  • Internationalization: next-intl

🚀 Local Development

Before you start, please ensure you have installed and started the backend service according to the instructions in the project's root README.md.

  1. Navigate to the Directory

    # Assuming you are in the project's root directory
    cd frontend
    
  2. Install Dependencies

    pnpm install
    
  3. Configure Environment Variables First, copy the environment variable configuration from the template file:

    cp .env_development_example .env.development
    

    Then, open and edit the .env.development file, ensuring that NEXT_PUBLIC_API_URL points to your locally running backend service.

  4. Start the Development Server

    pnpm dev
    
  5. Open http://localhost:3002 in your browser to see the application.

📚 Detailed Documentation

🤝 Contributing

We welcome all forms of contributions! Please read the Contribution Guidelines in the root directory to get started.