Back to Hooks

useFavicon

useFavicon.tsx

useFavicon

UI

// Dynamically change page favicon based on state

Quick Usage

const { setFavicon, setFaviconByStatus } = useFavicon();

Features

Dynamic Favicon
Status Indicators
Notification Badges
Original Restore

When to Use

Ideal for showing notification counts, connection status, app state indicators, or any visual feedback in the browser tab.

Interactive Example

Change the page favicon to indicate different states. Look at your browser tab to see the changes!

Current Status:default

Pro tip:

In a real application, you could use this to show notification counts, connection status, or any other dynamic state in the browser tab.

Complete Example

import { useFavicon } from '@usegrand/react-hokss';

function AppWithStatusFavicon() {
  const { setFaviconByStatus, setFavicon, restoreOriginal } = useFavicon({
    baseUrl: '/favicons/status',
    extension: '.png'
  });

  const handleStatusChange = (status: string) => {
    setFaviconByStatus(status); // loads /favicons/status-online.png
  };

  const handleNotification = () => {
    setFavicon('/favicons/notification.png');
  };

  return (
    <div>
      <button onClick={() => handleStatusChange('online')}>
        Set Online
      </button>
      <button onClick={handleNotification}>
        Show Notification
      </button>
      <button onClick={restoreOriginal}>
        Restore Original
      </button>
    </div>
  );
}

API Reference

Parameters

optionsFaviconOptions

Configuration options for favicon management

options.baseUrlstring

Base URL for favicon files (default: '/favicon')

options.extensionstring

File extension for favicon files (default: '.ico')

options.restoreOnUnmountboolean

Whether to restore original favicon on unmount (default: true)

Returns

FaviconResult

Object containing favicon control functions

setFavicon

Function to set favicon to a specific URL

setFaviconByStatus

Function to set favicon based on status string

restoreOriginal

Function to restore the original favicon

getCurrentFavicon

Function to get the current favicon URL