| 1 |
<?php |
| 2 |
/** |
| 3 |
* Shared dashboard shell header. |
| 4 |
* |
| 5 |
* @package GutSliderBlocks |
| 6 |
* |
| 7 |
* @var string $current Current page slug. |
| 8 |
* @var bool $has_pro Whether the Pro plugin is active. |
| 9 |
*/ |
| 10 |
|
| 11 |
if ( ! defined( 'ABSPATH' ) ) { |
| 12 |
exit; |
| 13 |
} |
| 14 |
|
| 15 |
$gs_current = isset( $current ) ? $current : ''; |
| 16 |
$gs_has_pro = isset( $has_pro ) ? (bool) $has_pro : defined( 'GUTSLIDER_PRO_VERSION' ); |
| 17 |
|
| 18 |
$gs_nav = array( |
| 19 |
array( |
| 20 |
'slug' => 'gutslider-blocks', |
| 21 |
'label' => __( 'Dashboard', 'slider-blocks' ), |
| 22 |
'url' => admin_url( 'admin.php?page=gutslider-blocks' ), |
| 23 |
), |
| 24 |
array( |
| 25 |
'slug' => 'gutslider-blocks-settings', |
| 26 |
'label' => __( 'Blocks', 'slider-blocks' ), |
| 27 |
'url' => admin_url( 'admin.php?page=gutslider-blocks-settings' ), |
| 28 |
), |
| 29 |
array( |
| 30 |
'slug' => 'gutslider-settings', |
| 31 |
'label' => __( 'Settings', 'slider-blocks' ), |
| 32 |
'url' => admin_url( 'admin.php?page=gutslider-settings' ), |
| 33 |
), |
| 34 |
array( |
| 35 |
'slug' => 'gutslider-license', |
| 36 |
'label' => $gs_has_pro ? __( 'License', 'slider-blocks' ) : __( 'Pricing', 'slider-blocks' ), |
| 37 |
'url' => $gs_has_pro ? admin_url( 'admin.php?page=gutslider-license' ) : 'https://gutslider.com/pricing', |
| 38 |
'external' => ! $gs_has_pro, |
| 39 |
), |
| 40 |
); |
| 41 |
?> |
| 42 |
<div class="gs-app" data-gs-page="<?php echo esc_attr( $gs_current ); ?>"> |
| 43 |
<header class="gs-bar"> |
| 44 |
<div class="gs-bar__inner"> |
| 45 |
<a class="gs-brand" href="<?php echo esc_url( admin_url( 'admin.php?page=gutslider-blocks' ) ); ?>"> |
| 46 |
<span class="gs-brand__mark" aria-hidden="true"> |
| 47 |
<svg viewBox="0 0 45 45" xmlns="http://www.w3.org/2000/svg" focusable="false"> |
| 48 |
<path fill="currentColor" d="M5 45C3.625 45 2.44833 44.5108 1.47 43.5325C0.491667 42.5542 0.00166667 41.3767 0 40V5C0 3.625 0.49 2.44833 1.47 1.47C2.45 0.491667 3.62667 0.00166667 5 0H40C41.375 0 42.5525 0.49 43.5325 1.47C44.5125 2.45 45.0017 3.62667 45 5V40C45 41.375 44.5108 42.5525 43.5325 43.5325C42.5542 44.5125 41.3767 45.0017 40 45H5ZM17.5 35H27.5C28.875 35 30.0525 34.5108 31.0325 33.5325C32.0125 32.5542 32.5017 31.3767 32.5 30V20H22.5V25H27.5V30H17.5V15H32.5C32.5 13.625 32.0108 12.4483 31.0325 11.47C30.0542 10.4917 28.8767 10.0017 27.5 10H17.5C16.125 10 14.9483 10.49 13.97 11.47C12.9917 12.45 12.5017 13.6267 12.5 15V30C12.5 31.375 12.99 32.5525 13.97 33.5325C14.95 34.5125 16.1267 35.0017 17.5 35Z" /> |
| 49 |
</svg> |
| 50 |
</span> |
| 51 |
<span class="gs-brand__name"><?php esc_html_e( 'GutSlider', 'slider-blocks' ); ?></span> |
| 52 |
<span class="gs-chip gs-chip--version"><?php echo esc_html( GUTSLIDER_VERSION ); ?></span> |
| 53 |
<?php if ( $gs_has_pro ) : ?> |
| 54 |
<span class="gs-chip gs-chip--pro"><?php esc_html_e( 'PRO', 'slider-blocks' ); ?></span> |
| 55 |
<?php endif; ?> |
| 56 |
</a> |
| 57 |
|
| 58 |
<nav class="gs-nav" aria-label="<?php esc_attr_e( 'GutSlider navigation', 'slider-blocks' ); ?>"> |
| 59 |
<?php foreach ( $gs_nav as $gs_item ) : ?> |
| 60 |
<?php $gs_active = ( $gs_item['slug'] === $gs_current ); ?> |
| 61 |
<a |
| 62 |
class="gs-nav__link<?php echo $gs_active ? ' is-active' : ''; ?>" |
| 63 |
href="<?php echo esc_url( $gs_item['url'] ); ?>" |
| 64 |
<?php echo empty( $gs_item['external'] ) ? '' : 'target="_blank" rel="noopener noreferrer"'; ?> |
| 65 |
<?php echo $gs_active ? 'aria-current="page"' : ''; ?> |
| 66 |
> |
| 67 |
<?php echo esc_html( $gs_item['label'] ); ?> |
| 68 |
</a> |
| 69 |
<?php endforeach; ?> |
| 70 |
</nav> |
| 71 |
|
| 72 |
<div class="gs-bar__actions"> |
| 73 |
<button type="button" class="gs-icon-btn" data-gs-theme-toggle aria-label="<?php esc_attr_e( 'Toggle colour scheme', 'slider-blocks' ); ?>"> |
| 74 |
<?php GutSlider_Admin::icon( 'sun', 'gs-icon--sun' ); ?> |
| 75 |
<?php GutSlider_Admin::icon( 'moon', 'gs-icon--moon' ); ?> |
| 76 |
</button> |
| 77 |
|
| 78 |
<a class="gs-icon-btn" href="https://gutslider.com/docs" target="_blank" rel="noopener noreferrer" aria-label="<?php esc_attr_e( 'Documentation', 'slider-blocks' ); ?>"> |
| 79 |
<?php GutSlider_Admin::icon( 'book-open' ); ?> |
| 80 |
</a> |
| 81 |
|
| 82 |
<?php if ( ! $gs_has_pro ) : ?> |
| 83 |
<a class="gs-btn gs-btn--quiet gs-btn--sm" href="https://gutslider.com/pricing" target="_blank" rel="noopener noreferrer"> |
| 84 |
<?php esc_html_e( 'Get Pro', 'slider-blocks' ); ?> |
| 85 |
</a> |
| 86 |
<?php endif; ?> |
| 87 |
|
| 88 |
<a class="gs-btn gs-btn--primary gs-btn--sm" href="<?php echo esc_url( admin_url( 'post-new.php?post_type=page' ) ); ?>"> |
| 89 |
<?php GutSlider_Admin::icon( 'plus' ); ?> |
| 90 |
<?php esc_html_e( 'New slider', 'slider-blocks' ); ?> |
| 91 |
</a> |
| 92 |
</div> |
| 93 |
</div> |
| 94 |
</header> |
| 95 |
|
| 96 |
<main class="gs-main"> |
| 97 |
|