Tabel F (9 kolom x 16 baris) membuat textarea-nya kecil dan susah dibaca/
diedit. Sekarang textarea di tabel itu membesar & mengambang (position:fixed,
z-index) saat diklik, tanpa mengubah lebar/tinggi tabel di baliknya, lalu
kembali normal saat pindah fokus. Semua textarea juga bisa di-resize bebas
(lebar+tinggi) sebagai jaring pengaman tambahan.
Perubahan murni CSS/JS statis -- tidak ada migrasi data.
- Tampilan "Isi Per Komponen Penilaian" diganti dari tombol bertumpuk teks
jadi tabel (Komponen/Sub-CPMK/Bobot/Status/Aksi) dengan status berupa
stempel, lebih mudah dipindai.
- Filter pencarian MK (ketik kode/nama) di kotak penugasan dosen /admin.
- Istilah NPM diseragamkan jadi NIM di seluruh aplikasi (label, header,
template Excel, dokumen portofolio), termasuk migrasi kolom database
mahasiswa.npm -> nim yang aman (ALTER TABLE RENAME COLUMN, otomatis saat
startup, tanpa kehilangan data; parser Excel tetap terima file lama
berheader NPM).
- Fitur ganti password mandiri (/akun): verifikasi password lama, sesi lain
otomatis keluar setelah berhasil, sesi yang dipakai tetap aktif.
- RPS: dosen RPS+MK kini bisa menyesuaikan redaksi kalimat Sub-CPMK (bagian
D) untuk MK yang diampu -- kode & kaitan CPMK/CPL tetap dari kurikulum,
hanya teksnya yang bisa disesuaikan. Penyesuaian otomatis konsisten di
dropdown mingguan (F), checklist komponen (G), serta unduhan RPS &
portofolio, tanpa menyentuh data kurikulum induk atau halaman nilai/
dashboard prodi.
- Form RPS dibungkus <fieldset disabled> untuk dosen tanpa hak edit --
seluruh field benar-benar terkunci (bukan cuma tombol simpan hilang).
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>