diff --git a/src/components/ServerFlag.tsx b/src/components/ServerFlag.tsx index 23aefa4..3103a2c 100644 --- a/src/components/ServerFlag.tsx +++ b/src/components/ServerFlag.tsx @@ -5,7 +5,16 @@ import { useEffect, useState } from "react" export default function ServerFlag({ country_code, className }: { country_code: string; className?: string }) { const [supportsEmojiFlags, setSupportsEmojiFlags] = useState(false) + // @ts-expect-error ForceUseSvgFlag is a global variable + const forceUseSvgFlag = window.ForceUseSvgFlag as boolean + useEffect(() => { + if (forceUseSvgFlag) { + // 如果环境变量要求直接使用 SVG,则无需检查 Emoji 支持 + setSupportsEmojiFlags(false) + return + } + const checkEmojiSupport = () => { const canvas = document.createElement("canvas") const ctx = canvas.getContext("2d") @@ -27,7 +36,7 @@ export default function ServerFlag({ country_code, className }: { country_code: return ( - {!supportsEmojiFlags ? : getUnicodeFlagIcon(country_code)} + {forceUseSvgFlag || !supportsEmojiFlags ? : getUnicodeFlagIcon(country_code)} ) }