diff --git a/prisma/schema.prisma b/prisma/schema.prisma index cbfddef9..95ad4e33 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -40,6 +40,7 @@ model User { nameExtension String? // nome personalizado para exibição no ramal setorExtension String? // setor personalizado para exibição no ramal matricula String? // matrícula do usuário - para exportação de pedidos + email_empresarial String? // email empresarial para uso em ações específicas (ex: chat com permissão can_view_answer_without_admin_access) // Notificações notifications Notification[] diff --git a/src/app/(authenticated)/admin/users/page.tsx b/src/app/(authenticated)/admin/users/page.tsx index 4b9745d4..f2b8f0f5 100644 --- a/src/app/(authenticated)/admin/users/page.tsx +++ b/src/app/(authenticated)/admin/users/page.tsx @@ -328,6 +328,7 @@ interface UserManagementCardProps { role_config: RolesConfig emailExtension: string | null matricula: string | null + email_empresarial?: string | null } allForms: { id: string; title: string }[] onUserUpdate: () => void @@ -358,6 +359,7 @@ function UserManagementCard({ user, allForms, onUserUpdate }: UserManagementCard extension: user.extension ?? 0n, emailExtension: user.emailExtension ?? "", matricula: user.matricula ?? "", + email_empresarial: user.email_empresarial ?? "", }) const [permissionsData, setPermissionsData] = useState( { @@ -486,6 +488,7 @@ function UserManagementCard({ user, allForms, onUserUpdate }: UserManagementCard setor: basicData.setor === "none" ? "" : basicData.setor, emailExtension: basicData.emailExtension || "", matricula: basicData.matricula || "", + email_empresarial: basicData.email_empresarial || "", }) } @@ -757,6 +760,19 @@ function UserManagementCard({ user, allForms, onUserUpdate }: UserManagementCard Utilizada para exportação de pedidos

+
+ + setBasicData({ ...basicData, email_empresarial: e.target.value })} + placeholder="email.empresarial@exemplo.com" + /> +

+ Email usado para ações específicas (ex: chat com permissão can_view_answer_without_admin_access) +

+
+
+ +

{user.email_empresarial ?? 'Não informado'}

+
- +
+ +
- - +
+ +
+
+ +
) } diff --git a/src/app/(authenticated)/shop/page.tsx b/src/app/(authenticated)/shop/page.tsx index a008d7ca..cd14ec7c 100644 --- a/src/app/(authenticated)/shop/page.tsx +++ b/src/app/(authenticated)/shop/page.tsx @@ -6,13 +6,14 @@ import { MyOrdersList } from "@/components/shop/my-orders-list" import ShoppingCart from "@/components/shop/shopping-cart" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Badge } from "@/components/ui/badge" -import { Package, ShoppingBag, ShoppingCart as ShoppingCartIcon, Inbox } from "lucide-react" +import { Package, ShoppingBag, ShoppingCart as ShoppingCartIcon, Inbox, FileDown } from "lucide-react" import { api } from "@/trpc/react" import type { RouterOutputs } from "@/trpc/react" import React, { useState } from "react" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" +import { Button } from "@/components/ui/button" import { CartProvider } from "@/contexts/cart-context" import { useCart } from "@/hooks/use-cart" import { useAccessControl } from "@/hooks/use-access-control" @@ -152,10 +153,14 @@ function ShopPageContent() { } }, [cartEnterprise]) + const handleExportPDF = () => { + window.print() + } + return ( - +
-
+

Lojinha RHenz

@@ -165,8 +170,13 @@ function ShopPageContent() {

*Possibilidade de compra de brinde de ambas empresas, mas em pedidos distintos.

+ {/* Título para impressão */} +
+

Catálogo de Produtos - Lojinha RHenz

+
+ - + Produtos @@ -205,7 +215,7 @@ function ShopPageContent() { -
+