Skip to content

Commit

Permalink
Merge pull request #454 from Dark-Matter-Labs/staging
Browse files Browse the repository at this point in the history
News section, footer, new analytics
  • Loading branch information
gurdenbatra committed Jan 31, 2024
2 parents df8d52e + 166724a commit 16023a0
Show file tree
Hide file tree
Showing 41 changed files with 2,060 additions and 348 deletions.
4 changes: 2 additions & 2 deletions components/about-page/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ export default function AboutPageComponent({ data }) {
</div>
<div className='grid grid-cols-1 w-full lg:grid-cols-3 max-w-8xl'>
<div className='lg:col-span-2'>
<div className='breadcrumb pt-8 text-green-500 '>
<div className='p-2xs-bold text-green-600 bg-white pl-2 pr-3 py-1.5 rounded-clSm mt-6'>
<Link href='/' className='link-interaction'>
Home &gt;
Home<span className='ml-2'>{'>'}</span>
</Link>
</div>
<div className='max-w-3xl'>
Expand Down
15 changes: 15 additions & 0 deletions components/cookie-banner.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,25 @@ const CookieConsent = () => {
setConsent(true);
setCookie('localConsent', 'true', { maxAge: 60 * 60 * 24 * 365 });
router.reload(window.location.pathname); // extra refresh to enable Hotjar

// eslint-disable-next-line
ppms.cm.api(
'setComplianceSettings',
{ consents: { analytics: { status: 1 } } },
() => console.log('consent success'),
() => console.log('consent fail'),
);
};
const denyCookie = () => {
setConsent(true);
setCookie('localConsent', 'false', { maxAge: 60 * 60 * 24 * 365 });
// eslint-disable-next-line
ppms.cm.api(
'setComplianceSettings',
{ consents: { analytics: { status: 0 } } },
() => console.log('consent success'),
() => console.log('consent fail'),
);
};
if (consent === true || window.location.host.includes('staging')) {
return null;
Expand Down
4 changes: 2 additions & 2 deletions components/faq-page.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ export default function FAQPageComponent({ data }) {
<div className='global-margin pb-8 text-grey-800'>
<div className='grid grid-cols-1 w-full justify-center '>
<div className=''>
<div className='breadcrumb pt-8 text-green-500 link-interaction'>
<div className='bg-white pl-2 pr-3 py-1.5 rounded-clSm p-2xs-bold pt-8 text-green-600 link-interaction'>
<Link href='/' className='link-interaction'>
Home &gt;
Home<span className='ml-2'>{'>'}</span>
</Link>
</div>
<div className='max-w-4xl mx-auto'>
Expand Down
162 changes: 21 additions & 141 deletions components/home-page-about-section.js

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions components/instrument/instrument-header.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
import Link from 'next/link';
import { ArrowLeftIcon } from '@heroicons/react/outline';
import SocialButtons from '../social-buttons';
import InstrumentMetaData from './instrument-metadata';
import Tag from '../tag';
Expand Down Expand Up @@ -49,11 +48,12 @@ export default function InstrumentHeader({ data }) {
<button
type='button'
onClick={() => router.back()}
className='link-interaction-dark-bg'
className='rounded-clSm bg-white pl-2 pr-3 py-1.5 p-2xs-bold text-green-600'
>
<span className='breadcrumb text-grey-100 flex justify-center items-center underline hover:text-green-200 active:text-green-400 focus:text-green-100 focus:right-2 focus:ring-white'>
<ArrowLeftIcon className='inline-block h-4 w-4 pr-1' aria-hidden='true' /> Terug
</span>{' '}
<span className='link-interaction '>
{' '}
<span className='mr-2'>{'<'}</span>Terug
</span>
</button>
<div className='float-right'>
<SocialButtons title={data?.measure?.titel} viewport='desktop' />
Expand Down
10 changes: 9 additions & 1 deletion components/layouts/layout.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import Head from 'next/head';
import { groq } from 'next-sanity';
import useSWR from 'swr';
import PiwikProProvider from '@piwikpro/next-piwik-pro';

import globalMeta from '@/utils/global-meta';
import Footer from '@/components/nav/footer';
Expand Down Expand Up @@ -49,7 +50,14 @@ export default function Layout({
<meta property='og:image' content={ogImgUrl} />
<meta property='og:url' content={canonicalUrl} />
</Head>
<main className='w-full'>{children}</main>
<main className='w-full'>
<PiwikProProvider
containerId={process.env.NEXT_PUBLIC_CONTAINER_ID}
containerUrl={process.env.NEXT_PUBLIC_CONTAINER_URL}
>
{children}
</PiwikProProvider>
</main>
<CookieConsent />
<Footer
vraagSlug={vraagSlug}
Expand Down
2 changes: 1 addition & 1 deletion components/layouts/simple-thema-layout.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default function SimpleThemaLayout({ instruments, numberOfLaws, subheadin
<div className='global-margin'>
<div className='max-w-[830px] mb-10'>
<h2 className='p-5xl-semibold pb-4 pt-7'>
Top {numberOfLaws} {subheading}
First {numberOfLaws} {subheading}
</h2>
<p>{themaData?.introText}</p>
</div>
Expand Down
4 changes: 2 additions & 2 deletions components/nav/footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ const navigation = {
],
thema: [
{ name: 'Voedselverspilling', slug: '/biomassa-en-voedsel/voedselverspilling' },
{ name: 'Meubels', slug: '/consumptie-goederen/meubels' },
{ name: 'Houtbouw', slug: '/bouw/houtbouw' },
{ name: 'Windturbines', slug: '/maakindustrie/windturbines' },
{ name: 'Matrasketen', slug: '/consumptie-goederen/matrasketen' },
{ name: 'Windturbines', slug: '/maakindustrie/windturbines' },
{ name: 'Woningen', slug: '/bouw/woningen' },
{ name: 'Meubels', slug: '/consumptie-goederen/meubels' },
],
};

Expand Down
4 changes: 2 additions & 2 deletions components/nav/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ export default function Nav3(props) {
</>
)}
</Disclosure>
<MobileSimpleButton name='Nieuws' url='/over/Nieuws' />
<MobileSimpleButton name='Nieuws' url='/nieuws' />
<MobileSimpleButton name='Vraag en antwoord' url='/vraag-en-antwoord' />
<MobileSimpleButton name='Contact' url='/contact' />

Expand Down Expand Up @@ -613,7 +613,7 @@ export default function Nav3(props) {
)}
</div>
{/* Refactor */}
<DesktopSimpleButton name='Nieuws' url='/over/Nieuws' />
<DesktopSimpleButton name='Nieuws' url='/nieuws' />
<DesktopSimpleButton name='Vraag en antwoord' url='/vraag-en-antwoord' />
<DesktopSimpleButton name='Contact' url='/contact' />
</div>
Expand Down
42 changes: 42 additions & 0 deletions components/nav/parner-section.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { Fragment } from 'react';
import Image from 'next/image';
import Link from 'next/link';
import { urlFor } from '@/lib/sanity';

const bordersDesktop =
'lg:[&:nth-child(5)]:border-r-0 lg:[&:nth-child(10)]:border-r-0 lg:[&:nth-child(15)]:border-r-0 lg:[&:nth-child(3)]:border-r lg:[&:nth-child(6)]:border-r lg:[&:nth-child(9)]:border-r lg:[&:nth-child(12)]:border-r lg:[&:nth-child(15)]:border-r';
const bordersSmall =
'sm:[&:nth-child(3)]:border-r-0 sm:[&:nth-child(6)]:border-r-0 sm:[&:nth-child(9)]:border-r-0 sm:[&:nth-child(12)]:border-r-0 sm:[&:nth-child(15)]:border-r-0';

export default function ParnerSection({ partners, partnerType }) {
return (
<>
<div className='p-lg-semibold text-gray-100 pl-3 sm:pl-6 lg:pl-8 my-4'>{partnerType}</div>
<div
className={`${
partnerType === 'Financieringspartners'
? ''
: 'mb-8 sm:mb-12 border-b border-gray-100 sm:pb-8'
} grid grid-cols-2 sm:grid-cols-3 gap-x-0.5 gap-y-4 lg:grid-cols-5 `}
>
{partners?.map((partner) => (
<Fragment key={partner.partnerName}>
<div
key={partner.partnerName}
className={`col-span-1 flex justify-center items-center py-4 px-4 lg:py-4 lg:px-8 border-r-0 sm:border-r border-grey-100 ${bordersDesktop} ${bordersSmall}`}
>
<Link href={partner.partnerLink} target='_blank' rel='noopener noreferrer'>
<Image
src={urlFor(partner.logo).url()}
alt={partner.partnerName}
width={190}
height={190}
/>
</Link>
</div>
</Fragment>
))}
</div>
</>
);
}
62 changes: 9 additions & 53 deletions components/nav/partners.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,69 +3,25 @@ import Image from 'next/image';
import useSWR from 'swr';
import { useRouter } from 'next/router';
import { groq } from 'next-sanity';
import { urlFor } from '@/lib/sanity';
import { partnersQuery } from '@/lib/queries';
import sanityLogo from '@/public/logo_partners/sanity-logo.svg';
import { fetcher } from '@/utils/swr-fetcher';
import { Fragment } from 'react';
import ParnerSection from './parner-section';

const bordersDesktop =
'lg:[&:nth-child(6)]:border-r-0 lg:[&:nth-child(14)]:border-r-0 lg:[&:nth-child(21)]:border-r-0 lg:[&:nth-child(29)]:border-r-0 lg:[&:nth-child(3)]:border-r lg:[&:nth-child(8)]:border-r lg:[&:nth-child(12)]:border-r lg:[&:nth-child(17)]:border-r lg:[&:nth-child(26)]:border-r';
const bordersSmall =
'[&:nth-child(3)]:border-r-0 [&:nth-child(8)]:border-r-0 [&:nth-child(12)]:border-r-0 [&:nth-child(17)]:border-r-0 [&:nth-child(21)]:border-r-0 [&:nth-child(26)]:border-r-0';
// fix query to receive the array and not an object
export default function Partners({ footerText }) {
const { data } = useSWR(groq`${partnersQuery}`, fetcher);
const partners = data?.partners;

const router = useRouter();

return (
<div className='bg-green-800 pt-10 pb-2'>
<div className='global-margin pb-12 px-4 lg:pb-16'>
<div className='grid grid-cols-3 gap-x-0.5 gap-y-4 lg:grid-cols-5 '>
{partners?.map((partner, index) => {
return (
<Fragment key={partner.partnerName}>
<div
key={partner.partnerName}
className={`col-span-1 flex justify-center py-4 px-4 lg:py-8 lg:px-8 border-r border-grey-100 ${bordersDesktop} ${bordersSmall}`}
>
<Link href={partner.partnerLink} target='_blank' rel='noopener noreferrer'>
<Image
src={urlFor(partner.logo).url()}
alt={partner.partnerName}
width={190}
height={190}
/>
</Link>
</div>

{index === 2 && <hr className='border-grey-100 col-span-3 block lg:hidden' />}

{index === 4 && <hr className='border-grey-100 col-span-5 hidden lg:block' />}

{index === 5 && <hr className='border-grey-100 col-span-3 block lg:hidden' />}

{index === 8 && <hr className='border-grey-100 col-span-3 block lg:hidden' />}

{index === 9 && <hr className='border-grey-100 col-span-5 hidden lg:block' />}

{index === 11 && <hr className='border-grey-100 col-span-3 block lg:hidden' />}

{partners.length > 15 && index === 14 && (
<hr className='border-grey-100 col-span-3 block lg:hidden' />
)}
{partners.length > 15 && index === 14 && (
<hr className='border-grey-100 col-span-5 hidden lg:block' />
)}
{partners.length > 15 && index === 17 && (
<hr className='border-grey-100 col-span-3 block lg:hidden' />
)}
</Fragment>
);
})}
{router.pathname === '/' && (
<div className='global-margin pb-12 px-4 lg:pb-16'>
<div className='p-6xl-semibold text-gray-100 pl-3 sm:pl-6 lg:pl-8'>Partners</div>
<ParnerSection partners={data?.developingPartners} partnerType='Ontwikkelpartners' />
<ParnerSection partners={data?.knowledge} partnerType='Kennispartners' />
<ParnerSection partners={data?.financingPartners} partnerType='Financieringspartners' />
</div>
</div>
)}
<div className='global-margin pb-2 text-grey-100 p-md'>
{router.pathname === '/en' && (
<p className='pb-8'>
Expand Down
81 changes: 81 additions & 0 deletions components/news-page/agenda-card.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import Link from 'next/link';
import Tag from '../tag';

export default function AgendaCard({ data }) {
// seperate date
const event = new Date(data.newsDate);
const day = {
day: 'numeric',
};
const month = {
month: 'long',
};
const year = {
year: 'numeric',
};
return (
<>
{data.link && (
<Link href={data.link} target='_blank' className='group'>
<div className='col-span-1 bg-green-800 rounded-cl flex flex-col justify-between items-center'>
<div className='px-8 py-6 h-full w-full flex flex-col justify-between gap-y-4'>
<div className='w-auto'>
<div className='flex flex-col justify-between'>
<div className='flex grow-0'>
<Tag classes='text-green-300 border border-green-300'>Agenda</Tag>
</div>
<div className='flex flex-row items-center'>
<div className='p-agenda-card-day text-green-200 mr-2'>
{event.toLocaleDateString('nl-NL', day)}
</div>
<div className='flex flex-col items-start justify-center'>
<div className='p-agenda-card-month text-green-200 tracking-wider ml-0.5'>
{event.toLocaleDateString('nl-NL', month)}
</div>
<div className='p-agenda-card-year text-green-400 tracking-tighter'>
{event.toLocaleDateString('nl-NL', year)}
</div>
</div>
</div>
</div>
</div>
<hr className='border-green-200 ' />
<div className='p-4xl-semibold text-white group-hover:text-green-200 group-hover:underline'>
{data.newsTitle}
</div>
</div>
</div>
</Link>
)}

{!data.link && (
<div className='col-span-1 bg-green-800 rounded-cl flex flex-col justify-between items-center'>
<div className='px-8 py-6 h-full w-full flex flex-col justify-between gap-y-4'>
<div className='w-auto'>
<div className='flex flex-col justify-between'>
<div className='flex grow-0 pb-3'>
<Tag classes='text-green-300 border border-green-300'>Agenda</Tag>
</div>
<div className='flex flex-row items-center'>
<div className='p-agenda-card-day text-green-200 mr-2'>
{event.toLocaleDateString('nl-NL', day)}
</div>
<div className='flex flex-col items-start justify-center'>
<div className='p-agenda-card-month text-green-200 tracking-wider ml-0.5'>
{event.toLocaleDateString('nl-NL', month)}
</div>
<div className='p-agenda-card-year text-green-400 tracking-tighter'>
{event.toLocaleDateString('nl-NL', year)}
</div>
</div>
</div>
</div>
</div>
<hr className='border-green-200 ' />
<div className='p-4xl-semibold text-white'>{data.newsTitle}</div>
</div>
</div>
)}
</>
);
}
Loading

0 comments on commit 16023a0

Please sign in to comment.