<?php

namespace Acms\Services\Setup\Tool;

/**
 * 単純な入力→確認→完了型ツール（fix / import）が取りうる画面種別。
 *
 * 旧 Surfacer が POST の hidden `step`（'apply' / 'error' / 'result'）に密輸していた「今どの画面か」を
 * 型で表す。backing value は Twig 側の既存判定（`screen == 'result'` 等）を壊さないよう旧文字列に合わせる。
 * 多段（SystemUpdate の 'drop' / 'complete' 等）は本 enum に収まらないため {@see ToolView::on} で任意の
 * screen トークンを渡す。
 */
enum Screen: string
{
    case Form = 'apply';     // 入力フォーム（初期表示）
    case Invalid = 'error';  // バリデーションエラーでフォーム再表示
    case Done = 'result';    // 実行完了
}
