import Foundation
import UIKit

// 用户可编辑的设备名，持久在 UserDefaults。用于扫码登录 qr/start 的初始 device_name。设备名
// 已与会话令牌解耦：登录后在设置页改名经 PATCH /api/devices/{device_id} 即时生效（后端按稳定
// device_id 改名 + 重广播 presence，不换 token），成功后由引擎 renamed 事件回写本存储 + Keychain
// 会话名（见 EngineController / AuthManager）。默认取系统设备名。
enum DeviceNameStore
{
    private static let key = "cdrop.deviceName"

    static var value: String
    {
        get
        {
            if let v = UserDefaults.standard.string(forKey: key), !v.isEmpty { return v }
            let sys = UIDevice.current.name
            return sys.isEmpty ? "iPhone" : sys
        }
        set
        {
            let trimmed = newValue.trimmingCharacters(in: .whitespacesAndNewlines)
            UserDefaults.standard.set(trimmed.isEmpty ? nil : trimmed, forKey: key)
        }
    }
}
