<?php
$viewModel = $block->getData('view_model');
$error = $viewModel->getError();
$statusMessage = $viewModel->getStatusMessage();
?>
<a href="<?= $escaper->escapeUrl($viewModel->getBackUrl()) ?>" class="action-default scalable back aget-back">
    <span><?= $escaper->escapeHtml(__('Back')) ?></span>
</a>

<?php if ($error !== null): ?>
    <div class="message message-error"><?= $escaper->escapeHtml($error) ?></div>
<?php else: ?>
    <div class="admin__page-section">
        <div class="admin__page-section-title">
            <span class="title"><?= $escaper->escapeHtml($viewModel->getToolTitle()) ?></span>
        </div>

        <?php if ($statusMessage !== null): ?>
            <div class="message <?= $viewModel->hasFailed() ? 'message-error' : 'message-notice' ?>">
                <?= $escaper->escapeHtml($statusMessage) ?>
            </div>
            <?php if ($viewModel->isPending()): ?>
                <a href="<?= $escaper->escapeUrl($viewModel->getRefreshUrl()) ?>" class="action-default scalable">
                    <span><?= $escaper->escapeHtml(__('Refresh status')) ?></span>
                </a>
            <?php endif; ?>
        <?php endif; ?>

        <?php $summary = $viewModel->getSummary(); ?>
        <?php if (!$viewModel->hasFailed() && $summary !== []): ?>
            <table class="aget-summary">
                <tbody>
                <?php foreach ($summary as $label => $value): ?>
                    <tr>
                        <th><?= $escaper->escapeHtml($label) ?></th>
                        <td>
                            <?= $escaper->escapeHtml(
                                is_int($value) ? number_format($value, 0, ',', '.') : (string)$value
                            ) ?>
                        </td>
                    </tr>
                <?php endforeach; ?>
                </tbody>
            </table>
        <?php endif; ?>

        <?php $notes = $viewModel->getNotes(); ?>
        <?php if (!$viewModel->hasFailed() && $notes !== []): ?>
            <ul class="aget-notes">
                <?php foreach ($notes as $note): ?>
                    <li><?= $escaper->escapeHtml($note) ?></li>
                <?php endforeach; ?>
            </ul>
        <?php endif; ?>

        <?php $files = $viewModel->getFiles(); ?>
        <?php if (!$viewModel->hasFailed() && $files !== []): ?>
            <h3 class="aget-panel__title"><?= $escaper->escapeHtml(__('Generated files')) ?></h3>
            <div class="aget-files">
                <?php foreach ($files as $file): ?>
                    <?php
                    $rowCount = (int)$file['rows'];
                    $isEmpty = $rowCount === 0;
                    $fileClass = 'aget-file aget-file--' . $file['tone']
                        . ($isEmpty ? ' aget-file--empty' : '');
                    ?>
                    <div class="<?= $escaper->escapeHtmlAttr($fileClass) ?>">
                        <div class="aget-file__meta">
                            <span class="aget-file__label"><?= $escaper->escapeHtml($file['label']) ?></span>
                            <span class="aget-file__sub">
                                <?= $escaper->escapeHtml($file['name']) ?>
                                &middot;
                                <?= $escaper->escapeHtml(
                                    $rowCount === 1
                                        ? __('1 row')
                                        : __('%1 rows', number_format($rowCount, 0, ',', '.'))
                                ) ?>
                                &middot;
                                <?= $escaper->escapeHtml($viewModel->formatSize((int)$file['size'])) ?>
                            </span>
                        </div>
                        <?php if ($isEmpty): ?>
                            <span class="aget-file__sub"><?= $escaper->escapeHtml(__('empty')) ?></span>
                        <?php else: ?>
                            <a href="<?= $escaper->escapeUrl($viewModel->getDownloadUrl($file['name'])) ?>"
                               class="action-default scalable">
                                <span><?= $escaper->escapeHtml(__('Download')) ?></span>
                            </a>
                        <?php endif; ?>
                    </div>
                <?php endforeach; ?>
            </div>

            <p class="aget-field__note" style="max-width:900px;">
                <?= $escaper->escapeHtml(__('Files remain available at this address for 7 days and are then deleted automatically.')) ?>
            </p>
        <?php endif; ?>
    </div>
<?php endif; ?>
