-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtemp_projects.html
More file actions
92 lines (90 loc) · 3.89 KB
/
temp_projects.html
File metadata and controls
92 lines (90 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>TeamTask Projects</title>
<style>
:root{
--bg: #f5f7fa;
--card: #ffffff;
--text: #1a1a1a;
--muted: #666666;
--accent: #3498db;
--accent-strong: #2980b9;
--muted-border: #eee;
}
.dark {
--bg: #0b1220;
--card: #071025;
--text: #e6eef6;
--muted: #9aa4b2;
--accent: #5eead4;
--accent-strong: #38bdf8;
--muted-border: rgba(255,255,255,0.06);
}
body { font-family: "Segoe UI", sans-serif; background: var(--bg); margin:0; padding:0; color:var(--text); }
header.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{font-weight:700;color:var(--text);text-decoration:none;font-size:1.2rem}
.theme-toggle{background:transparent;border:1px solid var(--muted-border);padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--text)}
h1 { text-align:center; padding:12px 0; margin:0; font-size:1.8rem; color:var(--text); }
.table-container { max-width:900px; margin:18px auto; background:var(--card); border-radius:12px; box-shadow:0 4px 20px rgba(2,6,23,0.06); padding:20px; }
table { width:100%; border-collapse:collapse; margin-top:10px; }
th, td { padding:14px 12px; text-align:left; border-bottom:1px solid var(--muted-border); }
th { background:transparent; font-weight:600; color:var(--text); }
tr:hover { background: rgba(59,130,246,0.02); }
.status-message { text-align:center; padding:40px; color:var(--muted); font-size:1.1em; }
.loader { border:4px solid var(--muted-border); border-top:4px solid var(--accent); border-radius:50%; width:30px; height:30px; animation:spin 1s linear infinite; margin:20px auto; }
@keyframes spin { 0%{ transform:rotate(0deg); } 100%{ transform:rotate(360deg); } }
@media (max-width:600px){ th,td{font-size:0.85em;padding:10px 8px;} h1{font-size:1.3em;} }
form { margin-top:20px; display:flex; flex-wrap:wrap; gap:10px; }
input, select { padding:8px; flex:1; min-width:120px; border-radius:6px; border:1px solid var(--muted-border); background:transparent; color:var(--text) }
button { padding:8px 16px; border:none; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; }
button:hover { background:var(--accent-strong); }
</style>
</head>
<body>
<header class="site-header">
<div class="brand">
<a class="logo" href="/">TeamTask</a>
</div>
<div>
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle color theme">🌙</button>
</div>
</header>
<h1>TeamTask Projects</h1>
<div class="table-container">
<div id="loading" class="status-message">
<div class="loader"></div>
<p>Loading projects...</p>
</div>
<table id="projects-table" style="display:none;">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Description</th>
<th>Status</th>
<th>Created At</th>
</tr>
</thead>
<tbody id="table-body"></tbody>
</table>
<!-- Add Project Form -->
<form id="add-project-form">
<input type="text" name="name" placeholder="Project Name" required />
<input type="text" name="description" placeholder="Description" required />
<select name="status" required>
<option value="" disabled selected>Status</option>
<option value="active">Active</option>
<option value="completed">Completed</option>
<option value="paused">Paused</option>
</select>
<button type="submit">Add Project</button>
</form>
</div>
<!-- shared frontend behavior -->
<script src="/app.js"></script>
</body>
</html>