MED-187
This commit is contained in:
@@ -19,6 +19,8 @@ import { Label } from '@kit/ui/label';
|
|||||||
import { Spinner } from '@kit/ui/spinner';
|
import { Spinner } from '@kit/ui/spinner';
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
|
|
||||||
|
import { sendCompanyOfferEmail } from '../_lib/server/company-offer-actions';
|
||||||
|
|
||||||
const CompanyOfferForm = () => {
|
const CompanyOfferForm = () => {
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -34,6 +36,16 @@ const CompanyOfferForm = () => {
|
|||||||
|
|
||||||
const onSubmit = async (data: CompanySubmitData) => {
|
const onSubmit = async (data: CompanySubmitData) => {
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
|
try {
|
||||||
|
await sendCompanyOfferEmail(data, language);
|
||||||
|
router.push('/company-offer/success');
|
||||||
|
} catch (err) {
|
||||||
|
setIsLoading(false);
|
||||||
|
if (err instanceof Error) {
|
||||||
|
console.warn('Could not send company offer email: ' + err.message);
|
||||||
|
}
|
||||||
|
console.warn('Could not send company offer email: ', err);
|
||||||
|
}
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
Object.entries(data).forEach(([key, value]) => {
|
Object.entries(data).forEach(([key, value]) => {
|
||||||
if (value !== undefined) formData.append(key, value);
|
if (value !== undefined) formData.append(key, value);
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
'use server';
|
||||||
|
|
||||||
|
import { renderCompanyOfferEmail } from '@/packages/email-templates/src';
|
||||||
|
|
||||||
|
import { sendEmailFromTemplate } from '~/lib/services/mailer.service';
|
||||||
|
import { CompanySubmitData } from '~/lib/types/company';
|
||||||
|
|
||||||
|
export const sendCompanyOfferEmail = async (
|
||||||
|
data: CompanySubmitData,
|
||||||
|
language: string,
|
||||||
|
) => {
|
||||||
|
const formData = new FormData();
|
||||||
|
Object.entries(data).forEach(([key, value]) => {
|
||||||
|
if (value !== undefined) formData.append(key, value);
|
||||||
|
});
|
||||||
|
|
||||||
|
sendEmailFromTemplate(
|
||||||
|
renderCompanyOfferEmail,
|
||||||
|
{
|
||||||
|
companyData: data,
|
||||||
|
language,
|
||||||
|
},
|
||||||
|
process.env.CONTACT_EMAIL!,
|
||||||
|
);
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user