import type { DataScope } from '@/api/client'

/**
 * Visual ordering: PUBLIC → INTERNAL → RESTRICTED.
 * Reads as escalating sensitivity, matches semaphore mental model.
 */
export const SCOPE_ORDER: ReadonlyArray<DataScope> = [
  'PUBLIC',
  'INTERNAL',
  'RESTRICTED',
]

/**
 * Solid background classes для •-shaped scope indicators (size-2 dots,
 * section-header bullets). Use design handoff tokens (Tailwind v4 @theme):
 *  - PUBLIC → accent (terracotta, primary brand)
 *  - INTERNAL → warn (amber)
 *  - RESTRICTED → pink (brick)
 */
export const SCOPE_DOT: Record<DataScope, string> = {
  PUBLIC: 'bg-accent',
  INTERNAL: 'bg-warn',
  RESTRICTED: 'bg-pink',
}

/** Same colors но для text-color (PUB chip filled bg, etc.). */
export const SCOPE_TEXT: Record<DataScope, string> = {
  PUBLIC: 'text-accent',
  INTERNAL: 'text-warn',
  RESTRICTED: 'text-pink',
}

/** Same colors но для tinted background (pill chips, banner backgrounds). */
export const SCOPE_BG_TINT: Record<DataScope, string> = {
  PUBLIC: 'bg-accent-bg',
  INTERNAL: 'bg-warn-bg',
  RESTRICTED: 'bg-pink-bg',
}

/**
 * `before:` background classes для 4px left-accent stripe на card'ах.
 * Pair with `relative` + `before:absolute before:left-0 before:top-0
 * before:bottom-0 before:w-1 before:rounded-l-lg`.
 */
export const SCOPE_ACCENT: Record<DataScope, string> = {
  PUBLIC: 'before:bg-accent',
  INTERNAL: 'before:bg-warn',
  RESTRICTED: 'before:bg-pink',
}

/** Solid border-top classes для page-level scope banner stripes. */
export const SCOPE_BORDER_TOP: Record<DataScope, string> = {
  PUBLIC: 'border-t-accent',
  INTERNAL: 'border-t-warn',
  RESTRICTED: 'border-t-pink',
}
