* Get electron building something at all * Merge Frank test setup work (#3418) * Working window.electron.getPath * Loading project-specific settings in electron tests * Simplify test until we can get snapshots/traces working in electron tests * test tweaks --------- Co-authored-by: Frank Noirot <frank@kittycad.io> * add test #3375 and #3420 * put kcl files together * move files * can sort projects #3362 * File in the file pane should open with a single click #3385 * pressing delete on home screen should do nothing #3387 * add aria labels to icons * Rename and delete projects, also spam arrow keys when renaming #3364 #3365 #3259 * Fix up paths * Update flake.nix to support Electron * Remove a layer of indirection * Work without a web server * Fix settings#projectDir link on home * Fix login (requires new @kittycad/lib WHICH IS NOT INCLUDED HERE) * Lee: Tests are broken because auth skip needs to happen * get setting override envs passed through * tweak eletron CI * yml tweak * fmt * NUKE tauri shit post merge with main * another test auth tweak * Revert "another test auth tweak" This reverts commitb2254b10af
. * try CI again * CI tweaks * SKIP_AUTH true now on playwright * Skipping auth when NODE_ENV=development now * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * Use BASE_URL() * fix exists Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix foldername for macos Signed-off-by: Jess Frazelle <github@jessfraz.com> * update for windows Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix version in lower right Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup unused imports Signed-off-by: Jess Frazelle <github@jessfraz.com> * progress on is playwright Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix test folders Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove tauri from actions bullshit Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove tauri dir Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups the coredump async shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * node env dev Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cancellable Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup unnessary things Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * env vars Signed-off-by: Jess Frazelle <github@jessfraz.com> * Bring back fix for NOT using hardcoded main.kcl * env Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "updates" This reverts commit da5d9f1043eb94404e8b3f8044088e990e34a4ef. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove tauri clippuy Signed-off-by: Jess Frazelle <github@jessfraz.com> * less retries for now, no debug Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * tsconfig Signed-off-by: Jess Frazelle <github@jessfraz.com> * small tsc fix * update some tsc Signed-off-by: Jess Frazelle <github@jessfraz.com> * tsc env Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix other tsc Signed-off-by: Jess Frazelle <github@jessfraz.com> * small change for routeLoaders * rm old screenshot Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix auth Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix last onew Signed-off-by: Jess Frazelle <github@jessfraz.com> * auth clean up * fix package.json Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * dissmissed screen on tests * add waits between files being written * put back retried Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix weird programMemory Map issue * put private back * Revert "put private back" This reverts commitd311b978ca
. * Revert "fix weird programMemory Map issue" This reverts commit6c387bdf62
. * remove serde-wasm-bindgen Signed-off-by: Jess Frazelle <github@jessfraz.com> * add env Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * fix tests * more test tweaks * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * another tweak * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * more test tweaks * more tweaks * increase macos timeout * try fix macos * disable macos playwright tests --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch> Co-authored-by: Frank Noirot <frank@kittycad.io> Co-authored-by: Adam Sunderland <iterion@gmail.com> Co-authored-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
94 lines
3.0 KiB
TypeScript
94 lines
3.0 KiB
TypeScript
import { ActionButton } from '../components/ActionButton'
|
|
import { isDesktop } from '../lib/isDesktop'
|
|
import { VITE_KC_SITE_BASE_URL, VITE_KC_API_BASE_URL } from '../env'
|
|
import { Themes, getSystemTheme } from '../lib/theme'
|
|
import { PATHS } from 'lib/paths'
|
|
import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext'
|
|
import { APP_NAME } from 'lib/constants'
|
|
|
|
const SignIn = () => {
|
|
const {
|
|
auth: { send },
|
|
settings: {
|
|
state: {
|
|
context: {
|
|
app: { theme },
|
|
},
|
|
},
|
|
},
|
|
} = useSettingsAuthContext()
|
|
|
|
const getLogoTheme = () =>
|
|
theme.current === Themes.Light ||
|
|
(theme.current === Themes.System && getSystemTheme() === Themes.Light)
|
|
? '-dark'
|
|
: ''
|
|
|
|
const signInDesktop = async () => {
|
|
// We want to invoke our command to login via device auth.
|
|
try {
|
|
const token: string = await window.electron.login(VITE_KC_API_BASE_URL)
|
|
send({ type: 'Log in', token })
|
|
} catch (error) {
|
|
console.error('Error with login button', error)
|
|
}
|
|
}
|
|
|
|
return (
|
|
<main className="body-bg h-full min-h-screen m-0 p-0 pt-24">
|
|
<div className="max-w-2xl mx-auto">
|
|
<div>
|
|
<img
|
|
src={`./zma-logomark${getLogoTheme()}.svg`}
|
|
alt="Zoo Modeling App"
|
|
className="w-48 inline-block"
|
|
/>
|
|
</div>
|
|
<h1 className="font-bold text-2xl mt-12 mb-6">
|
|
Sign in to get started with the {APP_NAME}
|
|
</h1>
|
|
<p className="py-4">
|
|
ZMA is an open-source CAD application for creating accurate 3D models
|
|
for use in manufacturing. It is built on top of KittyCAD, the design
|
|
API from Zoo. Zoo is the first software infrastructure company built
|
|
specifically for the needs of the manufacturing industry. With ZMA we
|
|
are showing how the KittyCAD API from Zoo can be used to build
|
|
entirely new kinds of software for manufacturing.
|
|
</p>
|
|
<p className="py-4">
|
|
ZMA is currently in development. If you would like to be notified when
|
|
ZMA is ready for production, please sign up for our mailing list at{' '}
|
|
<a href="https://zoo.dev">zoo.dev</a>.
|
|
</p>
|
|
{isDesktop() ? (
|
|
<ActionButton
|
|
Element="button"
|
|
onClick={signInDesktop}
|
|
iconStart={{ icon: 'arrowRight' }}
|
|
className="w-fit mt-4"
|
|
data-testid="sign-in-button"
|
|
>
|
|
Sign in
|
|
</ActionButton>
|
|
) : (
|
|
<ActionButton
|
|
Element="link"
|
|
to={`${VITE_KC_SITE_BASE_URL}${
|
|
PATHS.SIGN_IN
|
|
}?callbackUrl=${encodeURIComponent(
|
|
typeof window !== 'undefined' &&
|
|
window.location.href.replace('signin', '')
|
|
)}`}
|
|
iconStart={{ icon: 'arrowRight' }}
|
|
className="w-fit mt-4"
|
|
>
|
|
Sign in
|
|
</ActionButton>
|
|
)}
|
|
</div>
|
|
</main>
|
|
)
|
|
}
|
|
|
|
export default SignIn
|