"use client";

import { SettingsForm } from "@/components/admin/settings-form";

const AKTIF = [
  { value: "1", label: "Aktif" },
  { value: "0", label: "Tidak" },
];

export default function PengaturanAplikasiPage() {
  return (
    <SettingsForm
      grup="aplikasi"
      title="Aplikasi"
      description="Identitas aplikasi, tampilan, keamanan, dan notifikasi Core Mulyadadi."
      fields={[
        { kunci: "aplikasi.nama", label: "Nama Aplikasi", defaultValue: "Core Mulyadadi" },
        { kunci: "aplikasi.versi", label: "Versi", defaultValue: "1.0.0" },
        { kunci: "aplikasi.website", label: "Website Desa", type: "url", full: true },
        { kunci: "aplikasi.email", label: "Email", type: "email" },
        { kunci: "aplikasi.telepon", label: "Telepon" },
        { kunci: "aplikasi.logo", label: "Logo", type: "image", help: "Logo aplikasi." },
        { kunci: "aplikasi.favicon", label: "Favicon", help: "URL favicon." },
        {
          kunci: "aplikasi.latar_website",
          label: "Latar Website",
          type: "image",
          help: "Gambar latar halaman website.",
        },
        {
          kunci: "aplikasi.latar_login",
          label: "Latar Login",
          type: "image",
          help: "Gambar latar halaman login admin.",
        },
        { kunci: "aplikasi.lokasi", label: "Lokasi Kantor", full: true },
        { kunci: "aplikasi.website_title", label: "Website Title", help: "Judul tab browser modul web." },
        { kunci: "aplikasi.login_title", label: "Login Title", help: "Judul tab browser halaman login." },
        { kunci: "aplikasi.motto_desa", label: "Tagline / Motto Desa" },
        { kunci: "aplikasi.branding_desa", label: "Branding Desa" },
        { kunci: "aplikasi.admin_title", label: "Admin Title", help: "Judul tab browser modul administrasi." },
        { kunci: "aplikasi.sebutan_desa", label: "Sebutan Desa" },
        { kunci: "aplikasi.sebutan_kecamatan", label: "Sebutan Kecamatan" },
        { kunci: "aplikasi.sebutan_kecamatan_singkat", label: "Sebutan Kecamatan Singkat" },
        { kunci: "aplikasi.sebutan_camat", label: "Sebutan Camat" },
        { kunci: "aplikasi.sebutan_kabupaten", label: "Sebutan Kabupaten" },
        { kunci: "aplikasi.sebutan_kabupaten_singkat", label: "Sebutan Kabupaten Singkat" },
        {
          kunci: "aplikasi.zona_waktu",
          label: "Timezone",
          type: "select",
          options: [
            { value: "Asia/Jakarta", label: "Asia/Jakarta (WIB)" },
            { value: "Asia/Makassar", label: "Asia/Makassar (WITA)" },
            { value: "Asia/Jayapura", label: "Asia/Jayapura (WIT)" },
          ],
          defaultValue: "Asia/Jakarta",
        },
        { kunci: "aplikasi.warna_tema_admin", label: "Warna Tema Admin", defaultValue: "#0f766e" },
        { kunci: "aplikasi.enable_track", label: "Enable Track", type: "select", options: AKTIF, defaultValue: "0" },
        { kunci: "aplikasi.offline_mode", label: "Offline Mode", type: "select", options: AKTIF, defaultValue: "0" },
        { kunci: "aplikasi.inspect_element", label: "Inspect Element", type: "select", options: AKTIF, defaultValue: "0" },
        {
          kunci: "aplikasi.bahasa",
          label: "Bahasa",
          type: "select",
          options: [
            { value: "id", label: "Indonesia" },
            { value: "en", label: "English" },
          ],
          defaultValue: "id",
        },
        { kunci: "aplikasi.login_otp", label: "Login OTP", type: "select", options: AKTIF, defaultValue: "0", full: true },
        { kunci: "aplikasi.otp_expiry_minutes", label: "Masa Berlaku OTP (Menit)", type: "number", defaultValue: "5" },
        { kunci: "aplikasi.otp_resend_cooldown", label: "Waktu Tunggu Kirim Ulang OTP (Detik)", type: "number", defaultValue: "60" },
        { kunci: "aplikasi.otp_max_trials", label: "Maksimal Percobaan OTP", type: "number", defaultValue: "3" },
        { kunci: "aplikasi.google_recaptcha", label: "Google Recaptcha", type: "select", options: [
          { value: "1", label: "Aktif" },
          { value: "0", label: "Tidak" },
        ], defaultValue: "0" },
        { kunci: "aplikasi.google_recaptcha_site_key", label: "Google Recaptcha Site Key", full: true },
        { kunci: "aplikasi.google_recaptcha_secret_key", label: "Google Recaptcha Secret Key", type: "password", full: true },
        { kunci: "aplikasi.email_notifikasi", label: "Email Notifikasi", type: "select", options: AKTIF, defaultValue: "0" },
        { kunci: "aplikasi.email_protocol", label: "Email Protokol", placeholder: "SMTP" },
        { kunci: "aplikasi.email_smtp_host", label: "Email Host" },
        { kunci: "aplikasi.email_smtp_user", label: "Email Username" },
        { kunci: "aplikasi.email_smtp_pass", label: "Email Password", type: "password" },
        { kunci: "aplikasi.email_smtp_port", label: "Email Port" },
        { kunci: "aplikasi.telegram_notifikasi", label: "Telegram Notifikasi", type: "select", options: AKTIF, defaultValue: "0" },
        { kunci: "aplikasi.telegram_token", label: "Telegram Token" },
        { kunci: "aplikasi.telegram_user_id", label: "Telegram User Id" },
        { kunci: "aplikasi.notifikasi_reset_pin", label: "Notifikasi Reset PIN", type: "textarea", full: true },
        { kunci: "aplikasi.notifikasi_koneksi", label: "Notifikasi Koneksi", type: "select", options: AKTIF, defaultValue: "0" },
        { kunci: "aplikasi.notifikasi_pengajuan_surat", label: "Notifikasi Pengajuan Surat", type: "textarea", full: true },
        { kunci: "aplikasi.current_version", label: "Current Version", help: "Versi sekarang untuk migrasi." },
        { kunci: "aplikasi.pemeliharaan", label: "Mode Pemeliharaan", type: "checkbox", defaultValue: "0" },
        { kunci: "aplikasi.debug", label: "Mode Debug", type: "checkbox", defaultValue: "0" },
        { kunci: "aplikasi.catatan", label: "Catatan Rilis", type: "textarea", full: true },
      ]}
    />
  );
}
