diff --git a/site/gdocs/components/ArticleBlock.tsx b/site/gdocs/components/ArticleBlock.tsx
index dbd8506547f..925733200d3 100644
--- a/site/gdocs/components/ArticleBlock.tsx
+++ b/site/gdocs/components/ArticleBlock.tsx
@@ -70,7 +70,7 @@ const layouts: { [key in Container]: Layouts} = {
["image--narrow"]: "col-start-5 span-cols-6 col-md-start-3 span-md-cols-10 col-sm-start-2 span-sm-cols-12",
["image--wide"]: "col-start-4 span-cols-8 col-md-start-2 span-md-cols-12",
["image-caption"]: "col-start-5 span-cols-6 col-md-start-3 span-md-cols-10 span-sm-cols-12 col-sm-start-2",
- ["key-indicator"]: "col-start-5 span-cols-6",
+ ["key-indicator"]: "col-start-2 span-cols-12",
["key-insights"]: "col-start-2 span-cols-12",
["list"]: "col-start-5 span-cols-6 col-md-start-3 span-md-cols-10 span-sm-cols-12 col-sm-start-2",
["numbered-list"]: "col-start-5 span-cols-6 col-md-start-3 span-md-cols-10 span-sm-cols-12 col-sm-start-2",
diff --git a/site/gdocs/components/KeyIndicator.scss b/site/gdocs/components/KeyIndicator.scss
new file mode 100644
index 00000000000..71ef90c90c6
--- /dev/null
+++ b/site/gdocs/components/KeyIndicator.scss
@@ -0,0 +1,68 @@
+.key-indicator {
+ $frame-padding: 24px;
+ $padding: 16px;
+
+ background-color: $blue-10;
+ padding: $frame-padding;
+ margin-bottom: $frame-padding;
+
+ .indicator-title {
+ @include body-2-semibold;
+ color: $blue-60;
+ margin-bottom: 14px;
+ }
+
+ .narrative-title {
+ @include h3-bold;
+ color: $blue-90;
+ margin-top: 0;
+ margin-bottom: 8px;
+ }
+
+ .blurb {
+ @include body-2-regular;
+ color: $blue-90;
+ margin-bottom: $padding;
+ }
+
+ .blurb a {
+ @include owid-link-90;
+ }
+
+ .metadata--border-top {
+ border-top: solid rgba(164, 182, 202, 0.5);
+ padding-top: $padding;
+ }
+
+ .metadata-entry {
+ @include body-3-medium;
+ margin-bottom: $padding;
+ }
+
+ .metadata-entry__title {
+ color: $blue-50;
+ }
+
+ .metadata-entry__value {
+ color: $blue-90;
+ }
+
+ .datapage-link {
+ @include body-3-medium;
+
+ display: block;
+ @include sm-up {
+ display: inline-block;
+ }
+
+ height: 40px;
+ padding: 8px 24px;
+ text-align: center;
+ color: $white;
+ background-color: $blue-60;
+ cursor: pointer;
+ border: none;
+
+ margin-top: $padding;
+ }
+}
diff --git a/site/gdocs/components/KeyIndicator.tsx b/site/gdocs/components/KeyIndicator.tsx
index f64d33986d0..1bae644ce86 100644
--- a/site/gdocs/components/KeyIndicator.tsx
+++ b/site/gdocs/components/KeyIndicator.tsx
@@ -1,5 +1,16 @@
import React from "react"
-import { EnrichedBlockKeyIndicator } from "@ourworldindata/types"
+import cx from "classnames"
+
+import {
+ EnrichedBlockKeyIndicator,
+ EnrichedBlockText,
+} from "@ourworldindata/types"
+import {
+ makeSource,
+ makeDateRange,
+ makeLastUpdated,
+} from "@ourworldindata/components"
+
import Chart from "./Chart.js"
import Paragraph from "./Paragraph.js"
import { useLinkedChart, useLinkedIndicator } from "../utils.js"
@@ -19,30 +30,78 @@ export default function KeyIndicator({
if (!linkedChart) return null
if (!linkedIndicator) return null
+ const source = makeSource({
+ attribution: linkedIndicator.attributionUnshortened,
+ hideProcessingLevel: true,
+ })
+ const dateRange = makeDateRange({
+ dateRange: linkedIndicator.dateRange,
+ })
+ const lastUpdated = makeLastUpdated({
+ lastUpdated: linkedIndicator.lastUpdated,
+ })
+
return (
-
-
- Custom title: {d.title}
-
-
- Default title: {linkedChart?.title}
-
- {d.blurb && (
-
-
Blurb:
- {d.blurb.map((textBlock, i) => (
-
- ))}
+
+
+
{linkedIndicator.title}
+ {d.title &&
{d.title}
}
+ {d.blurb && (
+
+ {d.blurb.map(
+ (textBlock: EnrichedBlockText, i: number) => (
+
+ )
+ )}
+
+ )}
+
+ {source && (
+
+
Source
+
+ {source}
+
+
+ )}
+ {dateRange && (
+
+
+ Date range
+
+
+ {dateRange}
+
+
+ )}
+ {lastUpdated && (
+
+
+ Last updated
+
+
+ {lastUpdated}
+
+
+ )}
- )}
+
+ Explore and learn more about this data
+
+
-
- Linked indicator with metadata:
- {JSON.stringify(linkedIndicator, null, 2)}
-
)
}
diff --git a/site/owid.scss b/site/owid.scss
index 1838caee6a9..6be7a3a8209 100644
--- a/site/owid.scss
+++ b/site/owid.scss
@@ -94,6 +94,7 @@
@import "./gdocs/components/AdditionalCharts.scss";
@import "./gdocs/components/ResearchAndWriting.scss";
@import "./gdocs/components/Chart.scss";
+@import "./gdocs/components/KeyIndicator.scss";
@import "./DataPage.scss";
@import "./DataPageContent.scss";
@import "./detailsOnDemand.scss";