Skip to content

figma #1043

@BaoKkhanh

Description

@BaoKkhanh

import React, { useState } from 'react';
import { ArrowLeft, Store, Shield, TrendingUp, Users, Headphones, FileCheck, Camera, Upload, Send, CheckCircle, User, Smartphone, Info } from 'lucide-react';

const WhyVerificationScreens = () => {
const [currentScreen, setCurrentScreen] = useState('ekyb');

const EKYBScreen = () => (


{/* Header */}




Xác thực cửa hàng


  {/* Hero Section */}
  <div className="px-4 pt-6 pb-4">
    <div className="bg-gradient-to-br from-teal-700 to-teal-600 rounded-2xl p-6 text-white relative overflow-hidden">
      {/* Pattern */}
      <div className="absolute inset-0 opacity-20" style={{
        backgroundImage: `repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,.1) 10px, rgba(255,255,255,.1) 20px)`
      }}></div>
      
      <div className="relative z-10">
        <div className="flex items-center justify-center mb-4">
          <div className="w-16 h-16 bg-white/20 backdrop-blur-sm rounded-2xl flex items-center justify-center">
            <Store className="w-9 h-9 text-white" />
          </div>
        </div>
        <h2 className="text-2xl font-bold text-center mb-2">Xác thực cửa hàng</h2>
        <p className="text-center text-teal-50 text-sm leading-relaxed">
          Xác thực để kích hoạt đầy đủ tính năng dành cho hộ kinh doanh trên Bonbonshop.
        </p>
      </div>
    </div>
  </div>

  {/* Benefits */}
  <div className="px-4 mb-6">
    <h3 className="text-base font-bold text-gray-900 mb-4">Lợi ích khi xác thực</h3>
    
    <div className="space-y-3">
      {[
        {
          icon: TrendingUp,
          title: 'Kích hoạt tính năng bán hàng nâng cao',
          desc: 'Dùng đầy đủ các tính năng quản lý cửa hàng (đơn hàng, báo cáo, phân quyền…).'
        },
        {
          icon: FileCheck,
          title: 'Chuẩn hóa hồ sơ cửa hàng',
          desc: 'Thông tin cửa hàng được xác minh rõ ràng, giảm nhầm lẫn khi vận hành.'
        },
        {
          icon: Shield,
          title: 'Tăng độ tin cậy khi dùng dịch vụ đối tác',
          desc: 'Dễ tích hợp các dịch vụ liên quan đến hóa đơn/chữ ký số sau này (nếu cần).'
        },
        {
          icon: Headphones,
          title: 'Hỗ trợ nhanh hơn khi có sự cố',
          desc: 'Có hồ sơ xác thực giúp hệ thống hỗ trợ đúng cửa hàng, đúng chủ thể.'
        },
      ].map((benefit, idx) => (
        <div key={idx} className="bg-gray-50 rounded-xl p-4 border border-gray-200">
          <div className="flex items-start gap-3">
            <div className="w-10 h-10 bg-teal-700 rounded-xl flex items-center justify-center flex-shrink-0">
              <benefit.icon className="w-5 h-5 text-white" />
            </div>
            <div className="flex-1">
              <h4 className="font-bold text-gray-900 mb-1 text-sm">{benefit.title}</h4>
              <p className="text-xs text-gray-600 leading-relaxed">{benefit.desc}</p>
            </div>
          </div>
        </div>
      ))}
    </div>
  </div>

  {/* Steps */}
  <div className="px-4 mb-6">
    <div className="bg-gray-50 rounded-xl p-4 border border-gray-200">
      <h3 className="font-bold text-gray-900 mb-4 text-sm">Các bước thực hiện</h3>
      <div className="space-y-3">
        {[
          { icon: FileCheck, text: 'Chuẩn bị giấy phép (GPKD/MST)' },
          { icon: Camera, text: 'Chụp/Upload giấy phép' },
          { icon: Send, text: 'Gửi hồ sơ và chờ duyệt' },
        ].map((step, idx) => (
          <div key={idx} className="flex items-center gap-3">
            <div className="w-9 h-9 bg-teal-700 rounded-xl flex items-center justify-center">
              <step.icon className="w-5 h-5 text-white" />
            </div>
            <p className="text-sm font-medium text-gray-700 flex-1">{step.text}</p>
            <div className={`w-7 h-7 rounded-full flex items-center justify-center font-bold text-xs ${
              idx === 0 ? 'bg-teal-700 text-white' : 'bg-gray-300 text-gray-600'
            }`}>
              {idx + 1}
            </div>
          </div>
        ))}
      </div>
    </div>
  </div>

  {/* Security Note */}
  <div className="px-4 mb-6">
    <div className="bg-teal-50 border border-teal-200 rounded-xl p-4 flex items-start gap-3">
      <CheckCircle className="w-5 h-5 text-teal-700 flex-shrink-0 mt-0.5" />
      <p className="text-sm text-teal-900 font-medium">
        Thông tin được bảo mật và chỉ dùng cho mục đích xác thực.
      </p>
    </div>
  </div>

  {/* CTAs */}
  <div className="px-4 space-y-3">
    <button className="w-full bg-teal-700 text-white font-bold py-4 rounded-xl shadow-md hover:bg-teal-800 transition-all">
      Xác thực cửa hàng
    </button>
    <button className="w-full text-teal-700 font-semibold py-3 rounded-xl hover:bg-teal-50 transition-all">
      Xem hướng dẫn
    </button>
  </div>

  {/* Demo Toggle */}
  <div className="fixed bottom-4 left-4 right-4 bg-white rounded-xl shadow-xl p-3 border-2 border-gray-300 z-50">
    <button
      onClick={() => setCurrentScreen('ekyc')}
      className="w-full py-2 bg-teal-700 text-white rounded-lg text-sm font-medium"
    >
      → Xem màn eKYC
    </button>
  </div>
</div>

);

const EKYCScreen = () => (


{/* Header */}




Xác thực chủ cửa hàng


  {/* Hero Section */}
  <div className="px-4 pt-6 pb-4">
    <div className="bg-gradient-to-br from-teal-700 to-teal-600 rounded-2xl p-6 text-white relative overflow-hidden">
      {/* Pattern */}
      <div className="absolute inset-0 opacity-20" style={{
        backgroundImage: `repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,.1) 10px, rgba(255,255,255,.1) 20px)`
      }}></div>
      
      <div className="relative z-10">
        <div className="flex items-center justify-center mb-4">
          <div className="w-16 h-16 bg-white/20 backdrop-blur-sm rounded-2xl flex items-center justify-center">
            <User className="w-9 h-9 text-white" />
          </div>
        </div>
        <h2 className="text-2xl font-bold text-center mb-2">Xác thực chủ cửa hàng</h2>
        <p className="text-center text-teal-50 text-sm leading-relaxed">
          Xác thực để bảo vệ tài khoản và xác nhận quyền quản lý cửa hàng.
        </p>
      </div>
    </div>
  </div>

  {/* Benefits */}
  <div className="px-4 mb-6">
    <h3 className="text-base font-bold text-gray-900 mb-4">Lợi ích khi xác thực</h3>
    
    <div className="space-y-3">
      {[
        {
          icon: Shield,
          title: 'Bảo vệ quyền quản lý tài khoản',
          desc: 'Tránh người khác chiếm quyền hoặc đổi thông tin cửa hàng trái phép.'
        },
        {
          icon: CheckCircle,
          title: 'Giảm rủi ro gian lận giao dịch',
          desc: 'Tăng độ an toàn khi dùng các tính năng quan trọng.'
        },
        {
          icon: Users,
          title: 'Thiết lập người đại diện hợp lệ',
          desc: 'Xác nhận đúng người chịu trách nhiệm vận hành cửa hàng.'
        },
        {
          icon: Headphones,
          title: 'Trải nghiệm mượt hơn khi cần hỗ trợ',
          desc: 'Khi cần xử lý sự cố, xác minh nhanh và chính xác hơn.'
        },
      ].map((benefit, idx) => (
        <div key={idx} className="bg-gray-50 rounded-xl p-4 border border-gray-200">
          <div className="flex items-start gap-3">
            <div className="w-10 h-10 bg-teal-700 rounded-xl flex items-center justify-center flex-shrink-0">
              <benefit.icon className="w-5 h-5 text-white" />
            </div>
            <div className="flex-1">
              <h4 className="font-bold text-gray-900 mb-1 text-sm">{benefit.title}</h4>
              <p className="text-xs text-gray-600 leading-relaxed">{benefit.desc}</p>
            </div>
          </div>
        </div>
      ))}
    </div>
  </div>

  {/* Steps */}
  <div className="px-4 mb-6">
    <div className="bg-gray-50 rounded-xl p-4 border border-gray-200">
      <h3 className="font-bold text-gray-900 mb-4 text-sm">Các bước thực hiện</h3>
      <div className="space-y-3">
        {[
          { icon: Camera, text: 'Chụp CCCD' },
          { icon: Smartphone, text: 'Xác thực khuôn mặt' },
          { icon: CheckCircle, text: 'Xác nhận thông tin' },
        ].map((step, idx) => (
          <div key={idx} className="flex items-center gap-3">
            <div className="w-9 h-9 bg-teal-700 rounded-xl flex items-center justify-center">
              <step.icon className="w-5 h-5 text-white" />
            </div>
            <p className="text-sm font-medium text-gray-700 flex-1">{step.text}</p>
            <div className={`w-7 h-7 rounded-full flex items-center justify-center font-bold text-xs ${
              idx === 0 ? 'bg-teal-700 text-white' : 'bg-gray-300 text-gray-600'
            }`}>
              {idx + 1}
            </div>
          </div>
        ))}
      </div>
    </div>
  </div>

  {/* Security Note */}
  <div className="px-4 mb-6">
    <div className="bg-blue-50 border border-blue-200 rounded-xl p-4 flex items-start gap-3">
      <Info className="w-5 h-5 text-blue-700 flex-shrink-0 mt-0.5" />
      <p className="text-sm text-blue-900 font-medium">
        Dữ liệu được mã hóa và tuân thủ quy định bảo mật.
      </p>
    </div>
  </div>

  {/* CTAs */}
  <div className="px-4 space-y-3">
    <button className="w-full bg-teal-700 text-white font-bold py-4 rounded-xl shadow-md hover:bg-teal-800 transition-all">
      Xác thực chủ cửa hàng
    </button>
    <button className="w-full text-teal-700 font-semibold py-3 rounded-xl hover:bg-teal-50 transition-all">
      Để sau
    </button>
  </div>

  {/* Demo Toggle */}
  <div className="fixed bottom-4 left-4 right-4 bg-white rounded-xl shadow-xl p-3 border-2 border-gray-300 z-50">
    <button
      onClick={() => setCurrentScreen('ekyb')}
      className="w-full py-2 bg-teal-700 text-white rounded-lg text-sm font-medium"
    >
      ← Quay lại màn eKYB
    </button>
  </div>
</div>

);

return currentScreen === 'ekyb' ? : ;
};

export default WhyVerificationScreens;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions