@burdenoff/website-sdk 2026.1027.1 → 2026.1028.1

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.
@@ -1495,6 +1495,10 @@ function BlogPostPage(props) {
1495
1495
  ] });
1496
1496
  }
1497
1497
  var CASE_STUDY_TAG = "case-study";
1498
+ function hasCustomerSignOff(page) {
1499
+ const signedAt = page.customerSignOff?.signedAt;
1500
+ return typeof signedAt === "string" && !Number.isNaN(new Date(signedAt).getTime());
1501
+ }
1498
1502
  var ANIMATION_STYLES = `
1499
1503
  @keyframes csFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
1500
1504
  @keyframes csFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@@ -1524,6 +1528,9 @@ var CASE_STUDIES_QUERY = `
1524
1528
  readingTime
1525
1529
  featured
1526
1530
  category
1531
+ customerSignOff {
1532
+ signedAt
1533
+ }
1527
1534
  }
1528
1535
  total
1529
1536
  hasMore
@@ -1550,6 +1557,9 @@ var CASE_STUDY_QUERY = `
1550
1557
  readingTime
1551
1558
  featured
1552
1559
  category
1560
+ customerSignOff {
1561
+ signedAt
1562
+ }
1553
1563
  }
1554
1564
  }
1555
1565
  `;
@@ -1920,11 +1930,15 @@ function CaseStudiesListPage(props) {
1920
1930
  setPosts([]);
1921
1931
  return;
1922
1932
  }
1923
- const caseStudies = (result.data?.publicContentPages?.items || []).filter(
1924
- (p) => p.tags?.includes(CASE_STUDY_TAG)
1933
+ const items = result.data?.publicContentPages?.items || [];
1934
+ const caseStudies = items.filter(
1935
+ (p) => p.tags?.includes(CASE_STUDY_TAG) && hasCustomerSignOff(p)
1925
1936
  );
1926
1937
  setPosts(caseStudies);
1927
- setTotal(result.data?.publicContentPages?.total || 0);
1938
+ const dropped = items.length - caseStudies.length;
1939
+ setTotal(
1940
+ Math.max(0, (result.data?.publicContentPages?.total || 0) - dropped)
1941
+ );
1928
1942
  setError(null);
1929
1943
  } catch {
1930
1944
  setError("load-failed");
@@ -2106,7 +2120,8 @@ function CaseStudyPage(props) {
2106
2120
  setError(result.errors[0]?.message ?? "Failed to load case study");
2107
2121
  return;
2108
2122
  }
2109
- setPost(result.data?.publicContentPage ?? null);
2123
+ const page = result.data?.publicContentPage ?? null;
2124
+ setPost(page && hasCustomerSignOff(page) ? page : null);
2110
2125
  setError(null);
2111
2126
  } catch {
2112
2127
  setError("Failed to load case study");
@@ -2175,6 +2190,7 @@ function CaseStudyPage(props) {
2175
2190
  ] }) });
2176
2191
  }
2177
2192
  const formattedDate = formatDate(post.publishedAt || post.lastUpdated);
2193
+ const approvedDate = formatDate(post.customerSignOff?.signedAt);
2178
2194
  return /* @__PURE__ */ jsxs("div", { className: `w-full ${className}`, children: [
2179
2195
  /* @__PURE__ */ jsx(ProseStyles, {}),
2180
2196
  /* @__PURE__ */ jsx(
@@ -2212,6 +2228,17 @@ function CaseStudyPage(props) {
2212
2228
  ] })
2213
2229
  ] }) : null
2214
2230
  ] }),
2231
+ approvedDate && /* @__PURE__ */ jsxs(
2232
+ "p",
2233
+ {
2234
+ className: "-mt-4 mb-8 text-xs text-muted-foreground",
2235
+ "data-cs": "customer-signoff",
2236
+ children: [
2237
+ "Approved for publication by the customer on ",
2238
+ approvedDate
2239
+ ]
2240
+ }
2241
+ ),
2215
2242
  post.thumbnail && /* @__PURE__ */ jsx("div", { className: "mb-10 aspect-[16/9] overflow-hidden rounded-xl", children: /* @__PURE__ */ jsx(
2216
2243
  "img",
2217
2244
  {
@@ -3537,6 +3564,6 @@ function ContractsPage(props) {
3537
3564
  ] });
3538
3565
  }
3539
3566
 
3540
- export { BlogListPage, BlogPostPage, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ContentRenderer, ContractsPage, LEGAL_DOCUMENTS, LEGAL_DOCUMENT_KEYS, LegalPage, Markdown, PressKitPage, fetchLegalContent, fetchLegalContentPage, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, findLegalDocument, formatLegalDate, splitLeadingHeading, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission };
3567
+ export { BlogListPage, BlogPostPage, CaseStudiesListPage, CaseStudyPage, ChangelogPage, ContentRenderer, ContractsPage, LEGAL_DOCUMENTS, LEGAL_DOCUMENT_KEYS, LegalPage, Markdown, PressKitPage, fetchLegalContent, fetchLegalContentPage, fetchPublicJobPosting, fetchPublicJobPostings, fetchPublicJobPostingsForSubmission, findLegalDocument, formatLegalDate, hasCustomerSignOff, splitLeadingHeading, useContentPage, useContentPages, usePublicJobPosting, usePublicJobPostings, usePublicJobPostingsForSubmission };
3541
3568
  //# sourceMappingURL=index.mjs.map
3542
3569
  //# sourceMappingURL=index.mjs.map