Remove old ZMA logos, rip out JS theme state from open-in-desktop view (#7119)
* Remove old ZMA logos, rip out JS theme state from open-in-desktop view Make this page dumber so that it doesn't break * Lint and remove kcma refs --------- Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
This commit is contained in:
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 16 KiB |
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
Binary file not shown.
Before Width: | Height: | Size: 8.1 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 16 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 13 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 13 KiB |
@ -9,9 +9,11 @@ import {
|
|||||||
ZOO_STUDIO_PROTOCOL,
|
ZOO_STUDIO_PROTOCOL,
|
||||||
} from '@src/lib/constants'
|
} from '@src/lib/constants'
|
||||||
import { isDesktop } from '@src/lib/isDesktop'
|
import { isDesktop } from '@src/lib/isDesktop'
|
||||||
import { Themes, getSystemTheme } from '@src/lib/theme'
|
import { Themes, darkModeMatcher, setThemeClass } from '@src/lib/theme'
|
||||||
import toast from 'react-hot-toast'
|
import toast from 'react-hot-toast'
|
||||||
import { platform } from '@src/lib/utils'
|
import { platform } from '@src/lib/utils'
|
||||||
|
import { Logo } from '@src/components/Logo'
|
||||||
|
import { useEffect } from 'react'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component is a handler that checks if a certain query parameter
|
* This component is a handler that checks if a certain query parameter
|
||||||
@ -19,17 +21,23 @@ import { platform } from '@src/lib/utils'
|
|||||||
* want to open the current page in the desktop app.
|
* want to open the current page in the desktop app.
|
||||||
*/
|
*/
|
||||||
export const OpenInDesktopAppHandler = (props: React.PropsWithChildren) => {
|
export const OpenInDesktopAppHandler = (props: React.PropsWithChildren) => {
|
||||||
const theme = getSystemTheme()
|
|
||||||
const buttonClasses =
|
const buttonClasses =
|
||||||
'bg-transparent flex-0 hover:bg-primary/10 dark:hover:bg-primary/10'
|
'bg-transparent flex-0 hover:bg-primary/10 dark:hover:bg-primary/10'
|
||||||
const pathLogomarkSvg = `${isDesktop() ? '.' : ''}/zma-logomark${
|
|
||||||
theme === Themes.Light ? '-dark' : ''
|
|
||||||
}.svg`
|
|
||||||
const [searchParams, setSearchParams] = useSearchParams()
|
const [searchParams, setSearchParams] = useSearchParams()
|
||||||
// We also ignore this param on desktop, as it is redundant
|
// We also ignore this param on desktop, as it is redundant
|
||||||
const hasAskToOpenParam =
|
const hasAskToOpenParam =
|
||||||
!isDesktop() && searchParams.has(ASK_TO_OPEN_QUERY_PARAM)
|
!isDesktop() && searchParams.has(ASK_TO_OPEN_QUERY_PARAM)
|
||||||
|
|
||||||
|
// Watch the system theme for changes
|
||||||
|
useEffect(() => {
|
||||||
|
const listener = (e: MediaQueryListEvent) => {
|
||||||
|
setThemeClass(e.matches ? Themes.Dark : Themes.Light)
|
||||||
|
}
|
||||||
|
|
||||||
|
darkModeMatcher?.addEventListener('change', listener)
|
||||||
|
return () => darkModeMatcher?.removeEventListener('change', listener)
|
||||||
|
}, [])
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function removes the query param to ask to open in desktop app
|
* This function removes the query param to ask to open in desktop app
|
||||||
* and then navigates to the same route but with our custom protocol
|
* and then navigates to the same route but with our custom protocol
|
||||||
@ -73,17 +81,12 @@ export const OpenInDesktopAppHandler = (props: React.PropsWithChildren) => {
|
|||||||
appear
|
appear
|
||||||
show={true}
|
show={true}
|
||||||
as="div"
|
as="div"
|
||||||
className={
|
className="fixed inset-0 grid p-4 place-content-center bg-chalkboard-10 dark:bg-chalkboard-110"
|
||||||
theme +
|
|
||||||
` fixed inset-0 grid p-4 place-content-center ${
|
|
||||||
theme === Themes.Dark ? '!bg-chalkboard-110 text-chalkboard-20' : ''
|
|
||||||
}`
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<Transition.Child
|
<Transition.Child
|
||||||
as="div"
|
as="div"
|
||||||
className={`max-w-3xl py-6 px-10 flex flex-col items-center gap-8
|
className={`max-w-3xl py-6 px-10 flex flex-col items-center gap-12
|
||||||
mx-auto border rounded-lg shadow-lg dark:bg-chalkboard-100`}
|
mx-auto border rounded-lg shadow-lg bg-chalkboard-10 dark:bg-chalkboard-100`}
|
||||||
enter="ease-out duration-300"
|
enter="ease-out duration-300"
|
||||||
enterFrom="opacity-0 scale-95"
|
enterFrom="opacity-0 scale-95"
|
||||||
enterTo="opacity-100 scale-100"
|
enterTo="opacity-100 scale-100"
|
||||||
@ -92,19 +95,15 @@ export const OpenInDesktopAppHandler = (props: React.PropsWithChildren) => {
|
|||||||
leaveTo="opacity-0 scale-95"
|
leaveTo="opacity-0 scale-95"
|
||||||
style={{ zIndex: 10 }}
|
style={{ zIndex: 10 }}
|
||||||
>
|
>
|
||||||
<div>
|
<h1 className="text-2xl text-center ">
|
||||||
<h1 className="text-2xl">
|
<div className="mb-4">Launching </div>
|
||||||
Launching{' '}
|
<div className="flex items-center gap-4 flex-wrap text-4xl">
|
||||||
<img
|
<Logo className="w-40" aria-label="Zoo" />
|
||||||
src={pathLogomarkSvg}
|
<span>Design Studio</span>
|
||||||
className="w-48"
|
|
||||||
alt="Zoo Design Studio"
|
|
||||||
/>
|
|
||||||
</h1>
|
|
||||||
</div>
|
</div>
|
||||||
<p className="text-primary flex items-center gap-2">
|
</h1>
|
||||||
Choose where to open this link...
|
<div className="flex flex-col gap-4 items-center">
|
||||||
</p>
|
<p className="text-primary">Choose where to open this link...</p>
|
||||||
<div className="flex flex-col md:flex-row items-start justify-between gap-4 xl:gap-8">
|
<div className="flex flex-col md:flex-row items-start justify-between gap-4 xl:gap-8">
|
||||||
<div className="flex flex-col gap-2">
|
<div className="flex flex-col gap-2">
|
||||||
<ActionButton
|
<ActionButton
|
||||||
@ -137,6 +136,7 @@ export const OpenInDesktopAppHandler = (props: React.PropsWithChildren) => {
|
|||||||
Continue to web app
|
Continue to web app
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</Transition.Child>
|
</Transition.Child>
|
||||||
</Transition>
|
</Transition>
|
||||||
) : (
|
) : (
|
||||||
|
@ -924,7 +924,7 @@ class EngineConnection extends EventTarget {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is required for when KCMA is running stand-alone / within desktop app.
|
// This is required for when the app is running stand-alone / within desktop app.
|
||||||
// Otherwise when run in a browser, the token is sent implicitly via
|
// Otherwise when run in a browser, the token is sent implicitly via
|
||||||
// the Cookie header.
|
// the Cookie header.
|
||||||
if (this.token) {
|
if (this.token) {
|
||||||
|
Reference in New Issue
Block a user