({ stats }: { stats: FreebuffLiveStats })
| 427 | } |
| 428 | |
| 429 | function CountryList({ stats }: { stats: FreebuffLiveStats }) { |
| 430 | if (stats.countries.length === 0) { |
| 431 | return <EmptyState>No active countries yet.</EmptyState> |
| 432 | } |
| 433 | |
| 434 | return ( |
| 435 | <div className="grid grid-cols-1 gap-2 sm:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2"> |
| 436 | {stats.countries.map((country) => ( |
| 437 | <div |
| 438 | key={country.countryCode} |
| 439 | className="flex items-center justify-between gap-3 rounded-lg border border-white/10 bg-black/20 px-3 py-2" |
| 440 | > |
| 441 | <div className="min-w-0"> |
| 442 | <div className="truncate text-sm font-medium text-white"> |
| 443 | {countryName(country.countryCode)} |
| 444 | </div> |
| 445 | </div> |
| 446 | <div className="font-mono text-lg text-acid-matrix"> |
| 447 | {country.count} |
| 448 | </div> |
| 449 | </div> |
| 450 | ))} |
| 451 | </div> |
| 452 | ) |
| 453 | } |
| 454 | |
| 455 | function InstallCallout() { |
| 456 | const [isOpen, setIsOpen] = useState(false) |
nothing calls this directly
no test coverage detected