// Updated Types matching the new Spreadsheet-like Database Structure

export enum Role {
  ADMIN = 'admin',
  GURU = 'guru',
  WALI_KELAS = 'wali_kelas',
  BK = 'bk',
  PIKET = 'piket'
}

export interface DataGuru {
  nip: string;
  password?: string; // Optional when fetching for UI display
  nama: string;
  role: Role;
  wa_guru?: string;
}

export interface DataSiswa {
  nis: string;
  nama: string;
  kelas: string;
  jenis_kelamin: 'L' | 'P';
  wa_siswa?: string;
  peminatan?: string;
}

export interface DataJurnal {
  id_jurnal: string;
  waktu_input: string;
  tanggal: string;
  nip_guru: string;
  nama_guru: string;
  kelas: string;
  mapel: string;
  jam_ke: string;
  materi: string;
  detail_absensi: Record<string, string>; // JSONB { NIS: Status }
  data_kejadian?: string;
  status_kebersihan: string;
  status_kbm: string;
}

export interface JurnalAbsensi {
  id: string;
  tanggal: string;
  nis: string;
  nama: string;
  kelas: string;
  status: string; // S, I, A, D, T
  keterangan?: string;
  jam_ke: string;
  id_jurnal: string;
}

export interface DataPresensiQR {
  id: string;
  timestamp: string;
  jenis_kegiatan: string;
  nis: string;
  nama: string;
  kelas: string;
  guru_input: string;
  status_wa: string;
}

export interface DataIzin {
  id: string;
  timestamp: string;
  kelas: string;
  nama_siswa: string;
  tgl_mulai: string;
  tgl_selesai: string;
  jenis: 'S' | 'I';
  keterangan: string;
  file_url?: string;
}
