mirror of
https://code.lenaisten.de/Lenaisten/advent22.git
synced 2024-11-23 00:03:07 +00:00
depends.get_all_image_names, CalendarAssistant.day_image_names
This commit is contained in:
parent
0550621835
commit
d4f8469a7a
3 changed files with 54 additions and 24 deletions
|
@ -71,6 +71,19 @@ async def get_all_auto_image_names(
|
||||||
return dict(zip(days, rnd.shuffled(ls)))
|
return dict(zip(days, rnd.shuffled(ls)))
|
||||||
|
|
||||||
|
|
||||||
|
async def get_all_image_names(
|
||||||
|
auto_image_names: dict[int, str] = Depends(get_all_auto_image_names),
|
||||||
|
) -> dict[int, str]:
|
||||||
|
"""
|
||||||
|
Bilder "auto" und "manual" zu Tagen zuordnen
|
||||||
|
"""
|
||||||
|
|
||||||
|
# TODO penner
|
||||||
|
# "manual"-Bilder erkennen (hier neue variable anlegen)
|
||||||
|
|
||||||
|
return auto_image_names
|
||||||
|
|
||||||
|
|
||||||
async def gen_day_auto_image(
|
async def gen_day_auto_image(
|
||||||
day: int,
|
day: int,
|
||||||
cfg: Config = Depends(get_config),
|
cfg: Config = Depends(get_config),
|
||||||
|
|
|
@ -5,7 +5,7 @@ from pydantic import BaseModel
|
||||||
|
|
||||||
from ..core.calendar_config import CalendarConfig, DoorsSaved, get_calendar_config
|
from ..core.calendar_config import CalendarConfig, DoorsSaved, get_calendar_config
|
||||||
from ..core.config import Config, get_config
|
from ..core.config import Config, get_config
|
||||||
from ..core.depends import get_all_parts
|
from ..core.depends import get_all_image_names, get_all_parts
|
||||||
from ..core.settings import SETTINGS
|
from ..core.settings import SETTINGS
|
||||||
from ._security import require_admin, user_is_admin
|
from ._security import require_admin, user_is_admin
|
||||||
|
|
||||||
|
@ -105,6 +105,20 @@ async def get_day_parts(
|
||||||
return [DayStrModel(day=day, value=part) for day, part in sorted(parts.items())]
|
return [DayStrModel(day=day, value=part) for day, part in sorted(parts.items())]
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/day_image_names")
|
||||||
|
async def get_day_image_names(
|
||||||
|
_: None = Depends(require_admin),
|
||||||
|
image_names: dict[int, str] = Depends(get_all_image_names),
|
||||||
|
) -> list[DayStrModel]:
|
||||||
|
"""
|
||||||
|
Zuordnung der verwendeten Bilder zu den Tagen
|
||||||
|
"""
|
||||||
|
|
||||||
|
return [
|
||||||
|
DayStrModel(day=day, value=name) for day, name in sorted(image_names.items())
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@router.get("/doors")
|
@router.get("/doors")
|
||||||
async def get_doors(
|
async def get_doors(
|
||||||
_: None = Depends(require_admin),
|
_: None = Depends(require_admin),
|
||||||
|
|
|
@ -9,18 +9,6 @@
|
||||||
>
|
>
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h4>Alle Türchen</h4>
|
|
||||||
<div class="tags are-medium">
|
|
||||||
<BulmaButton
|
|
||||||
v-for="(day_part, index) in day_parts"
|
|
||||||
:key="`btn-${index}`"
|
|
||||||
class="tag button is-primary"
|
|
||||||
icon="fa-solid fa-door-open"
|
|
||||||
:text="`${day_part.day}`"
|
|
||||||
@click.left="door_click(day_part.day)"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4>Buchstaben-Zuordnung</h4>
|
<h4>Buchstaben-Zuordnung</h4>
|
||||||
<div class="tags are-medium">
|
<div class="tags are-medium">
|
||||||
<span
|
<span
|
||||||
|
@ -33,16 +21,26 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4>Bilder-Zuordnung</h4>
|
<h4>Bilder-Zuordnung</h4>
|
||||||
<!-- TODO -->
|
|
||||||
<div class="tags are-medium">
|
<div class="tags are-medium">
|
||||||
<span class="tag is-primary">1: images_auto/1.jpg</span>
|
<span
|
||||||
<span class="tag is-primary">2: images_manual/1.jpg</span>
|
v-for="(day_part, index) in day_image_names"
|
||||||
<span class="tag is-primary">3: images_auto/penelope.png</span>
|
:key="`part-${index}`"
|
||||||
<span class="tag is-primary">4: images_auto/hand.png</span>
|
class="tag is-primary"
|
||||||
<span class="tag is-primary">5: images_auto/hand.jpg</span>
|
>
|
||||||
<span class="tag is-primary">6: images_auto/Zaphod.jpg</span>
|
{{ day_part.day }}: {{ day_part.value }}
|
||||||
<span class="tag is-primary">7: images_auto/Zaphod.jpg</span>
|
</span>
|
||||||
<span class="tag is-primary">…</span>
|
</div>
|
||||||
|
|
||||||
|
<h4>Alle Türchen</h4>
|
||||||
|
<div class="tags are-medium">
|
||||||
|
<BulmaButton
|
||||||
|
v-for="(day_part, index) in day_parts"
|
||||||
|
:key="`btn-${index}`"
|
||||||
|
class="tag button is-primary"
|
||||||
|
icon="fa-solid fa-door-open"
|
||||||
|
:text="`${day_part.day}`"
|
||||||
|
@click.left="door_click(day_part.day)"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,6 +65,7 @@ import MultiModal from "./calendar/MultiModal.vue";
|
||||||
export default class extends Vue {
|
export default class extends Vue {
|
||||||
public is_loaded = true;
|
public is_loaded = true;
|
||||||
public day_parts: DayStrModel[] = [];
|
public day_parts: DayStrModel[] = [];
|
||||||
|
public day_image_names: DayStrModel[] = [];
|
||||||
|
|
||||||
declare $refs: {
|
declare $refs: {
|
||||||
multi_modal: MultiModal;
|
multi_modal: MultiModal;
|
||||||
|
@ -75,9 +74,13 @@ export default class extends Vue {
|
||||||
public on_open(): void {
|
public on_open(): void {
|
||||||
this.is_loaded = false;
|
this.is_loaded = false;
|
||||||
|
|
||||||
Promise.all([this.$advent22.api_get<DayStrModel[]>("admin/day_parts")])
|
Promise.all([
|
||||||
.then(([day_parts]) => {
|
this.$advent22.api_get<DayStrModel[]>("admin/day_parts"),
|
||||||
|
this.$advent22.api_get<DayStrModel[]>("admin/day_image_names"),
|
||||||
|
])
|
||||||
|
.then(([day_parts, day_image_names]) => {
|
||||||
this.day_parts = day_parts;
|
this.day_parts = day_parts;
|
||||||
|
this.day_image_names = day_image_names;
|
||||||
this.is_loaded = true;
|
this.is_loaded = true;
|
||||||
})
|
})
|
||||||
.catch(console.log);
|
.catch(console.log);
|
||||||
|
|
Loading…
Reference in a new issue