diff --git a/client/public/images/about/hands.avif b/client/public/images/about/hands.avif new file mode 100644 index 00000000..2997cf9d Binary files /dev/null and b/client/public/images/about/hands.avif differ diff --git a/client/public/images/about/logos/agricultural-university-athens.avif b/client/public/images/about/logos/agricultural-university-athens.avif new file mode 100644 index 00000000..84e6252b Binary files /dev/null and b/client/public/images/about/logos/agricultural-university-athens.avif differ diff --git a/client/public/images/about/logos/agrifood-lithuania.avif b/client/public/images/about/logos/agrifood-lithuania.avif new file mode 100644 index 00000000..aba1f683 Binary files /dev/null and b/client/public/images/about/logos/agrifood-lithuania.avif differ diff --git a/client/public/images/about/logos/aristotle-university-thessaloniki.avif b/client/public/images/about/logos/aristotle-university-thessaloniki.avif new file mode 100644 index 00000000..7976d460 Binary files /dev/null and b/client/public/images/about/logos/aristotle-university-thessaloniki.avif differ diff --git a/client/public/images/about/logos/ctifl.avif b/client/public/images/about/logos/ctifl.avif new file mode 100644 index 00000000..a8870d5f Binary files /dev/null and b/client/public/images/about/logos/ctifl.avif differ diff --git a/client/public/images/about/logos/evenflow.avif b/client/public/images/about/logos/evenflow.avif new file mode 100644 index 00000000..38a1d987 Binary files /dev/null and b/client/public/images/about/logos/evenflow.avif differ diff --git a/client/public/images/about/logos/foodscale-hub.avif b/client/public/images/about/logos/foodscale-hub.avif new file mode 100644 index 00000000..8a29e8e3 Binary files /dev/null and b/client/public/images/about/logos/foodscale-hub.avif differ diff --git a/client/public/images/about/logos/future-impacts.avif b/client/public/images/about/logos/future-impacts.avif new file mode 100644 index 00000000..782ba857 Binary files /dev/null and b/client/public/images/about/logos/future-impacts.avif differ diff --git a/client/public/images/about/logos/ilvo.avif b/client/public/images/about/logos/ilvo.avif new file mode 100644 index 00000000..98687463 Binary files /dev/null and b/client/public/images/about/logos/ilvo.avif differ diff --git a/client/public/images/about/logos/intia.avif b/client/public/images/about/logos/intia.avif new file mode 100644 index 00000000..7987e313 Binary files /dev/null and b/client/public/images/about/logos/intia.avif differ diff --git a/client/public/images/about/logos/le-europe.avif b/client/public/images/about/logos/le-europe.avif new file mode 100644 index 00000000..714092c0 Binary files /dev/null and b/client/public/images/about/logos/le-europe.avif differ diff --git a/client/public/images/about/logos/vizzuality.avif b/client/public/images/about/logos/vizzuality.avif new file mode 100644 index 00000000..7a92fd8b Binary files /dev/null and b/client/public/images/about/logos/vizzuality.avif differ diff --git a/client/public/images/about/logos/vtt.avif b/client/public/images/about/logos/vtt.avif new file mode 100644 index 00000000..a957c66a Binary files /dev/null and b/client/public/images/about/logos/vtt.avif differ diff --git a/client/public/images/about/logos/wageningen.avif b/client/public/images/about/logos/wageningen.avif new file mode 100644 index 00000000..345fae25 Binary files /dev/null and b/client/public/images/about/logos/wageningen.avif differ diff --git a/client/public/images/about/tractor-fields.avif b/client/public/images/about/tractor-fields.avif new file mode 100644 index 00000000..6e05ef2c Binary files /dev/null and b/client/public/images/about/tractor-fields.avif differ diff --git a/client/src/app/about/page.tsx b/client/src/app/about/page.tsx new file mode 100644 index 00000000..fa18d051 --- /dev/null +++ b/client/src/app/about/page.tsx @@ -0,0 +1,5 @@ +import About from "@/containers/about"; + +export default function AboutPage() { + return ; +} diff --git a/client/src/components/ui/title.tsx b/client/src/components/ui/title.tsx new file mode 100644 index 00000000..0b9e7856 --- /dev/null +++ b/client/src/components/ui/title.tsx @@ -0,0 +1,27 @@ +import { FC, PropsWithChildren } from "react"; + +import { cn } from "@/lib/utils"; + +const styles = { + lg: "text-lg leading-10", + xl: "text-xl leading-12", + "2xl": "text-2xl leading-16", +}; + +const Title: FC< + PropsWithChildren<{ + as: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; + size?: keyof typeof styles; + className?: HTMLHeadingElement["className"]; + }> +> = ({ as, children, className, size = "lg" }) => { + const HeadingElement = as; + + return ( + + {children} + + ); +}; + +export default Title; diff --git a/client/src/containers/about/index.tsx b/client/src/containers/about/index.tsx new file mode 100644 index 00000000..b73cd001 --- /dev/null +++ b/client/src/containers/about/index.tsx @@ -0,0 +1,197 @@ +import { FC } from "react"; + +import Image from "next/image"; + +import { ExternalLinkIcon } from "lucide-react"; + +import Header from "@/containers/header"; + +import { Button } from "@/components/ui/button"; +import { Card } from "@/components/ui/card"; +import Title from "@/components/ui/title"; + +const About: FC = () => { + return ( +
+
+
+ + + About the platform + +

+ Lorem ipsum dolor sit amet consectetur. Molestie at leo quam sit. + Magna at dui quis sapien volutpat sapien risus dolor. Luctus proin + sit vitae lorem nascetur leo. Vitae etiam bibendum at enim nam. Est + in sed volutpat diam purus sagittis. Amet nunc dui duis faucibus + elit. Dictum aliquam amet sit dictum et dui gravida. Senectus diam + ipsum vel placerat est elementum nullam. +

+

+ Enim aliquet blandit scelerisque bibendum sit habitant sagittis sem + iaculis. Enim at vitae porttitor orci amet in gravida vulputate + tempus. Felis et consectetur ut mollis sit vestibulum fames donec. + Ut ullamcorper nunc amet tortor. Tortor purus auctor sit tristique. +

+

+ Neque morbi cras ac accumsan vel tellus justo. In euismod ultrices + scelerisque sed. Sed fames elementum nam mauris a. Quis tempus + tristique vitae ullamcorper accumsan. Mattis eget fermentum nisl + adipiscing venenatis tempus. Neque varius morbi pellentesque amet + sagittis. In mi ornare at vitae cras lobortis. Ante magnis nibh leo + est volutpat. Elit odio sit euismod risus euismod. +

+
+ + fields + + + tractor fields + + + + 4Growth project + +

+ The objective of 4Growth is to understand where, how and to what + extent digital and data technologies in agriculture and forestry are + being adopted. It will do so by collecting a wide range of ground + truth data via distributed observatories across Europe and + identifying key factors or constraints for uptake. 4Growth will + showcase the uptake through the '4Growth Visualisation + Platform' that will combine powerful storytelling with advanced + visualisation of market data. This will contribute to a deeper + knowledge of what influences market adoption, which in turn will + allow 4Growth to develop robust forecasts to guide policymaking and + increase further uptake. +

+ +
+ + + Consortium + +

+ The 4Growth consortium consists of a team committed to understand + and contribute to the uptake of digital agriculture and forestry + through a multi-actor approach. Wageningen University & Research are + the coordinators of 4Growth, with Evenflow acting as Technical + Managers of the project. +

+
+ Agricultural Univerity of Athens + Evenflow + Agrifood Lithuania + FoodScale Hub + Aristotle University of Thessaloniki + Future Impacts + CTIFL + ILVO + INTIA + LE - Europe + Vizzuality + VTT + Wageningen University & Research +
+
+ + hands + +
+
+ ); +}; + +export default About; diff --git a/client/tailwind.config.ts b/client/tailwind.config.ts index ca75077b..a9f01352 100644 --- a/client/tailwind.config.ts +++ b/client/tailwind.config.ts @@ -11,133 +11,119 @@ const config = { ], prefix: "", theme: { - container: { - center: 'true', - padding: '2rem', - screens: { - '2xl': '1400px' - } - }, - extend: { - colors: { - border: 'hsl(var(--border))', - input: 'hsl(var(--input))', - background: 'hsl(var(--background))', - foreground: 'hsl(var(--foreground))', - primary: { - DEFAULT: 'hsl(var(--primary))', - foreground: 'hsl(var(--primary-foreground))' - }, - secondary: { - DEFAULT: 'hsl(var(--secondary))', - foreground: 'hsl(var(--secondary-foreground))' - }, - destructive: { - DEFAULT: 'hsl(var(--destructive))', - foreground: 'hsl(var(--destructive-foreground))' - }, - muted: { - DEFAULT: 'hsl(var(--muted))', - foreground: 'hsl(var(--muted-foreground))' - }, - accent: { - DEFAULT: 'hsl(var(--accent))', - foreground: 'hsl(var(--accent-foreground))' - }, - popover: { - DEFAULT: 'hsl(var(--popover))', - foreground: 'hsl(var(--popover-foreground))' - }, - card: { - DEFAULT: 'hsl(var(--card))', - foreground: 'hsl(var(--card-foreground))' - }, - magenta: { - '500': '#C00B62' - }, - navy: { - '200': '#C9DAF4', - '300': '#A4C2EC', - '700': '#3048B5', - '800': '#2F409E', - '900': '#1D2757', - '950': '#050D35' - }, - 'bluish-gray': { - '500': '#AFB5D3' - } - }, - fontSize: { - '2xs': ["0.625rem", "0.875rem"], - base: ["1rem", "1.25rem"], - lg: ["2rem", "2.5rem"], - xl: ["2.5rem", "3rem"], - '2xl': ["3.5rem", "4rem"] - }, - borderRadius: { - lg: 'var(--radius)', - md: 'calc(var(--radius) - 2px)', - sm: 'calc(var(--radius) - 4px)' - }, - backgroundImage: { - logo: 'url("/images/4growth-logo.svg")' - }, - keyframes: { - 'accordion-down': { - from: { - height: '0' - }, - to: { - height: 'var(--radix-accordion-content-height)' - } - }, - 'accordion-up': { - from: { - height: 'var(--radix-accordion-content-height)' - }, - to: { - height: '0' - } - }, - fadeImages: { - '0%': { - backgroundImage: 'url("/images/coming-soon/hero_1.png")' - }, - '33%': { - backgroundImage: 'url("/images/coming-soon/hero_2.png")' - }, - '66%': { - backgroundImage: 'url("/images/coming-soon/hero_3.png")' - }, - '100%': { - backgroundImage: 'url("/images/coming-soon/hero_1.png")' - } - }, - 'accordion-down': { - from: { - height: '0' - }, - to: { - height: 'var(--radix-accordion-content-height)' - } - }, - 'accordion-up': { - from: { - height: 'var(--radix-accordion-content-height)' - }, - to: { - height: '0' - } - } - }, - animation: { - 'accordion-down': 'accordion-down 0.2s ease-out', - 'accordion-up': 'accordion-up 0.2s ease-out', - hero: 'fadeImages 8s ease-in-out infinite', - 'accordion-down': 'accordion-down 0.2s ease-out', - 'accordion-up': 'accordion-up 0.2s ease-out' - } - } + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, + }, + extend: { + colors: { + border: "hsl(var(--border))", + input: "hsl(var(--input))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + magenta: { + "500": "#C00B62", + }, + navy: { + "200": "#C9DAF4", + "300": "#A4C2EC", + "700": "#3048B5", + "800": "#2F409E", + "900": "#1D2757", + "950": "#050D35", + }, + "bluish-gray": { + "500": "#AFB5D3", + }, + }, + fontSize: { + "2xs": ["0.625rem", "0.875rem"], + base: ["1rem", "1.25rem"], + lg: ["2rem", "2.5rem"], + xl: ["2.5rem", "3rem"], + "2xl": ["3.5rem", "4rem"], + }, + lineHeight: { + "12": "3rem", + "16": "4rem", + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + backgroundImage: { + logo: 'url("/images/4growth-logo.svg")', + }, + keyframes: { + fadeImages: { + "0%": { + backgroundImage: 'url("/images/coming-soon/hero_1.png")', + }, + "33%": { + backgroundImage: 'url("/images/coming-soon/hero_2.png")', + }, + "66%": { + backgroundImage: 'url("/images/coming-soon/hero_3.png")', + }, + "100%": { + backgroundImage: 'url("/images/coming-soon/hero_1.png")', + }, + }, + "accordion-down": { + from: { + height: "0", + }, + to: { + height: "var(--radix-accordion-content-height)", + }, + }, + "accordion-up": { + from: { + height: "var(--radix-accordion-content-height)", + }, + to: { + height: "0", + }, + }, + }, + animation: { + hero: "fadeImages 8s ease-in-out infinite", + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + }, + }, }, plugins: [tailwindcssAnimate], } satisfies Config;