{"tool":"phpunit","result":"failed","tests":1,"passed":0,"assertions":10,"duration_ms":3396,"failed":1,"failures":[{"test":"Tests\\Feature\\ExampleTest::test_transaction_report_cards_show_sales_and_profit_summary","file":"E:\\dt_store\\tests\\Feature\\ExampleTest.php","line":190,"message":"Failed asserting that '<!DOCTYPE html>\\n\n<html lang=\"id\" class=\"h-full\">\\n\n<head>\\n\n <meta charset=\"UTF-8\">\\n\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\\n\n <meta name=\"description\" content=\"Dashboard DT Store POS\">\\n\n <title>Laporan Transaksi \u2014 DT Store POS</title>\\n\n <link rel=\"icon\" href=\"http://localhost:8000/app_logo/logo1.png\">\\n\n \\n\n <link rel=\"preload\" as=\"style\" href=\"http://localhost:8000/build/assets/app-4Xn5fPUN.css\" /><link rel=\"modulepreload\" as=\"script\" href=\"http://localhost:8000/build/assets/app-BvRk9kiK.js\" /><link rel=\"stylesheet\" href=\"http://localhost:8000/build/assets/app-4Xn5fPUN.css\" /><script type=\"module\" src=\"http://localhost:8000/build/assets/app-BvRk9kiK.js\"></script> \\n\n <style>\\n\n :root { color-scheme: dark; }\\n\n html.light { color-scheme: light; }\\n\n html.light body { background: #f4f7f6; color: #17211d; }\\n\n html.light .sidebar, html.light .topbar { background: rgba(255, 255, 255, 0.92); border-color: rgba(15, 23, 42, 0.08); }\\n\n html.light .glass-panel, html.light .stat-card { background: rgba(255, 255, 255, 0.78); border-color: rgba(15, 23, 42, 0.08); }\\n\n html.light .text-white { color: #17211d; }\\n\n html.light .text-gray-300 { color: #40514a; }\\n\n html.light .text-gray-400 { color: #5d6d66; }\\n\n html.light .text-gray-500 { color: #71817a; }\\n\n html.light .text-gray-600 { color: #82918b; }\\n\n html.light .text-gray-700 { color: #64746c; }\\n\n html.light .bg-gray-800 { background: #dce7e2; }\\n\n html.light .border-white\\/5, html.light .border-white\\/10 { border-color: rgba(15, 23, 42, 0.08); }\\n\n html.light .hover\\:bg-white\\/5:hover, html.light .hover\\:bg-white\\/\\[0\\.02\\]:hover, html.light .hover\\:bg-white\\/\\[0\\.03\\]:hover { background: rgba(15, 23, 42, 0.04); }\\n\n \\n\n @keyframes slide-in-left {\\n\n from { opacity: 0; transform: translateX(-20px); }\\n\n to { opacity: 1; transform: translateX(0); }\\n\n }\\n\n @keyframes fade-up {\\n\n from { opacity: 0; transform: translateY(16px); }\\n\n to { opacity: 1; transform: translateY(0); }\\n\n }\\n\n @keyframes shimmer {\\n\n 0% { background-position: -200% center; }\\n\n 100% { background-position: 200% center; }\\n\n }\\n\n .animate-slide-in { animation: slide-in-left 0.5s ease both; }\\n\n .animate-fade-up { animation: fade-up 0.5s ease both; }\\n\n .animate-delay-1 { animation-delay: 0.1s; }\\n\n .animate-delay-2 { animation-delay: 0.2s; }\\n\n .animate-delay-3 { animation-delay: 0.3s; }\\n\n .animate-delay-4 { animation-delay: 0.4s; }\\n\n .animate-delay-5 { animation-delay: 0.5s; }\\n\n\\n\n .shimmer-text {\\n\n background: linear-gradient(90deg, #10b981, #34d399, #6ee7b7, #34d399, #10b981);\\n\n background-size: 200% auto;\\n\n -webkit-background-clip: text;\\n\n background-clip: text;\\n\n -webkit-text-fill-color: transparent;\\n\n animation: shimmer 3s linear infinite;\\n\n }\\n\n\\n\n /* Sidebar */\\n\n .sidebar { background: rgba(10, 10, 20, 0.95); border-right: 1px solid rgba(255,255,255,0.06); }\\n\n .nav-item { transition: all 0.2s ease; border-radius: 12px; }\\n\n .nav-item:hover { background: rgba(16, 185, 129, 0.08); color: #34d399; }\\n\n .nav-item.active { background: rgba(16, 185, 129, 0.15); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.2); }\\n\n .nav-item.active svg { color: #10b981; }\\n\n\\n\n /* Cards */\\n\n .stat-card { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); backdrop-filter: blur(12px); transition: all 0.3s ease; }\\n\n .stat-card:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(16, 185, 129, 0.25); transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); }\\n\n .glass-panel { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); backdrop-filter: blur(12px); }\\n\n\\n\n /* Topbar */\\n\n .topbar { background: rgba(10, 10, 20, 0.8); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,0.06); }\\n\n\\n\n /* Mobile sidebar overlay */\\n\n #sidebar-overlay { display: none; }\\n\n #sidebar-overlay.active { display: block; }\\n\n #sidebar.open { transform: translateX(0); }\\n\n #sidebar.collapsed { width: 5rem; }\\n\n #sidebar.collapsed .sidebar-label, #sidebar.collapsed .sidebar-brand, #sidebar.collapsed .sidebar-chevron { display: none; }\\n\n #sidebar.collapsed nav { padding-left: .75rem; padding-right: .75rem; }\\n\n #sidebar.collapsed .nav-item { justify-content: center; }\\n\n #sidebar.collapsed .nav-item span { display: none; }\\n\n #sidebar.collapsed .sidebar-section { display: none; }\\n\n #sidebar.collapsed .product-submenu { display: none; }\\n\n @media (max-width: 1023px) { #sidebar.collapsed { width: 16rem; } #sidebar.collapsed .sidebar-label, #sidebar.collapsed .sidebar-brand, #sidebar.collapsed .sidebar-chevron, #sidebar.collapsed .nav-item span, #sidebar.collapsed .sidebar-section, #sidebar.collapsed .product-submenu { display: block; } }\\n\n \\n\n .menu-trigger { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgba(255,255,255,.1); border-radius: .75rem; background: rgba(255,255,255,.04); transition: all .2s ease; }\\n\n .menu-trigger:hover { color: #34d399; border-color: rgba(52,211,153,.45); background: rgba(16,185,129,.1); }\\n\n .product-submenu { margin: .25rem 0 .5rem 1rem; padding: .35rem; border-left: 1px solid rgba(52,211,153,.25); border-radius: 0 .75rem .75rem 0; background: rgba(255,255,255,.025); }\\n\n .product-submenu a { border-radius: .625rem; transition: all .2s ease; }\\n\n .product-submenu a:hover { background: rgba(16,185,129,.1); color: #6ee7b7; transform: translateX(2px); }\\n\n .product-submenu a.active { background: rgba(16,185,129,.14); color: #6ee7b7; }\\n\n .user-topbar { display: flex; align-items: center; gap: .65rem; padding-left: .8rem; border-left: 1px solid rgba(255,255,255,.1); }\\n\n .user-topbar .user-meta { max-width: 10rem; }\\n\n @media (max-width: 639px) { .user-topbar .user-meta { display: none; } .user-topbar { padding-left: .5rem; } }\\n\n\\n\n /* Badges & Progress */\\n\n .badge-success { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.25); }\\n\n .badge-warning { background: rgba(245, 158, 11, 0.15); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.25); }\\n\n .badge-danger { background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.25); }\\n\n .progress-bar { transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1); }\\n\n\\n\n /* Scrollbar */\\n\n ::-webkit-scrollbar { width: 4px; }\\n\n ::-webkit-scrollbar-track { background: transparent; }\\n\n ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 4px; }\\n\n </style>\\n\n </head>\\n\n<body class=\"h-full bg-gray-950 text-white flex overflow-hidden\">\\n\n\\n\n \\n\n <div id=\"sidebar-overlay\" class=\"fixed inset-0 bg-black/60 z-40 lg:hidden\" onclick=\"toggleSidebar()\"></div>\\n\n\\n\n \\n\n <aside id=\"sidebar\" class=\"sidebar fixed lg:relative z-50 h-full w-64 flex flex-col -translate-x-full lg:translate-x-0 transition-transform duration-300 shrink-0 \">\\n\n\\n\n \\n\n <div class=\"p-6 border-b border-white/5\">\\n\n <div class=\"flex items-center gap-3\">\\n\n <div class=\"w-10 h-10 rounded-xl bg-gradient-to-br from-emerald-400 to-emerald-600 flex items-center justify-center shadow-lg shrink-0\">\\n\n <span class=\"text-white font-bold text-sm\">DT</span>\\n\n </div>\\n\n <div class=\"sidebar-brand\">\\n\n <p class=\"shimmer-text font-bold text-lg leading-none truncate max-w-40\">Nama Toko</p>\\n\n <p class=\"text-gray-500 text-xs mt-0.5\">Point of Sale</p>\\n\n </div>\\n\n </div>\\n\n </div>\\n\n\\n\n \\n\n <nav class=\"flex-1 p-4 space-y-1 overflow-y-auto\">\\n\n <p class=\"sidebar-section text-gray-600 text-xs font-semibold uppercase tracking-widest px-3 pb-2 pt-1\">Menu Utama</p>\\n\n\\n\n <a href=\"http://localhost:8000/dashboard\" class=\"nav-item text-gray-400 flex items-center gap-3 px-3 py-2.5 text-sm font-medium\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Dashboard</span>\\n\n </a>\\n\n <a href=\"http://localhost:8000/pos\" class=\"nav-item flex items-center gap-3 px-3 py-2.5 text-sm font-medium text-gray-400\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Point Of Sale</span>\\n\n </a>\\n\n\\n\n <a href=\"http://localhost:8000/pos/transactions\" class=\"nav-item flex items-center gap-3 px-3 py-2.5 text-sm font-medium active\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Laporan Transaksi</span>\\n\n </a>\\n\n\\n\n <button type=\"button\" onclick=\"toggleProductMenu()\" class=\"nav-item w-full flex items-center gap-3 px-3 py-2.5 text-sm font-medium text-gray-400\" aria-controls=\"product-menu\" aria-expanded=\"false\">\\n\n <svg class=\"w-5 h-5 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Produk</span>\\n\n <svg class=\"sidebar-chevron ml-auto w-4 h-4 transition-transform\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M6 9l6 6 6-6\"/></svg>\\n\n </button>\\n\n <div id=\"product-menu\" class=\"product-submenu space-y-1 hidden\">\\n\n <a href=\"http://localhost:8000/categories\" class=\"text-gray-400 flex items-center gap-3 px-3 py-2 text-xs font-medium\"><svg class=\"w-4 h-4 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.6\" d=\"M4 6h16M4 12h10M4 18h16\"/></svg><span>Data kategori</span></a>\\n\n <a href=\"http://localhost:8000/products\" class=\"text-gray-400 flex items-center gap-3 px-3 py-2 text-xs font-medium\"><svg class=\"w-4 h-4 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.6\" d=\"M5 7h14M5 12h14M5 17h14\"/></svg><span>Data produk</span></a>\\n\n <a href=\"http://localhost:8000/products/stock\" class=\"text-gray-400 flex items-center gap-3 px-3 py-2 text-xs font-medium\"><svg class=\"w-4 h-4 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.6\" d=\"M4 19V5m0 14h16M8 16v-4m4 4V8m4 8v-7\"/></svg><span>Stok produk</span></a>\\n\n </div>\\n\n\\n\n <a href=\"#\" class=\"nav-item flex items-center gap-3 px-3 py-2.5 text-sm font-medium text-gray-400\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Data Invoice</span>\\n\n </a>\\n\n\\n\n <a href=\"#\" class=\"nav-item flex items-center gap-3 px-3 py-2.5 text-sm font-medium text-gray-400\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Laporan</span>\\n\n </a>\\n\n\\n\n <div class=\"pt-4\">\\n\n <p class=\"sidebar-section text-gray-600 text-xs font-semibold uppercase tracking-widest px-3 pb-2\">Pengaturan</p>\\n\n <a href=\"http://localhost:8000/store-profile\" class=\"nav-item flex items-center gap-3 px-3 py-2.5 text-sm font-medium text-gray-400\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"/>\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\\n\n </svg>\\n\n <span class=\"sidebar-label\">Profil Toko</span>\\n\n </a>\\n\n </div>\\n\n </nav>\\n\n</aside>\\n\n \\n\n <div class=\"flex-1 flex flex-col h-screen overflow-hidden\">\\n\n\\n\n \\n\n <header class=\"topbar px-4 py-2 flex items-center gap-4 shrink-0 transition-all\">\\n\n \\n\n <button onclick=\"toggleSidebar()\" class=\"menu-trigger text-gray-300 !w-8 !h-8\" title=\"Buka menu navigasi\" aria-label=\"Buka menu navigasi\">\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M4 7h16M4 12h16M4 17h16\"/>\\n\n </svg>\\n\n </button>\\n\n\\n\n \\n\n <div class=\"flex-1\">\\n\n <h1 class=\"text-base font-semibold text-white\">Laporan Transaksi</h1>\\n\n </div>\\n\n\\n\n \\n\n <div class=\"flex items-center gap-2 sm:gap-3\">\\n\n \\n\n <button id=\"theme-toggle\" type=\"button\" onclick=\"toggleTheme()\" class=\"p-1.5 text-gray-400 hover:text-white hover:bg-white/5 rounded-xl transition-all\" title=\"Ganti mode warna\">\\n\n <svg id=\"theme-sun\" class=\"w-4 h-4 hidden\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m16.364-6.364l-.707.707M5.343 18.657l-.707.707m0-14.142l.707.707m12.728 12.728l.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\"/></svg>\\n\n <svg id=\"theme-moon\" class=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\"/></svg>\\n\n </button>\\n\n\\n\n \\n\n <button class=\"relative p-1.5 text-gray-400 hover:text-white hover:bg-white/5 rounded-xl transition-all\" title=\"Notifikasi\">\\n\n <svg class=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"/>\\n\n </svg>\\n\n <span class=\"absolute top-1 right-1 w-2 h-2 bg-emerald-500 rounded-full\"></span>\\n\n </button>\\n\n\\n\n \\n\n <div class=\"user-topbar\">\\n\n <div class=\"w-7 h-7 text-[10px] rounded-full bg-gradient-to-br from-emerald-400 to-teal-500 flex items-center justify-center font-bold shrink-0\" title=\"Mark Sanford\">\\n\n MA\\n\n </div>\\n\n <form action=\"http://localhost:8000/logout\" method=\"POST\">\\n\n <input type=\"hidden\" name=\"_token\" value=\"4OqcGzdzuD4NHyS4DLo0pLY1P8ALe4aJ1wwACbrW\" autocomplete=\"off\"> <button type=\"submit\" class=\"menu-trigger !w-7 !h-7 !border-transparent !bg-transparent text-gray-400 hover:text-red-400\" title=\"Keluar\" aria-label=\"Keluar\">\\n\n <svg class=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\\n\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.7\" d=\"M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4m-4-4l4-4m0 0l-4-4m4 4H3\"/>\\n\n </svg>\\n\n </button>\\n\n </form>\\n\n </div>\\n\n </div>\\n\n</header>\\n\n \\n\n <main class=\"flex-1 flex flex-col overflow-hidden\">\\n\n <div class=\"flex-1 flex flex-col h-full\">\\n\n <div x-data=\"transactionPage()\" class=\"space-y-4\">\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-4\">\\r\\n\n <div class=\"glass-panel rounded-xl p-4 flex items-center gap-4\">\\r\\n\n <div class=\"w-10 h-10 rounded-lg bg-emerald-500/10 text-emerald-400 flex items-center justify-center shrink-0\">\\r\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"/></svg>\\r\\n\n </div>\\r\\n\n <div>\\r\\n\n <p class=\"text-gray-500 text-xs\">Total Transaksi</p>\\r\\n\n <p class=\"text-xl font-bold text-white\">1</p>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n\\r\\n\n <div class=\"glass-panel rounded-xl p-4 flex items-center gap-4\">\\r\\n\n <div class=\"w-10 h-10 rounded-lg bg-blue-500/10 text-blue-400 flex items-center justify-center shrink-0\">\\r\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"/></svg>\\r\\n\n </div>\\r\\n\n <div>\\r\\n\n <p class=\"text-gray-500 text-xs\">Total Penjualan</p>\\r\\n\n <p class=\"text-xl font-bold text-white\">Rp 320.000</p>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n\\r\\n\n <div class=\"glass-panel rounded-xl p-4 flex items-center gap-4\">\\r\\n\n <div class=\"w-10 h-10 rounded-lg bg-purple-500/10 text-purple-400 flex items-center justify-center shrink-0\">\\r\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\"/></svg>\\r\\n\n </div>\\r\\n\n <div>\\r\\n\n <p class=\"text-gray-500 text-xs\">Total Laba Kotor</p>\\r\\n\n <p class=\"text-xl font-bold text-white\">Rp 60.000</p>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n\\r\\n\n <div class=\"glass-panel rounded-xl p-4 flex items-center gap-4\">\\r\\n\n <div class=\"w-10 h-10 rounded-lg bg-amber-500/10 text-amber-400 flex items-center justify-center shrink-0\">\\r\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.8\" d=\"M9 19V6m0 13a2 2 0 01-2-2V8a2 2 0 012-2h2a2 2 0 012 2v9a2 2 0 01-2 2H9zm6-9h4M15 13h4M15 17h4\"/></svg>\\r\\n\n </div>\\r\\n\n <div>\\r\\n\n <p class=\"text-gray-500 text-xs\">Persentase Keuntungan</p>\\r\\n\n <p class=\"text-xl font-bold text-white\">18,8%</p>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"glass-panel rounded-2xl overflow-hidden\">\\r\\n\n \\r\\n\n <div class=\"px-6 py-4 border-b border-white/5 flex flex-wrap items-center gap-3\">\\r\\n\n <h2 class=\"text-base font-semibold text-white flex-1\">Riwayat Transaksi</h2>\\r\\n\n <form method=\"GET\" action=\"http://localhost:8000/pos/transactions\" class=\"flex flex-wrap gap-2 items-center\">\\r\\n\n <div class=\"flex items-center gap-1.5\">\\r\\n\n <label class=\"text-xs text-gray-500 shrink-0\">Dari</label>\\r\\n\n <input type=\"date\" name=\"date_from\" value=\"\"\\r\\n\n class=\"px-2.5 py-1.5 text-xs bg-white/5 border border-white/10 rounded-lg text-white focus:outline-none focus:border-emerald-500 transition-all\">\\r\\n\n </div>\\r\\n\n <div class=\"flex items-center gap-1.5\">\\r\\n\n <label class=\"text-xs text-gray-500 shrink-0\">Sampai</label>\\r\\n\n <input type=\"date\" name=\"date_to\" value=\"\"\\r\\n\n class=\"px-2.5 py-1.5 text-xs bg-white/5 border border-white/10 rounded-lg text-white focus:outline-none focus:border-emerald-500 transition-all\">\\r\\n\n </div>\\r\\n\n <button type=\"submit\" class=\"px-3 py-1.5 bg-emerald-500/20 hover:bg-emerald-500/30 text-emerald-400 text-xs font-medium rounded-lg border border-emerald-500/20 transition-colors\">\\r\\n\n Filter\\r\\n\n </button>\\r\\n\n </form>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"overflow-x-auto\">\\r\\n\n <table class=\"w-full text-sm text-left text-gray-300\">\\r\\n\n <thead class=\"text-xs uppercase text-gray-500 border-b border-white/5\">\\r\\n\n <tr>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">No. Transaksi</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">Waktu</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">Item</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">Total</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">Bayar</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold\">Kembalian</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold text-center\">Status</th>\\r\\n\n <th class=\"px-6 py-3 font-semibold text-right\">Detail</th>\\r\\n\n </tr>\\r\\n\n </thead>\\r\\n\n <tbody class=\"divide-y divide-white/5\">\\r\\n\n <tr class=\"hover:bg-white/[0.03] transition-colors\">\\r\\n\n <td class=\"px-6 py-3.5 font-mono font-medium text-white\">\\r\\n\n #000001\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 text-gray-400 text-xs\">\\r\\n\n <div>18 Sep 2026</div>\\r\\n\n <div class=\"text-gray-600\">02:12:09</div>\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5\">\\r\\n\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 bg-white/5 rounded-full text-xs text-gray-400\">\\r\\n\n 2 item\\r\\n\n </span>\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 font-semibold text-emerald-400\">\\r\\n\n Rp 160.000\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 text-gray-300\">\\r\\n\n Rp 160.000\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 text-gray-300\">\\r\\n\n Rp 0\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 text-center\">\\r\\n\n <span class=\"inline-flex items-center gap-1 px-2.5 py-1 bg-emerald-500/10 text-emerald-400 text-xs font-medium rounded-full border border-emerald-500/20\">\\r\\n\n <span class=\"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block\"></span>\\r\\n\n Berhasil\\r\\n\n </span>\\r\\n\n </td>\\r\\n\n <td class=\"px-6 py-3.5 text-right\">\\r\\n\n <button\\r\\n\n @click=\"openDetail({&quot;id&quot;:1,&quot;created_at&quot;:&quot;18 Sep 2026 02:12:09&quot;,&quot;total_amount&quot;:160000,&quot;paid_amount&quot;:160000,&quot;change_amount&quot;:0,&quot;note&quot;:&quot;Test transaksi&quot;,&quot;items&quot;:[{&quot;product_name&quot;:&quot;Beras 5kg&quot;,&quot;selling_price&quot;:50000,&quot;quantity&quot;:2,&quot;subtotal&quot;:100000},{&quot;product_name&quot;:&quot;Gula Pasir 1kg&quot;,&quot;selling_price&quot;:60000,&quot;quantity&quot;:1,&quot;subtotal&quot;:60000}]})\"\\r\\n\n class=\"text-gray-500 hover:text-white transition-colors p-1.5 rounded-lg hover:bg-white/5\">\\r\\n\n <svg class=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"/></svg>\\r\\n\n </button>\\r\\n\n </td>\\r\\n\n </tr>\\r\\n\n </tbody>\\r\\n\n </table>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div x-show=\"isDetailOpen\" style=\"display:none\" class=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\\r\\n\n <div x-show=\"isDetailOpen\" x-transition.opacity class=\"absolute inset-0 bg-black/80 backdrop-blur-sm\" @click=\"closeDetail()\"></div>\\r\\n\n <div x-show=\"isDetailOpen\"\\r\\n\n x-transition:enter=\"transition ease-out duration-200\"\\r\\n\n x-transition:enter-start=\"opacity-0 scale-95\"\\r\\n\n x-transition:enter-end=\"opacity-100 scale-100\"\\r\\n\n class=\"relative w-full max-w-lg glass-panel rounded-2xl overflow-hidden flex flex-col max-h-[85vh]\">\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"px-5 py-3.5 border-b border-white/10 flex justify-between items-center bg-white/5\">\\r\\n\n <div>\\r\\n\n <p class=\"text-xs text-gray-500 uppercase tracking-wide\">Detail Transaksi</p>\\r\\n\n <p class=\"text-white font-bold font-mono\" x-text=\"'#' + String(detail.id).padStart(6, '0')\"></p>\\r\\n\n </div>\\r\\n\n <button @click=\"closeDetail()\" class=\"text-gray-500 hover:text-white transition-colors p-1\">\\r\\n\n <svg class=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/></svg>\\r\\n\n </button>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"p-5 overflow-y-auto space-y-4\">\\r\\n\n <div class=\"flex justify-between text-sm\">\\r\\n\n <span class=\"text-gray-500\">Waktu</span>\\r\\n\n <span class=\"text-gray-300\" x-text=\"detail.created_at\"></span>\\r\\n\n </div>\\r\\n\n <template x-if=\"detail.note\">\\r\\n\n <div class=\"flex justify-between text-sm\">\\r\\n\n <span class=\"text-gray-500\">Catatan</span>\\r\\n\n <span class=\"text-gray-300\" x-text=\"detail.note\"></span>\\r\\n\n </div>\\r\\n\n </template>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"bg-black/20 rounded-xl border border-white/5 overflow-hidden\">\\r\\n\n <div class=\"px-4 py-2 border-b border-white/5\">\\r\\n\n <p class=\"text-xs font-semibold text-gray-500 uppercase tracking-wide\">Item Pembelian</p>\\r\\n\n </div>\\r\\n\n <template x-for=\"(item, index) in detail.items\" :key=\"index\">\\r\\n\n <div class=\"px-4 py-2.5 flex items-center justify-between border-b border-white/5 last:border-0\">\\r\\n\n <div>\\r\\n\n <p class=\"text-sm text-white font-medium\" x-text=\"item.product_name\"></p>\\r\\n\n <p class=\"text-xs text-gray-500\">\\r\\n\n <span x-text=\"'Rp ' + Number(item.selling_price).toLocaleString('id-ID')\"></span>\\r\\n\n <span class=\"mx-1\">\u00d7</span>\\r\\n\n <span x-text=\"item.quantity\"></span>\\r\\n\n </p>\\r\\n\n </div>\\r\\n\n <span class=\"text-emerald-400 font-semibold text-sm\" x-text=\"'Rp ' + Number(item.subtotal).toLocaleString('id-ID')\"></span>\\r\\n\n </div>\\r\\n\n </template>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"space-y-2 text-sm\">\\r\\n\n <div class=\"flex justify-between\">\\r\\n\n <span class=\"text-gray-500\">Total</span>\\r\\n\n <span class=\"text-white font-semibold\" x-text=\"'Rp ' + Number(detail.total_amount).toLocaleString('id-ID')\"></span>\\r\\n\n </div>\\r\\n\n <div class=\"flex justify-between\">\\r\\n\n <span class=\"text-gray-500\">Bayar</span>\\r\\n\n <span class=\"text-gray-300\" x-text=\"'Rp ' + Number(detail.paid_amount).toLocaleString('id-ID')\"></span>\\r\\n\n </div>\\r\\n\n <div class=\"flex justify-between pt-2 border-t border-white/5\">\\r\\n\n <span class=\"text-gray-400 font-medium\">Kembalian</span>\\r\\n\n <span class=\"text-white font-bold\" x-text=\"'Rp ' + Number(detail.change_amount).toLocaleString('id-ID')\"></span>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n\\r\\n\n \\r\\n\n <div class=\"px-5 py-3 border-t border-white/10 bg-white/5\">\\r\\n\n <span class=\"inline-flex items-center gap-1.5 px-3 py-1.5 bg-emerald-500/10 text-emerald-400 text-xs font-medium rounded-full border border-emerald-500/20\">\\r\\n\n <span class=\"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block\"></span>\\r\\n\n Transaksi Berhasil\\r\\n\n </span>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n </div>\\r\\n\n</div>\\r\\n\n\\r\\n\n </div>\\n\n\\n\n \\n\n </main>\\n\n\\n\n </div>\\n\n\\n\n \\n\n <script>\\n\n function toggleSidebar() {\\n\n const sidebar = document.getElementById('sidebar');\\n\n const overlay = document.getElementById('sidebar-overlay');\\n\n \\n\n if (window.innerWidth < 1024) {\\n\n sidebar.classList.toggle('-translate-x-full');\\n\n sidebar.classList.toggle('open');\\n\n overlay.classList.toggle('active');\\n\n } else {\\n\n sidebar.classList.toggle('collapsed');\\n\n }\\n\n }\\n\n\\n\n function toggleProductMenu() {\\n\n const menu = document.getElementById('product-menu');\\n\n menu.classList.toggle('hidden');\\n\n }\\n\n\\n\n function toggleTheme() {\\n\n const html = document.documentElement;\\n\n const sunIcon = document.getElementById('theme-sun');\\n\n const moonIcon = document.getElementById('theme-moon');\\n\n\\n\n html.classList.toggle('light');\\n\n if (html.classList.contains('light')) {\\n\n sunIcon.classList.remove('hidden');\\n\n moonIcon.classList.add('hidden');\\n\n } else {\\n\n sunIcon.classList.add('hidden');\\n\n moonIcon.classList.remove('hidden');\\n\n }\\n\n }\\n\n </script>\\n\n <script defer src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\"></script>\\r\\n\n<script>\\r\\n\n document.addEventListener('alpine:init', () => {\\r\\n\n Alpine.data('transactionPage', () => ({\\r\\n\n isDetailOpen: false,\\r\\n\n detail: {},\\r\\n\n openDetail(transaction) {\\r\\n\n this.detail = transaction;\\r\\n\n this.isDetailOpen = true;\\r\\n\n },\\r\\n\n closeDetail() {\\r\\n\n this.isDetailOpen = false;\\r\\n\n }\\r\\n\n }));\\r\\n\n });\\r\\n\n</script>\\r\\n\n</body>\\n\n</html>' [UTF-8](length: 32569) contains \"37,5%\" [ASCII](length: 5).","trace":["E:\\dt_store\\vendor\\laravel\\framework\\src\\Illuminate\\Testing\\TestResponseAssert.php:46","E:\\dt_store\\tests\\Feature\\ExampleTest.php:190"]}]}
