#!/usr/bin/env bash
set -e

BASE="/Users/rbutare/websites/apps/adminlte"

echo "Creating AdminLTE template structure..."
mkdir -p $BASE

###############################################
# aindex.php (main page layout)
###############################################
cat > "$BASE/aindex.php" << 'EOF'
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>defApp Index Template</title>

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
</head>

<body class="hold-transition sidebar-mini">
<div class="wrapper">

    <!-- NAVBAR -->
    <div id="navbar">
        <?php 
        $f = __DIR__ . "/navbar.php";
        if (file_exists($f)) include_once $f;
        else echo "<!-- navbar.php missing -->";
        ?>
    </div>

    <!-- SIDEBAR -->
    <div id="divSideBar">
        <?php 
        $menuFile = __DIR__ . "/menu.php";
        if (file_exists($menuFile)) include_once $menuFile;

        $sidebarFile = __DIR__ . "/sidebar.php";
        if (file_exists($sidebarFile)) include_once $sidebarFile;
        else echo "<!-- sidebar.php missing -->";
        ?>
    </div>

    <!-- CONTENT -->
    <div id="divContent" class="content-wrapper">
        <?php 
        $contentFile = __DIR__ . "/content.php";
        if (file_exists($contentFile)) include_once $contentFile;
        else echo "<div class='p-3'>Content file missing.</div>";
        ?>
    </div>

    <!-- FOOTER -->
    <div id="divFooter">
        <?php 
        $footerFile = __DIR__ . "/footer.php";
        if (file_exists($footerFile)) include_once $footerFile;
        else echo "<!-- footer.php missing -->";
        ?>
    </div>

</div>

<!-- SCRIPTS -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/js/adminlte.min.js"></script>

</body>
</html>
EOF

###############################################
# navbar.php
###############################################
cat > "$BASE/navbar.php" << 'EOF'
<nav class="main-header navbar navbar-expand navbar-white navbar-light">
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
        </li>
        <li class="nav-item d-none d-sm-inline-block">
            <a href="aindex.php" class="nav-link">Home</a>
        </li>
    </ul>
</nav>
EOF

###############################################
# menu.php (dynamic menu + role-based)
###############################################
cat > "$BASE/menu.php" << 'EOF'
<?php
function loadMenu($role = "viewer") {

    $menus = [
        ["title" => "Dashboard", "icon" => "fa-home", "url" => "aindex.php", "roles" => ["admin","editor","viewer"]],
        ["title" => "Users",     "icon" => "fa-users", "url" => "users.php", "roles" => ["admin"]],
        ["title" => "Settings",  "icon" => "fa-cog",   "url" => "settings.php", "roles" => ["admin","editor"]],
    ];

    foreach ($menus as $m) {
        if (!in_array($role, $m["roles"])) continue;

        echo '<li class="nav-item">
                <a href="'.$m["url"].'" class="nav-link">
                    <i class="nav-icon fas '.$m["icon"].'"></i>
                    <p>'.$m["title"].'</p>
                </a>
              </li>';
    }
}
EOF

###############################################
# sidebar.php
###############################################
cat > "$BASE/sidebar.php" << 'EOF'
<?php if (function_exists("loadMenu")): ?>
<aside class="main-sidebar sidebar-dark-primary elevation-4">
    <a href="aindex.php" class="brand-link">
        <span class="brand-text font-weight-light">Admin Panel</span>
    </a>

    <div class="sidebar">
        <nav class="mt-2">
            <ul class="nav nav-pills nav-sidebar flex-column">
                <?php loadMenu($role ?? "viewer"); ?>
            </ul>
        </nav>
    </div>
</aside>
<?php else: ?>
<!-- loadMenu() missing -->
<?php endif; ?>
EOF

###############################################
# content.php
###############################################
cat > "$BASE/content.php" << 'EOF'
<div class="card">
    <div class="card-body">
        <h3>Welcome</h3>
        <p>This is the content area.</p>
    </div>
</div>
EOF

###############################################
# footer.php
###############################################
cat > "$BASE/footer.php" << 'EOF'
<footer class="main-footer text-center small">
    <strong>&copy; <?= date('Y') ?> Admin Panel</strong>
</footer>
EOF

echo "Installer v8-PLUS complete: index layout + dynamic menu + role-based sidebar + safe includes."

