import Cocoa
import FlutterMacOS

class MainFlutterWindow: NSWindow {
  override func awakeFromNib() {
    let flutterViewController = FlutterViewController()
    let windowFrame = self.frame
    self.contentViewController = flutterViewController

    // 1. Definiamo le proporzioni esatte da smartphone
    let phoneSize = NSSize(width: 400, height: 800)
    let newRect = NSRect(origin: windowFrame.origin, size: phoneSize)
    self.setFrame(newRect, display: true)

    // 2. Blocchiamo il ridimensionamento! Il Mac non potrà più allargarla a dismisura
    self.minSize = phoneSize
    self.maxSize = phoneSize

    // 3. IL TRUCCO MAGICO: Cambiamo il nome del salvataggio automatico.
    // Questo costringe macOS a dimenticare la vecchia finestra larga e usare questa nuova.
    self.setFrameAutosaveName("TetraQMobileSimulatorWindow")

    RegisterGeneratedPlugins(registry: flutterViewController)

    super.awakeFromNib()
  }
}