import { Trans } from "@lingui/macro" import { Anchor, Box, Center, Container, Divider, Group, Image, Title, useMantineColorScheme } from "@mantine/core" import { client } from "app/client" import { redirectToApiDocumentation, redirectToLogin, redirectToRegistration, redirectToRootCategory } from "app/redirect/thunks" import { useAppDispatch, useAppSelector } from "app/store" import welcome_page_dark from "assets/welcome_page_dark.png" import welcome_page_light from "assets/welcome_page_light.png" import { ActionButton } from "components/ActionButton" import { useBrowserExtension } from "hooks/useBrowserExtension" import { useMobile } from "hooks/useMobile" import { useAsyncCallback } from "react-async-hook" import { SiGithub, SiTwitter } from "react-icons/si" import { TbClock, TbKey, TbMoon, TbSettings, TbSun, TbUserPlus } from "react-icons/tb" import { PageTitle } from "./PageTitle" const iconSize = 18 export function WelcomePage() { const serverInfos = useAppSelector(state => state.server.serverInfos) const { colorScheme } = useMantineColorScheme() const dispatch = useAppDispatch() const image = colorScheme === "light" ? welcome_page_light : welcome_page_dark const login = useAsyncCallback(client.user.login, { onSuccess: () => { dispatch(redirectToRootCategory()) }, }) return (
Bloat-free feed reader
{serverInfos?.demoAccountEnabled && (
Try the demo!} icon={} variant="outline" onClick={async () => await login.execute({ name: "demo", password: "demo" })} showLabelOnMobile />
)}