FastAPI + SQLAlchemy/Alembic + MariaDB backend with Jinja2/htmx/Alpine server-rendered frontend. Multi-user via Google OAuth, daily habit tracking, monthly/weekly history views, Web Push reminders via APScheduler, and PWA support (manifest, service worker, offline caching). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
29 lines
863 B
HTML
29 lines
863 B
HTML
<div class="field">
|
|
<label>시행 요일</label>
|
|
<div class="weekday-picker">
|
|
<template x-for="(day, idx) in days" :key="idx">
|
|
<button
|
|
type="button"
|
|
class="weekday-pill"
|
|
:class="{ selected: (mask & (1 << idx)) !== 0 }"
|
|
@click="if (mask !== (1 << idx)) mask = mask ^ (1 << idx)"
|
|
x-text="day"
|
|
></button>
|
|
</template>
|
|
<button
|
|
type="button"
|
|
class="everyday-btn"
|
|
:class="{ selected: mask === 127 }"
|
|
@click="mask = 127"
|
|
>매일</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field">
|
|
<label style="display:flex; align-items:center; gap:8px;">
|
|
<input type="checkbox" x-model="alarmOn" style="width:auto;" />
|
|
알람 사용
|
|
</label>
|
|
<input x-show="alarmOn" x-cloak type="time" name="reminder_time" value="{{ reminder_value|default('') }}" style="margin-top:6px;" />
|
|
</div>
|