mirror of
https://github.com/dergigi/boris.git
synced 2026-01-31 12:44:37 +01:00
fix(deps): replace relative-time with date-fns for timestamp formatting
- Replace relative-time package (which uses Temporal API) with date-fns - Update formatDate to use formatDistanceToNow from date-fns - Remove relative-time type declarations - Apply fix to both helpers.ts and bookmarkUtils.tsx - Fix runtime error: relative-time expects Temporal objects, not Date objects - date-fns provides better compatibility with current JavaScript standards
This commit is contained in:
16
node_modules/.package-lock.json
generated
vendored
16
node_modules/.package-lock.json
generated
vendored
@@ -2613,6 +2613,16 @@
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/date-fns": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/kossnocorp"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
@@ -5027,12 +5037,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/relative-time": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/relative-time/-/relative-time-2.1.0.tgz",
|
||||
"integrity": "sha512-F27Uw3MySeXh3CQF7ufdhujG9QqKlLIWUQ9EG0cSaddUCFVzqsPQ5lVV3aoqu9Z4hRuq0FZHtc/g4r6idnqnPA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/remark": {
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz",
|
||||
|
||||
18
package-lock.json
generated
18
package-lock.json
generated
@@ -17,11 +17,11 @@
|
||||
"applesauce-loaders": "^3.1.0",
|
||||
"applesauce-react": "^3.1.0",
|
||||
"applesauce-relay": "^3.1.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"nostr-tools": "^2.4.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-markdown": "^10.1.0",
|
||||
"relative-time": "^2.1.0",
|
||||
"remark-gfm": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -2603,6 +2603,16 @@
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/date-fns": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
|
||||
"integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/kossnocorp"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
@@ -5017,12 +5027,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/relative-time": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/relative-time/-/relative-time-2.1.0.tgz",
|
||||
"integrity": "sha512-F27Uw3MySeXh3CQF7ufdhujG9QqKlLIWUQ9EG0cSaddUCFVzqsPQ5lVV3aoqu9Z4hRuq0FZHtc/g4r6idnqnPA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/remark": {
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz",
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
"applesauce-loaders": "^3.1.0",
|
||||
"applesauce-react": "^3.1.0",
|
||||
"applesauce-relay": "^3.1.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"nostr-tools": "^2.4.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-markdown": "^10.1.0",
|
||||
"relative-time": "^2.1.0",
|
||||
"remark-gfm": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
7
src/types/relative-time.d.ts
vendored
7
src/types/relative-time.d.ts
vendored
@@ -1,7 +0,0 @@
|
||||
declare module 'relative-time' {
|
||||
class RelativeTime {
|
||||
from(date: Date): string
|
||||
}
|
||||
export default RelativeTime
|
||||
}
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
import React from 'react'
|
||||
import RelativeTime from 'relative-time'
|
||||
import { formatDistanceToNow } from 'date-fns'
|
||||
import { ParsedContent, ParsedNode } from '../types/bookmarks'
|
||||
import ResolvedMention from '../components/ResolvedMention'
|
||||
// Note: ContentWithResolvedProfiles is imported by components directly to keep this file component-only for fast refresh
|
||||
|
||||
const relativeTime = new RelativeTime()
|
||||
|
||||
export const formatDate = (timestamp: number) => {
|
||||
const date = new Date(timestamp * 1000)
|
||||
return relativeTime.from(date)
|
||||
return formatDistanceToNow(date, { addSuffix: true })
|
||||
}
|
||||
|
||||
// Component to render content with resolved nprofile names
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import RelativeTime from 'relative-time'
|
||||
|
||||
const relativeTime = new RelativeTime()
|
||||
import { formatDistanceToNow } from 'date-fns'
|
||||
|
||||
export const formatDate = (timestamp: number): string => {
|
||||
const date = new Date(timestamp * 1000)
|
||||
return relativeTime.from(date)
|
||||
return formatDistanceToNow(date, { addSuffix: true })
|
||||
}
|
||||
|
||||
// Extract pubkeys from nprofile strings in content
|
||||
|
||||
Reference in New Issue
Block a user