Untitled

 avatar
unknown
javascript
3 years ago
2.7 kB
5
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...