import SwiftUI

extension IndicatorQuickSheet.Prefill {
    /// 从一条已有指标推断「再记一条」的预选目标:
    /// seriesKey 命中长期监测 / 自定义指标则预选对应预设(进趋势 + 自动判异常),否则按 name/unit/range 自由预填。
    init(indicator i: Indicator) {
        self.init(seriesKey: i.seriesKey, name: i.name, unit: i.unit, range: i.range)
    }
}

/// 指标详情 / 同类聚合详情底部「再记一条」按钮:打开预选同款指标的录入表单(数值留空,由用户填新读数)。
/// 自带弹窗状态,`TimelineEntryDetailView` 与 `IndicatorSeriesDetailView` 共用同一组件。
struct RecordAnotherButton: View {
    /// 按钮文案里显示的指标名(如「空腹血糖」「血压」)。
    let name: String
    /// 打开录入表单时的预选目标。
    let prefill: IndicatorQuickSheet.Prefill

    @State private var showSheet = false

    var body: some View {
        Button { showSheet = true } label: {
            Label(String(appLoc: "再记一条「\(name)」"), systemImage: "plus.circle.fill")
                .font(.tjScaled( 13, weight: .semibold))
                .foregroundStyle(Tj.Palette.ink)
                .frame(maxWidth: .infinity)
                .padding(.vertical, 12)
                .background(
                    RoundedRectangle(cornerRadius: Tj.Radius.md, style: .continuous)
                        .fill(Tj.Palette.leaf.opacity(0.16))
                )
                .contentShape(Rectangle())
        }
        .buttonStyle(.plain)
        .sheet(isPresented: $showSheet) {
            IndicatorQuickSheet(prefill: prefill)
        }
    }
}
