{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "use-page-title",
  "title": "UsePageTitle",
  "description": "Modifies the page title dynamically.",
  "files": [
    {
      "path": "registry/hooks/use-page-title.tsx",
      "content": "'use client';\n\nimport { useCallback, useEffect } from 'react';\n\n// Types\ninterface PageTitleOptions {\n  suffix?: string;\n  separator?: string;\n}\n\ninterface UsePageTitleReturn {\n  setTitle: (title: string) => void;\n  resetTitle: () => void;\n}\n\nexport function usePageTitle(options?: PageTitleOptions): UsePageTitleReturn {\n  const suffix = options?.suffix || '';\n  const separator = options?.separator || ' | ';\n  const originalTitle = typeof document !== 'undefined' ? document.title : '';\n\n  const formatTitle = useCallback(\n    (title: string) => {\n      if (suffix) {\n        return `${title}${separator}${suffix}`;\n      }\n      return title;\n    },\n    [suffix, separator],\n  );\n\n  const setTitle = useCallback(\n    (title: string) => {\n      if (typeof document !== 'undefined') {\n        document.title = formatTitle(title);\n      }\n    },\n    [formatTitle],\n  );\n\n  const resetTitle = useCallback(() => {\n    if (typeof document !== 'undefined') {\n      document.title = originalTitle;\n    }\n  }, [originalTitle]);\n\n  // Reset title on unmount\n  useEffect(() => {\n    return () => {\n      resetTitle();\n    };\n  }, [resetTitle]);\n\n  return {\n    setTitle,\n    resetTitle,\n  };\n}\n",
      "type": "registry:hook",
      "target": "hooks/guarahooks/use-page-title.tsx"
    }
  ],
  "categories": [
    "utilities"
  ],
  "type": "registry:hook"
}