diff --git a/src/components/icons.tsx b/src/components/icons.tsx index 48fa45cd..e8174788 100644 --- a/src/components/icons.tsx +++ b/src/components/icons.tsx @@ -123,6 +123,22 @@ export const shareIOS = createIcon( { width: 24, height: 24 }, ); +export const shareWindows = createIcon( + <> + + + , + { width: 64, height: 64 }, +); + // Icon imported form Storybook // Storybook is licensed under MIT https://github.com/storybookjs/storybook/blob/next/LICENSE export const resetZoom = createIcon( diff --git a/src/excalidraw-app/collab/RoomDialog.tsx b/src/excalidraw-app/collab/RoomDialog.tsx index f6b255b4..4203fb47 100644 --- a/src/excalidraw-app/collab/RoomDialog.tsx +++ b/src/excalidraw-app/collab/RoomDialog.tsx @@ -7,12 +7,27 @@ import { stop, share, shareIOS, + shareWindows, } from "../../components/icons"; import { ToolButton } from "../../components/ToolButton"; import { t } from "../../i18n"; import "./RoomDialog.scss"; import Stack from "../../components/Stack"; +const getShareIcon = () => { + const navigator = window.navigator as any; + const isAppleBrowser = /Apple/.test(navigator.vendor); + const isWindowsBrowser = navigator.appVersion.indexOf("Win") !== -1; + + if (isAppleBrowser) { + return shareIOS; + } else if (isWindowsBrowser) { + return shareWindows; + } + + return share; +}; + const RoomDialog = ({ handleClose, activeRoomLink, @@ -31,8 +46,6 @@ const RoomDialog = ({ setErrorMessage: (message: string) => void; }) => { const roomLinkInput = useRef(null); - const navigator = window.navigator as any; - const isAppleBrowser = /Apple/.test(navigator.vendor); const copyRoomLink = async () => { try { @@ -93,7 +106,7 @@ const RoomDialog = ({ {"share" in navigator ? (