import { Body, Button, Container, Heading, Html, Img, Preview, Section, Text, } from 'jsx-email' import { Signature } from './components/Signature.tsx' import type { Template } from '../types.ts' import type { JSX } from 'preact' import { bodyCss, buttonCss, headingCss, messageCss, rootCss, textCss, } from './styles/base.tsx' import { BaseStyle } from './styles/base.tsx' function Welcome( { firstname, lastname, login, endpoint }: { firstname: string lastname: string login: string endpoint?: string }, ): JSX.Element { return ( <Html lang='fr' style={{ fontSize: '14px' }}> <BaseStyle /> <Preview>Bienvenue au FabLab Coh@bit</Preview> <Body style={bodyCss}> <Container style={messageCss}> <Section> <Heading as='h1' style={headingCss}> Bienvenue au<Img src='https://cohabit.fr/images/logo.png' alt='FabLab Cohabit' style={imgCss} /> </Heading> <Text style={textCss}> Bravo ! Vous avez rejoint le FabLab Coh@bit en tant que{' '} {firstname} {lastname}. </Text> <Text style={textCss}> Votre identifiant est <span style={preCss}>{login}</span>. </Text> <Text style={textCss}> Laissez parler votre créativité, vous êtes prêt à collaborer avec toute une communauté ouverte et accueillante. </Text> <Text style={textCss}> Par où commencer ? </Text> <ul style={{ fontSize: '1rem' }}> <li> Accéder au <a href='https://cohabit.fr'>site de Coh@bit</a>{' '} et découvrir le FabLab. </li> <li> Découvrir et participer aux{' '} <a href='https://cohabit.fr/projets'>projets en cours</a>{' '} au FabLab. </li> <li> Explorer les{' '} <a href='https://git.cohabit.fr'>sources et archives</a>{' '} du FabLab. </li> <li> Se documenter et parcourrir le{' '} <a href='https://projets.cohabit.fr'>wiki</a> du FabLab. </li> <li> Visionner les{' '} <a href='https://toot.aquilenet.fr/@cohabit_fablab@tube.aquilenet.fr'> tutoriels vidéos </a>{' '} du FabLab. </li> <li> <a href='https://matrix.to/#/!thtlRrlXFrbifqMNCG:matrix.org?via=matrix.org'> Échanger et communiquer </a>{' '} avec les autres usagers du FabLab. </li> </ul> <Container style={{ width: '100%', textAlign: 'center', padding: '1rem' }} > <Button href={endpoint?.length ? endpoint : 'https://cohabit.fr/profil'} style={buttonCss} > Accéder à mon compte </Button> </Container> </Section> </Container> <Signature /> </Body> </Html> ) } const preCss: JSX.CSSProperties = { fontFamily: 'monospace', fontSize: '1rem', padding: '0.2rem', borderRadius: '0.4rem', backgroundColor: rootCss.backgroundColor, } const imgCss: JSX.CSSProperties = { display: 'inline', padding: '1rem', transform: 'translateY(40%)', maxHeight: '3rem', } const template: Template<typeof Welcome, Parameters<typeof Welcome>[0]> = { props: [ { name: 'Prénom', description: "Prénom de l'usager.", required: true, multiline: false, tag: 'firstname', }, { name: 'Nom', description: "Nom de famille de l'usager.", required: true, multiline: false, tag: 'lastname', }, { name: 'Login', description: "Login de l'usager.", required: true, multiline: false, tag: 'login', }, { name: 'Endpoint', description: 'Endpoint du lien "Accéder à mon compte"', required: false, multiline: false, tag: 'endpoint', }, ], name: 'welcome', description: 'Coh@bit welcome mail for new users.', builder: Welcome, } export default template