Ver Fonte

fix the report screen and fix other bugs

gdias há 4 meses atrás
pai
commit
99b21da515

+ 1 - 1
src/lib/component/Mananger.svelte

@@ -140,7 +140,7 @@
 	});
 </script>
 
-<div class="container mx-auto">
+<div class="container mx-auto h-screen">
 	<div class="flex flex-col">
 		<div class="mb-6 flex items-center justify-between">
 			<h1 class="text-2xl font-bold">Gerenciar Usuários</h1>

+ 2 - 1
src/lib/component/Menu.svelte

@@ -2,7 +2,7 @@
 	import Header from '$lib/layout/Header.svelte';
 	import { onMount } from 'svelte';
 	import { browser } from '$app/environment';
-	import { logo_id } from '$lib/utils/store';
+	import { logo_id, companyName_id } from '$lib/utils/store';
 
 	let categoriaSelecionada = null;
 	let cardapio = [];
@@ -29,6 +29,7 @@
 				logo_id.set(
 					'https://i.postimg.cc/bNNBcTZj/Whats-App-Image-2025-07-29-at-19-59-16-removebg-preview.png'
 				);
+				companyName_id.set('Bar do Ferlin');
 				break;
 		}
 

+ 14 - 17
src/lib/component/Report.svelte

@@ -9,11 +9,13 @@
 	let sortBy = 'date';
 	let sortDirection = 'desc';
 	let selectedSale = null;
+	let totalSales = null;
 
 	let token = null;
 	let company = null;
 	let orderId = null;
 	let csvDownload = [];
+	let topItems = [];
 
 	if (browser) {
 		token = localStorage.getItem('token');
@@ -29,7 +31,7 @@
 		const raw = JSON.stringify({
 			company_id: company,
 			page: 1,
-			limit: 20
+			limit: 10
 		});
 
 		const requestOptions = {
@@ -46,8 +48,7 @@
 			console.log(result);
 
 			if (result.status === 'ok' && result.data) {
-				// Converter o formato do endpoint para o formato de sales
-				sales = result.data.map((order) => ({
+				sales = result.data.orders.map((order) => ({
 					id: order.order_id,
 					timestamp: order.order_finished_at?.trim()
 						? order.order_finished_at
@@ -55,12 +56,16 @@
 					tableId: order.table_id,
 					items: order.items.map((item) => ({
 						productName: item.product_name,
-						quantity: 1, // Se o endpoint não informa quantidade, assumimos 1
+						quantity: 1,
 						priceAtSale: parseFloat(item.product_price)
 					})),
 					totalAmount: order.items.reduce((sum, item) => sum + parseFloat(item.product_price), 0),
-					paymentMethod: order.order_flag // Já vem como "Dinheiro", "PIX" etc.
+					paymentMethod: order.order_flag
 				}));
+
+				totalSales = Number(result.data.total_sales).toFixed(2);
+				topItems = result.data.top_items;
+				console.log(topItems);
 			} else {
 				console.error('Erro na resposta da API:', result.msg);
 			}
@@ -225,16 +230,15 @@
 		<div class="mb-6 grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-4">
 			<div class="rounded-lg bg-[#2C2C2E] p-4">
 				<h3 class="mb-2 text-sm text-[#A0A0A0]">Total em Vendas</h3>
-				<p class="text-2xl font-bold text-[#D4AF37]">R$ {salesSummary.total.toFixed(2)}</p>
-				<p class="mt-1 text-sm text-[#A0A0A0]">{salesSummary.count} itens vendidos</p>
+				<p class="text-2xl font-bold text-[#D4AF37]">R$ {totalSales}</p>
 			</div>
 			<div class="rounded-lg bg-[#2C2C2E] p-4">
 				<h3 class="mb-2 text-sm text-[#A0A0A0]">Produtos Mais Vendidos</h3>
 				<div class="space-y-1">
-					{#each salesSummary.topProducts.slice(0, 3) as [name, data]}
+					{#each topItems as topItem}
 						<div class="flex justify-between text-sm">
-							<span class="text-white">{name}</span>
-							<span class="text-[#A0A0A0]">{data.quantity}x</span>
+							<span class="text-white">{topItem.product_name}</span>
+							<span class="text-[#A0A0A0]">{topItem.sold_quantity}x</span>
 						</div>
 					{/each}
 				</div>
@@ -360,13 +364,6 @@
 								<td class="whitespace-nowrap px-6 py-4 text-sm"
 									>{getPaymentMethodName(sale.paymentMethod)}</td
 								>
-								<td class="whitespace-nowrap px-6 py-4 text-right">
-									<!-- <button
-										on:click|stopPropagation={() => handleCancelSale(sale.id)}
-										class="rounded-lg p-1.5 text-white"
-									>
-									</button> basicamente eh um botao para cancelar o item em especifico-->
-								</td>
 							</tr>
 						{/each}
 					{/if}

+ 2 - 2
src/lib/layout/Header.svelte

@@ -1,5 +1,5 @@
 <script>
-	import { logo_id } from '$lib/utils/store';
+	import { logo_id, companyName_id } from '$lib/utils/store';
 </script>
 
 <div class="flex w-full items-center justify-between bg-gray-900 p-6">
@@ -8,7 +8,7 @@
 
 	<!-- Centro: Titulo-->
 	<div class="absolute left-1/2 -translate-x-1/2 transform">
-		<p class="text-2xl font-bold text-white">BardoDu</p>
+		<p class="text-2xl font-bold text-white">{$companyName_id}</p>
 	</div>
 
 	<!-- Direita: -->

+ 5 - 3
src/lib/layout/SideBar.svelte

@@ -8,7 +8,7 @@
 	import close_icon from '$lib/assets/close_icon.svg';
 	import menu_icon from '$lib/assets/menu_icon.svg';
 	import { browser } from '$app/environment';
-	import { logo_id } from '$lib/utils/store';
+	import { logo_id, companyName_id } from '$lib/utils/store';
 	let flag = null;
 	let company;
 
@@ -45,11 +45,13 @@
 				logo_id.set(
 					'https://i.postimg.cc/bNNBcTZj/Whats-App-Image-2025-07-29-at-19-59-16-removebg-preview.png'
 				);
+				companyName_id.set('Bar do Ferlin');
 				break;
 			default:
 				logo_id.set(
 					'https://i.postimg.cc/7LPJk38W/beer-meal-24dp-EAC452-FILL0-wght400-GRAD0-opsz24.png'
 				);
+				companyName_id.set('Bar Management');
 				break;
 		}
 	});
@@ -72,7 +74,7 @@
 	<div class="hidden w-64 flex-col border-r border-gray-700 bg-gray-800 md:flex">
 		<div class=" flex h-16 items-center justify-center border-b border-gray-700">
 			<img src={$logo_id} alt="Logo" class="mr-2 h-8 w-8" />
-			<h1 class="text-xl font-semibold">Bar do Ferlin</h1>
+			<h1 class="text-xl font-semibold">{$companyName_id}</h1>
 		</div>
 		<div class="flex flex-1 flex-col overflow-y-auto">
 			<nav class="flex-1 space-y-2 px-2 py-4">
@@ -123,7 +125,7 @@
 					{/if}
 				</button>
 				<div class="flex items-center">
-					<img src={beer_green} class="mr-2 h-7 w-7 text-emerald-500" alt="Logo" />
+					<img src={$logo_id} class="mr-2 h-7 w-7 text-emerald-500" alt="Logo" />
 					<h1 class="text-lg font-semibold">Bar do Ferlin</h1>
 				</div>
 			</div>

+ 1 - 0
src/lib/utils/store.js

@@ -2,3 +2,4 @@ import { writable } from 'svelte/store';
 
 export const userFlag = writable('');
 export const logo_id = writable('');
+export const companyName_id = writable('');

+ 9 - 2
src/routes/forgotten/+page.svelte

@@ -3,7 +3,7 @@
 	import { goto } from '$app/navigation';
 	import beer_icon from '$lib/assets/beer_icon.svg';
 	import { browser } from '$app/environment';
-	import { logo_id } from '$lib/utils/store';
+	import { logo_id, companyName_id } from '$lib/utils/store';
 
 	let company;
 
@@ -27,6 +27,13 @@
 				logo_id.set(
 					'https://i.postimg.cc/bNNBcTZj/Whats-App-Image-2025-07-29-at-19-59-16-removebg-preview.png'
 				);
+				companyName_id.set('Bar do Ferlin');
+				break;
+			default:
+				logo_id.set(
+					'https://i.postimg.cc/7LPJk38W/beer-meal-24dp-EAC452-FILL0-wght400-GRAD0-opsz24.png'
+				);
+				companyName_id.set('Bar Management');
 				break;
 		}
 	});
@@ -62,7 +69,7 @@
 	<div class="w-full max-w-md space-y-8 rounded-lg bg-[#2C2C2E] p-8 shadow-lg">
 		<div class="flex flex-col items-center justify-center text-center">
 			<img src={$logo_id} alt="Logo" class="h-20 w-20" />
-			<h1 class="mt-4 text-3xl font-extrabold text-white">Bar do Ferlin</h1>
+			<h1 class="mt-4 text-3xl font-extrabold text-white">{$companyName_id}</h1>
 			<p class="mt-2 text-[#A0A0A0]">Esqueci a minha senha</p>
 		</div>
 

+ 4 - 2
src/routes/login/+page.svelte

@@ -4,7 +4,7 @@
 	import { userFlag } from '$lib/utils/store';
 	import beer_icon from '$lib/assets/beer_icon.svg';
 	import { browser } from '$app/environment';
-	import { logo_id } from '$lib/utils/store';
+	import { logo_id, companyName_id } from '$lib/utils/store';
 
 	let username = '';
 	let password = '';
@@ -28,11 +28,13 @@
 				logo_id.set(
 					'https://i.postimg.cc/bNNBcTZj/Whats-App-Image-2025-07-29-at-19-59-16-removebg-preview.png'
 				);
+				companyName_id.set('Bar do Ferlin');
 				break;
 			default:
 				logo_id.set(
 					'https://i.postimg.cc/7LPJk38W/beer-meal-24dp-EAC452-FILL0-wght400-GRAD0-opsz24.png'
 				);
+				companyName_id.set('Bar Management');
 				break;
 		}
 	});
@@ -106,7 +108,7 @@
 	<div class="w-full max-w-md space-y-8 rounded-lg bg-[#2C2C2E] p-8 shadow-lg">
 		<div class="flex flex-col items-center justify-center text-center">
 			<img src={$logo_id} alt="" class="h-20 w-20" />
-			<h1 class="mt-4 text-3xl font-extrabold text-white">Bar do Ferlin</h1>
+			<h1 class="mt-4 text-3xl font-extrabold text-white">{$companyName_id}</h1>
 			<p class="mt-2 text-[#A0A0A0]">Login</p>
 		</div>