Untitled
unknown
javascript
3 years ago
2.7 kB
10
Indexable
// funksjon i certificates.js
export function getContactInformationByCounties(
certificates = [],
counties,
title
) {
const contacts = [];
if (certificates) {
certificates.map((certificate) => {
if (certificate.county == counties && certificate.title == title) {
console.log("Kontakt", certificate.contact);
contacts.push(certificate.contact);
}
});
}
return contacts;
}
//contactInfo.js
import { useQuery } from "@tanstack/react-query";
import Spacer from "../spacer";
import LoadingWrapper from "../loading-wrapper";
import React, { useEffect, useState } from "react";
import "./styles.scss";
import {
getCertificates,
getCertificatesByCounties,
getContactInformationByCounties,
} from "../../utils/certificates";
export default function Contact({ county, title }) {
if (!county) {
return (
<p className="font-serif-text-regular">
Velg fylke for å se kontaktinformasjon.
</p>
);
}
const { isLoading, data: certificates } = useQuery(
["certificates"],
getCertificates
);
const [contacts, setContacts] = useState([""]);
useEffect(() => {
getContactInfo();
}, []);
const getContactInfo = () => {
const contactInformation = getContactInformationByCounties(
certificates,
county,
title
);
setContacts(contactInformation);
};
return (
<>
<h4 className="contact-title font-serif-heading-small">
Kontaktinformasjon
</h4>
{county === "" ? (
<p className="font-serif-text-regular">
Velg fylke for å se kontaktinformasjon.
</p>
) : (
<></>
)}
<LoadingWrapper isLoading={isLoading}>
{contacts &&
contacts.map(({ epost, lenke, info, telefon }, index) => (
<div className="contact" key={index}>
<p className="">{info}</p>
<Spacer />
<h4 className="font-serif-text-regular font-bold">Telefon</h4>
<p className="font-serif-text-regular">{telefon}</p>
<Spacer />
<h4 className="font-serif-text-regular font-bold">Epost</h4>
<p className="font-serif-text-regular">
<a href="mailto:epost" target="_blank">
{epost}
</a>
</p>
<Spacer />
<h4 className="font-serif-text-regular font-bold">Nettsider</h4>
<a
href={lenke}
target="_blank"
className="font-serif-text-regular"
>
{lenke}
</a>
</div>
))}
</LoadingWrapper>
</>
);
}
Editor is loading...