Gabungkan aplikasi RPS & Portofolio OBE (dashboard jadi bagian aplikasi)
Dashboard pemetaan statis kini dilayani aplikasi di /dashboard (app/static/dashboard.html). Fitur lengkap Tahap 1-4 + dasbor monitoring, menu global, filter semester, input nilai langsung, penggabungan nilai team teaching, tabel bisa urut. Dockerfile berubah dari nginx statis ke uvicorn/FastAPI: healthcheck, proxy-headers, volume /data (SQLite). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
{% extends "base.html" %}
|
||||
{% block judul %}{{ 'Penyiapan Awal' if mode == 'setup' else 'Masuk' }} — RPS & Portofolio UNTAN{% endblock %}
|
||||
{% block isi %}
|
||||
<div class="login-kotak">
|
||||
{% if mode == 'setup' %}
|
||||
<h1>Penyiapan Awal</h1>
|
||||
<p class="keterangan" style="text-align:center">Belum ada akun. Buat akun
|
||||
<b>Ketua Program Studi</b> terlebih dahulu — akun ini yang nanti membuat
|
||||
akun para dosen.</p>
|
||||
{% else %}
|
||||
<h1>Masuk</h1>
|
||||
<p class="keterangan" style="text-align:center">Halaman ini memuat data nilai
|
||||
mahasiswa — akses memerlukan akun. Hubungi kaprodi bila belum punya.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if pesan %}<div class="peringatan">{{ pesan }}</div>{% endif %}
|
||||
|
||||
<form method="post" action="{{ '/setup' if mode == 'setup' else '/login' }}">
|
||||
{% if mode == 'setup' %}
|
||||
<label for="nama">Nama lengkap (dengan gelar)</label>
|
||||
<input type="text" id="nama" name="nama" required autofocus>
|
||||
<label for="nip">NIP</label>
|
||||
<input type="text" id="nip" name="nip" autocomplete="username" required>
|
||||
<p class="keterangan">NIP menjadi username sekaligus password awal.</p>
|
||||
{% else %}
|
||||
<label for="nip">NIP</label>
|
||||
<input type="text" id="nip" name="nip" autocomplete="username" required autofocus>
|
||||
<label for="password">Password <span style="color:var(--grey);font-weight:normal">(awal: NIP Anda)</span></label>
|
||||
<input type="password" id="password" name="password"
|
||||
autocomplete="current-password" required>
|
||||
{% endif %}
|
||||
<div class="aksi-baris" style="border-top:none;padding-top:6px">
|
||||
<button class="tombol" type="submit" style="width:100%">
|
||||
{{ 'Buat Akun Kaprodi & Masuk' if mode == 'setup' else 'Masuk' }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user