Legal Pages - Last Updated Date
Legal pages automatically display the last updated date from Sanity.
Overview
Legal pages (Privacy Policy, Terms of Service, etc.) now display the publish date from Sanity, providing transparency about when the content was last updated.
Implementation
The publishedAt field is fetched from the page document and displayed at the top or bottom of the legal page content.
Date Formatting
The date is formatted based on the current locale:
- English (en-US): "Last updated: January 15, 2024"
- Spanish (es-ES): "Last updated: 15 de enero de 2024"
- Romanian (ro-RO): "Last updated: 15 ianuarie 2024"
- Fallback: "Last updated: Recently" (if no date is available)
Sanity Schema
Ensure your page schema includes the publishedAt field:
{
name: 'publishedAt',
type: 'datetime',
title: 'Published At',
description: 'When this page was published',
options: {
dateFormat: 'YYYY-MM-DD',
timeFormat: 'HH:mm',
timeStep: 15
}
}
Complete Legal Page Schema Example
{
name: 'legalPage',
type: 'document',
title: 'Legal Page',
fields: [
{
name: 'title',
type: 'object',
fields: [
{ name: 'en', type: 'string' },
{ name: 'es', type: 'string' },
{ name: 'ro', type: 'string' }
]
},
{
name: 'slug',
type: 'slug',
options: {
source: 'title.en'
}
},
{
name: 'content',
type: 'array',
of: [{ type: 'block' }]
},
{
name: 'publishedAt',
type: 'datetime',
title: 'Published At',
description: 'When this page was published'
}
],
preview: {
select: {
title: 'title.en',
publishedAt: 'publishedAt'
}
}
}
Display Format
English Format
Last updated: January 15, 2024
Spanish Format
Last updated: 15 de enero de 2024
Romanian Format
Last updated: 15 ianuarie 2024
Fallback
If no publishedAt date is available:
Last updated: Recently
Frontend Implementation
The frontend automatically:
- Fetches the
publishedAtfield from the page document - Formats the date based on the current locale
- Displays the formatted date with appropriate styling
- Falls back to "Recently" if no date is available
Example Component
import { format } from 'date-fns'
import { enUS, es, ro } from 'date-fns/locale'
const locales = {
en: enUS,
es: es,
ro: ro
}
export function LegalPageDate({ publishedAt, locale = 'en' }) {
if (!publishedAt) {
return <p>Last updated: Recently</p>
}
const date = new Date(publishedAt)
const formatted = format(date, 'MMMM d, yyyy', {
locale: locales[locale]
})
return <p>Last updated: {formatted}</p>
}
Updating the Published Date
When updating legal page content:
- Edit the page in Sanity Studio
- Update the
publishedAtfield to the current date/time - Publish the changes
- The new date will automatically appear on the page
Best Practices
- Update
publishedAtwhenever significant changes are made - Use the actual publication date, not the current date if backdating
- Keep dates accurate for legal compliance
- Consider adding a changelog for major updates
Legal Compliance
Displaying the last updated date helps with:
- Transparency: Users know when content was last reviewed
- Compliance: Some jurisdictions require date information
- Trust: Shows active maintenance of legal documents
- Accountability: Clear record of when changes were made
Localization
The date format automatically adapts to the current locale:
- Users see dates in their language
- Format matches regional conventions
- Month names are properly localized
- Date order follows locale standards