/** Vuetify v-data-table 每页条数（-1 = 全部，title 已中文化） */
export const DATA_TABLE_ITEMS_PER_PAGE_OPTIONS = [
  { value: 10, title: '10' },
  { value: 20, title: '20' },
  { value: 50, title: '50' },
  { value: 100, title: '100' },
  { value: 200, title: '200' },
  { value: -1, title: '全部' },
] as const

export type DataTableHeader = {
  title: string
  key: string
  width?: number
  align?: 'start' | 'center' | 'end'
  sortable?: boolean
}

/** 未接服务端排序的表格：默认关闭列头排序箭头，避免点击无效果 */
export function headersWithoutSort(headers: DataTableHeader[]): DataTableHeader[] {
  return headers.map(h => ({ ...h, sortable: h.sortable ?? false }))
}

/** 客户端分页切片（-1 表示不分页） */
export function sliceClientPage<T>(items: T[], page: number, itemsPerPage: number): T[] {
  if (itemsPerPage === -1) return items
  const start = (page - 1) * itemsPerPage
  return items.slice(start, start + itemsPerPage)
}
