<?php

declare(strict_types=1);

namespace App\Support\Tenants;

use App\Support\Navigation\AdminSurfaceScope;

enum TenantInteractionLane: string
{
    case StandardActiveOperating = 'standard_active_operating';
    case OnboardingWorkflow = 'onboarding_workflow';
    case AdministrativeManagement = 'administrative_management';
    case CanonicalWorkspaceRecord = 'canonical_workspace_record';

    public static function fromSurfaceScope(AdminSurfaceScope $pageCategory): self
    {
        return match ($pageCategory) {
            AdminSurfaceScope::OnboardingWorkflow => self::OnboardingWorkflow,
            AdminSurfaceScope::EnvironmentBound,
            AdminSurfaceScope::EnvironmentScopedEvidence => self::AdministrativeManagement,
            AdminSurfaceScope::CanonicalWorkspaceRecordViewer => self::CanonicalWorkspaceRecord,
            AdminSurfaceScope::WorkspaceWideSurface,
            AdminSurfaceScope::WorkspaceScoped,
            AdminSurfaceScope::WorkspaceChooserException => self::StandardActiveOperating,
        };
    }
}
