Travel Invoice: Poprawki

This commit is contained in:
2026-05-07 19:20:10 +02:00
parent ed1d98e283
commit 103a99060f
6 changed files with 910 additions and 37 deletions

View File

@@ -0,0 +1,138 @@
<?php
$enablePrototypeComments = true;
include '../../header-admin.php';
?>
<div class="container-xxl flex-grow-1 container-p-y">
<h4 class="fw-bold py-3 mb-4">
Admin Panel <span class="text-muted fw-light">/ Firmy</span>
</h4>
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title mb-1">Filtrowanie firm</h5>
<p class="text-muted small mb-3">Wyszukaj firmy na podstawie nazwy lub numeru NIP.</p>
<form onsubmit="return false;" class="row g-3">
<div class="col-md-4">
<label class="form-label" for="filter-company-name">Nazwa firmy</label>
<div class="input-group input-group-merge">
<span class="input-group-text"><i class="bx bx-buildings"></i></span>
<input type="text" id="filter-company-name" class="form-control"
placeholder="Wprowadź nazwę firmy">
</div>
</div>
<div class="col-md-4">
<label class="form-label" for="filter-nip">NIP</label>
<div class="input-group input-group-merge">
<span class="input-group-text"><i class="bx bx-id-card"></i></span>
<input type="text" id="filter-nip" class="form-control" placeholder="Wprowadź NIP">
</div>
</div>
<div class="col-md-4 d-flex align-items-end gap-2">
<button type="reset" class="btn btn-label-secondary w-50">
<i class="bx bx-reset me-1"></i> Wyczyść
</button>
<button type="submit" class="btn btn-primary w-50">
<i class="bx bx-search me-1"></i> Filtruj
</button>
</div>
</form>
</div>
</div>
<div class="card">
<h5 class="card-header border-bottom d-flex justify-content-between align-items-center">
Zarejestrowane firmy
</h5>
<div class="table-responsive text-nowrap pb-2">
<table class="table table-hover mb-0">
<thead class="table-light">
<tr>
<th>ID</th>
<th>Nazwa</th>
<th>Status</th>
<th>Dokument</th>
<th>Rejestracja</th>
<th class="text-end">Akcje</th>
</tr>
</thead>
<tbody class="table-border-bottom-0">
<tr>
<td><strong>#1024</strong></td>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="avatar avatar-sm me-3">
<span class="avatar-initial rounded-circle bg-label-primary">AB</span>
</div>
<div class="d-flex flex-column">
<h6 class="mb-0 fw-semibold">
Alpha Business Sp. z o.o.
</h6>
<small class="text-muted">NIP: 1234567890</small>
</div>
</div>
</td>
<td>
<span class="badge bg-label-success">Aktywna</span>
</td>
<td>
<span class="text-muted small"><i class="bx bx-file me-1"></i>FV-2026/05/001</span>
</td>
<td>
<span class="text-muted small">2026-05-01</span>
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-outline-primary">
Zarządzaj
</button>
</td>
</tr>
<tr>
<td><strong>#1025</strong></td>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="avatar avatar-sm me-3">
<span class="avatar-initial rounded-circle bg-label-secondary">BM</span>
</div>
<div class="d-flex flex-column">
<h6 class="mb-0 fw-semibold">
Beta Marketing S.A.
</h6>
<small class="text-muted">NIP: 0987654321</small>
</div>
</div>
</td>
<td>
<span class="badge bg-label-secondary">Wyłączona</span>
</td>
<td>
<span class="text-muted small"><i class="bx bx-file me-1"></i>Proforma 12/2026</span>
</td>
<td>
<span class="text-muted small">2026-05-05</span>
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-outline-primary">
Zarządzaj
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="content-backdrop fade"></div>
<?php include '../../footer.php'; ?>
</body>
</html>

View File

@@ -0,0 +1,198 @@
<?php
$enablePrototypeComments = true;
include '../../header-admin.php';
?>
<div class="container-xxl flex-grow-1 container-p-y">
<h4 class="fw-bold py-3 mb-4">
Admin Panel <span class="text-muted fw-light">/ Użytkownicy</span>
</h4>
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title mb-1">Filtrowanie użytkowników</h5>
<p class="text-muted small mb-3">Wyszukaj użytkowników na podstawie danych, przypisanej firmy lub statusu.</p>
<form onsubmit="return false;" class="row g-3">
<div class="col-md-3">
<label class="form-label" for="filter-name">Imię i nazwisko</label>
<div class="input-group input-group-merge">
<span class="input-group-text"><i class="bx bx-user"></i></span>
<input type="text" id="filter-name" class="form-control" placeholder="Wprowadź dane">
</div>
</div>
<div class="col-md-3">
<label class="form-label" for="filter-email">Adres e-mail</label>
<div class="input-group input-group-merge">
<span class="input-group-text"><i class="bx bx-envelope"></i></span>
<input type="email" id="filter-email" class="form-control" placeholder="Wprowadź e-mail">
</div>
</div>
<div class="col-md-3">
<label class="form-label" for="filter-company">Przypisana firma</label>
<select id="filter-company" class="select2 form-select" data-allow-clear="true" data-placeholder="Wybierz firmę">
<option value=""></option>
<option value="1">Alpha Business Sp. z o.o.</option>
<option value="2">Beta Marketing S.A.</option>
<option value="3">Tech Magico</option>
</select>
</div>
<div class="col-md-3">
<label class="form-label" for="filter-status">Status</label>
<select id="filter-status" class="form-select">
<option value="">Wszystkie</option>
<option value="active">Aktywny</option>
<option value="inactive">Nieaktywny</option>
</select>
</div>
<div class="col-12 d-flex justify-content-end gap-2 mt-3">
<button type="reset" class="btn btn-label-secondary">
<i class="bx bx-reset me-1"></i> Wyczyść
</button>
<button type="submit" class="btn btn-primary px-4">
<i class="bx bx-search me-1"></i> Filtruj
</button>
</div>
</form>
</div>
</div>
<div class="card">
<h5 class="card-header border-bottom d-flex justify-content-between align-items-center">
Zarejestrowani użytkownicy
</h5>
<div class="table-responsive text-nowrap pb-2">
<table class="table table-hover mb-0">
<thead class="table-light">
<tr>
<th>ID</th>
<th>Użytkownik</th>
<th>Firma</th>
<th>Status</th>
<th>Rejestracja</th>
<th class="text-end">Akcje</th>
</tr>
</thead>
<tbody class="table-border-bottom-0">
<tr>
<td><strong>#501</strong></td>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="avatar avatar-sm me-3">
<span class="avatar-initial rounded-circle bg-label-primary">BB</span>
</div>
<div class="d-flex flex-column">
<h6 class="mb-0 fw-semibold">
Bartłomiej Banaczyk
<i class="bx bxs-badge-check text-primary ms-1" data-bs-toggle="tooltip" title="Zweryfikowane konto id.magico"></i>
</h6>
<small class="text-muted">banaczyk@magico.pl</small>
</div>
</div>
</td>
<td>Alpha Business Sp. z o.o.</td>
<td>
<span class="badge bg-label-success">Aktywny</span>
</td>
<td>
<span class="text-muted small">2026-05-01</span>
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-outline-primary">
Zarządzaj
</button>
</td>
</tr>
<tr>
<td><strong>#502</strong></td>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="avatar avatar-sm me-3">
<span class="avatar-initial rounded-circle bg-label-secondary"><i class="bx bx-user"></i></span>
</div>
<div class="d-flex flex-column">
<h6 class="mb-0 fw-semibold">
Piotr Mierzwa
</h6>
<small class="text-muted">piotr@magico.pl</small>
</div>
</div>
</td>
<td>Beta Marketing S.A.</td>
<td>
<span class="badge bg-label-secondary">Nieaktywny</span>
</td>
<td>
<span class="text-muted small">2026-05-03</span>
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-outline-primary">
Zarządzaj
</button>
</td>
</tr>
<tr>
<td><strong>#503</strong></td>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="avatar avatar-sm me-3">
<img src="https://ui-avatars.com/api/?name=Anna+Kowalska&background=ffe7e3&color=ff5b5c" alt="Avatar" class="rounded-circle">
</div>
<div class="d-flex flex-column">
<h6 class="mb-0 fw-semibold">
Anna Kowalska
<i class="bx bxs-badge-check text-primary ms-1" data-bs-toggle="tooltip" title="Zweryfikowane konto id.magico"></i>
</h6>
<small class="text-muted">anna.kowalska@example.com</small>
</div>
</div>
</td>
<td>Tech Magico</td>
<td>
<span class="badge bg-label-success">Aktywny</span>
</td>
<td>
<span class="text-muted small">2026-05-05</span>
</td>
<td class="text-end">
<button type="button" class="btn btn-sm btn-outline-primary">
Zarządzaj
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="content-backdrop fade"></div>
<?php include '../../footer.php'; ?>
<!-- Scripts -->
<script>
document.addEventListener("DOMContentLoaded", function () {
if (typeof $ !== 'undefined' && $('.select2').length) {
$('.select2').select2({
placeholder: 'Wybierz firmę',
allowClear: true,
theme: 'bootstrap-5'
});
}
});
</script>
</body>
</html>

View File

@@ -0,0 +1,155 @@
<?php
$enablePrototypeComments = true;
include '../../header-admin.php';
?>
<div class="container-xxl flex-grow-1 container-p-y">
<h4 class="fw-bold py-3 mb-4">
Admin Panel <span class="text-muted fw-light">/ Kokpit</span>
</h4>
<!-- Baner Informacyjny -->
<div class="row mb-4">
<div class="col-12">
<div class="card bg-primary text-white text-center text-md-start"
style="background: linear-gradient(135deg, #696cff 0%, #a481ff 100%);">
<div
class="card-body d-flex flex-column flex-md-row justify-content-between align-items-center py-4 px-5">
<div class="mb-3 mb-md-0 d-flex gap-4 align-items-center">
<div
class="avatar avatar-lg bg-white rounded flex-shrink-0 d-flex align-items-center justify-content-center shadow-sm">
<i class="bx bx-buildings text-primary fs-2"></i>
</div>
<div>
<h4 class="text-white fw-bold mb-1">Centrum Zarządzania magico.pro</h4>
<p class="mb-0 text-white-50" style="max-width: 650px;">
Główny panel administracyjny ekosystemu. Monitoruj aktywność klientów, zarządzaj
modułami sync, helpdesk oraz delivery, a także udzielaj bezpośredniego wsparcia
technicznego użytkownikom platformy.
</p>
</div>
<div>
<a href="https://magico.pl/kontakt" target=" _blank"
class="btn btn-white text-primary shadow-sm fw-bold">
<i class="bx bx-cog me-2"></i> Wsparcie techniczne Magico
</a>
</div>
</div>
</div>
</div>
</div>
<!-- 1. Sekcja KPI (Karty informacyjne) -->
<div class="row g-4 mb-4">
<div class="col-sm-6 col-xl-3">
<div class="card h-100 shadow-sm border-0">
<div class="card-body">
<div class="d-flex align-items-start justify-content-between">
<div class="content-left">
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
Firmy w bazie
</span>
<div class="d-flex align-items-end mt-2">
<h3 class="mb-0 me-2 text-dark">142</h3>
</div>
<small class="text-success">
<i class="bx bx-trending-up me-1"></i>+12 w tym miesiącu
</small>
</div>
<span class="badge bg-label-primary rounded p-2">
<i class="bx bx-briefcase fs-4"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card h-100 shadow-sm border-0">
<div class="card-body">
<div class="d-flex align-items-start justify-content-between">
<div class="content-left">
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
Użytkownicy
</span>
<div class="d-flex align-items-end mt-2">
<h3 class="mb-0 me-2 text-dark">584</h3>
</div>
<small class="text-muted">
<i class="bx bx-user me-1"></i>Zarejestrowane konta id
</small>
</div>
<span class="badge bg-label-info rounded p-2">
<i class="bx bx-group fs-4"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card h-100 shadow-sm border-0">
<div class="card-body">
<div class="d-flex align-items-start justify-content-between">
<div class="content-left">
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
Wystawione faktury
</span>
<div class="d-flex align-items-end mt-2">
<h3 class="mb-0 me-2 text-dark">12 450 <span
class="fs-6 fw-normal text-muted">zł</span>
</h3>
</div>
<small class="text-muted">
<i class="bx bx-calendar me-1"></i>Poprzedni miesiąc
</small>
</div>
<span class="badge bg-label-success rounded p-2">
<i class="bx bx-receipt fs-4"></i>
</span>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card h-100 shadow-sm border-0 border-start border-danger border-3">
<div class="card-body">
<div class="d-flex align-items-start justify-content-between">
<div class="content-left">
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
Zaległości
</span>
<div class="d-flex align-items-end mt-2">
<h3 class="mb-0 me-2 text-danger">1 820 <span
class="fs-6 fw-normal text-danger">zł</span></h3>
</div>
<small class="text-danger fw-semibold">
<i class="bx bx-error-circle me-1"></i>Wymaga kontaktu
</small>
</div>
<span class="badge bg-label-danger rounded p-2">
<i class="bx bx-wallet fs-4"></i>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="content-backdrop fade"></div>
<?php include '../../footer.php'; ?>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<?php
$currentPage = basename($_SERVER['PHP_SELF']);
?>
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<div class="app-brand demo">
<a href="index.php" class="app-brand-link">
<span class="app-brand-text demo menu-text fw-bold ms-2">Admin Panel</span>
</a>
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="bx bx-chevron-left bx-sm align-middle"></i>
</a>
</div>
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
<li class="menu-header small text-uppercase">
<span class="menu-header-text" data-i18n="Podgląd">Podgląd</span>
</li>
<li class="menu-item <?php echo ($currentPage == 'index.php') ? 'active' : ''; ?>">
<a href="index.php" class="menu-link">
<i class="menu-icon tf-icons bx bx-home-circle"></i>
<div class="text-truncate" data-i18n="Kokpit">Kokpit</div>
</a>
</li>
<li class="menu-header small text-uppercase">
<span class="menu-header-text" data-i18n="Zarządzanie">Zarządzanie systemem</span>
</li>
<li class="menu-item <?php echo ($currentPage == 'admin-companies.php') ? 'active' : ''; ?>">
<a href="admin-companies.php" class="menu-link">
<i class="menu-icon tf-icons bx bx-buildings"></i>
<div class="text-truncate" data-i18n="Firmy">Firmy</div>
</a>
</li>
<li class="menu-item <?php echo ($currentPage == 'admin-users.php') ? 'active' : ''; ?>">
<a href="admin-users.php" class="menu-link">
<i class="menu-icon tf-icons bx bx-group"></i>
<div class="text-truncate" data-i18n="Użytkownicy">Użytkownicy</div>
</a>
</li>
<li class="menu-item <?php echo ($currentPage == 'admin-apps.php') ? 'active' : ''; ?>">
<a href="admin-apps.php" class="menu-link">
<i class="menu-icon tf-icons bx bx-grid-alt"></i>
<div class="text-truncate" data-i18n="Aplikacje">Aplikacje</div>
</a>
</li>
<li class="menu-header small text-uppercase">
<span class="menu-header-text" data-i18n="Finanse">Finanse</span>
</li>
<li class="menu-item <?php echo ($currentPage == 'admin-billing.php') ? 'active' : ''; ?>">
<a href="admin-billing.php" class="menu-link">
<i class="menu-icon tf-icons bx bx-receipt"></i>
<div class="text-truncate" data-i18n="Rozliczenia">Rozliczenia</div>
</a>
</li>
</ul>
</aside>