Update of packages and simplification
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import App, { Container } from "next/app";
|
||||
import Router from "next/router";
|
||||
import Script from 'next/script'
|
||||
import Head from "next/head";
|
||||
|
||||
import { gsap } from "gsap/dist/gsap";
|
||||
@@ -204,20 +204,19 @@ export default class Site extends App {
|
||||
</SwitchTransition>
|
||||
<Footer />
|
||||
|
||||
<script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-504FPVG74X"
|
||||
></script>
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-504FPVG74X');
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
<Script
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-504FPVG74X"
|
||||
strategy="afterInteractive"
|
||||
/>
|
||||
<Script id="google-analytics" strategy="afterInteractive">
|
||||
{`
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){window.dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-504FPVG74X');
|
||||
`}
|
||||
</Script>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ const transporter = nodemailer.createTransport({
|
||||
},
|
||||
});
|
||||
|
||||
export default async (req, res) => {
|
||||
let send = async (req, res) => {
|
||||
const {
|
||||
firma,
|
||||
anrede,
|
||||
@@ -89,3 +89,6 @@ const mailer = ({
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export default send
|
||||
@@ -1,222 +0,0 @@
|
||||
import React from "react";
|
||||
import { Formik } from "formik";
|
||||
import * as Yup from "yup";
|
||||
import axios from "axios";
|
||||
import Head from "next/head";
|
||||
|
||||
import { EanfrageSchema } from "../components/forms/schemas.jsx";
|
||||
|
||||
import IntroForm from "../components/forms/eanfrageforms/introform.jsx";
|
||||
import ContactPersonForm from "../components/forms/eanfrageforms/contactperson.jsx";
|
||||
import PartForm from "../components/forms/eanfrageforms/partform.jsx";
|
||||
import Summary from "../components/forms/eanfrageforms/summary.jsx";
|
||||
|
||||
export default class Eanfrage extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this._renderStepContent = this._renderStepContent.bind(this);
|
||||
this._handleForward = this._handleForward.bind(this);
|
||||
this._handleBackwards = this._handleBackwards.bind(this);
|
||||
|
||||
this.state = {
|
||||
rescode: null,
|
||||
statustext: null,
|
||||
activeStep: 0,
|
||||
disabled: false,
|
||||
};
|
||||
}
|
||||
|
||||
_renderStepContent(
|
||||
step,
|
||||
values,
|
||||
isSubmitting,
|
||||
handleChange,
|
||||
handleBlur,
|
||||
touched,
|
||||
errors,
|
||||
setFieldValue
|
||||
) {
|
||||
switch (step) {
|
||||
case 0:
|
||||
return <IntroForm />;
|
||||
case 1:
|
||||
return (
|
||||
<ContactPersonForm
|
||||
values={values}
|
||||
isSubmitting={isSubmitting}
|
||||
handleChange={handleChange}
|
||||
handleBlur={handleBlur}
|
||||
touched={touched}
|
||||
errors={errors}
|
||||
disabled={this.state.disabled}
|
||||
/>
|
||||
);
|
||||
case 2:
|
||||
return (
|
||||
<PartForm
|
||||
values={values}
|
||||
isSubmitting={isSubmitting}
|
||||
handleChange={handleChange}
|
||||
handleBlur={handleBlur}
|
||||
touched={touched}
|
||||
errors={errors}
|
||||
disabled={this.state.disabled}
|
||||
setFieldValue={setFieldValue}
|
||||
/>
|
||||
);
|
||||
case 3:
|
||||
return <Summary values={values} />;
|
||||
default:
|
||||
return <div>Not Found</div>;
|
||||
}
|
||||
}
|
||||
|
||||
_handleForward() {
|
||||
this.setState({
|
||||
activeStep: this.state.activeStep + 1,
|
||||
});
|
||||
}
|
||||
|
||||
_handleBackwards() {
|
||||
this.setState({
|
||||
activeStep: this.state.activeStep - 1,
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<meta
|
||||
name="description"
|
||||
content="Die Hans Prothmann GmbH ist Ihr Experte für Blechverarbeitung in München. Professionelles Laserschneiden, Stanzen, Biegen und Gravieren in München."
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="Blechverarbeitung München, Blechverarbeitung Gröbenzell, Laserteile, Biegeteile, Stanzteile"
|
||||
/>
|
||||
<meta name="robots" content="index, follow" />
|
||||
<title>eAnfrage - Prothmann GmbH</title>
|
||||
</Head>
|
||||
<div className="container background-image landing-img d-flex align-items-center minh-100vh navbar-spacing mb-5">
|
||||
<div className="col text-center">
|
||||
<Formik
|
||||
validationSchema={EanfrageSchema}
|
||||
initialValues={{
|
||||
firma: "",
|
||||
anrede: "",
|
||||
titel: "",
|
||||
vorname: "",
|
||||
nachname: "",
|
||||
email: "",
|
||||
telefon: "",
|
||||
invoiceadress: "",
|
||||
invoiceplz: "",
|
||||
diffrentshipping: false,
|
||||
shippingaddress: "",
|
||||
shippingplz: "",
|
||||
parts: [
|
||||
{
|
||||
name: "Teststeil",
|
||||
description: "Dies ist eine total tolle Bschreibung",
|
||||
material: "Sonstiges",
|
||||
materialother: "Kupfer Beryllium",
|
||||
finish: "Sonstiges",
|
||||
finishother: "DLC",
|
||||
amount: "1000",
|
||||
files: [],
|
||||
engraving: true,
|
||||
comment:
|
||||
"Dies hier sind zusätzliche Produktionsanweisungen",
|
||||
},
|
||||
],
|
||||
consent: true,
|
||||
}}
|
||||
onSubmit={async (values, errors) => {
|
||||
console.log(values, errors);
|
||||
// const data = values;
|
||||
// try {
|
||||
// const res = await axios({
|
||||
// method: "post",
|
||||
// url: "/api/contactsend",
|
||||
// headers: {
|
||||
// "Content-Type": "application/json",
|
||||
// },
|
||||
// data,
|
||||
// });
|
||||
// this.setState({
|
||||
// status: "Ihre Nachricht wurde erfolgreich versendet",
|
||||
// res: res.status,
|
||||
// });
|
||||
// } catch (error) {
|
||||
// this.setState({
|
||||
// status:
|
||||
// "Beim versenden ist ein Fehler aufgetreten! Bitte versuchen Sie es in einigen Minuten noch einmal oder schicken Sie und direkt eine e-Mail.",
|
||||
// res: res.status,
|
||||
// });
|
||||
// }
|
||||
}}
|
||||
>
|
||||
{({
|
||||
values,
|
||||
errors,
|
||||
touched,
|
||||
handleChange,
|
||||
handleBlur,
|
||||
handleSubmit,
|
||||
isSubmitting,
|
||||
setFieldValue,
|
||||
}) => (
|
||||
<form onSubmit={handleSubmit} className="description">
|
||||
{this._renderStepContent(
|
||||
this.state.activeStep,
|
||||
values,
|
||||
isSubmitting,
|
||||
handleChange,
|
||||
handleBlur,
|
||||
touched,
|
||||
errors,
|
||||
setFieldValue
|
||||
)}
|
||||
|
||||
<div className="d-flex flex-row justify-content-between">
|
||||
<button
|
||||
type="button"
|
||||
className={`btn btn-dark ${
|
||||
this.state.activeStep <= 0 ? "disabled" : ""
|
||||
}`}
|
||||
onClick={this._handleBackwards}
|
||||
>
|
||||
Zurück
|
||||
</button>
|
||||
|
||||
{this.state.activeStep !== 3 ? (
|
||||
<button
|
||||
type="button"
|
||||
className={`btn btn-primary`}
|
||||
onClick={this._handleForward}
|
||||
>
|
||||
Weiter
|
||||
</button>
|
||||
) : (
|
||||
<button
|
||||
type="button"
|
||||
className={`btn btn-success ${
|
||||
values.consent === false ? "disabled" : ""
|
||||
}`}
|
||||
onClick={handleSubmit}
|
||||
>
|
||||
Abschicken
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</form>
|
||||
)}
|
||||
</Formik>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -60,7 +60,7 @@ export default function Impressum(props) {
|
||||
<p>
|
||||
Unsere Maschinen von Amada
|
||||
<br />
|
||||
<a href="http://www.amada.de/" target="_blank">
|
||||
<a href="http://www.amada.de/" target="_blank" rel="noreferrer">
|
||||
www.amada.de
|
||||
</a>
|
||||
<br />
|
||||
@@ -70,6 +70,7 @@ export default function Impressum(props) {
|
||||
<a
|
||||
href="http://www.amada.co.jp/fair/eng/awards/27th/tatech01.html"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
www.amada.co.jp
|
||||
</a>
|
||||
@@ -80,6 +81,7 @@ export default function Impressum(props) {
|
||||
<a
|
||||
href="http://www.fachverband-metall-bayern.de/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
www.fachverband-metall-bayern.de
|
||||
</a>
|
||||
@@ -87,7 +89,7 @@ export default function Impressum(props) {
|
||||
<br />
|
||||
Unsere Website von CAnetzberger Design
|
||||
<br />
|
||||
<a href="https://www.canetzberger.design" target="_blank">
|
||||
<a href="https://www.canetzberger.design" target="_blank" rel="noreferrer">
|
||||
www.canetzberger.design
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -4,7 +4,6 @@ import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
import { gsap } from "gsap/dist/gsap";
|
||||
import { ScrollTrigger } from "gsap/dist/ScrollTrigger.js";
|
||||
import { ReactSVG } from "react-svg";
|
||||
|
||||
import ProductContainer from "../components/productscontainer.jsx";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user