- The Research Software Directory promotes the impact, re-use and citation of research software.
+ KIN connects, broadens, deepens, and unlocks knowledge for transitions towards a climate-neutral and climate-resilient society
-
-
-
+ {/* */}
+
+
+
+
diff --git a/frontend/components/AppHeader/index.tsx b/frontend/components/AppHeader/index.tsx
index 3242b4c..425bae2 100644
--- a/frontend/components/AppHeader/index.tsx
+++ b/frontend/components/AppHeader/index.tsx
@@ -15,8 +15,8 @@ import useRsdSettings from '~/config/useRsdSettings'
import AddMenu from './AddMenu'
import LoginButton from '~/components/login/LoginButton'
import JavascriptSupportWarning from './JavascriptSupportWarning'
-import LogoApp from '~/assets/LogoApp.svg'
-import LogoAppSmall from '~/assets/LogoAppSmall.svg'
+// import LogoApp from '~/assets/LogoApp.svg'
+// import LogoAppSmall from '~/assets/LogoAppSmall.svg'
import GlobalSearchAutocomplete from '~/components/GlobalSearchAutocomplete'
import FeedbackPanelButton from '~/components/feedback/FeedbackPanelButton'
import ResponsiveMenu from './ResponsiveMenu'
@@ -50,19 +50,18 @@ export default function AppHeader() {
className="flex-1 flex flex-col px-4 xl:flex-row items-start lg:container lg:mx-auto">
-
-
diff --git a/frontend/components/GlobalSearchAutocomplete/GlobalsSearchAutocomplete.test.tsx b/frontend/components/GlobalSearchAutocomplete/GlobalsSearchAutocomplete.test.tsx
index 4caf70c..1488ada 100644
--- a/frontend/components/GlobalSearchAutocomplete/GlobalsSearchAutocomplete.test.tsx
+++ b/frontend/components/GlobalSearchAutocomplete/GlobalsSearchAutocomplete.test.tsx
@@ -35,7 +35,7 @@ it('shows 3 navigation option on focus', async () => {
// should show 3 navigation options
const listItems = screen.getAllByTestId('global-search-list-item')
- expect(listItems.length).toEqual(3)
+ expect(listItems.length).toEqual(2)
})
it('calls search api on input', async () => {
diff --git a/frontend/components/GlobalSearchAutocomplete/index.tsx b/frontend/components/GlobalSearchAutocomplete/index.tsx
index 7017277..647f3a6 100644
--- a/frontend/components/GlobalSearchAutocomplete/index.tsx
+++ b/frontend/components/GlobalSearchAutocomplete/index.tsx
@@ -61,7 +61,6 @@ export default function GlobalSearchAutocomplete(props: Props) {
}, [lastValue])
const defaultValues = [
- {name: 'Go to Software page', slug: '', source: 'software'},
{name: 'Go to Projects page', slug: '', source: 'projects'},
{name: 'Go to Organisations page', slug: '', source: 'organisations'},
]
diff --git a/frontend/components/home/helmholtz/__mocks__/useOrganisations.tsx b/frontend/components/home/helmholtz/__mocks__/useOrganisations.tsx
deleted file mode 100644
index 6c2f9ca..0000000
--- a/frontend/components/home/helmholtz/__mocks__/useOrganisations.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-FileCopyrightText: 2023 Dusan Mijatovic (Netherlands eScience Center)
-// SPDX-FileCopyrightText: 2023 Netherlands eScience Center
-//
-// SPDX-License-Identifier: Apache-2.0
-
-import mockOrganisations from '../../../../__tests__/__mocks__/organisationsOverview.json'
-
-// DEAFULT MOCK
-export default function useOrganisations(token: string) {
- // console.log('useOrganisations...default MOCK')
- return {
- loading:false,
- organisations:mockOrganisations
- }
-}
diff --git a/frontend/components/home/helmholtz/index.tsx b/frontend/components/home/helmholtz/index.tsx
deleted file mode 100644
index 051afc6..0000000
--- a/frontend/components/home/helmholtz/index.tsx
+++ /dev/null
@@ -1,426 +0,0 @@
-// SPDX-FileCopyrightText: 2022 - 2023 Dusan Mijatovic (dv4all)
-// SPDX-FileCopyrightText: 2022 - 2023 dv4all
-// SPDX-FileCopyrightText: 2023 Dusan Mijatovic (Netherlands eScience Center)
-// SPDX-FileCopyrightText: 2023 Netherlands eScience Center
-//
-// SPDX-License-Identifier: Apache-2.0
-
-import AppHeader from '~/components/AppHeader'
-import AppFooter from '~/components/AppFooter'
-import Link from 'next/link'
-
-import LogoHelmholtz from '~/assets/logos/LogoHelmholtz.svg'
-import {OrganisationForOverview} from '~/types/Organisation'
-
-/*! purgecss start ignore */
-// import 'aos/dist/aos.css'
-
-import IconButton from '@mui/material/IconButton'
-import {ChevronLeft, ChevronRight} from '@mui/icons-material'
-import {useAuth} from '~/auth'
-import {getImageUrl} from '~/utils/editImage'
-import useOrganisations from './useOrganisations'
-/*! purgecss end ignore */
-
-// type HomeProps = {
-// software: number,
-// projects: number,
-// organisations: number
-// }
-
-type SpotlightDescription = {
- name: string,
- description: string,
- image: string,
- link: string
-}
-
-const SPOTLIGHTS= [
- // {
- // name: 'MassBank',
- // description: 'MassBank is an open source mass spectral library for the identification of small chemical molecules of metabolomics, exposomics and environmental relevance.',
- // image: 'https://hifis.net/assets/img/spotlights/massbank/Atrazine_Mass_Spectrum.png',
- // link: '/software'
- // },
- {
- name: 'FishInspector',
- description: 'The software FishInspector provides automatic feature detections in images of zebrafish embryos (body size, eye size, pigmentation). It is Matlab-based and provided as a Windows executable (no matlab installation needed).',
- image: 'https://hifis.net/assets/img/spotlights/fishinspector/FishInspector.jpg',
- link: '/software'
- },
- {
- name: 'Golem',
- description: 'Golem is a modelling platform for thermal-hydraulic-mechanical and non-reactive chemical processes in fractured and faulted porous media.',
- image: 'https://hifis.net/assets/img/spotlights/golem/golem_preview.png',
- link: '/software/golem-a-moose-based-application'
- },
- {
- name: 'Lynx',
- description: 'LYNX (Lithosphere dYnamics Numerical toolboX) is a novel numerical simulator for modelling thermo-poromechanical coupled processes driving the deformation dynamics of the lithosphere.',
- image: 'https://hifis.net/assets/img/spotlights/lynx/lynx_logo.png',
- link: '/software/lynx-modelling-lithosperic-dynamics'
- },
- {
- name: 'MeshIt',
- description: 'The tool MeshIT generates quality tetrahedral meshes based on structural geological information. It has been developed at the GFZ Potsdam and some extensions were later added by PERFACCT. All procedures are fully automatized and require at least scattered data points as input.',
- image: 'https://hifis.net/assets/img/spotlights/meshit/meshit_logo.png',
- link: '/software/meshit'
- },
- {
- name: 'Palladio',
- description: 'Palladio is a software architecture simulation approach which analyses software at the model level for performance bottlenecks, scalability issues, reliability threats, and allows for subsequent optimisation.',
- image: 'https://hifis.net/assets/img/spotlights/palladio/palladio_preview.png',
- link: '/software/palladio'
- }
-]
-
-function LatestSpotlight({name, description, image, link}:
- {name:string, description:string, image:string, link: string}) {
- return(
-
-
- )
-}
diff --git a/frontend/components/home/imperial/MainContentImperialCollege.tsx b/frontend/components/home/imperial/MainContentImperialCollege.tsx
deleted file mode 100644
index 06cd001..0000000
--- a/frontend/components/home/imperial/MainContentImperialCollege.tsx
+++ /dev/null
@@ -1,104 +0,0 @@
-// SPDX-FileCopyrightText: 2023 - 2024 Dusan Mijatovic (Netherlands eScience Center)
-// SPDX-FileCopyrightText: 2023 - 2024 Netherlands eScience Center
-//
-// SPDX-License-Identifier: Apache-2.0
-
-import Image from 'next/legacy/image'
-import Link from 'next/link'
-
-import {HomeProps} from 'pages'
-import CounterBox from './CounterBox'
-import Keywords from './Keywords'
-import {useSession} from '~/auth'
-import {useAuth} from '~/auth'
-import useImperialData from './useImperialData'
-import useLoginProviders from '~/auth/api/useLoginProviders'
-import ContentLoader from '~/components/layout/ContentLoader'
-import MainContent from '~/components/layout/MainContent'
-import {Provider} from 'pages/api/fe/auth'
-
-function set_location_cookie() {
- // set cookie so that user is bounced to the software submission page
- // after authentication
- document.cookie = 'rsd_pathname=/software/add;path=/auth;SameSite=None;Secure'
-}
-
-function submit_software_href(auth_status: string, login_providers: Provider[]) {
- if (auth_status == 'authenticated') {
- return '/software/add'
- }
- return (login_providers[0]?.redirectUrl ?? '')
-}
-
-export default function MainContentImperialCollege({counts,news}: HomeProps) {
- const {token} = useSession()
- const {loading, keywords} = useImperialData(token)
- const {session} = useAuth()
- const providers = useLoginProviders()
- const auth_status = session?.status || 'loading'
-
- return (
-
-
-
-
-
-
- Software plays an increasingly important role in research. Despite this,
- it can be difficult to promote and showcase software through traditional
- academic means. The Imperial Research Software Directory provides a
- place to tell the world about your research software. Do you develop
- software at Imperial? Add your package to the directory!
-
-
-
-
-
-
Browse Software
-
-
-
-
-
Submit Software
-
-
-
-
-
-
-
-
-
-
-
- {
- loading ?
-
- :
-
-
-
- }
-
-
- )
-}
diff --git a/frontend/components/home/imperial/index.tsx b/frontend/components/home/imperial/index.tsx
deleted file mode 100644
index 607c06b..0000000
--- a/frontend/components/home/imperial/index.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-// SPDX-FileCopyrightText: 2023 - 2024 Dusan Mijatovic (Netherlands eScience Center)
-// SPDX-FileCopyrightText: 2023 - 2024 Netherlands eScience Center
-//
-// SPDX-License-Identifier: Apache-2.0
-
-import {app} from '~/config/app'
-import AppHeader from '~/components/AppHeader'
-import AppFooter from '~/components/AppFooter'
-import PageMeta from '~/components/seo/PageMeta'
-import CanonicalUrl from '~/components/seo/CanonicalUrl'
-import {HomeProps} from 'pages/index'
-
-import MainContentImperialCollege from './MainContentImperialCollege'
-
-const pageTitle = `Home | ${app.title}`
-const pageDesc = 'The Research Software Directory is designed to show the impact research software has on research and society. We stimulate the reuse of research software and encourage proper citation of research software to ensure researchers and RSEs get credit for their work.'
-
-export default function ImperialCollegeHome({counts,news}: HomeProps) {
- return (
- <>
-
-
-
-
-
-
-
-
- >
- )
-}
diff --git a/frontend/components/home/imperial/useImperialData.tsx b/frontend/components/home/imperial/useImperialData.tsx
deleted file mode 100644
index c1eb941..0000000
--- a/frontend/components/home/imperial/useImperialData.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-// SPDX-FileCopyrightText: 2023 Dusan Mijatovic (Netherlands eScience Center)
-// SPDX-FileCopyrightText: 2023 Netherlands eScience Center
-//
-// SPDX-License-Identifier: Apache-2.0
-
-import {useEffect, useState} from 'react'
-import {OrganisationForOverview} from '~/types/Organisation'
-import {createJsonHeaders} from '~/utils/fetchHelpers'
-import logger from '~/utils/logger'
-
-/**
- * Example of actual request to api with error handling and logging
- * @param param0
- * @returns
- */
-async function getKeywordList({url, token}: {url: string, token?: string}) {
- try {
- const resp = await fetch(url, {
- method: 'GET',
- headers: {
- ...createJsonHeaders(token),
- },
- })
-
- if ([200, 206].includes(resp.status)) {
- const json = await resp.json()
- return {
- data: json
- }
- }
- // otherwise request failed
- logger(`getKeywordList failed: ${resp.status} ${resp.statusText}`, 'warn')
- // we log and return zero
- return {
- data: []
- }
- } catch (e: any) {
- logger(`getKeywordList: ${e?.message}`, 'error')
- return {
- data: []
- }
- }
-}
-
-export type keyword = {
- keyword: string
-}
-
-/**
- * Custom react hook to fetch any additional data
- * needed for the custom Imperial College homepage
- */
-export default function useImperialData(token: string) {
- const [keywords, setKeywords] = useState([])
- const [loading, setLoading] = useState(true)
-
- useEffect(() => {
- let abort = false
-
- async function getData() {
- setLoading(true)
-
- const url = '/api/v1/rpc/keyword_count_for_software'
- const {data} = await getKeywordList({url, token})
-
- if (abort) return
-
- setKeywords(data)
- setLoading(false)
- }
-
- getData()
-
- return () => { abort = true }
- }, [token])
-
- return {
- keywords,
- loading
- }
-}
diff --git a/frontend/components/home/kin/AboutUsSection.tsx b/frontend/components/home/kin/AboutUsSection.tsx
new file mode 100644
index 0000000..e4bcc10
--- /dev/null
+++ b/frontend/components/home/kin/AboutUsSection.tsx
@@ -0,0 +1,50 @@
+// SPDX-FileCopyrightText: 2024 Dusan Mijatovic (Netherlands eScience Center)
+// SPDX-FileCopyrightText: 2024 Netherlands eScience Center
+//
+// SPDX-License-Identifier: Apache-2.0
+
+import useRsdSettings from '~/config/useRsdSettings'
+import GradientBorderButton from './GradientBorderButton'
+import {config} from './config'
+
+const {button} = config
+
+export default function AboutUsSection() {
+ const {host} = useRsdSettings()
+
+ return (
+
+
+ About us
+
+
+ KIN connects, broadens, deepens, and unlocks knowledge for transitions towards a climate-neutral and climate-resilient society
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/frontend/components/home/kin/ContributeSection.tsx b/frontend/components/home/kin/ContributeSection.tsx
new file mode 100644
index 0000000..12ede02
--- /dev/null
+++ b/frontend/components/home/kin/ContributeSection.tsx
@@ -0,0 +1,74 @@
+// SPDX-FileCopyrightText: 2024 Dusan Mijatovic (Netherlands eScience Center)
+// SPDX-FileCopyrightText: 2024 Netherlands eScience Center
+//
+// SPDX-License-Identifier: Apache-2.0
+
+import Image from 'next/legacy/image'
+import GradientBorderButton from './GradientBorderButton'
+import {config} from './config'
+
+const {button} = config
+
+export default function ContributeSection() {
+ return (
+
+
+
+
+
+
+
+
+ Do You Want to Contribute?
+
+
+ KIN connects, broadens, deepens, and unlocks knowledge for transitions towards a climate-neutral and climate-resilient society. Do you want to contribute to this as well?
+
+ The Netherlands has what it takes to make the major transitions needed for a sustainable future. Civil society players are working hard to change the system. Companies and organisations are taking action, governments are adapting policies and much has been invested in scientific knowledge. However, to prevent the worst climate change, this has to happen faster! This is only possible if knowledge from practice and science cooperate more intensively.
+
+ {/*
+ The KIN brings all parties together. Together, we want to make a substantial contribution to accelerating the transitions needed to be a sustainable, climate-neutral society by 2050 as soon as possible.
+
*/}
+
+
+
+ {/* Video: it will only load once the page is rendered, and only when the user clicks on play. And it will strea the video after. */}
+ {/* */}
+
+ )
+}
diff --git a/frontend/components/home/kin/OurProgramsSection.tsx b/frontend/components/home/kin/OurProgramsSection.tsx
new file mode 100644
index 0000000..60ee472
--- /dev/null
+++ b/frontend/components/home/kin/OurProgramsSection.tsx
@@ -0,0 +1,68 @@
+// SPDX-FileCopyrightText: 2024 Dusan Mijatovic (Netherlands eScience Center)
+// SPDX-FileCopyrightText: 2024 Netherlands eScience Center
+//
+// SPDX-License-Identifier: Apache-2.0
+
+import LandingPageCiteIcon from '~/components/icons/LandingPageCiteIcon.svg'
+import LandingPageShowIcon from '~/components/icons/LandingPageShowIcon.svg'
+import LandingPageShareIcon from '~/components/icons/LandingPageShareIcon.svg'
+import LandingPageImpactIcon from '~/components/icons/LandingPageImpactIcon.svg'
+
+export default function OurProgramsSection() {
+ return (
+
+
+ Our Programs
+
+
+
+
+
+
+
Netherlands Work Programs
+
+ KIN’s work programmes focus on accelerating systemic transitions. Applying a systemic lens, we look at the connection between sub-problems. This provides long-term action perspectives. To this end, we work in co-creation, with different types of actors from different disciplines. Our work programmes bring knowledge and practice together and are therefore mission-driven.
+
+
+
+
+
+
+
+ Global Transitions
+
+
+ Climate change is a global problem, requiring global solutions. With the Paris Agreement, the countries that emit the most CO2 have committed to support countries that suffer the most. The KIN underlines the importance of this commitment. With the Global Transitions (GT) programme, we focus on accelerating local transitions in those countries that have contributed least to climate change but are most vulnerable to its impacts.
+
+
+
+
+
+
+
+ Events
+
+
+ KIN, together with the Pact and/or partners, regularly organizes activities that bring together research and practice.
+
+
+
+
+
+
+
+ Short-Term Programs
+
+
+ In addition to larger work programs, KIN also focuses on short-term programs that can achieve quick results.
+