Newer
Older
Conjuro / content / controls / common-admin.php
<?php
  /**
   * Common control library 0.1 for Conjuro.
   */
  return [
    new class("admin-title") extends Control{
      protected function renderControl($meta,$data) {
        c()->rhtml('div',['class'=>'admin-title'],function() use($meta){
          echo $meta["title"];
        });
        c()->rhtml('div',['class'=>'admin-title-right'],function() use($meta){
          c()->control("icon")->render(['icon'=>'gear','class'=>'btn-ico'],$data);
        });
      }
    },
    new class("admin-panel-buttons") extends Control{
      protected function renderControl($meta,$data) {
        foreach(m("Admin")->do("get-panel-links") as $lnk){
          c()->control("admin-panel-button")->render($lnk,$data);
        }
      }
    },
    new class("admin-panel-button") extends Control{
      protected function renderControl($meta,$data) {
        echo '<div class="admin-panel-button">';
        echo '<i class="admin-panel-button-icon fa-solid fa-'.$meta['icon'].'"></i>';
        echo '<a class="admin-panel-button-link" href="'.$meta["link"].'">'.$meta["title"].'</a>';
        echo '</div>';
      }
    },
    new class("admin-tile") extends Control{
      protected function renderControl($meta,$data) {
        ?>
          <div class="admin-tile <?=$meta['class']?>">
            <div class="admin-tile-header"><?=$meta['title']?></div>
            <div class="admin-tile-body">
              <?php if ($meta['content']) foreach($meta['content'] as $child) c()->renderContent($child,$data); ?>
            </div>
          </div><!-- Tile -->
        <?php
      }
    },
  ];
?>