Initial commit of the Asset Management System, including project structure, Docker configuration, database migrations, and core application files. Added user authentication, asset management features, and basic UI components.
This commit is contained in:
42
app/Views/auth/login.php
Normal file
42
app/Views/auth/login.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<div class="login-container">
|
||||
<div class="login-box">
|
||||
<div class="login-header">
|
||||
<h2><?= $lang['login_title'] ?></h2>
|
||||
<p>Asset Management System</p>
|
||||
</div>
|
||||
|
||||
<form method="POST" action="/login" class="login-form">
|
||||
<input type="hidden" name="csrf_token" value="<?= $csrfToken ?>">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="email"><?= $lang['login_email'] ?></label>
|
||||
<input type="email" id="email" name="email" required class="form-control">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password"><?= $lang['login_password'] ?></label>
|
||||
<input type="password" id="password" name="password" required class="form-control">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" name="remember" value="1">
|
||||
<span class="checkmark"></span>
|
||||
<?= $lang['login_remember'] ?>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary btn-block">
|
||||
<?= $lang['login_submit'] ?>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="login-footer">
|
||||
<a href="/password/forgot" class="forgot-password">
|
||||
<?= $lang['forgot_password'] ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
97
app/Views/layouts/main.php
Normal file
97
app/Views/layouts/main.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="<?= $locale ?>">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?= $lang['dashboard'] ?> - Asset Management System</title>
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" href="/assets/css/style.css">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="/assets/img/favicon.ico">
|
||||
|
||||
<!-- Security Headers -->
|
||||
<meta http-equiv="X-Content-Type-Options" content="nosniff">
|
||||
<meta http-equiv="X-Frame-Options" content="SAMEORIGIN">
|
||||
<meta http-equiv="X-XSS-Protection" content="1; mode=block">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Header -->
|
||||
<header class="header">
|
||||
<div class="container">
|
||||
<div class="header-content">
|
||||
<div class="logo">
|
||||
<h1>Asset Management</h1>
|
||||
</div>
|
||||
|
||||
<?php if ($user): ?>
|
||||
<nav class="nav">
|
||||
<ul class="nav-list">
|
||||
<li><a href="/dashboard" class="nav-link"><?= $lang['dashboard'] ?></a></li>
|
||||
<li><a href="/assets" class="nav-link"><?= $lang['assets'] ?></a></li>
|
||||
<li><a href="/inventories" class="nav-link"><?= $lang['inventory'] ?></a></li>
|
||||
<li><a href="/reports" class="nav-link"><?= $lang['reports'] ?></a></li>
|
||||
|
||||
<?php if ($user['role'] === 'admin'): ?>
|
||||
<li class="nav-dropdown">
|
||||
<a href="#" class="nav-link"><?= $lang['master_data'] ?></a>
|
||||
<ul class="nav-dropdown-menu">
|
||||
<li><a href="/categories"><?= $lang['categories_nav'] ?></a></li>
|
||||
<li><a href="/locations"><?= $lang['locations_nav'] ?></a></li>
|
||||
<li><a href="/departments"><?= $lang['departments_nav'] ?></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="/users" class="nav-link"><?= $lang['users'] ?></a></li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="user-menu">
|
||||
<span class="user-name"><?= htmlspecialchars($user['name']) ?></span>
|
||||
<div class="user-dropdown">
|
||||
<a href="#" class="user-link"><?= $user['name'] ?></a>
|
||||
<ul class="user-dropdown-menu">
|
||||
<li><a href="/settings"><?= $lang['settings'] ?></a></li>
|
||||
<li><a href="/logout"><?= $lang['logout'] ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="main">
|
||||
<div class="container">
|
||||
<!-- Flash Messages -->
|
||||
<?php if (!empty($flashMessages)): ?>
|
||||
<div class="flash-messages">
|
||||
<?php foreach ($flashMessages as $type => $message): ?>
|
||||
<div class="alert alert-<?= $type ?>">
|
||||
<?= htmlspecialchars($message) ?>
|
||||
<button type="button" class="alert-close" onclick="this.parentElement.remove()">×</button>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="content">
|
||||
<?= $content ?>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p>© <?= date('Y') ?> Asset Management System. Alle Rechte vorbehalten.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- JavaScript -->
|
||||
<script src="/assets/js/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user