Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 16s
CodeQL / Analyze (python) (push) Failing after 3s
i18n sync check / check:sync (push) Failing after 3s
React Doctor / react-doctor (push) Failing after 16s
Branch Build CE / Build-Push Admin Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Admin Manifest (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Web Manifest (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Proxy Manifest (push) Has been cancelled
Branch Build CE / Merge Space Manifest (push) Has been cancelled
Branch Build CE / Prepare AIO Assets (push) Has been cancelled
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Live Collaboration Manifest (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge API Server Manifest (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge AIO Manifest (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
/**
|
|
* Copyright (c) 2023-present Plane Software, Inc. and contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
* See the LICENSE file for details.
|
|
*/
|
|
|
|
import { observer } from "mobx-react";
|
|
import Link from "next/link";
|
|
import { useTheme as useNextTheme } from "next-themes";
|
|
// ui
|
|
import { Button } from "@makeplane/propel/components/button";
|
|
import { resolveGeneralTheme } from "@plane/utils";
|
|
// hooks
|
|
import TakeoffIconDark from "@/app/assets/logos/takeoff-icon-dark.svg?url";
|
|
import TakeoffIconLight from "@/app/assets/logos/takeoff-icon-light.svg?url";
|
|
import { useTheme } from "@/hooks/store";
|
|
// icons
|
|
|
|
export const NewUserPopup = observer(function NewUserPopup() {
|
|
// hooks
|
|
const { isNewUserPopup, toggleNewUserPopup } = useTheme();
|
|
// theme
|
|
const { resolvedTheme } = useNextTheme();
|
|
|
|
if (!isNewUserPopup) return <></>;
|
|
return (
|
|
<div className="shadow-md absolute right-8 bottom-8 w-96 rounded-lg border border-subtle bg-surface-1 p-6">
|
|
<div className="flex gap-4">
|
|
<div className="grow">
|
|
<div className="text-14 font-semibold">Create workspace</div>
|
|
<div className="py-2 text-13 font-medium text-tertiary">
|
|
Instance setup done! Welcome to Plane instance portal. Start your journey with by creating your first
|
|
workspace.
|
|
</div>
|
|
<div className="flex items-center gap-4 pt-2">
|
|
<Button
|
|
variant="primary"
|
|
size="md"
|
|
stretch="auto"
|
|
nativeButton={false}
|
|
render={<Link href="/workspace/create" />}
|
|
label="Create workspace"
|
|
/>
|
|
<Button variant="secondary" size="md" stretch="auto" onClick={toggleNewUserPopup} label="Close" />
|
|
</div>
|
|
</div>
|
|
<div className="flex shrink-0 items-center justify-center">
|
|
<img
|
|
src={resolveGeneralTheme(resolvedTheme) === "dark" ? TakeoffIconDark : TakeoffIconLight}
|
|
height={80}
|
|
width={80}
|
|
alt="Plane icon"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
});
|