@financial-times/cp-content-pipeline-ui 11.2.1 → 11.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -574,6 +574,13 @@
574
574
  * @financial-times/cp-content-pipeline-client bumped from ^3.7.2 to ^3.7.3
575
575
  * @financial-times/cp-content-pipeline-schema bumped from ^2.10.1 to ^2.10.2
576
576
 
577
+ ## [11.2.2](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v11.2.1...cp-content-pipeline-ui-v11.2.2) (2026-04-29)
578
+
579
+
580
+ ### Bug Fixes
581
+
582
+ * ci-3515 hide pub date for pinned posts ([1acb6c4](https://github.com/Financial-Times/cp-content-pipeline/commit/1acb6c477805eb3d9820d800a95f8ce34f2b564c))
583
+
577
584
  ## [11.2.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v11.2.0...cp-content-pipeline-ui-v11.2.1) (2026-04-22)
578
585
 
579
586
 
@@ -68,8 +68,8 @@ publishedDate, articleUrl, showShareButtons = false, showShareLinkButton = false
68
68
  react_1.default.createElement("div", { className: "x-live-blog-post__meta-container" },
69
69
  react_1.default.createElement("div", { className: "x-live-blog-post__meta" },
70
70
  indicators.isOpinion ? (react_1.default.createElement("span", { className: "x-live-blog-post__label--opinion x-live-blog-post__label o3-type-label" }, "Live Opinion")) : isPinned ? (react_1.default.createElement("span", { className: "x-live-blog-post__label o3-type-label" }, "Editor's pick")) : (''),
71
- react_1.default.createElement("span", null,
72
- react_1.default.createElement(Timestamp_1.default, { publishedTimestamp: publishedDate || publishedTimestamp, textCase: "sentence" }))),
71
+ !isPinned && (react_1.default.createElement("span", null,
72
+ react_1.default.createElement(Timestamp_1.default, { publishedTimestamp: publishedDate || publishedTimestamp, textCase: "sentence" })))),
73
73
  react_1.default.createElement("div", { className: "x-live-blog-post__byline" },
74
74
  react_1.default.createElement(Byline_1.default, { structuredContent: byline, showEditedBy: false }))),
75
75
  showShareLinkButton && (react_1.default.createElement(ShareLinkButton_1.default, { postId: id || postId, articleUrl: articleUrl }))),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogPost/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogPost/index.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const react_2 = require("@testing-library/react");
8
8
  const ShareLinkButton_1 = __importDefault(require("../ShareLinkButton"));
9
+ const index_1 = require("../index");
9
10
  const mockClipboardWrite = jest.fn(() => Promise.resolve());
10
11
  Object.defineProperty(navigator, 'clipboard', {
11
12
  value: { writeText: mockClipboardWrite },
@@ -66,4 +67,40 @@ describe('Share Link button', () => {
66
67
  expect(container.querySelector('[data-tooltip="hide"]')).toBeTruthy();
67
68
  });
68
69
  });
70
+ describe('LiveBlogPost meta container', () => {
71
+ const defaultProps = {
72
+ id: '00000000-0000-0000-0000-000000000000',
73
+ postId: '00000000-0000-0000-0000-000000000000',
74
+ title: 'Sample Live Blog Post',
75
+ content: 'This is a sample live blog post.',
76
+ bodyHTML: '<p>This is a sample live blog post.</p>',
77
+ body: {},
78
+ publishedTimestamp: '2024-06-01T12:00:00Z',
79
+ publishedDate: '2024-06-01T12:00:00Z',
80
+ isPinned: true,
81
+ articleUrl: 'https://ft.com/content/00000000-0000-0000-0000-000000000000',
82
+ showShareButtons: false,
83
+ showShareLinkButton: false,
84
+ byline: { tree: {} },
85
+ ad: null,
86
+ indicators: {},
87
+ authors: [],
88
+ };
89
+ it('should hide the timestamp on pinned posts', () => {
90
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveBlogPost, { ...defaultProps, isPinned: true }));
91
+ expect(container.querySelector('.x-live-blog-post__timestamp-container')).toBeFalsy();
92
+ });
93
+ it('should show the timestamp on non-pinned posts', () => {
94
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveBlogPost, { ...defaultProps, isPinned: false }));
95
+ expect(container.querySelector('.x-live-blog-post__timestamp-container')).toBeTruthy();
96
+ });
97
+ it("should render the editor's pick label when the post is pinned", () => {
98
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveBlogPost, { ...defaultProps, isPinned: true }));
99
+ expect(container.querySelector('.x-live-blog-post__label')?.textContent).toBe("Editor's pick");
100
+ });
101
+ it("should not render the editor's pick label when the post is not pinned", () => {
102
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveBlogPost, { ...defaultProps, isPinned: false }));
103
+ expect(container.querySelector('.x-live-blog-post__label')?.textContent).not.toBe("Editor's pick");
104
+ });
105
+ });
69
106
  //# sourceMappingURL=index.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../src/components/LiveBlogPost/test/index.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../src/components/LiveBlogPost/test/index.spec.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-ui",
3
- "version": "11.2.1",
3
+ "version": "11.2.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -176,12 +176,14 @@ const LiveBlogPost: React.FC<LiveBlogPostProps> = ({
176
176
  ) : (
177
177
  ''
178
178
  )}
179
- <span>
180
- <Timestamp
181
- publishedTimestamp={publishedDate || publishedTimestamp}
182
- textCase="sentence"
183
- />
184
- </span>
179
+ {!isPinned && (
180
+ <span>
181
+ <Timestamp
182
+ publishedTimestamp={publishedDate || publishedTimestamp}
183
+ textCase="sentence"
184
+ />
185
+ </span>
186
+ )}
185
187
  </div>
186
188
  <div className="x-live-blog-post__byline">
187
189
  <Byline structuredContent={byline} showEditedBy={false} />
@@ -1,6 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, fireEvent, act } from '@testing-library/react'
3
3
  import ShareLinkButton from '../ShareLinkButton'
4
+ import { LiveBlogPost } from '../index'
4
5
 
5
6
  const mockClipboardWrite = jest.fn(() => Promise.resolve())
6
7
  Object.defineProperty(navigator, 'clipboard', {
@@ -87,3 +88,59 @@ describe('Share Link button', () => {
87
88
  expect(container.querySelector('[data-tooltip="hide"]')).toBeTruthy()
88
89
  })
89
90
  })
91
+
92
+ describe('LiveBlogPost meta container', () => {
93
+ const defaultProps = {
94
+ id: '00000000-0000-0000-0000-000000000000',
95
+ postId: '00000000-0000-0000-0000-000000000000',
96
+ title: 'Sample Live Blog Post',
97
+ content: 'This is a sample live blog post.',
98
+ bodyHTML: '<p>This is a sample live blog post.</p>',
99
+ body: {},
100
+ publishedTimestamp: '2024-06-01T12:00:00Z',
101
+ publishedDate: '2024-06-01T12:00:00Z',
102
+ isPinned: true,
103
+ articleUrl: 'https://ft.com/content/00000000-0000-0000-0000-000000000000',
104
+ showShareButtons: false,
105
+ showShareLinkButton: false,
106
+ byline: { tree: {} },
107
+ ad: null,
108
+ indicators: {},
109
+ authors: [],
110
+ }
111
+ it('should hide the timestamp on pinned posts', () => {
112
+ const { container } = render(
113
+ <LiveBlogPost {...defaultProps} isPinned={true} />
114
+ )
115
+ expect(
116
+ container.querySelector('.x-live-blog-post__timestamp-container')
117
+ ).toBeFalsy()
118
+ })
119
+
120
+ it('should show the timestamp on non-pinned posts', () => {
121
+ const { container } = render(
122
+ <LiveBlogPost {...defaultProps} isPinned={false} />
123
+ )
124
+ expect(
125
+ container.querySelector('.x-live-blog-post__timestamp-container')
126
+ ).toBeTruthy()
127
+ })
128
+
129
+ it("should render the editor's pick label when the post is pinned", () => {
130
+ const { container } = render(
131
+ <LiveBlogPost {...defaultProps} isPinned={true} />
132
+ )
133
+ expect(
134
+ container.querySelector('.x-live-blog-post__label')?.textContent
135
+ ).toBe("Editor's pick")
136
+ })
137
+
138
+ it("should not render the editor's pick label when the post is not pinned", () => {
139
+ const { container } = render(
140
+ <LiveBlogPost {...defaultProps} isPinned={false} />
141
+ )
142
+ expect(
143
+ container.querySelector('.x-live-blog-post__label')?.textContent
144
+ ).not.toBe("Editor's pick")
145
+ })
146
+ })