<?php

namespace KrokedilKlarnaPaymentsDeps\Krokedil\SettingsPage;

\defined('ABSPATH') || exit;
/**
 * Navigation class to handle the navigation for the subsections of the settings page.
 */
class Navigation
{
    /**
     * The arguments for the page.
     *
     * @var array $args
     */
    protected $args = array();
    /**
     * Class constructor.
     *
     * @param array $args Arguments for the page.
     *
     * @return void
     */
    public function __construct($args)
    {
        $this->args = $args;
    }
    /**
     * Get the current subsection we are on.
     *
     * @return string
     */
    public function get_current_subsection()
    {
        // Verify the nonce.
        wp_verify_nonce('__nonce');
        $subsection = \filter_input(\INPUT_GET, 'subsection', \FILTER_SANITIZE_FULL_SPECIAL_CHARS);
        if (!$subsection) {
            $subsection = 'general';
        }
        return $subsection;
    }
    /**
     * Output the Navigation HTML.
     *
     * @return void
     */
    public function output()
    {
        $current_subsection = $this->get_current_subsection();
        $extra_subsections = $this->args['extra_subsections'] ?? array();
        $tabs = array('general' => __('General', 'krokedil-settings'));
        if (!empty($this->args['support'] ?? array())) {
            $tabs['support'] = __('Support', 'krokedil-settings');
        }
        if (!empty($this->args['addons'] ?? array())) {
            $tabs['addons'] = __('Addons', 'krokedil-settings');
        }
        foreach ($extra_subsections as $key => $subsection) {
            $tabs[$key] = $subsection['name'] ?? $key;
        }
        ?>
		<h2 class="nav-tab-wrapper krokedil_nav_tabs">
			<?php 
        foreach ($tabs as $tab => $label) {
            ?>
				<a href="<?php 
            echo esc_url(add_query_arg('subsection', $tab));
            ?>" class="nav-tab <?php 
            echo $current_subsection === $tab ? 'nav-tab-active' : '';
            ?>"><?php 
            echo esc_html($label);
            ?></a>
			<?php 
        }
        ?>
		</h2>
		<?php 
    }
}
