merge : new database.
This commit is contained in:
commit
a9ea4f44e0
@ -3,6 +3,7 @@ import { Model } from '../types/model';
|
||||
import { Either, eitherLeft, eitherRight, Pair, createPair } from '../utils/utils';
|
||||
import { Piece } from '../types/piece';
|
||||
import { getPiece } from './pieces.service';
|
||||
import memberService from './member.service';
|
||||
|
||||
type DBModel = {
|
||||
id_modele: number;
|
||||
@ -37,7 +38,7 @@ async function db2Model(data: DBModel) {
|
||||
id: data.id_modele,
|
||||
name: data.nom_modele,
|
||||
url: data.url_notice_modele,
|
||||
creator: data.id_membre,
|
||||
creator: (await memberService.getMember(data.id_membre)).left,
|
||||
inheritFrom: data.id_modele_2,
|
||||
pieces: await getPiecesFromModel(data.id_modele),
|
||||
review: await getNoteFromModel(data.id_modele),
|
||||
|
@ -1,22 +1,23 @@
|
||||
.header nav ul {
|
||||
display: flex;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: var(--fg);
|
||||
color: var(--bg);
|
||||
background-color: var(--fg);
|
||||
color: var(--bg);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.header a {
|
||||
color: var(--bg);
|
||||
color: var(--bg);
|
||||
}
|
||||
|
||||
.header li {
|
||||
padding: 2rem 1rem;
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
|
||||
.header li:hover {
|
||||
background-color: var(--bg);
|
||||
color: var(--fg);
|
||||
background-color: var(--bg);
|
||||
color: var(--fg);
|
||||
}
|
||||
|
29
back-end/src/static/css/list.css
Normal file
29
back-end/src/static/css/list.css
Normal file
@ -0,0 +1,29 @@
|
||||
.list li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.list li {
|
||||
background: #C1292E;
|
||||
transition: .2s ease-in-out;
|
||||
border-radius: 8px;
|
||||
text-align: center;
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
.list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: repeat(auto, 1fr);
|
||||
width: fit-content;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.list li a {
|
||||
display: block;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
font-size: .9rem;
|
||||
text-decoration: none;
|
||||
padding: 8px 13px;
|
||||
cursor: pointer;
|
||||
}
|
@ -1,34 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Liste des membres qui ont proposés le plus de modèles
|
||||
Liste des membres qui ont proposés le plus de modèles
|
||||
</title>
|
||||
|
||||
<%- include('partials/links.ejs') %>
|
||||
<%- include('partials/links.ejs') %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%- include('partials/header.ejs') %>
|
||||
<%- include('partials/header.ejs') %>
|
||||
|
||||
<h1>
|
||||
Liste des membres qui ont proposés le plus de modèles
|
||||
</h1>
|
||||
<main>
|
||||
|
||||
<ul>
|
||||
<% members.forEach(function(member) { %>
|
||||
<li>
|
||||
<span>
|
||||
<%= member.nb_models %>
|
||||
</span>
|
||||
<h1>
|
||||
Liste des membres qui ont proposés le plus de modèles
|
||||
</h1>
|
||||
|
||||
<a href="/membres/byname/<%=member.name%>">
|
||||
<%= member.name %>
|
||||
</a>
|
||||
</li>
|
||||
<% }); %>
|
||||
</ul>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Nombre de modèle proposés</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<% members.forEach(function(member) { %>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/membres/byid/<%=member.id_member%>">
|
||||
<%= member.name %>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<%= member.nb_models %>
|
||||
</td>
|
||||
<td>
|
||||
<a href="/membres/byid/<%=member.id_member%>">
|
||||
<i class="fa-solid fa-eye"></i>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<% }); %>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<ul>
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
|
||||
|
@ -14,16 +14,16 @@
|
||||
<body>
|
||||
<%- include('partials/header.ejs') %>
|
||||
|
||||
<main>
|
||||
<h1>
|
||||
<%= model.name %>
|
||||
</h1>
|
||||
|
||||
<pre>
|
||||
<main>
|
||||
|
||||
id : <%= model.id %>
|
||||
url : <%= model.url %>
|
||||
creator : <%= model.creator %>
|
||||
creator : <%= model.creator.name %>
|
||||
inheritFrom : <%= model.inheritFrom %>
|
||||
<h2>Liste des pièces nécessaires</h2>
|
||||
<table>
|
||||
|
@ -33,7 +33,7 @@
|
||||
<tr>
|
||||
<td><%=model.id%></td>
|
||||
<td><%=model.name%></td>
|
||||
<td><a href="/membres/byid/<%=model.creator%>"><i class="fa-solid fa-user"></i> <%=model.creator%></a></td>
|
||||
<td><a href="/membres/byid/<%=model.creator.id_member%>"><i class="fa-solid fa-user"></i> <%=model.creator.name%></a></td>
|
||||
<td><%=model.review.first%>/5 (<%=model.review.second%> avis)</td>
|
||||
<td><a href="/models/byname/<%=model.name%>"><i class="fa-solid fa-eye"></i></a></td>
|
||||
</tr>
|
||||
|
@ -19,6 +19,12 @@
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="/pieces">
|
||||
<li>
|
||||
Pièces
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="/rendu">
|
||||
<li>
|
||||
Rendus
|
||||
|
@ -1,5 +1,6 @@
|
||||
<script src="https://kit.fontawesome.com/62d2ff68ea.js" crossorigin="anonymous"></script>
|
||||
<link href="/static/css/colors.css" rel="stylesheet" />
|
||||
<link href="/static/css/list.css" rel="stylesheet" />
|
||||
<link href="/static/css/header.css" rel="stylesheet" />
|
||||
<link href="/static/css/table.css" rel="stylesheet" />
|
||||
<link href="/static/css/reset.css" rel="stylesheet" />
|
||||
|
@ -1,28 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Liste des modeles
|
||||
Liste des modeles
|
||||
</title>
|
||||
|
||||
<%- include('partials/links.ejs') %>
|
||||
<%- include('partials/links.ejs') %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%- include('partials/header.ejs') %>
|
||||
<%- include('partials/header.ejs') %>
|
||||
|
||||
<a href="/models/fromfan"><p>Liste des modèles proposés par des fans</p></a>
|
||||
<main>
|
||||
<h2 style="margin-top: 13px;margin-bottom: 13px;">Requêtes prédéfinies</h2>
|
||||
|
||||
<a href="/models/bynote"><p>Liste des modèles par note décroissante</p></a>
|
||||
|
||||
<a href="javascript:let now = new Date();now.setUTCFullYear(now.getUTCFullYear() - 5);window.location.pathname = '/boxes/from/' + `${now.getUTCFullYear()}-${now.getUTCMonth() + 1}-${now.getUTCDate()}`;">
|
||||
<p>Liste des boites ayant moins de 5 ans</p>
|
||||
</a>
|
||||
<ul class="list">
|
||||
|
||||
<a href="/membres/bynbmodels">
|
||||
<p>Liste des membres qui ont proposés le plus de modèles</p>
|
||||
</a>
|
||||
<li>
|
||||
<a href="/models/fromfan">
|
||||
Liste des modèles proposés par des fans
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/models/bynote">
|
||||
Liste des modèles par note décroissante
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a
|
||||
href="javascript:let now = new Date();now.setUTCFullYear(now.getUTCFullYear() - 5);window.location.pathname = '/boxes/from/' + `${now.getUTCFullYear()}-${now.getUTCMonth() + 1}-${now.getUTCDate()}`;">
|
||||
Liste des boites ayant moins de 5 ans
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/membres/bynbmodels">
|
||||
Liste des membres qui ont proposés le plus de modèles
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -1,11 +1,12 @@
|
||||
import { Pair } from '../utils/utils';
|
||||
import { Member } from './member';
|
||||
import { Piece } from './piece';
|
||||
|
||||
type Model = {
|
||||
id: number;
|
||||
name: string;
|
||||
url: string;
|
||||
creator: number;
|
||||
creator: Member;
|
||||
inheritFrom: number;
|
||||
pieces: Array<Pair<Piece, number>>
|
||||
review: Pair<number, number>
|
||||
|
Loading…
x
Reference in New Issue
Block a user