{"id":1680,"date":"2026-05-07T12:46:12","date_gmt":"2026-05-07T12:46:12","guid":{"rendered":"https:\/\/app.digitalfreelancer.org\/?page_id=1680"},"modified":"2026-05-07T14:35:35","modified_gmt":"2026-05-07T14:35:35","slug":"economato-manager","status":"publish","type":"page","link":"http:\/\/app.digitalfreelancer.org\/index.php\/economato-manager\/","title":{"rendered":"Economato Manager"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1680\" class=\"elementor elementor-1680\">\n\t\t\t\t<div class=\"elementor-element elementor-element-80847fb e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"80847fb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec64809 elementor-widget elementor-widget-shortcode\" data-id=\"ec64809\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <!-- Scripts Necess\u00e1rios -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <script defer src=\"https:\/\/unpkg.com\/alpinejs@3.x.x\/dist\/cdn.min.js\"><\/script>\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0\/css\/all.min.css\">\n\n    <div x-data=\"{ \n        showModal: false, \n        modalTitle: '', \n        modalType: '',\n        viewDetails: false,\n        activeItem: {},\n        openCreate(type, title) {\n            this.modalType = type;\n            this.modalTitle = title;\n            this.viewDetails = false;\n            this.showModal = true;\n        },\n        openDetails(item, title) {\n            this.activeItem = item;\n            this.modalTitle = title;\n            this.viewDetails = true;\n            this.showModal = true;\n        }\n    }\" class=\"bg-gray-50 min-h-screen p-4 rounded-xl font-sans text-gray-800\">\n        \n        <!-- Navega\u00e7\u00e3o Principal -->\n        <nav class=\"flex flex-wrap gap-2 mb-6 bg-white p-2 rounded-2xl shadow-sm border border-gray-100\">\n                            <a href=\"?view=dashboard\" \n                   class=\"flex items-center px-4 py-2 rounded-xl transition-all bg-blue-600 text-white shadow-md shadow-blue-200\">\n                    <i class=\"fas fa-chart-line mr-2\"><\/i>\n                    <span class=\"font-medium\">Painel<\/span>\n                <\/a>\n                            <a href=\"?view=encomendas\" \n                   class=\"flex items-center px-4 py-2 rounded-xl transition-all text-gray-500 hover:bg-gray-100\">\n                    <i class=\"fas fa-truck mr-2\"><\/i>\n                    <span class=\"font-medium\">Encomendas<\/span>\n                <\/a>\n                            <a href=\"?view=produtos\" \n                   class=\"flex items-center px-4 py-2 rounded-xl transition-all text-gray-500 hover:bg-gray-100\">\n                    <i class=\"fas fa-boxes mr-2\"><\/i>\n                    <span class=\"font-medium\">Produtos<\/span>\n                <\/a>\n                            <a href=\"?view=fornecedores\" \n                   class=\"flex items-center px-4 py-2 rounded-xl transition-all text-gray-500 hover:bg-gray-100\">\n                    <i class=\"fas fa-handshake mr-2\"><\/i>\n                    <span class=\"font-medium\">Fornecedores<\/span>\n                <\/a>\n                            <a href=\"?view=requisicoes\" \n                   class=\"flex items-center px-4 py-2 rounded-xl transition-all text-gray-500 hover:bg-gray-100\">\n                    <i class=\"fas fa-file-alt mr-2\"><\/i>\n                    <span class=\"font-medium\">Requisi\u00e7\u00f5es<\/span>\n                <\/a>\n                    <\/nav>\n\n        <!-- Conte\u00fado -->\n        <div class=\"bg-white p-6 rounded-2xl shadow-sm border border-gray-100\">\n                <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6\">\n        <div class=\"p-6 bg-gradient-to-br from-blue-500 to-blue-600 rounded-2xl text-white shadow-lg shadow-blue-100\">\n            <i class=\"fas fa-shopping-cart text-2xl mb-4 opacity-50\"><\/i>\n            <p class=\"text-blue-100 text-sm font-semibold uppercase\">Encomendas do M\u00eas<\/p>\n            <h3 class=\"text-3xl font-black\">24<\/h3>\n        <\/div>\n        <div class=\"p-6 bg-white border border-gray-100 rounded-2xl shadow-sm\">\n            <p class=\"text-gray-400 text-sm font-semibold uppercase\">Stock Baixo<\/p>\n            <h3 class=\"text-3xl font-black text-red-500\">8 Items<\/h3>\n        <\/div>\n        <!-- ... outros cards ... -->\n    <\/div>\n            <\/div>\n\n        <!-- MODAL DIN\u00c2MICO (Cria\u00e7\u00e3o e Visualiza\u00e7\u00e3o) -->\n        <div x-show=\"showModal\" \n             class=\"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black\/50 backdrop-blur-sm\"\n             x-transition:enter=\"transition ease-out duration-300\"\n             x-transition:enter-start=\"opacity-0\"\n             x-transition:leave=\"transition ease-in duration-200\"\n             x-transition:leave-end=\"opacity-0\"\n             style=\"display: none;\">\n            \n            <div class=\"bg-white rounded-2xl shadow-2xl w-full max-w-lg overflow-hidden\" @click.away=\"showModal = false\">\n                <!-- Cabe\u00e7alho do Modal -->\n                <div class=\"flex justify-between items-center p-6 border-b border-gray-100\">\n                    <h3 class=\"text-xl font-bold text-gray-800\" x-text=\"modalTitle\"><\/h3>\n                    <button @click=\"showModal = false\" class=\"text-gray-400 hover:text-gray-600\">\n                        <i class=\"fas fa-times text-lg\"><\/i>\n                    <\/button>\n                <\/div>\n\n                <!-- Corpo do Modal -->\n                <div class=\"p-6\">\n                    <!-- MODO: DETALHES -->\n                    <template x-if=\"viewDetails\">\n                        <div class=\"space-y-4\">\n                            <div class=\"bg-blue-50 p-4 rounded-lg\">\n                                <p class=\"text-xs text-blue-500 font-bold uppercase tracking-wider\">Identificador<\/p>\n                                <p class=\"text-lg font-mono font-bold\" x-text=\"activeItem.id\"><\/p>\n                            <\/div>\n                            <div class=\"grid grid-cols-2 gap-4\">\n                                <template x-for=\"(value, key) in activeItem\">\n                                    <div x-show=\"key !== 'id'\">\n                                        <p class=\"text-xs text-gray-400 uppercase\" x-text=\"key\"><\/p>\n                                        <p class=\"font-medium\" x-text=\"value\"><\/p>\n                                    <\/div>\n                                <\/template>\n                            <\/div>\n                            <div class=\"mt-6 flex gap-2\">\n                                <button class=\"flex-1 bg-green-600 text-white py-2 rounded-lg hover:bg-green-700\">Aprovar \/ Gravar<\/button>\n                                <button class=\"flex-1 bg-gray-100 text-gray-700 py-2 rounded-lg hover:bg-gray-200\">Imprimir PDF<\/button>\n                            <\/div>\n                        <\/div>\n                    <\/template>\n\n                    <!-- MODO: CRIA\u00c7\u00c3O (Formul\u00e1rio Gen\u00e9rico) -->\n                    <template x-if=\"!viewDetails\">\n                        <form @submit.prevent=\"showModal = false; alert('Dados guardados com sucesso!')\" class=\"space-y-4\">\n                            <div>\n                                <label class=\"block text-sm font-medium text-gray-700 mb-1\">T\u00edtulo\/Nome<\/label>\n                                <input type=\"text\" class=\"w-full border border-gray-200 rounded-lg p-2 focus:ring-2 focus:ring-blue-500 outline-none\" placeholder=\"Ex: Entrada de stock...\">\n                            <\/div>\n                            <div>\n                                <label class=\"block text-sm font-medium text-gray-700 mb-1\">Descri\u00e7\u00e3o \/ Notas<\/label>\n                                <textarea class=\"w-full border border-gray-200 rounded-lg p-2 focus:ring-2 focus:ring-blue-500 outline-none\" rows=\"3\"><\/textarea>\n                            <\/div>\n                            <button type=\"submit\" class=\"w-full bg-blue-600 text-white py-3 rounded-xl font-bold hover:bg-blue-700 transition\">\n                                Confirmar Registo\n                            <\/button>\n                        <\/form>\n                    <\/template>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c81a5b elementor-hidden-mobile e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"3c81a5b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4fe4d1 elementor-widget elementor-widget-spacer\" data-id=\"b4fe4d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-1680","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/pages\/1680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/comments?post=1680"}],"version-history":[{"count":10,"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/pages\/1680\/revisions"}],"predecessor-version":[{"id":1690,"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/pages\/1680\/revisions\/1690"}],"wp:attachment":[{"href":"http:\/\/app.digitalfreelancer.org\/index.php\/wp-json\/wp\/v2\/media?parent=1680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}