Working diva frontend
parent
da55e3e877
commit
d456ed365c
|
@ -1,6 +1,10 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
Documenting updates to ARTEMiS, to be updated every time the master branch is pushed to.
|
Documenting updates to ARTEMiS, to be updated every time the master branch is pushed to.
|
||||||
|
|
||||||
|
## 20240616
|
||||||
|
### DIVA
|
||||||
|
+ Working frontend with name and level strings edit and playlog
|
||||||
|
|
||||||
## 20240530
|
## 20240530
|
||||||
### DIVA
|
### DIVA
|
||||||
+ Fix reader for when dificulty is not a int
|
+ Fix reader for when dificulty is not a int
|
||||||
|
|
|
@ -56,7 +56,7 @@ class DivaFrontend(FE_Base):
|
||||||
), media_type="text/html; charset=utf-8")
|
), media_type="text/html; charset=utf-8")
|
||||||
return resp
|
return resp
|
||||||
else:
|
else:
|
||||||
return RedirectResponse("/login")
|
return RedirectResponse("/gate")
|
||||||
|
|
||||||
async def render_GET_playlog(self, request: Request) -> bytes:
|
async def render_GET_playlog(self, request: Request) -> bytes:
|
||||||
template = self.environment.get_template(
|
template = self.environment.get_template(
|
||||||
|
@ -86,15 +86,15 @@ class DivaFrontend(FE_Base):
|
||||||
for record in playlog:
|
for record in playlog:
|
||||||
song = await self.data.static.get_music_chart(record[2], record[3], record[4])
|
song = await self.data.static.get_music_chart(record[2], record[3], record[4])
|
||||||
if song:
|
if song:
|
||||||
title = song[4]
|
title = song.title
|
||||||
artist = song[5]
|
vocaloid_arranger = song.vocaloid_arranger
|
||||||
else:
|
else:
|
||||||
title = "Unknown"
|
title = "Unknown"
|
||||||
artist = "Unknown"
|
vocaloid_arranger = "Unknown"
|
||||||
playlog_with_title.append({
|
playlog_with_title.append({
|
||||||
"raw": record,
|
"raw": record,
|
||||||
"title": title,
|
"title": title,
|
||||||
"artist": artist
|
"vocaloid_arranger": vocaloid_arranger
|
||||||
})
|
})
|
||||||
return Response(template.render(
|
return Response(template.render(
|
||||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||||
|
@ -110,7 +110,7 @@ class DivaFrontend(FE_Base):
|
||||||
async def update_name(self, request: Request) -> Response:
|
async def update_name(self, request: Request) -> Response:
|
||||||
usr_sesh = self.validate_session(request)
|
usr_sesh = self.validate_session(request)
|
||||||
if not usr_sesh:
|
if not usr_sesh:
|
||||||
return RedirectResponse("/login")
|
return RedirectResponse("/gate")
|
||||||
|
|
||||||
form_data = await request.form()
|
form_data = await request.form()
|
||||||
new_name: str = form_data.get("new_name")
|
new_name: str = form_data.get("new_name")
|
||||||
|
@ -147,7 +147,7 @@ class DivaFrontend(FE_Base):
|
||||||
async def update_lv(self, request: Request) -> Response:
|
async def update_lv(self, request: Request) -> Response:
|
||||||
usr_sesh = self.validate_session(request)
|
usr_sesh = self.validate_session(request)
|
||||||
if not usr_sesh:
|
if not usr_sesh:
|
||||||
return RedirectResponse("/login")
|
return RedirectResponse("/gate")
|
||||||
|
|
||||||
form_data = await request.form()
|
form_data = await request.form()
|
||||||
new_lv: str = form_data.get("new_lv")
|
new_lv: str = form_data.get("new_lv")
|
||||||
|
|
|
@ -240,8 +240,8 @@ class DivaScoreData(BaseData):
|
||||||
return None
|
return None
|
||||||
return result.fetchall()
|
return result.fetchall()
|
||||||
|
|
||||||
async def get_playlogs(self, user_id: int, idx: int = 0, limit: int = 0) -> Optional[List[Row]]:
|
async def get_playlogs(self, aime_id: int, idx: int = 0, limit: int = 0) -> Optional[Row]:
|
||||||
sql = playlog.select(playlog.c.user == user_id)
|
sql = select(playlog).where(playlog.c.user == aime_id).order_by(playlog.c.date_scored.desc())
|
||||||
|
|
||||||
if limit:
|
if limit:
|
||||||
sql = sql.limit(limit)
|
sql = sql.limit(limit)
|
||||||
|
|
|
@ -28,14 +28,26 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>Lvl:</td>
|
<td>Lvl:</td>
|
||||||
<td>{{ profile[5] }}</td>
|
<td>{{ profile[5] }}</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Lvl points:</td>
|
<td>Lvl points:</td>
|
||||||
<td>{{ profile[6] }}</td>
|
<td>{{ profile[6] }}</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Vocaloid points:</td>
|
<td>Vocaloid points:</td>
|
||||||
<td>{{ profile[7] }}</td>
|
<td>{{ profile[7] }}</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,17 +9,72 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h4 style="text-align: center;">Score counts: {{ playlog_count }}</h4>
|
<h4 style="text-align: center;">Score counts: {{ playlog_count }}</h4>
|
||||||
{% set difficultyName = ['easy', 'normal', 'hard', 'extreme', 'extra extreme'] %}
|
{% set difficultyName = ['easy', 'normal', 'hard', 'extreme', 'extra extreme'] %}
|
||||||
|
{% set clearState = ['MISSxTAKE', 'STANDARD', 'GREAT', 'EXELLENT', 'PERFECT'] %}
|
||||||
{% for record in playlog %}
|
{% for record in playlog %}
|
||||||
<div class="col-lg-6 mt-3">
|
<div class="col-lg-6 mt-3">
|
||||||
<div class="card bg-card rounded card-hover">
|
<div class="card bg-card rounded card-hover">
|
||||||
<div class="col-8 scrolling-text">
|
<div class="card bg-card rounded card-hover">
|
||||||
<h5 class="card-text"> {{ record.title }} </h5>
|
<div class="card-header row">
|
||||||
<br>
|
<div class="col-8 scrolling-text">
|
||||||
<h6 class="card-text"> {{ record.artist }} </h6>
|
<h5 class="card-text">{{ record.title }}</h5>
|
||||||
|
<br>
|
||||||
|
<h6 class="card-text">{{ record.vocaloid_arranger }}</h6>
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<h6 class="card-text">{{record.raw.date_scored}}</h6>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="card-body row">
|
||||||
<h6 class="card-text"> {{ difficultyName[record.raw[4]] }} </h6>
|
<div class="col-3" style="text-align: center;">
|
||||||
|
<h4 class="card-text">{{ record.raw.score }}</h4>
|
||||||
|
<h2>{{ record.raw.atn_pnt / 100 }}%</h2>
|
||||||
|
<h6>{{ difficultyName[record.raw.difficulty] }}</h6>
|
||||||
|
</div>
|
||||||
|
<div class="col-6" style="text-align: center;">
|
||||||
|
<table class="table-small table-rowdistinc">
|
||||||
|
<tr>
|
||||||
|
<td>COOL</td>
|
||||||
|
<td>{{ record.raw.cool }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>FINE</td>
|
||||||
|
<td>{{ record.raw.fine }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>SAFE</td>
|
||||||
|
<td>{{ record.raw.safe }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>SAD</td>
|
||||||
|
<td>{{ record.raw.sad }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>WORST</td>
|
||||||
|
<td>{{ record.raw.worst }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-3" style="text-align: center;">
|
||||||
|
<h6>{{ record.raw.max_combo }}</h6>
|
||||||
|
{% if record.raw.clr_kind == -1 %}
|
||||||
|
<h6>{{ clearState[0] }}</h6>
|
||||||
|
{% elif record.raw.clr_kind == 2 %}
|
||||||
|
<h6>{{ clearState[1] }}</h6>
|
||||||
|
{% elif record.raw.clr_kind == 3 %}
|
||||||
|
<h6>{{ clearState[2] }}</h6>
|
||||||
|
{% elif record.raw.clr_kind == 4 %}
|
||||||
|
<h6>{{ clearState[3] }}</h6>
|
||||||
|
{% elif record.raw.clr_kind == 5 %}
|
||||||
|
<h6>{{ clearState[4] }}</h6>
|
||||||
|
{% endif %}
|
||||||
|
{% if record.raw.clr_kind == -1 %}
|
||||||
|
<h6>NOT CLEAR</h6>
|
||||||
|
{% else %}
|
||||||
|
<h6>CLEAR</h6>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
Loading…
Reference in New Issue