import React, { memo, useState } from "react"; import styled from "styled-components"; import { ASSETS_CDN_URL } from "constants/ThirdPartyConstants"; import { useEffect } from "react"; import { playWelcomeAnimation } from "utils/helpers"; import { createMessage, WELCOME_BODY, WELCOME_HEADER, } from "@appsmith/constants/messages"; import NonSuperUserForm, { SuperUserForm } from "./GetStarted"; import { getAssetUrl } from "@appsmith/utils/airgapHelpers"; const LandingPageWrapper = styled.div<{ hide: boolean }>` width: ${(props) => props.theme.pageContentWidth}px; height: 100vh; display: flex; justify-content: center; align-items: center; margin: 0 auto; opacity: ${(props) => (props.hide ? 0 : 1)}; `; const LandingPageContent = styled.div` width: 100%; display: flex; align-items: center; position: relative; z-index: 100; `; const StyledTextBanner = styled.div` min-width: ${(props) => props.theme.pageContentWidth * 0.55}px; padding-left: 64px; `; const StyledBannerHeader = styled.h1` font-family: "Paytone One", sans-serif; font-size: 72px; margin: 0px 0px; `; const StyledBannerBody = styled.p` font-family: "Montserrat", sans-serif; font-size: 24px; margin: ${(props) => props.theme.spaces[7]}px 0px; width: 400px; `; const StyledImageBanner = styled.div` min-width: ${(props) => props.theme.pageContentWidth * 0.45}px; `; const getWelcomeImage = () => `${ASSETS_CDN_URL}/welcome-banner.svg`; type LandingPageProps = { onGetStarted?: (role?: string, useCase?: string) => void; forSuperUser: boolean; }; const WELCOME_PAGE_ANIMATION_CONTAINER = "welcome-page-animation-container"; const includeFonts = () => { const preconnectGoogleapis = document.createElement("link"); preconnectGoogleapis.rel = "preconnect"; preconnectGoogleapis.href = "https://fonts.googleapis.com"; document.head.appendChild(preconnectGoogleapis); const preconnectGstatic = document.createElement("link") as any; preconnectGstatic.rel = "preconnect"; preconnectGstatic.href = "https://fonts.gstatic.com"; preconnectGstatic.crossorigin = "crossorigin"; document.head.appendChild(preconnectGstatic); const fonts = document.createElement("link"); fonts.rel = "stylesheet"; fonts.href = "https://fonts.googleapis.com/css2?family=Montserrat&family=Paytone+One&display=swap"; document.head.appendChild(fonts); }; function Banner() { return ( <> {createMessage(WELCOME_HEADER)} {createMessage(WELCOME_BODY)} ); } export default memo(function LandingPage(props: LandingPageProps) { const [fontsInjected, setFontsInjected] = useState(false); useEffect(() => { includeFonts(); playWelcomeAnimation(`#${WELCOME_PAGE_ANIMATION_CONTAINER}`); //wait for the fonts to be loaded setTimeout(() => { setFontsInjected(true); }, 100); }, []); return ( {props.forSuperUser ? ( ) : ( )} ); });