fix(ssr-navigator): resolve ReferenceError navigator is not defined during Next.js static prerendering in useNetworkStatus hook
This commit is contained in:
parent
eb6318ecc1
commit
dac41b14ee
@ -197,7 +197,7 @@ export default function ProductPage({ productSlug }: { productSlug: string }) {
|
|||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (navigator.clipboard) {
|
if (typeof window !== 'undefined' && navigator.clipboard) {
|
||||||
navigator.clipboard.writeText(window.location.href);
|
navigator.clipboard.writeText(window.location.href);
|
||||||
toast.success("لینک مشخصات و دوز دارویی محصول کپی شد");
|
toast.success("لینک مشخصات و دوز دارویی محصول کپی شد");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
|
|
||||||
export function useNetworkStatus() {
|
export function useNetworkStatus() {
|
||||||
const [isOnline, setIsOnline] = useState(navigator.onLine);
|
const [isOnline, setIsOnline] = useState(true);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {
|
||||||
|
setIsOnline(navigator.onLine);
|
||||||
|
}
|
||||||
|
|
||||||
const handleOnline = () => setIsOnline(true);
|
const handleOnline = () => setIsOnline(true);
|
||||||
const handleOffline = () => setIsOnline(false);
|
const handleOffline = () => setIsOnline(false);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user