練習室後台

This commit is contained in:
2026-07-17 15:49:35 +08:00
parent f3540e388d
commit 2e76ca2798
16 changed files with 2006 additions and 0 deletions
+133
View File
@@ -0,0 +1,133 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>後台首頁|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
</head>
<body>
<!-- 後台上方 Navbar -->
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<!-- 左側管理選單 -->
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link active" href="index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link" href="practices/index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link" href="songs/index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<!-- 主內容 -->
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">後台首頁</h1>
<div class="row g-4 mb-5">
<div class="col-sm-6 col-xl-3">
<div class="card sk-card shadow-sm h-100 p-3">
<div class="card-body">
<i class="bi bi-people fs-3 text-white"></i>
<div class="text-body-secondary small mt-2 mb-1">練習生人數</div>
<div class="sk-stat-value">6</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card sk-card shadow-sm h-100 p-3">
<div class="card-body">
<i class="bi bi-lightning-charge fs-3 text-white"></i>
<div class="text-body-secondary small mt-2 mb-1">今日練習次數</div>
<div class="sk-stat-value">9</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card sk-card shadow-sm h-100 p-3">
<div class="card-body">
<i class="bi bi-mortarboard fs-3 text-white"></i>
<div class="text-body-secondary small mt-2 mb-1">課程數量</div>
<div class="sk-stat-value">8</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card sk-card shadow-sm h-100 p-3">
<div class="card-body">
<i class="bi bi-check2-circle fs-3 text-white"></i>
<div class="text-body-secondary small mt-2 mb-1">已完成任務數</div>
<div class="sk-stat-value">23</div>
</div>
</div>
</div>
</div>
<h2 class="sk-section-title"><i class="bi bi-journal-text"></i>最近練習紀錄</h2>
<div class="card sk-card sk-surface">
<div class="table-responsive">
<table class="table table-hover mb-0">
<thead>
<tr>
<th>練習生</th>
<th>日期</th>
<th>訓練類型</th>
<th>歌曲</th>
<th>練習時間</th>
<th>完成度</th>
</tr>
</thead>
<tbody>
<tr>
<td>努比</td>
<td>2026-07-16</td>
<td><span class="badge badge-type badge-type--dance">舞蹈</span></td>
<td>Road Fighter</td>
<td>40 分鐘</td>
<td>85%</td>
</tr>
<tr>
<td>小星</td>
<td>2026-07-16</td>
<td><span class="badge badge-type badge-type--vocal">聲樂</span></td>
<td>Couple</td>
<td>35 分鐘</td>
<td>78%</td>
</tr>
<tr>
<td>阿凱</td>
<td>2026-07-15</td>
<td><span class="badge badge-type badge-type--rap">Rap</span></td>
<td>Chivalry</td>
<td>25 分鐘</td>
<td>60%</td>
</tr>
</tbody>
</table>
</div>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,119 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>新增練習紀錄|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link" href="../songs/index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">新增練習紀錄</h1>
<div class="card sk-card sk-surface p-4" style="max-width: 42rem;">
<form>
<div class="row g-3">
<div class="col-md-6">
<label for="traineeName" class="form-label">練習生</label>
<select class="form-select" id="traineeName">
<option>努比</option>
<option>小星</option>
<option>阿凱</option>
<option>敏珠</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceDate" class="form-label">日期</label>
<input type="date" class="form-control" id="practiceDate">
</div>
<div class="col-md-6">
<label for="practiceType" class="form-label">訓練類型</label>
<select class="form-select" id="practiceType">
<option>聲樂</option>
<option>舞蹈</option>
<option>Rap</option>
<option>舞台表現</option>
<option>體能</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceSong" class="form-label">歌曲</label>
<select class="form-select" id="practiceSong">
<option>Couple</option>
<option>Road Fighter</option>
<option>Com' Back</option>
<option>Chivalry</option>
<option>The Way This Guy Lives</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceMinutes" class="form-label">練習時間(分鐘)</label>
<input type="number" class="form-control" id="practiceMinutes" placeholder="例如:40">
</div>
<div class="col-md-6">
<label for="practiceStatus" class="form-label">完成狀態</label>
<select class="form-select" id="practiceStatus">
<option>未開始</option>
<option>進行中</option>
<option>已完成</option>
</select>
</div>
<div class="col-12">
<label for="practiceCompletion" class="form-label d-flex justify-content-between">
<span>完成度</span>
<span class="text-body-secondary" id="completionValue">50%</span>
</label>
<input type="range" class="form-range" id="practiceCompletion" min="0" max="100" value="50"
oninput="document.getElementById('completionValue').textContent = this.value + '%'">
</div>
</div>
<div class="d-flex gap-2 mt-4">
<button type="submit" class="btn btn-brand">儲存</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</form>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>刪除練習紀錄|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link" href="../songs/index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">刪除練習紀錄</h1>
<div class="card sk-card sk-surface p-4" style="max-width: 32rem;">
<div class="alert alert-danger mb-4" role="alert">
<i class="bi bi-exclamation-triangle-fill me-1"></i>確定要刪除這筆練習紀錄嗎?此動作無法復原。
</div>
<dl class="row mb-4">
<dt class="col-4 text-body-secondary">練習生</dt>
<dd class="col-8">努比</dd>
<dt class="col-4 text-body-secondary">日期</dt>
<dd class="col-8">2026-07-16</dd>
<dt class="col-4 text-body-secondary">訓練類型</dt>
<dd class="col-8">舞蹈</dd>
<dt class="col-4 text-body-secondary">歌曲</dt>
<dd class="col-8">Road Fighter</dd>
</dl>
<div class="d-flex gap-2">
<button type="button" class="btn btn-danger">確認刪除</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,119 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>編輯練習紀錄|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link" href="../songs/index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">編輯練習紀錄</h1>
<div class="card sk-card sk-surface p-4" style="max-width: 42rem;">
<form>
<div class="row g-3">
<div class="col-md-6">
<label for="traineeName" class="form-label">練習生</label>
<select class="form-select" id="traineeName">
<option selected>努比</option>
<option>小星</option>
<option>阿凱</option>
<option>敏珠</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceDate" class="form-label">日期</label>
<input type="date" class="form-control" id="practiceDate" value="2026-07-16">
</div>
<div class="col-md-6">
<label for="practiceType" class="form-label">訓練類型</label>
<select class="form-select" id="practiceType">
<option>聲樂</option>
<option selected>舞蹈</option>
<option>Rap</option>
<option>舞台表現</option>
<option>體能</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceSong" class="form-label">歌曲</label>
<select class="form-select" id="practiceSong">
<option>Couple</option>
<option selected>Road Fighter</option>
<option>Com' Back</option>
<option>Chivalry</option>
<option>The Way This Guy Lives</option>
</select>
</div>
<div class="col-md-6">
<label for="practiceMinutes" class="form-label">練習時間(分鐘)</label>
<input type="number" class="form-control" id="practiceMinutes" value="40">
</div>
<div class="col-md-6">
<label for="practiceStatus" class="form-label">完成狀態</label>
<select class="form-select" id="practiceStatus">
<option>未開始</option>
<option>進行中</option>
<option selected>已完成</option>
</select>
</div>
<div class="col-12">
<label for="practiceCompletion" class="form-label d-flex justify-content-between">
<span>完成度</span>
<span class="text-body-secondary" id="completionValue">85%</span>
</label>
<input type="range" class="form-range" id="practiceCompletion" min="0" max="100" value="85"
oninput="document.getElementById('completionValue').textContent = this.value + '%'">
</div>
</div>
<div class="d-flex gap-2 mt-4">
<button type="submit" class="btn btn-brand">儲存變更</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</form>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,125 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>練習紀錄管理|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link" href="../songs/index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<div class="d-flex flex-wrap justify-content-between align-items-center gap-2 mb-4">
<h1 class="h3 mb-0 text-white">練習紀錄管理</h1>
<div class="d-flex gap-2">
<a class="btn btn-brand" href="create.html"><i class="bi bi-plus-lg me-1"></i>新增練習紀錄</a>
<a class="btn btn-outline-brand" href="../index.html">回後台首頁</a>
</div>
</div>
<div class="card sk-card sk-surface">
<div class="table-responsive">
<table class="table table-hover mb-0">
<thead>
<tr>
<th>練習生</th>
<th>日期</th>
<th>訓練類型</th>
<th>歌曲</th>
<th>練習時間</th>
<th>完成度</th>
<th>完成狀態</th>
<th class="text-end">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>努比</td>
<td>2026-07-16</td>
<td><span class="badge badge-type badge-type--dance">舞蹈</span></td>
<td>Road Fighter</td>
<td>40 分鐘</td>
<td>85%</td>
<td><span class="badge badge-status badge-status--done">已完成</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
<tr>
<td>小星</td>
<td>2026-07-16</td>
<td><span class="badge badge-type badge-type--vocal">聲樂</span></td>
<td>Couple</td>
<td>35 分鐘</td>
<td>78%</td>
<td><span class="badge badge-status badge-status--done">已完成</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
<tr>
<td>阿凱</td>
<td>2026-07-15</td>
<td><span class="badge badge-type badge-type--rap">Rap</span></td>
<td>Chivalry</td>
<td>25 分鐘</td>
<td>60%</td>
<td><span class="badge badge-status badge-status--progress">進行中</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
<tr>
<td>敏珠</td>
<td>2026-07-14</td>
<td><span class="badge badge-type badge-type--stage">舞台表現</span></td>
<td>Com' Back</td>
<td>50 分鐘</td>
<td>0%</td>
<td><span class="badge badge-status badge-status--pending">未開始</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,96 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>新增歌曲|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link" href="../practices/index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">新增歌曲</h1>
<div class="card sk-card sk-surface p-4">
<form>
<div class="row g-3">
<div class="col-md-6">
<label for="songName" class="form-label">歌名</label>
<input type="text" class="form-control" id="songName" placeholder="例如:Couple">
</div>
<div class="col-md-6">
<label for="songAlbum" class="form-label">專輯</label>
<input type="text" class="form-control" id="songAlbum" placeholder="例如:Come Back Again">
</div>
<div class="col-md-6">
<label for="songYear" class="form-label">發行年份</label>
<input type="number" class="form-control" id="songYear" placeholder="例如:1997">
</div>
<div class="col-md-6">
<label for="songYoutube" class="form-label">YouTube 連結</label>
<input type="url" class="form-control" id="songYoutube" placeholder="https://www.youtube.com/...">
</div>
<div class="col-md-6">
<label for="songDifficulty" class="form-label">舞蹈難度</label>
<select class="form-select" id="songDifficulty">
<option></option>
<option>中等</option>
<option></option>
</select>
</div>
<div class="col-md-6">
<label class="form-label d-block">是否顯示</label>
<div class="form-check form-switch mt-2">
<input class="form-check-input" type="checkbox" role="switch" id="songVisible" checked>
<label class="form-check-label" for="songVisible">於前台顯示</label>
</div>
</div>
</div>
<div class="d-flex gap-2 mt-4">
<button type="submit" class="btn btn-brand">儲存</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</form>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>刪除歌曲|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link" href="../practices/index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">刪除歌曲</h1>
<div class="card sk-card sk-surface p-4" style="max-width: 32rem;">
<div class="alert alert-danger mb-4" role="alert">
<i class="bi bi-exclamation-triangle-fill me-1"></i>確定要刪除這首歌曲嗎?此動作無法復原。
</div>
<dl class="row mb-4">
<dt class="col-4 text-body-secondary">編號</dt>
<dd class="col-8">1</dd>
<dt class="col-4 text-body-secondary">歌名</dt>
<dd class="col-8">Couple</dd>
<dt class="col-4 text-body-secondary">專輯</dt>
<dd class="col-8">Come Back Again</dd>
<dt class="col-4 text-body-secondary">發行年份</dt>
<dd class="col-8">1997</dd>
</dl>
<div class="d-flex gap-2">
<button type="button" class="btn btn-danger">確認刪除</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
+103
View File
@@ -0,0 +1,103 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>編輯歌曲|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link" href="../practices/index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<h1 class="h3 mb-4 text-white">編輯歌曲</h1>
<div class="card sk-card sk-surface p-4">
<form>
<div class="row g-3">
<div class="col-md-6">
<label for="songId" class="form-label">編號</label>
<input type="text" class="form-control" id="songId" value="1" disabled>
</div>
<div class="col-md-6"></div>
<div class="col-md-6">
<label for="songName" class="form-label">歌名</label>
<input type="text" class="form-control" id="songName" value="Couple">
</div>
<div class="col-md-6">
<label for="songAlbum" class="form-label">專輯</label>
<input type="text" class="form-control" id="songAlbum" value="Come Back Again">
</div>
<div class="col-md-6">
<label for="songYear" class="form-label">發行年份</label>
<input type="number" class="form-control" id="songYear" value="1997">
</div>
<div class="col-md-6">
<label for="songYoutube" class="form-label">YouTube 連結</label>
<input type="url" class="form-control" id="songYoutube" value="https://www.youtube.com/">
</div>
<div class="col-md-6">
<label for="songDifficulty" class="form-label">舞蹈難度</label>
<select class="form-select" id="songDifficulty">
<option></option>
<option selected>中等</option>
<option></option>
</select>
</div>
<div class="col-md-6">
<label class="form-label d-block">是否顯示</label>
<div class="form-check form-switch mt-2">
<input class="form-check-input" type="checkbox" role="switch" id="songVisible" checked>
<label class="form-check-label" for="songVisible">於前台顯示</label>
</div>
</div>
</div>
<div class="d-flex gap-2 mt-4">
<button type="submit" class="btn btn-brand">儲存變更</button>
<a class="btn btn-outline-brand" href="index.html">取消</a>
</div>
</form>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
+112
View File
@@ -0,0 +1,112 @@
<!doctype html>
<html lang="zh-Hant">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>歌曲資料管理|水晶練習室 Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="../../css/style.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark sk-navbar">
<div class="container-fluid">
<span class="navbar-brand mb-0"><i class="bi bi-gem me-1"></i>水晶練習室 <span class="fw-light">Admin</span></span>
<div class="d-flex gap-2">
<a class="btn btn-brand btn-sm" href="../../index.html">回前台</a>
<a class="btn btn-outline-brand btn-sm" href="../../index.html">登出</a>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<aside class="col-lg-2 border-end sk-admin-sidebar py-4 px-3 min-vh-100">
<nav class="nav flex-column">
<a class="nav-link" href="../index.html"><i class="bi bi-speedometer2 me-2"></i>後台首頁</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-people me-2"></i>練習生管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-mortarboard me-2"></i>課程管理</a>
<a class="nav-link" href="../practices/index.html"><i class="bi bi-journal-text me-2"></i>練習紀錄管理</a>
<a class="nav-link active" href="index.html"><i class="bi bi-music-note-list me-2"></i>歌曲資料管理</a>
<a class="nav-link disabled" href="#" aria-disabled="true"><i class="bi bi-list-task me-2"></i>訓練任務管理</a>
</nav>
</aside>
<main class="col-lg-10 py-4 px-4">
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3 mb-0 text-white">歌曲資料管理</h1>
<div class="d-flex gap-2">
<a class="btn btn-brand" href="create.html"><i class="bi bi-plus-lg me-1"></i>新增歌曲</a>
<a class="btn btn-outline-brand" href="../index.html">回後台首頁</a>
</div>
</div>
<div class="card sk-card sk-surface">
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead>
<tr>
<th>編號</th>
<th>歌名</th>
<th>專輯</th>
<th>發行年份</th>
<th>YouTube 連結</th>
<th>舞蹈難度</th>
<th>是否顯示</th>
<th class="text-end">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Couple</td>
<td>Come Back Again</td>
<td>1997</td>
<td><a href="https://www.youtube.com/" target="_blank" rel="noopener">連結</a></td>
<td><span class="badge text-bg-warning">中等</span></td>
<td><span class="badge text-bg-success">顯示</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
<tr>
<td>2</td>
<td>Road Fighter</td>
<td>Road Fighter</td>
<td>2000</td>
<td><a href="https://www.youtube.com/" target="_blank" rel="noopener">連結</a></td>
<td><span class="badge text-bg-danger"></span></td>
<td><span class="badge text-bg-success">顯示</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
<tr>
<td>3</td>
<td>Couple 재수사</td>
<td>The Story of Kies Part 1</td>
<td>2016</td>
<td><a href="https://www.youtube.com/" target="_blank" rel="noopener">連結</a></td>
<td><span class="badge text-bg-secondary"></span></td>
<td><span class="badge text-bg-secondary">隱藏</span></td>
<td class="text-end">
<a class="btn btn-sm btn-outline-brand" href="edit.html">編輯</a>
<a class="btn btn-sm btn-outline-danger" href="delete.html">刪除</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>