diff --git a/accounts.php b/accounts.php new file mode 100644 index 0000000..14285cc --- /dev/null +++ b/accounts.php @@ -0,0 +1,18 @@ + + +
+
+

+ +
+
+

PPPoE/Hotspot account management page content goes here.

+
+ + diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..addf77d --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,188 @@ +/* General Body Styles */ +body { + font-family: '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'; + background-color: #F8F9FA; + color: #212529; + display: flex; + min-height: 100vh; +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'Georgia', serif; +} + +/* Main Wrapper */ +.wrapper { + display: flex; + width: 100%; + align-items: stretch; +} + +/* Sidebar Styles */ +#sidebar { + min-width: 250px; + max-width: 250px; + background: #FFFFFF; + color: #212529; + transition: all 0.3s; + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + display: flex; + flex-direction: column; +} + +#sidebar.active { + margin-left: -250px; +} + +#sidebar .sidebar-header { + padding: 20px; + background: linear-gradient(45deg, rgba(0, 123, 255, 0.1), rgba(0, 123, 255, 0)); + border-bottom: 1px solid #e9ecef; + text-align: center; +} + +#sidebar .sidebar-header h3 { + color: #0056b3; + font-size: 1.5rem; + margin-bottom: 0; +} + +#sidebar ul.components { + padding: 20px 0; + border-bottom: 1px solid #e9ecef; + flex-grow: 1; +} + +#sidebar ul p { + color: #212529; + padding: 10px; +} + +#sidebar ul li a { + padding: 15px 20px; + font-size: 1.1em; + display: block; + color: #343a40; + border-left: 3px solid transparent; + transition: all 0.2s ease-in-out; +} + +#sidebar ul li a:hover { + color: #007BFF; + background: #F8F9FA; + border-left-color: #007BFF; +} + +#sidebar ul li.active > a, a[aria-expanded="true"] { + color: #0056b3; + background: #F8F9FA; + border-left-color: #007BFF; +} + +#sidebar .logout-link a { + border-top: 1px solid #e9ecef; +} + +/* Content Styles */ +#content { + width: 100%; + padding: 20px; + min-height: 100vh; + transition: all 0.3s; +} + +.navbar { + padding: 15px 10px; + background: #fff; + border: none; + border-radius: 0.5rem; + margin-bottom: 40px; + box-shadow: 0 2px 4px rgba(0,0,0,0.05); +} + +.navbar-brand { + font-family: 'Georgia', serif; + color: #0056b3; +} + +#sidebarCollapse { + border: none; + background: transparent; + color: #007BFF; + font-size: 1.5rem; +} + +#sidebarCollapse:hover { + color: #0056b3; +} + +/* Dashboard Widgets */ +.card { + border-radius: 0.5rem; + border: none; + box-shadow: 0 4px 15px rgba(0,0,0,0.07); + transition: transform 0.2s; +} + +.card:hover { + transform: translateY(-5px); +} + +.card-header { + background: linear-gradient(45deg, rgba(0, 123, 255, 0.05), rgba(0, 123, 255, 0)); + font-family: 'Georgia', serif; + font-weight: bold; + border-bottom: 1px solid #e9ecef; +} + +/* Login Page Styles */ +.login-container { + display: flex; + align-items: center; + justify-content: center; + width: 100%; +} + +.login-wrapper { + width: 100%; + max-width: 400px; + padding: 40px; + background: #FFFFFF; + border-radius: 0.5rem; + box-shadow: 0 4px 25px rgba(0,0,0,0.1); +} + +.login-wrapper h2 { + text-align: center; + margin-bottom: 1.5rem; + color: #0056b3; +} + +.form-control { + border-radius: 0.25rem; + padding: 0.75rem 1rem; +} + +.btn-primary { + background-color: #007BFF; + border-color: #007BFF; + border-radius: 0.25rem; + padding: 0.75rem; + font-weight: bold; + transition: background-color 0.2s, box-shadow 0.2s; +} + +.btn-primary:hover { + background-color: #0056b3; + border-color: #0056b3; + box-shadow: 0 4px 10px rgba(0, 123, 255, 0.3); +} + +/* Feather Icons */ +i.feather { + width: 18px; + height: 18px; + stroke-width: 2; + vertical-align: text-bottom; + margin-right: 10px; +} diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..d2f3509 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,12 @@ +// Main javascript file + +document.addEventListener("DOMContentLoaded", function() { + const sidebarCollapse = document.getElementById('sidebarCollapse'); + const sidebar = document.getElementById('sidebar'); + + if (sidebarCollapse) { + sidebarCollapse.addEventListener('click', function () { + sidebar.classList.toggle('active'); + }); + } +}); diff --git a/auth.php b/auth.php new file mode 100644 index 0000000..4f14abf --- /dev/null +++ b/auth.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/billing.php b/billing.php new file mode 100644 index 0000000..9782106 --- /dev/null +++ b/billing.php @@ -0,0 +1,14 @@ + + +
+

+

Billing page content goes here.

+
+ + diff --git a/index.php b/index.php index 7205f3d..fd2bca1 100644 --- a/index.php +++ b/index.php @@ -1,150 +1,104 @@ + +
+ + + +
+ + + +

Dashboard

+

Welcome to your Mikrotik management dashboard. Here's a summary of your network.

+ +
+ +
+
+
+
Pelanggan Aktif
+

-

+
+
+
+
+
+
+
Pending Suspend
+

-

+
+
+
+
+
+
+
Tagihan Overdue
+

-

+
+
+
+
+
+
+
Pendapatan Bulan Ini
+

-

+
+
+
+
+ +
+
+
+
+ Recent Activity / Log +
+
+

Placeholder for recent activities...

+
+
+
+
+
+
+ Quick Actions +
+
+
+ + +
+
+
+
+
-$phpVersion = PHP_VERSION; -$now = date('Y-m-d H:i:s'); -?> - - - - - - New Style - - - - - - - - - - - - - - - - - - - - - -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

-
-
- Page updated: (UTC) -
- - +
+ + \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..3a825e8 --- /dev/null +++ b/login.php @@ -0,0 +1,62 @@ + ['password' => 'admin123', 'role' => 'Administrator'], + 'user' => ['password' => 'user123', 'role' => 'Operator'], + ]; + + if (isset($users[$username]) && $users[$username]['password'] === $password) { + $_SESSION['user'] = [ + 'username' => $username, + 'role' => $users[$username]['role'] + ]; + header('Location: index.php'); + exit(); + } else { + $error = 'Invalid username or password!'; + } +} + +require_once 'partials/header.php'; +?> + +
+ +
+ + diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..6cf897b --- /dev/null +++ b/logout.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/monitoring.php b/monitoring.php new file mode 100644 index 0000000..41c9d4d --- /dev/null +++ b/monitoring.php @@ -0,0 +1,14 @@ + + +
+

+

Monitoring page content goes here.

+
+ + diff --git a/packages.php b/packages.php new file mode 100644 index 0000000..87bef37 --- /dev/null +++ b/packages.php @@ -0,0 +1,25 @@ + + +
+
+

+ +
+
+

Service package management page content goes here.

+ +
+ + diff --git a/partials/footer.php b/partials/footer.php new file mode 100644 index 0000000..1685746 --- /dev/null +++ b/partials/footer.php @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/partials/header.php b/partials/header.php new file mode 100644 index 0000000..a825ac6 --- /dev/null +++ b/partials/header.php @@ -0,0 +1,33 @@ + + + + + + + managemen mikrotik + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/partials/sidebar.php b/partials/sidebar.php new file mode 100644 index 0000000..294be1f --- /dev/null +++ b/partials/sidebar.php @@ -0,0 +1,49 @@ + + diff --git a/routers.php b/routers.php new file mode 100644 index 0000000..add0f36 --- /dev/null +++ b/routers.php @@ -0,0 +1,25 @@ + + +
+
+

+ +
+
+

Router management page content goes here.

+ +
+ + diff --git a/settings.php b/settings.php new file mode 100644 index 0000000..a14ecfa --- /dev/null +++ b/settings.php @@ -0,0 +1,20 @@ + + +
+

+

Settings page content goes here.

+
+ + diff --git a/users.php b/users.php new file mode 100644 index 0000000..fe9c3ec --- /dev/null +++ b/users.php @@ -0,0 +1,25 @@ + + +
+
+

+ +
+
+

Operator management page content goes here.

+ +
+ + diff --git a/vouchers.php b/vouchers.php new file mode 100644 index 0000000..29652e3 --- /dev/null +++ b/vouchers.php @@ -0,0 +1,18 @@ + + +
+
+

+ +
+
+

Voucher management page content goes here.

+
+ +