npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-pwa-installer-prompt

v1.0.8

Published

Provide your own custom install flow, directly within your app.

Downloads

1,401

Readme

react-pwa-installer-prompt

Provide your own custom install flow, directly within your app, Progressive Web App (PWA) directly within the user interface of your app makes easier for users to install your PWA on their mobile or desktop device.

Package is helpfull for

In-app install flow : Even though most of the browser provides an option to Add to home screen, some users don't realize that they can install a PWA. It can be helpful to provide an in-app experience. So, that you can promote and enable installation of your PWA.

This package reduces the pain of the development and gives you a wings to have your custom implementation to display promotion with a simple steps.

Pre-Requisites

Make sure that your PWA is installable and Proper configured Manifest file

Installation

npm i --save react-pwa-installer-prompt

Importing

import PWAInstallerPrompt from 'react-pwa-installer-prompt';

Usage

const App = () => {
  return (
    <PWAInstallerPrompt 
      render={({ onClick }) => (
        <button type="button" onClick={onClick}> // make sure you pass onClick
          Install
        </button>
      )}
      callback={(data) => console.log(data)} 
    />
  );
}
export default App;

Demo

Visit here for the demo. (Shows + icon in the omnibox).

For the good experience open-up in mobile https://naveenh.xyz. (Install option will be popped in the footer).

Props

|Props| Type |Description| |--|--|--| | render | function | Your custom component as a function to show in-app promo. It is mandatory to pass onClick in the button or any element where click event triggers| |callback|object|Package has identified the events which are being triggers during installation process, When ever an event changes the callback gives you the installation status. |

Ex: You can have a custom component for in-app promo

import React from 'react';
import { Row, Col, Button } from 'antd';
import PWAInstallerPrompt from 'react-pwa-installer-prompt';

const Install = () => {       
  return (  
    <PWAInstallerPrompt 
      render={({ onClick }) => (
        <Row align="middle" justify="center">
          <Col span={16}>
              Keep App, For Offline & Quick Access!
          </Col>
          <Col span={6}>
            <Button type="dashed" onClick={onClick}>
              Install
            </Button>
          </Col>
        </Row>
      )}
      callback={(data) => console.log(data)} 
    />
  )
}
export default Install;

Callback properties:

{
   isInstallAllowed: true, // true, if app in not installed and when user has cancelled the request
   isInstallWatingConfirm: false, // true, if user has clicked on install and not confirmed 
   isInstalling: false, // true, if being installed
   isInstallCancelled: false, // true, if user has cancelled 
   isInstallSuccess: false, // true, if install success
   isInstallFailed: false // true, if installation is failed
}

Use Full Links

License

MIT © Naveen Heroorkar