First Commit
This commit is contained in:
commit
ce0758fbbb
496 changed files with 52062 additions and 0 deletions
34
templates/users/contribute.html
Executable file
34
templates/users/contribute.html
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
{% extends 'layout.html' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h2>Contribuer à la communauté</h2>
|
||||
<div class="news">
|
||||
<p>Passion Retro est avant tout un site communautaire, façonné par ses membres. Ici, tu as la possibilité de participer activement en ajoutant des articles, des dossiers ou même des catégories !</p>
|
||||
<p>Cependant, pour préserver la qualité et l’esprit nostalgique du site, toutes les contributions sont soumises à une approbation manuelle. Cela permet de garder un contenu authentique et en accord avec notre vision d’un web rétro, loin des excès modernes.</p>
|
||||
<p>Chaque membre a ainsi la chance d’apporter sa pierre à l’édifice, et ensemble, nous pouvons forger la plus grande communauté francophone dédiée au rétro.</p>
|
||||
<p>Rejoins-nous dans cette aventure et aide-nous à faire vivre l’héritage d’un internet révolu !</p>
|
||||
<p style="color:orange"><u>Précision : </u>pour tous les articles, dossiers, et autres forme d'éditions que tu propposes à la contribution, tu t'engage à la cession intelectuel de tes oeuvres.</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col col-3 contrib games">
|
||||
<a href="{% url 'form_contribute' 'games' %}">Article Jeu Vidéo</a>
|
||||
</div>
|
||||
<div class="col col-3 contrib movies">
|
||||
<a href="{% url 'form_contribute' 'movies' %}">Article Film & Series</a>
|
||||
</div>
|
||||
<div class="col col-3 contrib musics">
|
||||
<a href="{% url 'form_contribute' 'music' %}">Article Musique</a>
|
||||
</div>
|
||||
<div class="col col-3 contrib tech">
|
||||
<a href="{% url 'form_contribute' 'tech' %}">Article Technologie</a>
|
||||
</div>
|
||||
<div class="col col-3 contrib news_contrib">
|
||||
<a href="{% url 'form_contribute' 'news' %}">Actus</a>
|
||||
</div>
|
||||
<div class="col col-3 contrib category">
|
||||
<a href="{% url 'form_contribute' 'category' %}">Nouvelle catégorie</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
35
templates/users/contributions.html
Normal file
35
templates/users/contributions.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% load bbcode_tags %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h2>Mes contributions</h2>
|
||||
<div>
|
||||
<p>Tu as accès ici à l'ensemble de tes contributions pour le site. Il t'est possible de modifier chaques articles. Lorsque tu souhaites supprimer un article ou un dossier entier, la demande est enregistrée et en attente d'approbation.</p>
|
||||
<p style="color:orange"><u>Précision : </u>pour tous les articles, dossiers, et autres forme d'éditions que tu propposes à la contribution, tu t'engage à la cession intelectuel de tes oeuvres.</p>
|
||||
</div>
|
||||
<h3>Mes dossiers & articles</h2>
|
||||
<div class="grid">
|
||||
{% for post in posts %}
|
||||
<div class="col col-5">
|
||||
<div class="post-card-header" style="display:flex;flex-direction:row;justify-content: space-between;">
|
||||
<h3>{{ post.title }} </h3>
|
||||
{% if post.post_parent_id == None %}
|
||||
<span style="color:orange;font-weight:bold;margin:5px;">Dossier</span>
|
||||
{% endif %}
|
||||
{% if post.active == False %}
|
||||
<span class="post-offline"></span>
|
||||
{% else %}
|
||||
<span class="post-online"></span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="post-card">
|
||||
<p>{{ post.content|bbcode|safe|linebreaksbr|truncatewords:25 }} » <a href="{% url 'view_post' post.slug %}">Lire</a></p><br>
|
||||
<p class="date"><em>Publié le {{ post.created|date:" d F Y à H:i" }}</em> Par <a href="{% url 'profile' post.author.id %}" class="{{ post.author.username_decoration }}">{{ post.author.username }}</a></p>
|
||||
<p><a href="{% url 'edit_post' post.id %}" class="btn btn-warning">Modifier</a></p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
30
templates/users/form_contribute.html
Executable file
30
templates/users/form_contribute.html
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
{% if type == 'games' %}
|
||||
<h2>Créer un article Jeux vidéos</h2>
|
||||
{% elif type == 'movies' %}
|
||||
<h2>Créer un article Film & Series</h2>
|
||||
{% elif type == 'musics' %}
|
||||
<h2>Créer un article Musique</h2>
|
||||
{% elif type == 'tech' %}
|
||||
<h2>Créer un article Technologie</h2>
|
||||
{% elif type == 'news_contrib' %}
|
||||
<h2>Créer une actualité</h2>
|
||||
{% elif type == 'category' %}
|
||||
<h2>Créer une nouvelle catégorie</h2>
|
||||
{% endif %}
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="form-inline">
|
||||
<select id="post_type">
|
||||
<option value="solo">Article seul</option>
|
||||
<option value="multiple">Ensemble d'article</option>
|
||||
</select>
|
||||
{{ form.title }}
|
||||
</div>
|
||||
{{ form.content }}
|
||||
<div class="form-inline" id="submit"><button id="submit-button">Créer</button></div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
13
templates/users/login.html
Normal file
13
templates/users/login.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h2>Login</h2>
|
||||
<p>Pas encore inscrit ? <a href="{% url 'register' %}">Inscrivez-vous</a></p>
|
||||
<p class="login-info">En vous connectant, vous aurez accès à des fonctionnalités exclusives, telles que la gestion de vos cours, la participation aux discussions et la personnalisation de votre profil. Rejoignez notre communauté et profitez pleinement de tout ce que notre site a à offrir.</p>
|
||||
<form method="post" class="login-form">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn-submit">Connexion</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
158
templates/users/profile.html
Normal file
158
templates/users/profile.html
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% load bbcode_tags %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
{% block profile-nav %}
|
||||
{% include "../components/profile_nav.html" %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="profile-grid">
|
||||
<!-- Colonne de gauche -->
|
||||
<div class="profile-main">
|
||||
<div class="profile-header">
|
||||
<div class="avatar-container">
|
||||
<div class="level-badge">
|
||||
<span class="level-text">LEVEL</span>
|
||||
<span class="level-number">{{ user.level.level }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info">
|
||||
<h2 class="username">{{ user.username }}</h2>
|
||||
{% if user == request.user %}
|
||||
Prochain niveau: {{ request.user.experience_left }} XP
|
||||
{% endif %}
|
||||
<p class="joined-date">Membre depuis le {{ user.date_joined|date:"d F Y" }}</p>
|
||||
{% if user.first_name or user.last_name %}
|
||||
<p class="real-name">{{ user.first_name }} {{ user.last_name }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="profile-bio">
|
||||
<h3>Biographie</h3>
|
||||
<div class="bio-content">
|
||||
{{ user.biography|bbcode|safe|linebreaksbr|default:"Aucune biographie disponible" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Colonne de droite -->
|
||||
<div class="profile-stats">
|
||||
<div class="stats-card">
|
||||
<h3>Statistiques</h3>
|
||||
<div class="stats-grid">
|
||||
<div class="stat-item">
|
||||
<span class="stat-value">{{ forum_posts }}</span>
|
||||
<span class="stat-label">Messages</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-value">{{ topics }}</span>
|
||||
<span class="stat-label">Sujets</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-value">{{ posts }}</span>
|
||||
<span class="stat-label">Articles</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-value">{{ user.level.experience }}</span>
|
||||
<span class="stat-label">XP</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-value">{{ user.level.coins }}</span>
|
||||
<span class="stat-label">Pièces</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="achievements-card">
|
||||
<h3>Badges</h3>
|
||||
<div class="achievements-grid">
|
||||
{% for badge in user.badges.all %}
|
||||
<div class="badge-item" title="{{ badge.description }}">
|
||||
<img src="{{ badge.image.url }}" alt="{{ badge.name }}">
|
||||
<span class="badge-name">{{ badge.name }}</span>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p class="no-badges">Aucun badge pour le moment</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if user.id == request.user.id %}
|
||||
<div class="inventory">
|
||||
<h3>Inventaire</h3>
|
||||
<div class="inventory-grid">
|
||||
{% for inventory in request.user.inventory.all %}
|
||||
{%if inventory.item.name != 'Or' %}
|
||||
<a href="{% url 'use_item' inventory.item.id %}">
|
||||
{% endif %}
|
||||
<div class="inventory-item" id="bubbleinfo">
|
||||
<span class="item-name">
|
||||
{% if inventory.item.category.name == 'Décoration pseudo' %}
|
||||
<center><span id="item" data-info="{{ inventory.item }} : {{ inventory.item.description }}" class="{{ inventory.item.name|slugify }}" style="font-size: 1.5rem">{{ request.user }}</span></center>
|
||||
{% else %}
|
||||
{% if inventory.item.category.name == 'cadres' %}
|
||||
<center><div class="{{ inventory.item.name|slugify }}""><img src="/media/{{ request.user.avatar }}" style="width:100px;" alt=""></div></center>
|
||||
{% else %}
|
||||
<img id="item" data-info="{{ inventory.item }} : {{ inventory.item.description }}" src="/media/shop/items/{{ inventory.item.image }}" alt="{{ inventory.item }} : {{ inventory.item.description }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</span>
|
||||
<span class="item-quantity">{{ inventory.quantity }}</span>
|
||||
<div id="div-bubble" style="
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
z-index: 9998;
|
||||
"></div>
|
||||
</div>
|
||||
{%if inventory.item != 'Or' %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
<p class="no-items">
|
||||
Aucun objet dans l'inventaire
|
||||
</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-actions">
|
||||
<a href="{% url 'profile_update' %}" class="btn btn-default">Modifier le profil</a>
|
||||
<!-- <a href="" class="btn btn-warning">Voir l'inventaire</a> -->
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const bubble = document.querySelector('#bubbleinfo');
|
||||
console.log(bubble);
|
||||
if (!bubble) {
|
||||
console.error('Element with ID "bubbleinfo" not found.');
|
||||
return;
|
||||
}
|
||||
|
||||
const item = bubble.querySelector('#item');
|
||||
const div = document.querySelector('#div-bubble');
|
||||
let info = item.dataset.info;
|
||||
|
||||
bubble.addEventListener('mouseover', function() {
|
||||
div.style.top = item.offsetTop + -10 + 'px';
|
||||
div.style.left = item.offsetLeft +'px';
|
||||
div.textContent = info;
|
||||
div.style.display = 'block';
|
||||
});
|
||||
bubble.addEventListener('mouseout', function() {
|
||||
div.style.display = 'none';
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock %}
|
||||
11
templates/users/profile_update.html
Normal file
11
templates/users/profile_update.html
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h2>Update Profile</h2>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ user_form.as_p }}
|
||||
<button type="submit">Modifier</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
13
templates/users/register.html
Normal file
13
templates/users/register.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{% extends 'layout.html' %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<h2>Register</h2>
|
||||
<form method="post" class="login-form">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<script src='https://www.google.com/recaptcha/api.js'></script>
|
||||
<div class="g-recaptcha" style="margin-left:50px" data-sitekey="{{ GOOGLE_PUBLIC_KEY }}"></div>
|
||||
<button type="submit" class="btn-submit">S'inscire</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue