add astro template for front #13

Merged
Clement merged 18 commits from feat/astro-template-for-front into master 2024-05-21 08:07:58 +00:00
5 changed files with 42 additions and 9 deletions
Showing only changes of commit 8a94d4358e - Show all commits

View File

@ -2,10 +2,10 @@
import type { Form as Props } from 'types'; import type { Form as Props } from 'types';
import Button from 'components/ui/Button.astro'; import Button from 'components/ui/Button.astro';
const { inputs, textarea, disclaimer, button = 'Contact us', description = '' } = Astro.props; const { inputs, textarea, disclaimer, button = 'Contact us', description = '', id, method, enctype } = Astro.props;
--- ---
<form> <form id={id} method={method} enctype={enctype}>
{ {
inputs && inputs &&
inputs.map( inputs.map(

View File

@ -13,6 +13,9 @@ const {
disclaimer, disclaimer,
button, button,
description, description,
formid,
method,
enctype,
id, id,
isDark = false, isDark = false,
@ -33,6 +36,9 @@ const {
disclaimer={disclaimer} disclaimer={disclaimer}
button={button} button={button}
description={description} description={description}
id={formid}
method={method}
enctype={enctype}
/> />
</div> </div>
) )

View File

@ -3,6 +3,8 @@ import Layout from 'layouts/PageLayout.astro';
//import Layout from 'layouts/Layout.astro'; //import Layout from 'layouts/Layout.astro';
import AstroUtils from "libs/AstroUtils"; import AstroUtils from "libs/AstroUtils";
import PocketBase from 'pocketbase' import PocketBase from 'pocketbase'
import ContactUs from 'components/widgets/Contact.astro';
import FormContainer from 'components/ui/Form.astro';
const pb = Astro.locals.pb const pb = Astro.locals.pb
@ -11,7 +13,10 @@ if(pb.authStore.isValid){
return Astro.redirect("/account") return Astro.redirect("/account")
} }
const res = await AstroUtils.wrap(async () => { console.log(Astro.request.method);
await AstroUtils.wrap(async () => {
if (Astro.request.method !== 'POST') { if (Astro.request.method !== 'POST') {
return return
} }
@ -38,9 +43,24 @@ const metadata = {
--- ---
<Layout metadata={metadata}> <Layout metadata={metadata}>
<form id="account-creation" method="post" enctype="multipart/form-data"> <ContactUs
<input required name="username" placeholder="Pseudo ou email"/> formid="account-creation"
<input required name="password" type="password" placeholder="Mot de passe" /> title="Inscription"
<button>Connection</button> subtitle="Incrivez-vous pour sauvegardez vos recherche"
</form> button='Connexion'
method='post'
enctype="multipart/form-data"
inputs={[
{
type: 'text',
name: 'username',
label: 'Nom d\'utilisateur ou e-mail',
placeholder: "michel@example.com"
},
{
type: "password",
name: "password"
}
]}
/>
</Layout> </Layout>

View File

@ -3,6 +3,8 @@ import Layout from 'layouts/PageLayout.astro';
//import Layout from 'layouts/Layout.astro'; //import Layout from 'layouts/Layout.astro';
import AstroUtils from 'libs/AstroUtils'; import AstroUtils from 'libs/AstroUtils';
import { getEnv } from 'libs/Env'; import { getEnv } from 'libs/Env';
import ContactUs from 'components/widgets/Contact.astro';
import Form from 'components/ui/Form.astro';
const pb = Astro.locals.pb const pb = Astro.locals.pb

View File

@ -210,6 +210,9 @@ export interface Form {
disclaimer?: Disclaimer disclaimer?: Disclaimer
button?: string button?: string
description?: string description?: string
id?: string
method?: string
enctype?: string
} }
// WIDGETS // WIDGETS
@ -285,4 +288,6 @@ export interface Content extends Omit<Headline, 'classes'>, Widget {
callToAction?: CallToAction callToAction?: CallToAction
} }
export interface Contact extends Omit<Headline, 'classes'>, Form, Widget {} export interface Contact extends Omit<Headline, 'classes'>, Form, Widget {
formid?: string
}