
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
react-wifi-indicator
Advanced tools
An easy-to-use wrapper that provides 6 different WiFi icons and a utility to convert raw dBm to signal strength categories.
An easy-to-use wrapper that provides 6 different WiFi icons and a utility to convert raw dBm
to signal strength categories.
First, install the module:
npm install react-wifi-indicator --save
Using the strength
prop to set the icon.
import WifiIndicator from 'react-wifi-indicator';
// ...
<WifiIndicator strength='EXCELLENT' />
<WifiIndicator strength='GREAT' />
<WifiIndicator strength='OKAY' />
<WifiIndicator strength='WEAK' />
<WifiIndicator strength='UNUSABLE' />
<WifiIndicator strength='DISCONNECTED' />
Ideally, you should use the provided enum instead of “magic prop strings.”
import WifiIndicator, { SignalStrength } from 'react-wifi-indicator';
// ...
<WifiIndicator strength={SignalStrength.EXCELLENT} />
<WifiIndicator strength={SignalStrength.GREAT} />
<WifiIndicator strength={SignalStrength.OKAY} />
<WifiIndicator strength={SignalStrength.WEAK} />
<WifiIndicator strength={SignalStrength.UNUSABLE} />
<WifiIndicator strength={SignalStrength.DISCONNECTED} />
If you have dBm (decibel-milliwatts) you’ll need a way to calculate the signal strength. You can use the utility DBMToSignalStrength
for that.
import WifiIndicator, { DBMToSignalStrength } from 'react-wifi-indicator';
<WifiIndicator strength={DBMToSignalStrength(-42)} />
<WifiIndicator strength={DBMToSignalStrength(-51)} />
<WifiIndicator strength={DBMToSignalStrength(-62)} />
<WifiIndicator strength={DBMToSignalStrength(-76)} />
<WifiIndicator strength={DBMToSignalStrength(-89)} />
<WifiIndicator strength={DBMToSignalStrength(-100)} />
You can always write your own utility if you don’t like the heuristics of DBMToSignalStrength
. Just remember that:
-30 dBm
is the maximum achievable signal strength.-42 dBm
is an amazing, but realistic signal strength.-90 dBm
is unusable and approaching or drowning in the noise floor.The icon is pretty much an image
with an svg
as the source. You can pass down alt
attributes, styles
, classNames
, etc.
You can pass an alt
tag in order to add semantic meaning to the icons. But if you don’t provide one, the library will default it to an empty string. (Marking it as presentational.)
<WifiIndicator
strength={SignalStrength.EXCELLENT}
alt='Excellent Wifi'
style={{
height: 100,
border: '2px solid cornflowerblue',
borderRadius: 4,
padding: 12,
}}
/>
Using custom icons might defeat the purpose of the library. But you can totally do it! Provide a prop called statusImages
that looks like this:
<WifiIndicator
statusImages={{
EXCELLENT: 'some path, data:img, etc.',
GREAT: 'some path, data:img, etc.',
OKAY: 'some path, data:img, etc.',
WEAK: 'some path, data:img, etc.',
UNUSABLE: 'some path, data:img, etc.',
DISCONNECTED: 'some path, data:img, etc.',
}}
/>
MIT © filipdanic
FAQs
An easy-to-use wrapper that provides 6 different WiFi icons and a utility to convert raw dBm to signal strength categories.
The npm package react-wifi-indicator receives a total of 65 weekly downloads. As such, react-wifi-indicator popularity was classified as not popular.
We found that react-wifi-indicator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.