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}>
- )}
-
- ))}
-
-
-
-
-
-
-
-
-
-
-
- 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 };