import { t as AdminLayout_default } from "./AdminLayout-DcKfAlG1.js";
import { Head } from "@inertiajs/vue3";
import { Fragment, computed, createBlock, createTextVNode, createVNode, defineComponent, openBlock, ref, renderList, resolveDynamicComponent, toDisplayString, unref, useSSRContext, vModelText, withCtx, withDirectives } from "vue";
import { ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrRenderComponent, ssrRenderList, ssrRenderVNode } from "vue/server-renderer";
import { ArrowRight, BarChart3, BookOpen, FileText, HelpCircle, Package, Printer, QrCode, Search, ShoppingCart, Tv } from "lucide-vue-next";
//#region resources/js/Pages/CafePOS/Guide/Index.vue?vue&type=script&setup=true&lang.ts
var Index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
	__name: "Index",
	__ssrInlineRender: true,
	setup(__props) {
		const searchQuery = ref("");
		const activeTab = ref("pos");
		const tabs = [
			{
				id: "pos",
				name: "Alur Kasir (POS)",
				icon: ShoppingCart
			},
			{
				id: "kds",
				name: "Alur Dapur (KDS)",
				icon: Tv
			},
			{
				id: "inventory",
				name: "Stok & Resep (BOM)",
				icon: Package
			},
			{
				id: "po_grn",
				name: "Pembelian (PO/GRN)",
				icon: FileText
			},
			{
				id: "self_order",
				name: "Self-Order QR",
				icon: QrCode
			},
			{
				id: "analytics",
				name: "Analitik & Owner",
				icon: BarChart3
			},
			{
				id: "printer",
				name: "Setting Printer & QZ",
				icon: Printer
			}
		];
		const guides = {
			pos: {
				title: "Panduan Operasional Kasir (POS Terminal)",
				description: "Kasir POS adalah pusat penjualan harian. Fitur ini menangani pesanan pelanggan langsung, pembayaran, penyesuaian promo, voucher, dan loyalitas member.",
				steps: [
					{
						title: "Memilih Jenis Pesanan & Meja",
						desc: "Pilih tipe pesanan: <strong>Dine In</strong> (wajib pilih meja aktif), <strong>Take Away</strong> (tanpa meja, antrean otomatis Q-00X), atau <strong>Delivery</strong> (wajib memilih Kurir Internal)."
					},
					{
						title: "Input Menu & Modifiers",
						desc: "Klik produk untuk masuk ke keranjang. Sesuaikan variant (Hot/Ice), modifier tambahan (contoh: Extra Espresso), dan tambahkan catatan kustom jika ada."
					},
					{
						title: "Loyalty CRM & Diskon Ulang Tahun",
						desc: "Ketik nama member aktif. Sistem mendeteksi otomatis jika hari ini pelanggan berulang tahun, lalu otomatis memberikan diskon 10% di subtotal."
					},
					{
						title: "Kupon Voucher Diskon",
						desc: "Masukkan kode voucher promosi (contoh: DISKONKAFE). Sistem memvalidasi tanggal kedaluwarsa, kuota penggunaan, dan minimal pembelian secara real-time."
					},
					{
						title: "Metode Bayar & Cetak Struk",
						desc: "Pilih Tunai (dilengkapi kalkulator uang kembalian), QRIS, atau Transfer. Tekan checkout untuk mencetak struk thermal kasir (58mm) dan struk tiket dapur secara otomatis."
					}
				],
				connections: [
					{
						from: "POS Kasir",
						to: "Layar Dapur (KDS)",
						detail: "Pesanan terkirim secara real-time untuk mulai dimasak."
					},
					{
						from: "POS Checkout",
						to: "Stok Bahan Baku (BOM)",
						detail: "Bahan mentah berkurang otomatis berdasarkan resep produk."
					},
					{
						from: "POS Transaksi",
						to: "Laporan Penjualan",
						detail: "Metrik pendapatan dan omzet langsung terupdate di dashboard owner."
					}
				]
			},
			kds: {
				title: "Panduan Layar Dapur (Kitchen Display System)",
				description: "Layar interaktif KDS membantu tim dapur memantau pesanan yang masuk, mengatur prioritas memasak, dan memberi notifikasi ke kasir saat makanan siap disajikan.",
				steps: [
					{
						title: "Memantau Pesanan Masuk (Pending)",
						desc: "Semua pesanan baru dari kasir POS maupun Self-Order QR pelanggan muncul di kolom <strong>Pending</strong> dengan detail kuantitas, catatan kustom, dan modifikasi."
					},
					{
						title: "Mulai Memasak (Cooking)",
						desc: "Klik tombol <strong>\"Mulai Masak\"</strong> pada kartu pesanan. Status item berubah menjadi kuning (Cooking) untuk memberi tahu kasir bahwa item sedang diproses."
					},
					{
						title: "Makanan Siap (Ready)",
						desc: "Klik <strong>\"Siap\"</strong> setelah selesai dimasak. Pesanan berpindah ke status hijau (Ready). Tim pramusaji mendapat sinyal untuk mengantarkan makanan."
					},
					{
						title: "Selesai Disajikan (Served)",
						desc: "Klik <strong>\"Sajikan\"</strong> setelah pesanan sampai di meja pelanggan. Kartu pesanan akan diarsipkan secara otomatis agar layar dapur tetap bersih."
					}
				],
				connections: [{
					from: "Dapur (KDS)",
					to: "Kasir POS",
					detail: "Kasir memantau status pesanan (Pending/Cooking/Ready/Served) langsung di riwayat transaksi."
				}, {
					from: "KDS Konfirmasi",
					to: "Tamu / Meja",
					detail: "Status meja berubah menjadi terisi (Occupied) penuh selama proses layanan."
				}]
			},
			inventory: {
				title: "Panduan Stok, Resep (BOM), & Waste",
				description: "Manajemen bahan baku terintegrasi. Memastikan HPP (Food Cost) terpantau akurat melalui struktur resep otomatis dan audit berkala.",
				steps: [
					{
						title: "Pendaftaran Bahan Baku (Ingredients)",
						desc: "Masukkan data bahan baku mentah (misal: Biji Kopi Espresso, Susu Segar, Oat Milk) lengkap dengan harga beli dasar dan satuan unit (Gram, Ml, Pcs)."
					},
					{
						title: "Konversi Satuan Grosir",
						desc: "Gunakan unit terkecil untuk penggunaan resep agar kalkulasi HPP presisi (contoh: Beli sak kopi isi 1 Kg, konversikan ke satuan Gram)."
					},
					{
						title: "Pembuatan Resep BOM (Bill of Materials)",
						desc: "Di menu <strong>Recipe Manager</strong>, kaitkan produk dengan bahan bakunya. Contoh: Produk \"Café Latte\" membutuhkan 18g Kopi Espresso dan 200ml Susu Segar."
					},
					{
						title: "Audit Opname Berkala",
						desc: "Lakukan stock opname fisik vs sistem. Masukkan jumlah riil bahan baku di gudang. Sistem secara otomatis menghitung selisih dan membetulkan nilai stok."
					},
					{
						title: "Log Waste (Bahan Rusak/Basi)",
						desc: "Catat jika ada bahan tumpah atau susu kedaluwarsa. Log ini memotong stok bahan baku dan mencatat biaya kerugian secara transparan."
					}
				],
				connections: [{
					from: "Resep BOM",
					to: "Transaksi Penjualan",
					detail: "Mengurangi stok bahan baku secara otomatis setiap kali kasir mencetak struk belanja."
				}, {
					from: "Waste & Opname",
					to: "Laporan Keuangan",
					detail: "Mengurangi laba bersih owner berdasarkan akumulasi biaya kerusakan bahan baku."
				}]
			},
			po_grn: {
				title: "Panduan Pembelian (PO) & Penerimaan Barang (GRN)",
				description: "Kelola rantai pasokan bahan baku secara profesional. Dari pengajuan pemesanan ke Supplier hingga penambahan stok gudang otomatis.",
				steps: [
					{
						title: "Membuat Draf Purchase Order (PO)",
						desc: "Buka menu <strong>Purchase Orders</strong>, klik <strong>Buat PO Baru</strong>. Pilih Outlet tujuan penerima, Supplier penyedia, lalu daftarkan bahan baku beserta kuantitas dan harga belinya."
					},
					{
						title: "Mengirim PO ke Supplier",
						desc: "Klik tombol <strong>\"Kirim ke Supplier\"</strong> (Kertas Terbang). Status PO berubah menjadi <strong>Sent (Dikirim)</strong>. Ini menandakan pesanan resmi diteruskan ke pihak supplier."
					},
					{
						title: "Verifikasi Fisik & Goods Received Note (GRN)",
						desc: "Saat truk pengantar supplier tiba di outlet, periksa kecocokan jumlah barang secara fisik."
					},
					{
						title: "Konfirmasi Penerimaan Barang",
						desc: "Klik tombol <strong>\"Terima Barang (Checklist)\"</strong> pada PO berstatus Sent. Status berubah menjadi <strong>Received (Diterima)</strong>. Sistem otomatis menambah stok bahan baku di gudang outlet saat itu juga."
					},
					{
						title: "Log Audit Stock Transactions",
						desc: "Sistem secara otomatis membuat log audit <code>StockTransaction</code> dengan tipe <code>add</code> sebagai bukti penerimaan barang legal untuk mencegah kecurangan stok."
					}
				],
				connections: [{
					from: "PO Received (GRN)",
					to: "Stock Inventory",
					detail: "Meningkatkan stok bahan baku outlet secara instan tanpa perlu input manual satu per satu."
				}, {
					from: "PO Total Cost",
					to: "Supplier Manager",
					detail: "Tercatat dalam riwayat total pembelian dari pemasok bersangkutan."
				}]
			},
			self_order: {
				title: "Panduan Pemesanan Mandiri Tamu (Self-Order QR)",
				description: "Tingkatkan efisiensi layanan. Tamu dapat memesan dan membayar langsung dari meja makan mereka sendiri via scan QR Code.",
				steps: [
					{
						title: "Cetak QR Code Meja",
						desc: "Buka menu <strong>Table Manager</strong> di admin panel, lalu klik tombol <strong>\"Tampilkan QR\"</strong> di meja target. QR Code dinamis berisi link meja unik dapat dicetak untuk ditempel di meja fisik."
					},
					{
						title: "Pelanggan Scan QR Code",
						desc: "Tamu menggunakan ponsel pintar untuk memindai QR meja. Halaman menu digital premium akan langsung terbuka tanpa perlu menginstal aplikasi."
					},
					{
						title: "Membuat Pesanan Mandiri",
						desc: "Tamu memilih menu, modifier (misal: Ice level, Sugar level), memasukkan nama mereka, catatan kustom, lalu klik Checkout."
					},
					{
						title: "Proses Pembayaran Mandiri",
						desc: "Tamu dapat memilih bayar secara langsung dengan simulator QRIS (langsung lunas) atau memilih bayar tunai di kasir."
					},
					{
						title: "Otomatis Masuk Dapur & Potong Stok",
						desc: "Pesanan instan terkirim ke KDS Dapur, bahan baku terpotong berdasarkan resep BOM, dan status meja di Table Manager otomatis berubah menjadi <strong>Occupied</strong>."
					}
				],
				connections: [{
					from: "Self-Order Tamu",
					to: "Kitchen KDS Screen",
					detail: "Tiket pesanan dicetak atau muncul otomatis di dapur untuk dimasak."
				}, {
					from: "Self-Order QRIS",
					to: "Kasir POS",
					detail: "Kasir POS mendeteksi pesanan masuk berlabel QR-Dine-In dengan status pembayaran lunas."
				}]
			},
			analytics: {
				title: "Panduan Laporan Finansial & Analitik Bisnis",
				description: "Pusat keputusan strategis. Owner dapat memantau indikator kinerja utama (KPI) kesehatan finansial dan operasional outlet secara real-time.",
				steps: [
					{
						title: "Dashboard Pendapatan & HPP (COGS)",
						desc: "Pantau total <strong>Omzet Penjualan</strong>, <strong>Total HPP</strong> (biaya modal resep terjual), dan selisih profit bersih dalam rentang tanggal tertentu."
					},
					{
						title: "Rasio Food Cost (%)",
						desc: "Metrik rasio biaya bahan baku dibanding omzet. Dilengkapi bar warna visual: target sehat berada di kisaran <strong>28% - 35%</strong>. Jika rasio di atas 35%, pertimbangkan menaikkan harga jual atau audit porsi bahan."
					},
					{
						title: "Analitik Performa Pramusaji (Waiters)",
						desc: "Melihat grafik jumlah transaksi dan kontribusi omzet yang dilayani oleh masing-masing pramusaji."
					},
					{
						title: "Siklus Perputaran Meja (Table Turnover)",
						desc: "Menganalisis meja mana yang paling sering digunakan tamu dan frekuensi pemakaian meja harian untuk optimasi kapasitas ruangan."
					},
					{
						title: "Jam Sibuk Operasional (Peak Hours)",
						desc: "Grafik distribusi penjualan per jam. Membantu owner menentukan jadwal shift karyawan pada jam-jam dengan transaksi terpadat."
					},
					{
						title: "Cetak Laporan Keuangan A4",
						desc: "Ekspor laporan lengkap ke format cetak bersih hitam-putih A4 (PDF/Printer) untuk arsip pembukuan bulanan."
					}
				],
				connections: [{
					from: "Laporan Analitik",
					to: "Cetak Laporan Keuangan",
					detail: "Menghasilkan dokumen cetak resmi untuk keperluan pembukuan bisnis."
				}, {
					from: "Rasio Food Cost",
					to: "Kebijakan Harga Menu",
					detail: "Memberikan dasar data akurat untuk menaikkan harga jual produk atau mengubah porsi resep."
				}]
			},
			printer: {
				title: "Panduan Instalasi & Pengaturan Printer Thermal (QZ Tray)",
				description: "Panduan langkah demi langkah untuk mengonfigurasi printer thermal kasir (58mm/80mm) menggunakan QZ Tray untuk melakukan pencetakan otomatis (silent printing) langsung dari web browser.",
				steps: [
					{
						title: "Unduh & Instal Aplikasi QZ Tray",
						desc: "Unduh versi terbaru QZ Tray di website resmi <a href=\"https://qz.io/download/\" target=\"_blank\" class=\"text-[#8c5a3c] dark:text-[#a17150] underline font-bold\">qz.io/download</a>. Ikuti proses instalasi standar hingga selesai dan pastikan aplikasi QZ Tray berjalan di latar belakang (ikon QZ hijau di taskbar Windows kanan bawah)."
					},
					{
						title: "Instal Driver Printer Thermal",
						desc: "Hubungkan printer thermal kasir/dapur Anda ke komputer. Instal driver resmi printer tersebut (misalnya driver POS-58 atau POS-80). Lakukan <strong>\"Print Test Page\"</strong> lewat Control Panel Windows untuk memastikan printer telah berfungsi normal di level sistem operasi."
					},
					{
						title: "Atur Nama Printer di Windows",
						desc: "Beri nama printer Anda dengan nama yang sederhana dan unik (contoh: <code>POS-58</code> untuk kasir, <code>Dapur-Printer</code> untuk dapur) di menu <strong>Printers & Scanners</strong> Windows. Hindari spasi berlebih atau karakter khusus agar mudah diidentifikasi."
					},
					{
						title: "Konfigurasi Printer di CafePOS",
						desc: "Buka Halaman Kasir (POS) atau halaman Riwayat Transaksi di sistem CafePOS, lalu klik tombol **\"Pengaturan Printer\"** (ikon roda gigi Settings). Ubah metode pencetakan ke **\"QZ Tray (Cetak Otomatis / Silent)\"**."
					},
					{
						title: "Hubungkan & Simpan Preferensi",
						desc: "Klik **\"Hubungkan Ulang / Cek Koneksi\"** hingga status QZ Tray berubah menjadi hijau (Terhubung). Pilih printer kasir dan printer dapur Anda dari menu dropdown yang muncul secara otomatis, aktifkan opsi Auto-Print sesuai kebutuhan, kemudian klik **\"Simpan Pengaturan\"**."
					}
				],
				connections: [{
					from: "Aplikasi QZ Tray",
					to: "Mesin Printer Windows",
					detail: "Menjembatani browser web ke port printer lokal secara aman (WebSocket)."
				}, {
					from: "Checkout Kasir POS",
					to: "Cetak Struk Silent",
					detail: "Mengirim perintah cetak langsung ke printer terdaftar secara instan tanpa memunculkan dialog."
				}]
			}
		};
		const filteredGuides = computed(() => {
			if (!searchQuery.value) return guides;
			const query = searchQuery.value.toLowerCase();
			const result = {};
			Object.entries(guides).forEach(([key, value]) => {
				const matchesTitle = value.title.toLowerCase().includes(query);
				const matchesDesc = value.description.toLowerCase().includes(query);
				const matchesSteps = value.steps.some((step) => step.title.toLowerCase().includes(query) || step.desc.toLowerCase().includes(query));
				if (matchesTitle || matchesDesc || matchesSteps) result[key] = value;
			});
			return result;
		});
		return (_ctx, _push, _parent, _attrs) => {
			_push(`<!--[-->`);
			_push(ssrRenderComponent(unref(Head), { title: "Panduan Penggunaan Sistem" }, null, _parent));
			_push(ssrRenderComponent(AdminLayout_default, null, {
				default: withCtx((_, _push, _parent, _scopeId) => {
					if (_push) {
						_push(`<div class="space-y-6"${_scopeId}><div class="flex flex-col md:flex-row md:items-center justify-between gap-4"${_scopeId}><div${_scopeId}><h1 class="text-2xl font-bold tracking-tight text-slate-900 dark:text-slate-50 flex items-center gap-2"${_scopeId}>`);
						_push(ssrRenderComponent(unref(BookOpen), { class: "h-6 w-6 text-[#8c5a3c]" }, null, _parent, _scopeId));
						_push(`<span${_scopeId}>Panduan Alur Sistem CafePOS</span></h1><p class="text-sm text-slate-500 dark:text-slate-400 mt-1"${_scopeId}> Pahami cara kerja setiap modul, langkah operasional, serta bagaimana data terintegrasi satu sama lain. </p></div><div class="relative w-full md:w-80"${_scopeId}>`);
						_push(ssrRenderComponent(unref(Search), { class: "absolute left-3.5 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-450 dark:text-slate-550" }, null, _parent, _scopeId));
						_push(`<input${ssrRenderAttr("value", searchQuery.value)} type="text" placeholder="Cari fitur atau alur kerja..." class="w-full h-10 pl-10 pr-4 border border-slate-200 dark:border-slate-800 rounded-xl bg-white dark:bg-slate-950 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-[#8c5a3c]/20 focus:border-[#8c5a3c] text-slate-900 dark:text-slate-100"${_scopeId}></div></div><div class="flex flex-col md:flex-row gap-6 w-full"${_scopeId}><div class="w-full md:w-64 flex-shrink-0 space-y-2"${_scopeId}><!--[-->`);
						ssrRenderList(tabs, (tab) => {
							_push(`<button class="${ssrRenderClass([activeTab.value === tab.id ? "bg-[#8c5a3c] border-[#8c5a3c] text-white shadow-md" : "bg-white dark:bg-slate-950 border-slate-200 dark:border-slate-800 text-slate-700 dark:text-slate-400 hover:bg-slate-50 dark:hover:bg-slate-900/50 hover:border-slate-350 dark:hover:border-slate-700", "w-full px-4 py-3.5 rounded-xl border text-left text-xs font-bold transition-all duration-200 flex items-center gap-3 cursor-pointer"])}"${_scopeId}>`);
							ssrRenderVNode(_push, createVNode(resolveDynamicComponent(tab.icon), { class: "h-4.5 w-4.5" }, null), _parent, _scopeId);
							_push(`<span${_scopeId}>${ssrInterpolate(tab.name)}</span></button>`);
						});
						_push(`<!--]--></div><div class="flex-1 space-y-6 min-w-0"${_scopeId}>`);
						if (filteredGuides.value[activeTab.value]) {
							_push(`<div class="w-full bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-6 shadow-sm space-y-6"${_scopeId}><div class="space-y-2"${_scopeId}><h2 class="text-lg font-extrabold text-slate-900 dark:text-slate-100"${_scopeId}>${ssrInterpolate(filteredGuides.value[activeTab.value].title)}</h2><p class="text-xs text-slate-500 dark:text-slate-400 leading-relaxed"${_scopeId}>${ssrInterpolate(filteredGuides.value[activeTab.value].description)}</p></div><div class="space-y-4"${_scopeId}><h3 class="text-xs font-bold uppercase text-slate-400 tracking-wider"${_scopeId}>Langkah-Langkah Operasional</h3><div class="grid grid-cols-1 gap-3"${_scopeId}><!--[-->`);
							ssrRenderList(filteredGuides.value[activeTab.value].steps, (step, idx) => {
								_push(`<div class="w-full border border-slate-100 dark:border-slate-800 bg-slate-50/30 dark:bg-slate-900/10 rounded-xl p-4 flex gap-4 items-start"${_scopeId}><span class="h-6 w-6 rounded-full bg-[#8c5a3c]/10 text-[#8c5a3c] flex items-center justify-center text-[10px] font-bold flex-shrink-0"${_scopeId}>${ssrInterpolate(idx + 1)}</span><div class="space-y-1"${_scopeId}><h4 class="text-xs font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>${ssrInterpolate(step.title)}</h4><p class="text-xs text-slate-500 dark:text-slate-400 leading-relaxed"${_scopeId}>${step.desc ?? ""}</p></div></div>`);
							});
							_push(`<!--]--></div></div><div class="space-y-4 pt-4 border-t border-slate-100 dark:border-slate-800"${_scopeId}><h3 class="text-xs font-bold uppercase text-slate-400 tracking-wider"${_scopeId}>Bagaimana Data Terhubung &amp; Mengalir</h3><div class="space-y-3"${_scopeId}><!--[-->`);
							ssrRenderList(filteredGuides.value[activeTab.value].connections, (conn, idx) => {
								_push(`<div class="w-full flex flex-col sm:flex-row sm:items-center gap-3 text-xs bg-amber-555/5 dark:bg-amber-500/5 border border-amber-500/10 p-3.5 rounded-xl"${_scopeId}><div class="flex items-center gap-2 font-bold text-slate-800 dark:text-slate-200"${_scopeId}><span class="px-2 py-0.5 bg-slate-200 dark:bg-slate-800 rounded font-mono text-[10px]"${_scopeId}>${ssrInterpolate(conn.from)}</span>`);
								_push(ssrRenderComponent(unref(ArrowRight), { class: "h-3.5 w-3.5 text-slate-400" }, null, _parent, _scopeId));
								_push(`<span class="px-2 py-0.5 bg-[#8c5a3c] text-white rounded font-mono text-[10px]"${_scopeId}>${ssrInterpolate(conn.to)}</span></div><div class="sm:border-l border-slate-200 dark:border-slate-800 sm:pl-3 text-slate-500 dark:text-slate-400"${_scopeId}>${ssrInterpolate(conn.detail)}</div></div>`);
							});
							_push(`<!--]--></div></div></div>`);
						} else _push(`<div class="bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-8 text-center text-slate-400 italic"${_scopeId}> Hasil pencarian tidak ditemukan. Silakan masukkan kata kunci pencarian yang lain. </div>`);
						_push(`</div></div><div class="w-full bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-6 shadow-sm space-y-6"${_scopeId}><div class="flex items-center gap-2 pb-3 border-b border-slate-100 dark:border-slate-800"${_scopeId}>`);
						_push(ssrRenderComponent(unref(HelpCircle), { class: "h-5 w-5 text-[#8c5a3c]" }, null, _parent, _scopeId));
						_push(`<h2 class="text-sm font-extrabold text-slate-900 dark:text-slate-100"${_scopeId}>Pertanyaan yang Sering Diajukan (FAQ)</h2></div><div class="grid grid-cols-1 md:grid-cols-2 gap-6 text-xs leading-relaxed"${_scopeId}><div class="space-y-1.5"${_scopeId}><h4 class="font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>Q: Mengapa status QZ Tray saya selalu &#39;Terputus&#39; di menu pengaturan?</h4><p class="text-slate-500 dark:text-slate-400"${_scopeId}> A: Pastikan aplikasi QZ Tray di komputer Anda sudah dijalankan (ikon hijau di system tray). Jika belum, buka aplikasi QZ Tray lewat start menu Windows. Jika ikon berwarna kuning/merah, klik kanan ikon tersebut dan pilih &#39;Reload&#39; atau periksa port 8182 tidak terblokir firewall. </p></div><div class="space-y-1.5"${_scopeId}><h4 class="font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>Q: Mengapa stok bahan baku di gudang saya tidak berkurang otomatis?</h4><p class="text-slate-500 dark:text-slate-400"${_scopeId}> A: Pastikan menu produk tersebut sudah dikaitkan dengan bahan baku mentah di menu <strong${_scopeId}>Recipe Manager (BOM)</strong>. Jika resep belum dibuat, sistem tidak memiliki data bahan baku mana yang harus dikurangi saat transaksi penjualan terjadi. </p></div><div class="space-y-1.5"${_scopeId}><h4 class="font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>Q: Bagaimana cara kerja status PO &#39;Draft&#39;, &#39;Sent&#39;, dan &#39;Received&#39;?</h4><p class="text-slate-500 dark:text-slate-400"${_scopeId}> A: PO dimulai sebagai <strong${_scopeId}>Draft</strong> (bisa diubah/dihapus). Setelah dikonfirmasi, ubah ke <strong${_scopeId}>Sent</strong> (sedang dikirim supplier). Ketika barang fisik datang, klik <strong${_scopeId}>Terima Barang (Received)</strong> untuk otomatis menambah stok inventori di sistem. </p></div><div class="space-y-1.5"${_scopeId}><h4 class="font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>Q: Siapa yang dapat melihat Laporan Finansial dan Rasio Food Cost?</h4><p class="text-slate-500 dark:text-slate-400"${_scopeId}> A: Hanya pengguna dengan Role <strong${_scopeId}>Owner</strong> atau peran yang diberikan izin khusus <code${_scopeId}>report.view</code> yang dapat mengakses halaman analitik. Kasir dan Dapur dibatasi aksesnya demi kerahasiaan data finansial perusahaan. </p></div><div class="space-y-1.5"${_scopeId}><h4 class="font-extrabold text-slate-900 dark:text-slate-150"${_scopeId}>Q: Apakah pesanan Self-Order QR otomatis terkirim ke dapur?</h4><p class="text-slate-500 dark:text-slate-400"${_scopeId}> A: Ya, setelah pelanggan menyelesaikan checkout (melalui QRIS lunas atau pilihan bayar di kasir), pesanan instan terkirim ke layar <strong${_scopeId}>Kitchen Display System (KDS)</strong> secara real-time tanpa campur tangan kasir. </p></div></div></div></div>`);
					} else return [createVNode("div", { class: "space-y-6" }, [
						createVNode("div", { class: "flex flex-col md:flex-row md:items-center justify-between gap-4" }, [createVNode("div", null, [createVNode("h1", { class: "text-2xl font-bold tracking-tight text-slate-900 dark:text-slate-50 flex items-center gap-2" }, [createVNode(unref(BookOpen), { class: "h-6 w-6 text-[#8c5a3c]" }), createVNode("span", null, "Panduan Alur Sistem CafePOS")]), createVNode("p", { class: "text-sm text-slate-500 dark:text-slate-400 mt-1" }, " Pahami cara kerja setiap modul, langkah operasional, serta bagaimana data terintegrasi satu sama lain. ")]), createVNode("div", { class: "relative w-full md:w-80" }, [createVNode(unref(Search), { class: "absolute left-3.5 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-450 dark:text-slate-550" }), withDirectives(createVNode("input", {
							"onUpdate:modelValue": ($event) => searchQuery.value = $event,
							type: "text",
							placeholder: "Cari fitur atau alur kerja...",
							class: "w-full h-10 pl-10 pr-4 border border-slate-200 dark:border-slate-800 rounded-xl bg-white dark:bg-slate-950 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-[#8c5a3c]/20 focus:border-[#8c5a3c] text-slate-900 dark:text-slate-100"
						}, null, 8, ["onUpdate:modelValue"]), [[vModelText, searchQuery.value]])])]),
						createVNode("div", { class: "flex flex-col md:flex-row gap-6 w-full" }, [createVNode("div", { class: "w-full md:w-64 flex-shrink-0 space-y-2" }, [(openBlock(), createBlock(Fragment, null, renderList(tabs, (tab) => {
							return createVNode("button", {
								key: tab.id,
								onClick: ($event) => activeTab.value = tab.id,
								class: ["w-full px-4 py-3.5 rounded-xl border text-left text-xs font-bold transition-all duration-200 flex items-center gap-3 cursor-pointer", activeTab.value === tab.id ? "bg-[#8c5a3c] border-[#8c5a3c] text-white shadow-md" : "bg-white dark:bg-slate-950 border-slate-200 dark:border-slate-800 text-slate-700 dark:text-slate-400 hover:bg-slate-50 dark:hover:bg-slate-900/50 hover:border-slate-350 dark:hover:border-slate-700"]
							}, [(openBlock(), createBlock(resolveDynamicComponent(tab.icon), { class: "h-4.5 w-4.5" })), createVNode("span", null, toDisplayString(tab.name), 1)], 10, ["onClick"]);
						}), 64))]), createVNode("div", { class: "flex-1 space-y-6 min-w-0" }, [filteredGuides.value[activeTab.value] ? (openBlock(), createBlock("div", {
							key: 0,
							class: "w-full bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-6 shadow-sm space-y-6"
						}, [
							createVNode("div", { class: "space-y-2" }, [createVNode("h2", { class: "text-lg font-extrabold text-slate-900 dark:text-slate-100" }, toDisplayString(filteredGuides.value[activeTab.value].title), 1), createVNode("p", { class: "text-xs text-slate-500 dark:text-slate-400 leading-relaxed" }, toDisplayString(filteredGuides.value[activeTab.value].description), 1)]),
							createVNode("div", { class: "space-y-4" }, [createVNode("h3", { class: "text-xs font-bold uppercase text-slate-400 tracking-wider" }, "Langkah-Langkah Operasional"), createVNode("div", { class: "grid grid-cols-1 gap-3" }, [(openBlock(true), createBlock(Fragment, null, renderList(filteredGuides.value[activeTab.value].steps, (step, idx) => {
								return openBlock(), createBlock("div", {
									key: idx,
									class: "w-full border border-slate-100 dark:border-slate-800 bg-slate-50/30 dark:bg-slate-900/10 rounded-xl p-4 flex gap-4 items-start"
								}, [createVNode("span", { class: "h-6 w-6 rounded-full bg-[#8c5a3c]/10 text-[#8c5a3c] flex items-center justify-center text-[10px] font-bold flex-shrink-0" }, toDisplayString(idx + 1), 1), createVNode("div", { class: "space-y-1" }, [createVNode("h4", { class: "text-xs font-extrabold text-slate-900 dark:text-slate-150" }, toDisplayString(step.title), 1), createVNode("p", {
									class: "text-xs text-slate-500 dark:text-slate-400 leading-relaxed",
									innerHTML: step.desc
								}, null, 8, ["innerHTML"])])]);
							}), 128))])]),
							createVNode("div", { class: "space-y-4 pt-4 border-t border-slate-100 dark:border-slate-800" }, [createVNode("h3", { class: "text-xs font-bold uppercase text-slate-400 tracking-wider" }, "Bagaimana Data Terhubung & Mengalir"), createVNode("div", { class: "space-y-3" }, [(openBlock(true), createBlock(Fragment, null, renderList(filteredGuides.value[activeTab.value].connections, (conn, idx) => {
								return openBlock(), createBlock("div", {
									key: idx,
									class: "w-full flex flex-col sm:flex-row sm:items-center gap-3 text-xs bg-amber-555/5 dark:bg-amber-500/5 border border-amber-500/10 p-3.5 rounded-xl"
								}, [createVNode("div", { class: "flex items-center gap-2 font-bold text-slate-800 dark:text-slate-200" }, [
									createVNode("span", { class: "px-2 py-0.5 bg-slate-200 dark:bg-slate-800 rounded font-mono text-[10px]" }, toDisplayString(conn.from), 1),
									createVNode(unref(ArrowRight), { class: "h-3.5 w-3.5 text-slate-400" }),
									createVNode("span", { class: "px-2 py-0.5 bg-[#8c5a3c] text-white rounded font-mono text-[10px]" }, toDisplayString(conn.to), 1)
								]), createVNode("div", { class: "sm:border-l border-slate-200 dark:border-slate-800 sm:pl-3 text-slate-500 dark:text-slate-400" }, toDisplayString(conn.detail), 1)]);
							}), 128))])])
						])) : (openBlock(), createBlock("div", {
							key: 1,
							class: "bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-8 text-center text-slate-400 italic"
						}, " Hasil pencarian tidak ditemukan. Silakan masukkan kata kunci pencarian yang lain. "))])]),
						createVNode("div", { class: "w-full bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 rounded-2xl p-6 shadow-sm space-y-6" }, [createVNode("div", { class: "flex items-center gap-2 pb-3 border-b border-slate-100 dark:border-slate-800" }, [createVNode(unref(HelpCircle), { class: "h-5 w-5 text-[#8c5a3c]" }), createVNode("h2", { class: "text-sm font-extrabold text-slate-900 dark:text-slate-100" }, "Pertanyaan yang Sering Diajukan (FAQ)")]), createVNode("div", { class: "grid grid-cols-1 md:grid-cols-2 gap-6 text-xs leading-relaxed" }, [
							createVNode("div", { class: "space-y-1.5" }, [createVNode("h4", { class: "font-extrabold text-slate-900 dark:text-slate-150" }, "Q: Mengapa status QZ Tray saya selalu 'Terputus' di menu pengaturan?"), createVNode("p", { class: "text-slate-500 dark:text-slate-400" }, " A: Pastikan aplikasi QZ Tray di komputer Anda sudah dijalankan (ikon hijau di system tray). Jika belum, buka aplikasi QZ Tray lewat start menu Windows. Jika ikon berwarna kuning/merah, klik kanan ikon tersebut dan pilih 'Reload' atau periksa port 8182 tidak terblokir firewall. ")]),
							createVNode("div", { class: "space-y-1.5" }, [createVNode("h4", { class: "font-extrabold text-slate-900 dark:text-slate-150" }, "Q: Mengapa stok bahan baku di gudang saya tidak berkurang otomatis?"), createVNode("p", { class: "text-slate-500 dark:text-slate-400" }, [
								createTextVNode(" A: Pastikan menu produk tersebut sudah dikaitkan dengan bahan baku mentah di menu "),
								createVNode("strong", null, "Recipe Manager (BOM)"),
								createTextVNode(". Jika resep belum dibuat, sistem tidak memiliki data bahan baku mana yang harus dikurangi saat transaksi penjualan terjadi. ")
							])]),
							createVNode("div", { class: "space-y-1.5" }, [createVNode("h4", { class: "font-extrabold text-slate-900 dark:text-slate-150" }, "Q: Bagaimana cara kerja status PO 'Draft', 'Sent', dan 'Received'?"), createVNode("p", { class: "text-slate-500 dark:text-slate-400" }, [
								createTextVNode(" A: PO dimulai sebagai "),
								createVNode("strong", null, "Draft"),
								createTextVNode(" (bisa diubah/dihapus). Setelah dikonfirmasi, ubah ke "),
								createVNode("strong", null, "Sent"),
								createTextVNode(" (sedang dikirim supplier). Ketika barang fisik datang, klik "),
								createVNode("strong", null, "Terima Barang (Received)"),
								createTextVNode(" untuk otomatis menambah stok inventori di sistem. ")
							])]),
							createVNode("div", { class: "space-y-1.5" }, [createVNode("h4", { class: "font-extrabold text-slate-900 dark:text-slate-150" }, "Q: Siapa yang dapat melihat Laporan Finansial dan Rasio Food Cost?"), createVNode("p", { class: "text-slate-500 dark:text-slate-400" }, [
								createTextVNode(" A: Hanya pengguna dengan Role "),
								createVNode("strong", null, "Owner"),
								createTextVNode(" atau peran yang diberikan izin khusus "),
								createVNode("code", null, "report.view"),
								createTextVNode(" yang dapat mengakses halaman analitik. Kasir dan Dapur dibatasi aksesnya demi kerahasiaan data finansial perusahaan. ")
							])]),
							createVNode("div", { class: "space-y-1.5" }, [createVNode("h4", { class: "font-extrabold text-slate-900 dark:text-slate-150" }, "Q: Apakah pesanan Self-Order QR otomatis terkirim ke dapur?"), createVNode("p", { class: "text-slate-500 dark:text-slate-400" }, [
								createTextVNode(" A: Ya, setelah pelanggan menyelesaikan checkout (melalui QRIS lunas atau pilihan bayar di kasir), pesanan instan terkirim ke layar "),
								createVNode("strong", null, "Kitchen Display System (KDS)"),
								createTextVNode(" secara real-time tanpa campur tangan kasir. ")
							])])
						])])
					])];
				}),
				_: 1
			}, _parent));
			_push(`<!--]-->`);
		};
	}
});
//#endregion
//#region resources/js/Pages/CafePOS/Guide/Index.vue
var _sfc_setup = Index_vue_vue_type_script_setup_true_lang_default.setup;
Index_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
	const ssrContext = useSSRContext();
	(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("resources/js/Pages/CafePOS/Guide/Index.vue");
	return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
var Index_default = Index_vue_vue_type_script_setup_true_lang_default;
//#endregion
export { Index_default as default };
