<?php

declare(strict_types=1);

namespace App\Support\Rbac;

/**
 * Standardized tooltip and confirmation messages for RBAC UI enforcement.
 *
 * These constants provide consistent, non-leaky messaging for:
 * - Permission denials (members lacking capability)
 * - Destructive action confirmations
 *
 * @see \App\Support\Rbac\UiEnforcement
 */
final class UiTooltips
{
    /**
     * Tooltip shown when a member lacks the required capability.
     * Intentionally vague to avoid leaking permission structure.
     */
    public const INSUFFICIENT_PERMISSION = 'Insufficient permission — ask a tenant Owner.';

    /**
     * Modal heading for destructive action confirmation.
     */
    public const DESTRUCTIVE_CONFIRM_TITLE = 'Are you sure?';

    /**
     * Modal description for destructive action confirmation.
     */
    public const DESTRUCTIVE_CONFIRM_DESCRIPTION = 'This action cannot be undone.';

    /**
     * Tooltip for actions that are unavailable because the tenant is archived.
     */
    public const TENANT_ARCHIVED = 'This tenant is currently archived.';

    /**
     * Tooltip for actions that are unavailable because a tenant must always have an owner.
     */
    public const TENANT_OWNER_REQUIRED = 'This tenant must have at least one Owner.';
}
