diff --git a/next-app/src/app/about/layout.tsx b/next-app/src/app/about/layout.tsx index a843451..cb06bfc 100644 --- a/next-app/src/app/about/layout.tsx +++ b/next-app/src/app/about/layout.tsx @@ -1,7 +1,7 @@ import { BODY_CLASSES } from "@/constants"; import "../globals.css"; import AboutPageComponent from "@/components/AboutPageComponent"; - +import { LastUpdated } from "@/components/common/last-updated"; export default function RootLayout({ children, @@ -10,8 +10,9 @@ export default function RootLayout({ }>) { return (
- - {children} + + {children} +
); } diff --git a/next-app/src/app/accessclinicaldata/page.tsx b/next-app/src/app/accessclinicaldata/page.tsx index 752a4ba..e5f0f63 100644 --- a/next-app/src/app/accessclinicaldata/page.tsx +++ b/next-app/src/app/accessclinicaldata/page.tsx @@ -5,6 +5,7 @@ import { BODY_CLASSES } from "@/constants"; import Link from "next/link"; import { ILink } from "@/interfaces/types"; import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; +import { LastUpdated } from "@/components/common/last-updated"; export default function AboutPage(): ReactElement { TrackPageViewIfEnabled(); @@ -153,6 +154,7 @@ export default function AboutPage(): ReactElement { + ); } diff --git a/next-app/src/app/datasources/page.tsx b/next-app/src/app/datasources/page.tsx index e67bb47..8018308 100644 --- a/next-app/src/app/datasources/page.tsx +++ b/next-app/src/app/datasources/page.tsx @@ -1,16 +1,18 @@ -'use client'; +"use client"; -import { ReactElement } from 'react'; -import { TrackPageViewIfEnabled } from '@/util/cookiesHandling'; -import DataSourcesComponent from '@/components/DataSourcesComponent'; -import { BODY_CLASSES } from '@/constants' +import { ReactElement } from "react"; +import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; +import DataSourcesComponent from "@/components/DataSourcesComponent"; +import { BODY_CLASSES } from "@/constants"; +import { LastUpdated } from "@/components/common/last-updated"; export default function DataPage(): ReactElement { - TrackPageViewIfEnabled(); + TrackPageViewIfEnabled(); - return ( -
- -
- ); -} \ No newline at end of file + return ( +
+ + +
+ ); +} diff --git a/next-app/src/app/eventsandtrainings/page.tsx b/next-app/src/app/eventsandtrainings/page.tsx index 2a139d5..524cc5b 100644 --- a/next-app/src/app/eventsandtrainings/page.tsx +++ b/next-app/src/app/eventsandtrainings/page.tsx @@ -6,6 +6,7 @@ import CardComponent from "@/components/CardComponent"; import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; import { BODY_CLASSES, H_1 } from "@/constants"; import Link from "next/link"; +import { LastUpdated } from "@/components/common/last-updated"; const nbisImage = "/Partner logo/nbislogo_orange_txt_3cb0778d90.svg"; const scilifelabImage = "/Partner logo/SciLifeLab_Logotype_Green_POS.png"; @@ -225,6 +226,7 @@ export default function EventsAndTrainingsPage(): ReactElement { ))} + ); } diff --git a/next-app/src/app/ragnar/answer/page.tsx b/next-app/src/app/ragnar/answer/page.tsx index fc6d4a6..c6a3065 100644 --- a/next-app/src/app/ragnar/answer/page.tsx +++ b/next-app/src/app/ragnar/answer/page.tsx @@ -1,7 +1,6 @@ "use client"; import { ReactElement } from "react"; -import { BODY_CLASSES } from "@/constants"; import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; import { ILink } from "@/interfaces/types"; import Link from "next/link"; @@ -9,7 +8,6 @@ import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Card, - CardContent, CardDescription, CardHeader, CardTitle, @@ -18,8 +16,6 @@ import { Search, Terminal } from "lucide-react"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; -const RAGnarLogo = "/images/RAGnar.svg"; - export default function RAGAnswerPage(): ReactElement { TrackPageViewIfEnabled(); @@ -33,7 +29,7 @@ export default function RAGAnswerPage(): ReactElement {
    {Object.keys(breadcrumbs).map((key) => ( -
  • +
  • {breadcrumbs[key].link ? ( {breadcrumbs[key].text} diff --git a/next-app/src/app/ragnar/ask/page.tsx b/next-app/src/app/ragnar/ask/page.tsx index ab8acd4..2bc0bc6 100644 --- a/next-app/src/app/ragnar/ask/page.tsx +++ b/next-app/src/app/ragnar/ask/page.tsx @@ -1,7 +1,6 @@ "use client"; import { ReactElement } from "react"; -import { BODY_CLASSES } from "@/constants"; import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; import { ILink } from "@/interfaces/types"; import Link from "next/link"; @@ -10,8 +9,6 @@ import { Input } from "@/components/ui/input"; import { Card, CardContent } from "@/components/ui/card"; import { Search } from "lucide-react"; -const RAGnarLogo = "/images/RAGnar.svg"; - export default function RAGAskPage(): ReactElement { TrackPageViewIfEnabled(); @@ -25,7 +22,7 @@ export default function RAGAskPage(): ReactElement {
      {Object.keys(breadcrumbs).map((key) => ( -
    • +
    • {breadcrumbs[key].link ? ( {breadcrumbs[key].text} diff --git a/next-app/src/app/ragnar/page.tsx b/next-app/src/app/ragnar/page.tsx deleted file mode 100644 index 180bd3b..0000000 --- a/next-app/src/app/ragnar/page.tsx +++ /dev/null @@ -1,103 +0,0 @@ -"use client"; - -import { ReactElement } from "react"; -import { BODY_CLASSES } from "@/constants"; -import { TrackPageViewIfEnabled } from "@/util/cookiesHandling"; -import { ILink } from "@/interfaces/types"; -import Link from "next/link"; -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; -import { Card, CardContent } from "@/components/ui/card"; -import { Search } from "lucide-react"; - -let RAGnarLogo = "/images/RAGnar.svg"; - -export default function RAGPage(): ReactElement { - TrackPageViewIfEnabled(); - - var breadcrumbs: { [id: string]: ILink } = { - l1: { text: "Home", classes: "", link: "/" }, - l2: { text: "RAGnar", classes: "", link: "" }, - }; - - return ( -
      -
      -
      -
        - {Object.keys(breadcrumbs).map((key) => ( -
      • - {breadcrumbs[key].link ? ( - - {breadcrumbs[key].text} - - ) : ( - <>{breadcrumbs[key].text} - )} -
      • - ))} -
      -
      -
      -
      -
      - RAGnar Logo and Name -
      -

      - Get answers to your precision medicine questions with our - AI-powered search engine. -

      -
      - -
      -
      - -
      - -
      - -
      - - -

      - Question: This is a placeholder for a question. Real questions - would include a full question incl. question mark. -

      -
      -
      - - -

      - Question: This is a placeholder for a question. Real questions - would include a full question incl. question mark. -

      -
      -
      - - -

      - Question: This is a placeholder for a question. Real questions - would include a full question incl. question mark. -

      -
      -
      - - -

      - Question: This is a placeholder for a question. Real questions - would include a full question incl. question mark. -

      -
      -
      -
      -
      -
      -
      - ); -} diff --git a/next-app/src/app/registries/PageClient.tsx b/next-app/src/app/registries/PageClient.tsx index 46d5600..dbfa9fa 100644 --- a/next-app/src/app/registries/PageClient.tsx +++ b/next-app/src/app/registries/PageClient.tsx @@ -3,6 +3,7 @@ import { useState } from "react"; import { useSearchParams } from "next/navigation"; import { RegistrySources, RegistrySourcesFilters } from "@/interfaces/types"; +import { LastUpdated } from "@/components/common/last-updated"; const filters: RegistrySourcesFilters = { registryCentre: [ @@ -265,6 +266,7 @@ export default function DataPageClient({
+ ); } diff --git a/next-app/src/components/common/last-updated.tsx b/next-app/src/components/common/last-updated.tsx new file mode 100644 index 0000000..feec7e9 --- /dev/null +++ b/next-app/src/components/common/last-updated.tsx @@ -0,0 +1,26 @@ +import * as React from "react"; +import { cn } from "@/lib/utils"; + +export interface LastUpdatedProps extends React.HTMLAttributes { + date?: string; +} + +const LastUpdated = React.forwardRef( + ({ className, date = "2024-10-09", ...props }, ref) => { + return ( +
+ Last updated on {date} +
+ ); + } +); +LastUpdated.displayName = "LastUpdated"; + +export { LastUpdated };