about summary refs log tree commit diff
path: root/src/lib/link-meta/twitter.ts
blob: d785903c004ed56e9b82006d9c2badde922b980d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
export const extractTwitterMeta = ({
  pathname,
}: {
  pathname: string
}): Record<string, string> => {
  const res = {title: 'Twitter'}
  const parsedPathname = pathname.split('/')
  if (parsedPathname.length <= 1 || parsedPathname[1].length <= 1) {
    // Excluding one letter usernames as they're reserved by twitter for things like cases like twitter.com/i/articles/follows/-1675653703
    return res
  }
  const username = parsedPathname?.[1]
  const isUserProfile = parsedPathname?.length === 2

  res.title = isUserProfile
    ? `@${username} on Twitter`
    : `Tweet by @${username}`

  return res
}