Urgent.News

What's breaking now, across thousands of outlets.

Tech

How to add country icons to a React app

Geography is a blind spot in most icon libraries. They give you arrows and carets, not the shape of Japan or the outline of the EU, and the geographic packs that exist rarely fit a modern React bundle. GeoIcons does: 799 country, area, and subdivision icons, each its own named export. Adding one to a React app takes three steps: install the package, import the icon by its ISO code, and render it:…

Geography can be a blind spot in most icon libraries. They provide standard symbols like arrows and carets, but not the shapes of countries or the outlines of regions. The GeoIcons library offers a solution: 799 icons representing countries, areas, and subdivisions, each with its own named export. Adding a GeoIcons icon to a React app involves three simple steps: install the package, import the icon using its ISO code, and render it.

The installation process is straightforward with npm i @geoicons/react. Importing is done by the ISO code, PascalCased, like import { UnitedStates, France, Japan } from '@geoicons/react/countries';. Rendering each icon is a straightforward React component with props for size, color, and accessibility. Size is set in pixels with the size prop, color follows the text color with currentColor, and weight is controlled by strokeWidth.

Accessibility is achieved by adding an aria-label for meaningful icons or using aria-hidden for purely decorative ones. For countries chosen at runtime, create a small map of the imported icons to keep the bundle tree-shakable, importing only the necessary icons at build time to prevent unnecessary code from being included.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Also reported by 1 other outlet

Read the original at dev.to →

More in Tech

Put SSH Behind Tailscale and Close Port 22

Once a VPS is hardened the usual way, keys only, firewalled, patched, there is a bigger move you can make: stop exposing SSH to the public internet at all.

  • Shift SSH traffic to private network via Tailscale
  • Close port 22 as it's no longer needed
  • Test new connection over Tailscale before disabling port 22

More from Monday 31 August →