Browse Source

fix: reduce webapp icon displayed on browser tab flickering when page is loading (#9212)

Hash Brown 5 months ago
parent
commit
1c1e008dcf
2 changed files with 6 additions and 1 deletions
  1. 5 0
      web/app/(shareLayout)/layout.tsx
  2. 1 1
      web/hooks/use-app-favicon.ts

+ 5 - 0
web/app/(shareLayout)/layout.tsx

@@ -1,7 +1,12 @@
 import React from 'react'
 import type { FC } from 'react'
+import type { Metadata } from 'next'
 import GA, { GaType } from '@/app/components/base/ga'
 
+export const metadata: Metadata = {
+  icons: 'data:,', // prevent browser from using default favicon
+}
+
 const Layout: FC<{
   children: React.ReactNode
 }> = ({ children }) => {

+ 1 - 1
web/hooks/use-app-favicon.ts

@@ -21,7 +21,7 @@ export function useAppFavicon(options: UseAppFaviconOptions) {
   } = options
 
   useAsyncEffect(async () => {
-    if (!enable)
+    if (!enable || (icon_type === 'image' && !icon_url) || (icon_type === 'emoji' && !icon))
       return
 
     const isValidImageIcon = icon_type === 'image' && icon_url