modified: app.py
modified: templates/user_dashboard.html
This commit is contained in:
20
app.py
20
app.py
@@ -228,30 +228,20 @@ def user_dashboard():
|
|||||||
if "discord_user" in session:
|
if "discord_user" in session:
|
||||||
user_info = session["discord_user"]
|
user_info = session["discord_user"]
|
||||||
user_id = user_info["id"]
|
user_id = user_info["id"]
|
||||||
|
connection = get_db_connection()
|
||||||
# Verbindung zur Datenbank herstellen
|
|
||||||
connection = get_db_connection() # Stelle sicher, dass du die richtige Verbindung benutzt
|
|
||||||
cursor = connection.cursor(dictionary=True)
|
cursor = connection.cursor(dictionary=True)
|
||||||
|
|
||||||
# Punkte und Rang aus der Datenbank abrufen
|
cursor.execute("SELECT points, permission, ban FROM user_data WHERE user_id = %s", (user_id,))
|
||||||
cursor.execute("SELECT points, rank FROM user_data WHERE user_id = %s", (user_id,))
|
|
||||||
user_data = cursor.fetchone()
|
user_data = cursor.fetchone()
|
||||||
|
|
||||||
cursor.close()
|
cursor.close()
|
||||||
connection.close()
|
connection.close()
|
||||||
|
|
||||||
# Wenn der Benutzer existiert, werden die Daten an das Template übergeben
|
|
||||||
if user_data:
|
if user_data:
|
||||||
user_points = user_data["points"]
|
return render_template("user_dashboard.html", user_info=user_info, user_data=user_data)
|
||||||
user_rank = user_data["rank"]
|
|
||||||
else:
|
else:
|
||||||
# Falls keine Daten gefunden wurden, setze Standardwerte
|
return "User data not found", 404
|
||||||
user_points = 0
|
return redirect(url_for("landing_page"))
|
||||||
user_rank = "User"
|
|
||||||
|
|
||||||
return render_template("user_dashboard.html", user_info=user_info, user_points=user_points, user_rank=user_rank)
|
|
||||||
return redirect(url_for("login"))
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/logout")
|
@app.route("/logout")
|
||||||
def logout():
|
def logout():
|
||||||
|
|||||||
@@ -1,50 +1,152 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>User Dashboard</title>
|
<title>User Dashboard</title>
|
||||||
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
}
|
||||||
|
.card {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.card-header {
|
||||||
|
background-color: #343a40;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.user-info {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.points {
|
||||||
|
font-size: 2em;
|
||||||
|
color: #28a745;
|
||||||
|
}
|
||||||
|
.badge-rank {
|
||||||
|
font-size: 1.2em;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
background-color: #343a40;
|
||||||
|
color: white;
|
||||||
|
padding: 20px;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
{% include 'navigation.html' %}
|
<!-- Navbar -->
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
||||||
|
<a class="navbar-brand" href="#">Multus Bot - User Dashboard</a>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarNav">
|
||||||
|
<ul class="navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ url_for('admin_dashboard') }}">Switch to Admin View (Admin only)</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ url_for('logout') }}">Logout</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
<div class="container mt-5">
|
<!-- User Info -->
|
||||||
<h1 class="text-center">Welcome, {{ user_info.username }}</h1>
|
<div class="container user-info">
|
||||||
<p class="text-center">Here you can view your points and other information.</p>
|
<div class="row">
|
||||||
|
<div class="col-md-12 text-center">
|
||||||
|
<h1>Welcome, {{ user_info.username }}</h1>
|
||||||
|
<p>Your Discord ID: {{ user_info.id }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row mt-4">
|
<!-- Dashboard Cards -->
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Points Card -->
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
Points
|
||||||
|
</div>
|
||||||
<div class="card-body text-center">
|
<div class="card-body text-center">
|
||||||
<h5 class="card-title">Your Points</h5>
|
<p class="points">{{ user_data.points }}</p>
|
||||||
<p class="card-text">{{ user_points }} Points</p>
|
<p>Points available</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Rank Card -->
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
Rank
|
||||||
|
</div>
|
||||||
<div class="card-body text-center">
|
<div class="card-body text-center">
|
||||||
<h5 class="card-title">Giveaways</h5>
|
<span class="badge badge-rank badge-{{ 'primary' if user_data.permission == 10 else 'secondary' }}">
|
||||||
<p class="card-text">Check out the giveaways you've won!</p>
|
{{ 'Owner' if user_data.permission == 10 else 'Admin' if user_data.permission == 8 else 'Mod' if user_data.permission == 5 else 'User' }}
|
||||||
<a href="{{ url_for('user_giveaways') }}" class="btn btn-primary">View Giveaways</a>
|
</span>
|
||||||
|
<p>Your current rank</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Bot Status Card -->
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
Bot Status
|
||||||
|
</div>
|
||||||
<div class="card-body text-center">
|
<div class="card-body text-center">
|
||||||
<h5 class="card-title">Your Rank</h5>
|
<span class="badge badge-{{ 'success' if bot_running else 'danger' }}">
|
||||||
<p class="card-text">Rank: {{ user_rank }}</p>
|
{{ "Running" if bot_running else "Stopped" }}
|
||||||
|
</span>
|
||||||
|
<p>Current Bot Status</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body text-center">
|
||||||
|
<h5 class="card-title">Giveaways</h5>
|
||||||
|
<p class="card-text">Check out the giveaways you've won!</p>
|
||||||
|
<a href="{{ url_for('user_giveaways') }}" class="btn btn-primary">View Giveaways</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Helpful Links -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
Useful Links
|
||||||
|
</div>
|
||||||
|
<div class="card-body text-center">
|
||||||
|
<a href="/help" class="btn btn-info btn-lg">Help</a>
|
||||||
|
<a href="/settings" class="btn btn-secondary btn-lg">Settings</a>
|
||||||
|
<a href="https://discordapp.com/users/@simolzimol" class="btn btn-outline-primary btn-lg">Contact SimolZimol</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p>© 2024 Multus Bot | Built by SimolZimol | Exclusively on Ludi et Historia</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user