🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@custom-react-hooks/use-idle

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@custom-react-hooks/use-idle

`useIdle` is a React hook designed to detect user inactivity or idle time in applications. It triggers a state change after a specified period of inactivity, making it useful for actions like auto-logout or activity pausing.

latest
Source
npmnpm
Version
1.5.1
Version published
Maintainers
1
Created
Source

useIdle Hook

useIdle is a React hook designed to detect user inactivity or idle time in applications. It triggers a state change after a specified period of inactivity, making it useful for actions like auto-logout or activity pausing.

Features

  • Idle Time Detection: Tracks user inactivity and changes state after a set period.
  • Activity Monitoring: Resets the idle timer upon user interactions like mouse movement, keypresses, and scrolling.
  • SSR Compatibility: Safely handles server-side rendering by checking for the window object.
  • Configurable Idle Duration: Allows setting a custom duration to define user inactivity.

Installation

Installing Only Current Hooks

npm install @custom-react-hooks/use-idle

or

yarn add @custom-react-hooks/use-idle

Installing All Hooks

npm install @custom-react-hooks/all

or

yarn add @custom-react-hooks/all

Importing the Hook

The useIdle hook must be imported using a named import as shown below:

Named Import:

import { useIdle } from '@custom-react-hooks/use-idle';

This approach ensures that the hook integrates seamlessly into your project, maintaining consistency and predictability in how you use our package.

Usage

import React from 'react';
import { useIdle } from '@custom-react-hooks/all';
import { MoonIcon, SunIcon } from '@heroicons/react/24/solid';


const IdleComponent = () => {
  const isIdle = useIdle(1000);

  return (
    <div className="center">
      {isIdle ? (
        <div className="btns">
          <MoonIcon/>
          <p>Away</p>
        </div>
      ) : (
        <div className="btns">
          <SunIcon/>
          <p>Online</p>
        </div>
      )}
      <br />
      <p>To see the effect, do not move the mouse or touch the keyboard!</p>
    </div>
  );
};

export default IdleComponent;

In this example, the hook is used to detect when the user has been idle for more than 3 seconds.

API Reference

Parameters

  • idleTime: The time in milliseconds to wait before considering the user as idle.

Returns

  • Returns a boolean state indicating if the user is idle.

Use Cases

  • Auto Logout: Automatically log users out after a period of inactivity for security purposes.
  • Pause Background Activities: Pause or reduce background activities like animations or data fetching.
  • User Activity Monitoring: Track user activity to understand usage patterns or for analytics.
  • Energy Saving: Reduce energy consumption by dimming the screen or reducing resource-intensive tasks.

Contributing

Contributions to enhance useIdle are welcome. Feel free to submit issues or pull requests to the repository.

FAQs

Package last updated on 18 Aug 2024

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