{% import "_includes/forms" as forms %}


{% set apiKey = settings.apiKey|replace('$', '') %}

{% set cols = {
    action: {
        type: 'heading',
        heading: 'API Action'|t('blitz'),
        thin: true,
    },
    url: {
        type: 'html',
        heading: 'URL'|t('blitz'),
        class: 'code',
    },
} %}

{% set rows = [
    {
        action: "Clear Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/clear', { key: apiKey }),
    },
    {
        action: "Flush Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/flush', { key: apiKey }),
    },
    {
        action: "Purge Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/purge', { key: apiKey }),
    },
    {
        action: "Generate Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/generate', { key: apiKey }),
    },
    {
        action: "Remote Deploy"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/deploy', { key: apiKey }),
    },
    {
        action: "Refresh Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/refresh', { key: apiKey }),
    },
    {
        action: "Refresh Expired Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/refresh-expired', { key: apiKey }),
    },
    {
        action: "Refresh Site Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/refresh-site', { key: apiKey, siteId: currentSite.id }),
    },
    {
        action: "Refresh Cached URLs"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/refresh-urls', { key: apiKey, urls: siteUrl('page1') ~ ',' ~ siteUrl('page2') }),
    },
    {
        action: "Refresh Tagged Cache"|t('blitz'),
        url: siteUrl(craft.app.config.general.actionTrigger ~ '/blitz/cache/refresh-tagged', { key: apiKey, tags: 'tag1,tag2,tag3' }),
    },
] %}

{{ forms.editableTableField({
    name: 'actions',
    id: 'actions',
    cols: cols,
    rows: rows,
    staticRows: true,
}) }}
