zetarmany commited on
Commit
667e073
·
verified ·
1 Parent(s): d466a6b

Create admin.html

Browse files
Files changed (1) hide show
  1. admin.html +93 -0
admin.html ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+
3
+ {% block title %}Admin Panel{% endblock %}
4
+
5
+ {% block content %}
6
+ <div class="row">
7
+ <div class="col-12">
8
+ <div class="d-flex justify-content-between align-items-center mb-4">
9
+ <h1>
10
+ <i class="bi bi-shield-lock-fill"></i> Admin Panel
11
+ </h1>
12
+ <span class="badge bg-success p-3">
13
+ <i class="bi bi-person-circle"></i> {{ current_user.username }}
14
+ </span>
15
+ </div>
16
+ </div>
17
+ </div>
18
+
19
+ <!-- Upload Form -->
20
+ <div class="row mb-5">
21
+ <div class="col-12">
22
+ <div class="card">
23
+ <div class="card-header bg-dark text-white">
24
+ <h5 class="mb-0"><i class="bi bi-cloud-upload"></i> Upload Foto Baru</h5>
25
+ </div>
26
+ <div class="card-body">
27
+ <form action="{{ url_for('upload_photo') }}" method="POST" enctype="multipart/form-data">
28
+ <div class="row">
29
+ <div class="col-md-8 mb-3">
30
+ <label for="photo" class="form-label">Pilih Foto</label>
31
+ <input type="file" class="form-control" id="photo" name="photo"
32
+ accept="image/*" required>
33
+ <small class="text-muted">Format: JPG, PNG, GIF (Max 50MB)</small>
34
+ </div>
35
+ <div class="col-md-4 mb-3">
36
+ <label for="caption" class="form-label">Keterangan</label>
37
+ <input type="text" class="form-control" id="caption" name="caption"
38
+ placeholder="Contoh: Foto bareng">
39
+ </div>
40
+ <div class="col-12">
41
+ <button type="submit" class="btn btn-success">
42
+ <i class="bi bi-cloud-upload"></i> Upload Foto
43
+ </button>
44
+ </div>
45
+ </div>
46
+ </form>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ <!-- Daftar Foto -->
53
+ <div class="row">
54
+ <div class="col-12">
55
+ <h3 class="mb-3">Daftar Foto</h3>
56
+ </div>
57
+
58
+ {% for photo in photos %}
59
+ <div class="col-md-4 col-sm-6 mb-4">
60
+ <div class="card admin-card h-100">
61
+ <div class="position-relative">
62
+ <img src="{{ url_for('static', filename='uploads/' + photo.filename) }}"
63
+ class="card-img-top" alt="{{ photo.caption }}">
64
+ <div class="photo-overlay">
65
+ <a href="{{ url_for('delete_photo', photo_id=photo.id) }}"
66
+ class="btn btn-danger btn-sm"
67
+ onclick="return confirm('Yakin ingin menghapus foto ini?')">
68
+ <i class="bi bi-trash"></i> Hapus
69
+ </a>
70
+ </div>
71
+ </div>
72
+ <div class="card-body">
73
+ <p class="card-text">{{ photo.caption or 'Tanpa keterangan' }}</p>
74
+ <div class="d-flex justify-content-between align-items-center">
75
+ <small class="text-muted">
76
+ <i class="bi bi-heart-fill text-danger"></i> {{ photo.likes_count }} likes
77
+ </small>
78
+ <small class="text-muted">
79
+ <i class="bi bi-calendar"></i> {{ photo.upload_date.strftime('%d/%m/%Y %H:%M') }}
80
+ </small>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ {% else %}
86
+ <div class="col-12">
87
+ <div class="alert alert-info text-center">
88
+ <i class="bi bi-info-circle"></i> Belum ada foto yang diupload
89
+ </div>
90
+ </div>
91
+ {% endfor %}
92
+ </div>
93
+ {% endblock %}