package com.fieldlabel.collector.domain.model

/**
 * カスタムフィールド定義 — 設定画面で管理するユーザー定義フィールド
 *
 * @param id         UUID
 * @param label      フィールド名（例: "体重", "翼長"）
 * @param unit       単位（例: "g", "mm"。不要ならば空文字）
 * @param valueType  値の種類: "text" | "number"
 * @param appliesTo  適用先: "specimen" | "location" | "both"
 * @param sortOrder  表示順（昇順）
 */
data class CustomFieldDef(
    val id: String,
    val label: String,
    val unit: String = "",
    val valueType: String = "text",       // "text" | "number"
    val appliesTo: String = "specimen",   // "specimen" | "location" | "both"
    val sortOrder: Int = 0
) {
    val displayLabel: String
        get() = if (unit.isBlank()) label else "$label ($unit)"
}
