import { Clipboard, Phone } from "lucide-react"; import { Card } from "@/components/ui/card"; import { useEffect, useState } from "react"; import { parsePhoneNumberFromString } from 'libphonenumber-js'; interface PhoneNumber { id: string; number: string; status: "active" | "inactive"; } const list = [ { "activationId": "3336974038", "serviceCode": "fb", "phoneNumber": "19892798946", "activationCost": 0.225, "activationStatus": "4", "activationTime": "2025-03-03 19:22:40", "countryCode": "187", "countryName": "USA", "canGetAnotherSms": "1", "currency": 840, "smsCode": 64744, "smsText": null, "discount": "0", "repeated": "0" } ] export function PhoneNumberList() { const [numberList, setNumberList] = useState([]) const fetchNumberList = async () => { try { const myHeaders = new Headers({ "Origin": window.location.origin, "x-requested-with": "XMLHttpRequest" }); const requestOptions = { method: "GET", headers: myHeaders }; const corsProxy = "https://cors-anywhere.herokuapp.com/"; const apiUrl = "https://api.sms-activate.ae/stubs/handler_api.php?api_key=3e70A03f3dA6bfb2b32b2cc09Adb6841&action=getActiveActivations"; const response = await fetch(corsProxy + apiUrl, requestOptions) const data = await response.json() console.log(data) setNumberList(data?.activeActivations || []) } catch (error) { console.error("Error fetching phone numbers:", error) } } useEffect(() => { fetchNumberList() }, []) return (

Phone Numbers

{numberList.length} numbers
{numberList.map((number) => (

navigator.clipboard.writeText(number.phoneNumber.toString())}> {parsePhoneNumberFromString(number.phoneNumber)?.formatInternational() || number.phoneNumber}

Status:{" "} {number.activationStatus}

OTP: navigator.clipboard.writeText(number.smsCode.toString())} title="Click to copy" > { " " + number.smsCode}

))}
); }