New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-pwa-toolkit

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-pwa-toolkit

Most common PWA functionality and APIs in one toolkit.

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-40%
Maintainers
1
Weekly downloads
 
Created
Source

React-pwa-toolkit

Most common PWA helpers in one toolkit. Powered by Hooks

Don't hesitate to support the project on Github if you like it ❤️ Also, contributors are always welcome!

Overview

The library is made to help to detect what browser your user has and gives you a convenient API to access user behave and most useful device events.

Use cases

First of all, install it and require the library. This is a React Module.

yarn add react-pwa-toolkit
import React from "react";
import Device, { useNetwork, usePwa, useVisibility, useInstallPrompt } from "react-pwa-toolkit";

Browser detection

Use it inside useEffect.

useEffect(() => {
    console.log(Device());
})

It will be something like:

{
  "browser": {
    "name": "Safari",
    "version": "11.0"
  },
  "os": {
    "name": "iOS",
    "version": "11.0"
  },
  "platform": {
    "type": "mobile",
    "vendor": "Apple",
    "model": "iPhone"
  },
  "engine": {
    "name": "WebKit",
    "version": "604.1.38"
  }
}

Network Status

If network is available, isOnline will be true. (default: true)

const isOnline = useNetwork(); // true/false

PWA Status

Check user is using PWA or it is a browser.

const isPwa = usePwa(); // true/false

Visibility Status

You can track user behave when they move between tabs,
So it is helpful to play a music track when the document becomes visible and pauses the music when the document is no longer visible,
Or even lock the app when they leave it.

const isVisible = useVisibility(); // true/false

Add-to-home-screen helper and installation Status

Check user choice on add-to-home-screen prompt with installationStatus.
NOTE: If you set it's initial value as false in useInstallPrompt(false), it will show add-to-home-screen popup as soon as possible. BUT if you want to show a fancy popup to encourage user to install your app set the initial value as true like useInstallPrompt(true) then you have access to show the popup whenever you want.

const [installationStatus, installationEvent] = useInstallPrompt(true);

useEffect(() => {
    // installationStatus is one of these states: null/dismissed/accepted/installed
    if(installationStatus === 'accepted') {
        // User accept it. You can save it in some log with device config.
    }

    // Show Add-to-home-screen prompt, if user have it's condition.
    if(installationEvent) {
        installationEvent.prompt();
    }
})

License

Licensed as MIT. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.

FAQs

Package last updated on 06 Sep 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc