summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages/session/terminal-label.ts
blob: 8a34712e4363b6ce15786f9d0cee58cefeae783f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { isDefaultTitle as isDefaultTerminalTitle } from "@/context/terminal-title"

export const terminalTabLabel = (input: {
  title?: string
  titleNumber?: number
  t: (key: string, vars?: Record<string, string | number | boolean>) => string
}) => {
  const title = input.title ?? ""
  const number = input.titleNumber ?? 0
  const isDefaultTitle = Number.isFinite(number) && number > 0 && isDefaultTerminalTitle(title, number)

  if (title && !isDefaultTitle) return title
  if (number > 0) return input.t("terminal.title.numbered", { number })
  if (title) return title
  return input.t("terminal.title")
}