@softros/agulhao-charts-react 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/bancos.d.ts +6 -0
- package/dist/bancos.d.ts.map +1 -0
- package/dist/bancos.js +169 -0
- package/dist/bancos.js.map +1 -0
- package/dist/base.css +3 -0
- package/dist/chart.d.ts +98 -0
- package/dist/chart.d.ts.map +1 -0
- package/dist/{AgulhaoChart.js → chart.js} +1 -1
- package/dist/chart.js.map +1 -0
- package/dist/dashboard/context.d.ts +7 -0
- package/dist/dashboard/context.d.ts.map +1 -0
- package/dist/dashboard/context.js +9 -0
- package/dist/dashboard/context.js.map +1 -0
- package/dist/dashboard/dashboard.css +37 -0
- package/dist/dashboard/estrutura.d.ts +13 -0
- package/dist/dashboard/estrutura.d.ts.map +1 -0
- package/dist/dashboard/estrutura.js +26 -0
- package/dist/dashboard/estrutura.js.map +1 -0
- package/dist/dashboard/index.d.ts +37 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +50 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/types.d.ts +37 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +2 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/dashboard/widgets/acompanhamentoPedidos.d.ts +5 -0
- package/dist/dashboard/widgets/acompanhamentoPedidos.d.ts.map +1 -0
- package/dist/dashboard/widgets/acompanhamentoPedidos.js +94 -0
- package/dist/dashboard/widgets/acompanhamentoPedidos.js.map +1 -0
- package/dist/dashboard/widgets/calendario.d.ts +5 -0
- package/dist/dashboard/widgets/calendario.d.ts.map +1 -0
- package/dist/dashboard/widgets/calendario.js +196 -0
- package/dist/dashboard/widgets/calendario.js.map +1 -0
- package/dist/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.d.ts +5 -0
- package/dist/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.d.ts.map +1 -0
- package/dist/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.js +94 -0
- package/dist/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.js.map +1 -0
- package/dist/dashboard/widgets/graficoReceitasMesPlanoContas.d.ts +5 -0
- package/dist/dashboard/widgets/graficoReceitasMesPlanoContas.d.ts.map +1 -0
- package/dist/dashboard/widgets/graficoReceitasMesPlanoContas.js +94 -0
- package/dist/dashboard/widgets/graficoReceitasMesPlanoContas.js.map +1 -0
- package/dist/dashboard/widgets/graficoVendasMesTipoLancamento.d.ts +5 -0
- package/dist/dashboard/widgets/graficoVendasMesTipoLancamento.d.ts.map +1 -0
- package/dist/dashboard/widgets/graficoVendasMesTipoLancamento.js +89 -0
- package/dist/dashboard/widgets/graficoVendasMesTipoLancamento.js.map +1 -0
- package/dist/dashboard/widgets/graficoVendasUltimos12meses.d.ts +5 -0
- package/dist/dashboard/widgets/graficoVendasUltimos12meses.d.ts.map +1 -0
- package/dist/dashboard/widgets/graficoVendasUltimos12meses.js +98 -0
- package/dist/dashboard/widgets/graficoVendasUltimos12meses.js.map +1 -0
- package/dist/dashboard/widgets/index.d.ts +7 -0
- package/dist/dashboard/widgets/index.d.ts.map +1 -0
- package/dist/dashboard/widgets/index.js +75 -0
- package/dist/dashboard/widgets/index.js.map +1 -0
- package/dist/dashboard/widgets/indicadoresOrcamentosAprovadosFaturadosEntregues.d.ts +5 -0
- package/dist/dashboard/widgets/indicadoresOrcamentosAprovadosFaturadosEntregues.d.ts.map +1 -0
- package/dist/dashboard/widgets/indicadoresOrcamentosAprovadosFaturadosEntregues.js +85 -0
- package/dist/dashboard/widgets/indicadoresOrcamentosAprovadosFaturadosEntregues.js.map +1 -0
- package/dist/dashboard/widgets/indicadoresReceberPagar.d.ts +5 -0
- package/dist/dashboard/widgets/indicadoresReceberPagar.d.ts.map +1 -0
- package/dist/dashboard/widgets/indicadoresReceberPagar.js +137 -0
- package/dist/dashboard/widgets/indicadoresReceberPagar.js.map +1 -0
- package/dist/dashboard/widgets/indicadoresSaldoContas.d.ts +5 -0
- package/dist/dashboard/widgets/indicadoresSaldoContas.d.ts.map +1 -0
- package/dist/dashboard/widgets/indicadoresSaldoContas.js +116 -0
- package/dist/dashboard/widgets/indicadoresSaldoContas.js.map +1 -0
- package/dist/formatacoes.d.ts +5 -0
- package/dist/formatacoes.d.ts.map +1 -0
- package/dist/formatacoes.js +33 -0
- package/dist/formatacoes.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +101 -0
- package/dist/utils.js.map +1 -0
- package/package.json +7 -4
- package/dist/AgulhaoChart.d.ts +0 -18
- package/dist/AgulhaoChart.d.ts.map +0 -1
- package/dist/AgulhaoChart.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAA;CAClC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { AgulhaoDashboardWidget } from '../types';
|
|
3
|
+
export declare function AcompanhamentoPedidos(w: AgulhaoDashboardWidget): import("react").JSX.Element;
|
|
4
|
+
export declare const AcompanhamentoPedidosLayout: LayoutItem;
|
|
5
|
+
//# sourceMappingURL=acompanhamentoPedidos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acompanhamentoPedidos.d.ts","sourceRoot":"","sources":["../../../src/dashboard/widgets/acompanhamentoPedidos.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAQjD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,sBAAsB,+BA+E9D;AAWD,eAAO,MAAM,2BAA2B,EAAE,UAUzC,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { statusPedidoAgulhao, zodStringToJson } from '../../utils';
|
|
5
|
+
import { AgulhaoChart } from '../../chart';
|
|
6
|
+
import { Estrutura } from '../estrutura';
|
|
7
|
+
import { inteiro, milhares } from '../../formatacoes';
|
|
8
|
+
import { useDashboard } from '../context';
|
|
9
|
+
export function AcompanhamentoPedidos(w) {
|
|
10
|
+
const { atualizaWidget } = useDashboard();
|
|
11
|
+
const [carregando, setCarregando] = useState(false);
|
|
12
|
+
const [dados, setDados] = useState(zodStringToJson(w.conteudo || '{}', schema).data || null);
|
|
13
|
+
const intervalo = useRef(null);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (w.atualizaEmSegundos && w.atualizaEmSegundos > 0) {
|
|
16
|
+
intervalo.current = window.setInterval(() => {
|
|
17
|
+
atualizar();
|
|
18
|
+
}, w.atualizaEmSegundos * 1000);
|
|
19
|
+
}
|
|
20
|
+
return () => {
|
|
21
|
+
if (intervalo.current) {
|
|
22
|
+
clearInterval(intervalo.current);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}, []);
|
|
26
|
+
const atualizar = async () => {
|
|
27
|
+
setCarregando(true);
|
|
28
|
+
const resultado = await atualizaWidget(w.widgetId, w.id);
|
|
29
|
+
setCarregando(false);
|
|
30
|
+
if (resultado) {
|
|
31
|
+
const dadosAtualizados = zodStringToJson(resultado, schema).data || null;
|
|
32
|
+
setDados(dadosAtualizados);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return (_jsx(Estrutura, { id: w.id, titulo: w.titulo, descricao: w.descricao, ultimaSincronizacao: w.ultimaSincronizacao, carregando: carregando, children: _jsxs("div", { style: { height: '100%', display: 'flex', flexDirection: 'column', flex: 1 }, children: [_jsx(AgulhaoChart, { style: { flexGrow: 1 }, grafico: {
|
|
36
|
+
tipo: 'pizza',
|
|
37
|
+
dataset: {
|
|
38
|
+
linhas: (dados?.lista || []).map((l) => {
|
|
39
|
+
const status = statusPedidoAgulhao.find((s) => s.sigla === l.status);
|
|
40
|
+
return { status: status?.descricao || l.status, quantidade: l.quantidade, cor: status?.cor || '' };
|
|
41
|
+
}),
|
|
42
|
+
},
|
|
43
|
+
mapeamento: { rotulo: 'status', valor: 'quantidade', cor: 'cor' },
|
|
44
|
+
opcoes: {
|
|
45
|
+
serie: { nome: 'Status do pedido' },
|
|
46
|
+
pizza: { raio: '50%' },
|
|
47
|
+
rotulo: {
|
|
48
|
+
formato: (p) => `${p.name}\n ${inteiro(p.value)} (${milhares(p.percent)}%)`,
|
|
49
|
+
tamanhoFonte: 18,
|
|
50
|
+
alturaLinha: 20,
|
|
51
|
+
espacamento: 10,
|
|
52
|
+
linha: { comprimento: 40, comprimento2: 40, suave: false },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
} }), _jsxs("div", { style: {
|
|
56
|
+
display: 'flex',
|
|
57
|
+
justifyContent: 'space-between',
|
|
58
|
+
alignItems: 'center',
|
|
59
|
+
borderTop: '1px solid var(--ag-dashboard-cor)',
|
|
60
|
+
textAlign: 'center',
|
|
61
|
+
padding: '10px',
|
|
62
|
+
}, children: [renderizaValor('Peças', inteiro(dados?.pecas || 0)), renderizaValor('Pedidos', inteiro(dados?.registros || 0)), renderizaValor('Bruto', `R$ ${milhares(dados?.bruto || 0)}`), renderizaValor('Descontos (-)', `R$ ${milhares(dados?.descontos || 0)}`), renderizaValor('Outros (+)', `R$ ${milhares(dados?.outros || 0)}`), renderizaValor('Líquido', `R$ ${milhares(dados?.liquido || 0)}`)] })] }) }));
|
|
63
|
+
}
|
|
64
|
+
function renderizaValor(descricao, valor) {
|
|
65
|
+
return (_jsxs("div", { children: [_jsx("p", { style: { margin: 0, fontWeight: 'bold', fontSize: '0.875rem' }, children: descricao }), _jsx("p", { style: { margin: 0, marginTop: '2px', color: descricao === 'Líquido' ? '#00a91f' : '' }, children: valor })] }));
|
|
66
|
+
}
|
|
67
|
+
export const AcompanhamentoPedidosLayout = {
|
|
68
|
+
i: 'acompanhamentoPedidos',
|
|
69
|
+
x: 0,
|
|
70
|
+
y: 0,
|
|
71
|
+
w: 4,
|
|
72
|
+
h: 4,
|
|
73
|
+
minW: 1,
|
|
74
|
+
minH: 1,
|
|
75
|
+
isResizable: true,
|
|
76
|
+
isDraggable: true,
|
|
77
|
+
};
|
|
78
|
+
const schema = z.object({
|
|
79
|
+
pecasFaturadas: z.number(),
|
|
80
|
+
pecas: z.number(),
|
|
81
|
+
registros: z.number(),
|
|
82
|
+
bruto: z.number(),
|
|
83
|
+
outros: z.number(),
|
|
84
|
+
liquido: z.number(),
|
|
85
|
+
descontos: z.number(),
|
|
86
|
+
lista: z
|
|
87
|
+
.array(z.object({
|
|
88
|
+
status: z.string(),
|
|
89
|
+
quantidade: z.number(),
|
|
90
|
+
valor: z.number(),
|
|
91
|
+
}))
|
|
92
|
+
.optional(),
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=acompanhamentoPedidos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acompanhamentoPedidos.js","sourceRoot":"","sources":["../../../src/dashboard/widgets/acompanhamentoPedidos.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { AgulhaoDashboardWidget } from '../types';
|
|
3
|
+
export declare function Calendario(w: AgulhaoDashboardWidget): import("react").JSX.Element;
|
|
4
|
+
export declare const CalendarioLayout: LayoutItem;
|
|
5
|
+
//# sourceMappingURL=calendario.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendario.d.ts","sourceRoot":"","sources":["../../../src/dashboard/widgets/calendario.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAyCjD,wBAAgB,UAAU,CAAC,CAAC,EAAE,sBAAsB,+BAoHnD;AA8HD,eAAO,MAAM,gBAAgB,EAAE,UAU9B,CAAA"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Cake, Calendar as CalendarIcon, ChevronLeft, ChevronRight, CircleDot, Receipt, StickyNote } from 'lucide-react';
|
|
5
|
+
import { zodStringToJson } from '../../utils';
|
|
6
|
+
import { zero } from '../../formatacoes';
|
|
7
|
+
import { Estrutura } from '../estrutura';
|
|
8
|
+
import { useDashboard } from '../context';
|
|
9
|
+
const meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
|
|
10
|
+
const diasSemana = ['DOM', 'SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SÁB'];
|
|
11
|
+
// Tipos de evento reconhecidos por padrão. Um evento com um "tipo" fora desta lista
|
|
12
|
+
// ainda é exibido, usando um ícone genérico e o título informado no próprio evento.
|
|
13
|
+
const tiposEventoPadrao = {
|
|
14
|
+
aniversariantes: { titulo: 'Aniversariantes', cor: '#ff8100', icone: Cake },
|
|
15
|
+
contasPagar: { titulo: 'Contas a Pagar', cor: '#dc2626', icone: Receipt },
|
|
16
|
+
contasReceber: { titulo: 'Contas a Receber', cor: '#16a34a', icone: Receipt },
|
|
17
|
+
lembretes: { titulo: 'Lembretes', cor: '#2c8dd3', icone: StickyNote },
|
|
18
|
+
};
|
|
19
|
+
export function Calendario(w) {
|
|
20
|
+
const { atualizaWidget } = useDashboard();
|
|
21
|
+
const agora = new Date();
|
|
22
|
+
const [mes, setMes] = useState(agora.getMonth());
|
|
23
|
+
const [ano, setAno] = useState(agora.getFullYear());
|
|
24
|
+
const [carregando, setCarregando] = useState(false);
|
|
25
|
+
const [dados, setDados] = useState(zodStringToJson(w.conteudo || '{}', schema).data || null);
|
|
26
|
+
const intervalo = useRef(null);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (w.atualizaEmSegundos && w.atualizaEmSegundos > 0) {
|
|
29
|
+
intervalo.current = window.setInterval(() => {
|
|
30
|
+
atualizar();
|
|
31
|
+
}, w.atualizaEmSegundos * 1000);
|
|
32
|
+
}
|
|
33
|
+
return () => {
|
|
34
|
+
if (intervalo.current)
|
|
35
|
+
clearInterval(intervalo.current);
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
38
|
+
const atualizar = async () => {
|
|
39
|
+
setCarregando(true);
|
|
40
|
+
const resultado = await atualizaWidget(w.widgetId, w.id);
|
|
41
|
+
setCarregando(false);
|
|
42
|
+
if (resultado) {
|
|
43
|
+
setDados(zodStringToJson(resultado, schema).data || null);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const navegaMes = (contador) => {
|
|
47
|
+
if (contador === 0) {
|
|
48
|
+
const hoje = new Date();
|
|
49
|
+
setMes(hoje.getMonth());
|
|
50
|
+
setAno(hoje.getFullYear());
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
let novoMes = mes + contador;
|
|
54
|
+
let novoAno = ano;
|
|
55
|
+
if (novoMes > 11) {
|
|
56
|
+
novoMes = 0;
|
|
57
|
+
novoAno++;
|
|
58
|
+
}
|
|
59
|
+
else if (novoMes < 0) {
|
|
60
|
+
novoMes = 11;
|
|
61
|
+
novoAno--;
|
|
62
|
+
}
|
|
63
|
+
setMes(novoMes);
|
|
64
|
+
setAno(novoAno);
|
|
65
|
+
};
|
|
66
|
+
const semanas = useMemo(() => montaSemanasMes(ano, mes, dados?.eventos || []), [ano, mes, dados?.eventos]);
|
|
67
|
+
return (_jsx(Estrutura, { id: w.id, titulo: w.titulo, descricao: w.descricao, ultimaSincronizacao: w.ultimaSincronizacao, carregando: carregando, children: _jsxs("div", { style: { height: '100%', display: 'flex', flexDirection: 'column' }, children: [_jsxs("div", { style: {
|
|
68
|
+
display: 'flex',
|
|
69
|
+
alignItems: 'center',
|
|
70
|
+
justifyContent: 'space-between',
|
|
71
|
+
padding: '0.5rem 0.7rem',
|
|
72
|
+
borderBottom: '1px solid var(--ag-dashboard-cor)',
|
|
73
|
+
}, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '2px' }, children: [_jsx("button", { type: "button", onClick: () => navegaMes(0), style: estiloBotaoNav, title: "Ir para o m\u00EAs atual", children: _jsx(CalendarIcon, { size: 15 }) }), _jsx("button", { type: "button", onClick: () => navegaMes(-1), style: estiloBotaoNav, title: "M\u00EAs anterior", children: _jsx(ChevronLeft, { size: 15 }) }), _jsx("button", { type: "button", onClick: () => navegaMes(1), style: estiloBotaoNav, title: "Pr\u00F3ximo m\u00EAs", children: _jsx(ChevronRight, { size: 15 }) })] }), _jsxs("span", { style: { fontWeight: 600, fontSize: '0.85rem' }, children: [meses[mes], " de ", ano] })] }), _jsxs("table", { style: { width: '100%', borderCollapse: 'collapse', flex: 1, tableLayout: 'fixed' }, children: [_jsx("thead", { children: _jsx("tr", { children: diasSemana.map((diaSemana) => (_jsx("th", { style: {
|
|
74
|
+
background: '#003e85',
|
|
75
|
+
color: '#fff',
|
|
76
|
+
fontWeight: 400,
|
|
77
|
+
fontSize: '0.7rem',
|
|
78
|
+
padding: '0.35rem 0',
|
|
79
|
+
textAlign: 'center',
|
|
80
|
+
}, children: diaSemana }, diaSemana))) }) }), _jsx("tbody", { children: semanas.map((diasDaSemana, i) => (_jsx("tr", { children: diasDaSemana.map((dia) => (_jsx(CelulaDia, { dia: dia, tipos: tiposEventoPadrao }, dia.data))) }, i))) })] })] }) }));
|
|
81
|
+
}
|
|
82
|
+
function CelulaDia({ dia, tipos }) {
|
|
83
|
+
const hoje = !dia.outroMes && dia.data === formataChaveData(new Date());
|
|
84
|
+
const grupos = agrupaEventosDoDia(dia.eventos, tipos);
|
|
85
|
+
return (_jsxs("td", { style: {
|
|
86
|
+
height: '64px',
|
|
87
|
+
padding: '4px',
|
|
88
|
+
textAlign: 'center',
|
|
89
|
+
verticalAlign: 'top',
|
|
90
|
+
border: '1px solid var(--ag-dashboard-cor)',
|
|
91
|
+
background: dia.outroMes ? '#f5f5f5' : hoje ? '#e5eaff' : '#fff',
|
|
92
|
+
color: dia.outroMes ? '#a1a1a1' : hoje ? '#0d0049' : '#141414',
|
|
93
|
+
}, children: [_jsx("p", { style: { margin: 0, fontSize: '0.8rem', fontWeight: hoje ? 700 : 400 }, children: dia.dia }), grupos.length > 0 && (
|
|
94
|
+
// Largura limitada a 2 ícones por linha (no máximo 4 tipos de evento padrão, logo até 2 linhas).
|
|
95
|
+
_jsx("div", { style: { display: 'flex', flexWrap: 'wrap', gap: '3px', justifyContent: 'center', margin: '4px auto 0', width: '38px' }, children: grupos.map((grupo) => {
|
|
96
|
+
const Icone = grupo.icone;
|
|
97
|
+
return (_jsx(Icone, { size: 17, strokeWidth: 2.25, style: { color: grupo.cor, cursor: grupo.acao ? 'pointer' : 'default' }, onClick: grupo.acao ? () => window.open(grupo.acao, '_blank') : undefined, children: _jsx("title", { children: grupo.titulo }) }, grupo.tipo));
|
|
98
|
+
}) }))] }));
|
|
99
|
+
}
|
|
100
|
+
// Agrupa os eventos do dia por "tipo", para exibir apenas um ícone por tipo (mesmo que
|
|
101
|
+
// existam vários eventos daquele tipo no mesmo dia).
|
|
102
|
+
function agrupaEventosDoDia(eventos, tipos) {
|
|
103
|
+
const grupos = new Map();
|
|
104
|
+
eventos.forEach((evento) => {
|
|
105
|
+
const tipoPadrao = tipos[evento.tipo];
|
|
106
|
+
const titulo = evento.titulo || tipoPadrao?.titulo || evento.tipo;
|
|
107
|
+
const cor = evento.cor || tipoPadrao?.cor || '#6b7280';
|
|
108
|
+
const icone = tipoPadrao?.icone || CircleDot;
|
|
109
|
+
const existente = grupos.get(evento.tipo);
|
|
110
|
+
if (existente) {
|
|
111
|
+
if (!existente.titulo.includes(titulo))
|
|
112
|
+
existente.titulo += `, ${titulo}`;
|
|
113
|
+
existente.acao = existente.acao || evento.acao;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
grupos.set(evento.tipo, { tipo: evento.tipo, titulo, cor, icone, acao: evento.acao });
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return Array.from(grupos.values());
|
|
120
|
+
}
|
|
121
|
+
// Monta as semanas (domingo a sábado) necessárias para exibir o mês por completo,
|
|
122
|
+
// incluindo os dias do mês anterior/seguinte usados para completar a primeira/última semana.
|
|
123
|
+
function montaSemanasMes(ano, mes, eventos) {
|
|
124
|
+
const primeiroDiaSemana = new Date(ano, mes, 1).getDay();
|
|
125
|
+
const ultimoDiaMes = new Date(ano, mes + 1, 0).getDate();
|
|
126
|
+
const totalCelulas = Math.ceil((primeiroDiaSemana + ultimoDiaMes) / 7) * 7;
|
|
127
|
+
const eventosPorData = new Map();
|
|
128
|
+
eventos.forEach((evento) => {
|
|
129
|
+
const chave = normalizaData(evento.data);
|
|
130
|
+
if (!chave)
|
|
131
|
+
return;
|
|
132
|
+
const lista = eventosPorData.get(chave) || [];
|
|
133
|
+
lista.push(evento);
|
|
134
|
+
eventosPorData.set(chave, lista);
|
|
135
|
+
});
|
|
136
|
+
const dias = [];
|
|
137
|
+
for (let i = 0; i < totalCelulas; i++) {
|
|
138
|
+
const data = new Date(ano, mes, 1 - primeiroDiaSemana + i);
|
|
139
|
+
const chave = formataChaveData(data);
|
|
140
|
+
dias.push({
|
|
141
|
+
dia: data.getDate(),
|
|
142
|
+
data: chave,
|
|
143
|
+
outroMes: data.getMonth() !== mes,
|
|
144
|
+
eventos: eventosPorData.get(chave) || [],
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const semanas = [];
|
|
148
|
+
for (let i = 0; i < dias.length; i += 7) {
|
|
149
|
+
semanas.push(dias.slice(i, i + 7));
|
|
150
|
+
}
|
|
151
|
+
return semanas;
|
|
152
|
+
}
|
|
153
|
+
const formataChaveData = (data) => `${data.getFullYear()}-${zero(data.getMonth() + 1)}-${zero(data.getDate())}`;
|
|
154
|
+
// Aceita tanto "YYYY-MM-DD" quanto "DD/MM/YYYY" como formato de data do evento.
|
|
155
|
+
function normalizaData(data) {
|
|
156
|
+
const isoMatch = data.match(/^(\d{4})-(\d{2})-(\d{2})/);
|
|
157
|
+
if (isoMatch)
|
|
158
|
+
return `${isoMatch[1]}-${isoMatch[2]}-${isoMatch[3]}`;
|
|
159
|
+
const brMatch = data.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);
|
|
160
|
+
if (brMatch)
|
|
161
|
+
return `${brMatch[3]}-${brMatch[2]}-${brMatch[1]}`;
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
const estiloBotaoNav = {
|
|
165
|
+
background: 'transparent',
|
|
166
|
+
border: 'none',
|
|
167
|
+
borderRadius: '4px',
|
|
168
|
+
padding: '4px 6px',
|
|
169
|
+
cursor: 'pointer',
|
|
170
|
+
color: 'inherit',
|
|
171
|
+
display: 'flex',
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
};
|
|
174
|
+
export const CalendarioLayout = {
|
|
175
|
+
i: 'calendario',
|
|
176
|
+
x: 0,
|
|
177
|
+
y: 0,
|
|
178
|
+
w: 4,
|
|
179
|
+
h: 5,
|
|
180
|
+
minW: 3,
|
|
181
|
+
minH: 4,
|
|
182
|
+
isResizable: true,
|
|
183
|
+
isDraggable: true,
|
|
184
|
+
};
|
|
185
|
+
const schema = z.object({
|
|
186
|
+
eventos: z
|
|
187
|
+
.array(z.object({
|
|
188
|
+
data: z.string(),
|
|
189
|
+
tipo: z.string(),
|
|
190
|
+
titulo: z.string().optional(),
|
|
191
|
+
cor: z.string().optional(),
|
|
192
|
+
acao: z.string().optional(),
|
|
193
|
+
}))
|
|
194
|
+
.optional(),
|
|
195
|
+
});
|
|
196
|
+
//# sourceMappingURL=calendario.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendario.js","sourceRoot":"","sources":["../../../src/dashboard/widgets/calendario.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { AgulhaoDashboardWidget } from '../types';
|
|
3
|
+
export declare function GraficoDespesasMesGrupoPlanoContas(w: AgulhaoDashboardWidget): import("react").JSX.Element;
|
|
4
|
+
export declare const GraficoDespesasMesGrupoPlanoContasLayout: LayoutItem;
|
|
5
|
+
//# sourceMappingURL=graficoDespesasMesGrupoPlanoContas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graficoDespesasMesGrupoPlanoContas.d.ts","sourceRoot":"","sources":["../../../src/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAUjD,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,sBAAsB,+BAsF3E;AAWD,eAAO,MAAM,wCAAwC,EAAE,UAUtD,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { zodStringToJson } from '../../utils';
|
|
5
|
+
import { AgulhaoChart } from '../../chart';
|
|
6
|
+
import { Estrutura } from '../estrutura';
|
|
7
|
+
import { milhares } from '../../formatacoes';
|
|
8
|
+
import { useDashboard } from '../context';
|
|
9
|
+
const nomesMes = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
|
|
10
|
+
export function GraficoDespesasMesGrupoPlanoContas(w) {
|
|
11
|
+
const { atualizaWidget } = useDashboard();
|
|
12
|
+
const [carregando, setCarregando] = useState(false);
|
|
13
|
+
const [dados, setDados] = useState(zodStringToJson(w.conteudo || '[]', schema).data || []);
|
|
14
|
+
const intervalo = useRef(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (w.atualizaEmSegundos && w.atualizaEmSegundos > 0) {
|
|
17
|
+
intervalo.current = window.setInterval(() => {
|
|
18
|
+
atualizar();
|
|
19
|
+
}, w.atualizaEmSegundos * 1000);
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
if (intervalo.current) {
|
|
23
|
+
clearInterval(intervalo.current);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
const atualizar = async () => {
|
|
28
|
+
setCarregando(true);
|
|
29
|
+
const resultado = await atualizaWidget(w.widgetId, w.id);
|
|
30
|
+
setCarregando(false);
|
|
31
|
+
if (resultado) {
|
|
32
|
+
const dadosAtualizados = zodStringToJson(resultado, schema).data || [];
|
|
33
|
+
setDados(dadosAtualizados);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const mesVigente = dados.reduce((maior, d) => Math.max(maior, d.ano * 100 + d.mes), 0);
|
|
37
|
+
const doMesVigente = dados.filter((d) => d.ano * 100 + d.mes === mesVigente);
|
|
38
|
+
const porGrupo = new Map();
|
|
39
|
+
for (const d of doMesVigente) {
|
|
40
|
+
porGrupo.set(d.grupoPlanoContas, (porGrupo.get(d.grupoPlanoContas) || 0) + d.valor);
|
|
41
|
+
}
|
|
42
|
+
const linhas = [...porGrupo.entries()].sort((a, b) => b[1] - a[1]).map(([grupoPlanoContas, valor]) => ({ grupoPlanoContas, valor }));
|
|
43
|
+
const total = linhas.reduce((soma, l) => soma + l.valor, 0);
|
|
44
|
+
return (_jsx(Estrutura, { id: w.id, titulo: w.titulo, descricao: w.descricao, ultimaSincronizacao: w.ultimaSincronizacao, carregando: carregando, children: _jsxs("div", { style: { height: '100%', display: 'flex', flexDirection: 'column', flex: 1 }, children: [_jsx(AgulhaoChart, { style: { flexGrow: 1 }, grafico: {
|
|
45
|
+
tipo: 'pizza',
|
|
46
|
+
dataset: { linhas },
|
|
47
|
+
mapeamento: { rotulo: 'grupoPlanoContas', valor: 'valor' },
|
|
48
|
+
opcoes: {
|
|
49
|
+
pizza: {
|
|
50
|
+
raio: '50%',
|
|
51
|
+
},
|
|
52
|
+
legenda: {
|
|
53
|
+
orientacao: 'horizontal',
|
|
54
|
+
},
|
|
55
|
+
formatadorValor: (v) => milhares(v, 'R$'),
|
|
56
|
+
rotulo: {
|
|
57
|
+
formato: (p) => `${p.name}\n ${milhares(p.value, 'R$')} (${milhares(p.percent)}%)`,
|
|
58
|
+
tamanhoFonte: 18,
|
|
59
|
+
alturaLinha: 20,
|
|
60
|
+
espacamento: 10,
|
|
61
|
+
linha: { comprimento: 40, comprimento2: 40, suave: false },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
} }), _jsxs("div", { style: {
|
|
65
|
+
display: 'flex',
|
|
66
|
+
justifyContent: 'space-between',
|
|
67
|
+
alignItems: 'center',
|
|
68
|
+
borderTop: '1px solid var(--ag-dashboard-cor)',
|
|
69
|
+
textAlign: 'center',
|
|
70
|
+
padding: '10px',
|
|
71
|
+
}, children: [renderizaValor('Mês', mesVigente ? `${nomesMes[(mesVigente % 100) - 1]}/${Math.floor(mesVigente / 100)}` : '-'), renderizaValor('Total', `R$ ${milhares(total)}`)] })] }) }));
|
|
72
|
+
}
|
|
73
|
+
function renderizaValor(descricao, valor) {
|
|
74
|
+
return (_jsxs("div", { children: [_jsx("p", { style: { margin: 0, fontWeight: 'bold', fontSize: '0.875rem' }, children: descricao }), _jsx("p", { style: { margin: 0, marginTop: '2px' }, children: valor })] }));
|
|
75
|
+
}
|
|
76
|
+
export const GraficoDespesasMesGrupoPlanoContasLayout = {
|
|
77
|
+
i: 'graficoDespesasMesGrupoPlanoContas',
|
|
78
|
+
x: 0,
|
|
79
|
+
y: 0,
|
|
80
|
+
w: 4,
|
|
81
|
+
h: 4,
|
|
82
|
+
minW: 1,
|
|
83
|
+
minH: 1,
|
|
84
|
+
isResizable: true,
|
|
85
|
+
isDraggable: true,
|
|
86
|
+
};
|
|
87
|
+
const linhaSchema = z.object({
|
|
88
|
+
mes: z.coerce.number(),
|
|
89
|
+
ano: z.coerce.number(),
|
|
90
|
+
grupoPlanoContas: z.string(),
|
|
91
|
+
valor: z.coerce.number(),
|
|
92
|
+
});
|
|
93
|
+
const schema = z.array(linhaSchema);
|
|
94
|
+
//# sourceMappingURL=graficoDespesasMesGrupoPlanoContas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graficoDespesasMesGrupoPlanoContas.js","sourceRoot":"","sources":["../../../src/dashboard/widgets/graficoDespesasMesGrupoPlanoContas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { AgulhaoDashboardWidget } from '../types';
|
|
3
|
+
export declare function GraficoReceitasMesPlanoContas(w: AgulhaoDashboardWidget): import("react").JSX.Element;
|
|
4
|
+
export declare const GraficoReceitasMesPlanoContasLayout: LayoutItem;
|
|
5
|
+
//# sourceMappingURL=graficoReceitasMesPlanoContas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graficoReceitasMesPlanoContas.d.ts","sourceRoot":"","sources":["../../../src/dashboard/widgets/graficoReceitasMesPlanoContas.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAUjD,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,sBAAsB,+BAsFtE;AAWD,eAAO,MAAM,mCAAmC,EAAE,UAUjD,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { zodStringToJson } from '../../utils';
|
|
5
|
+
import { AgulhaoChart } from '../../chart';
|
|
6
|
+
import { Estrutura } from '../estrutura';
|
|
7
|
+
import { milhares } from '../../formatacoes';
|
|
8
|
+
import { useDashboard } from '../context';
|
|
9
|
+
const nomesMes = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
|
|
10
|
+
export function GraficoReceitasMesPlanoContas(w) {
|
|
11
|
+
const { atualizaWidget } = useDashboard();
|
|
12
|
+
const [carregando, setCarregando] = useState(false);
|
|
13
|
+
const [dados, setDados] = useState(zodStringToJson(w.conteudo || '[]', schema).data || []);
|
|
14
|
+
const intervalo = useRef(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (w.atualizaEmSegundos && w.atualizaEmSegundos > 0) {
|
|
17
|
+
intervalo.current = window.setInterval(() => {
|
|
18
|
+
atualizar();
|
|
19
|
+
}, w.atualizaEmSegundos * 1000);
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
if (intervalo.current) {
|
|
23
|
+
clearInterval(intervalo.current);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
const atualizar = async () => {
|
|
28
|
+
setCarregando(true);
|
|
29
|
+
const resultado = await atualizaWidget(w.widgetId, w.id);
|
|
30
|
+
setCarregando(false);
|
|
31
|
+
if (resultado) {
|
|
32
|
+
const dadosAtualizados = zodStringToJson(resultado, schema).data || [];
|
|
33
|
+
setDados(dadosAtualizados);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const mesVigente = dados.reduce((maior, d) => Math.max(maior, d.ano * 100 + d.mes), 0);
|
|
37
|
+
const doMesVigente = dados.filter((d) => d.ano * 100 + d.mes === mesVigente);
|
|
38
|
+
const porPlanoContas = new Map();
|
|
39
|
+
for (const d of doMesVigente) {
|
|
40
|
+
porPlanoContas.set(d.planoContas, (porPlanoContas.get(d.planoContas) || 0) + d.valor);
|
|
41
|
+
}
|
|
42
|
+
const linhas = [...porPlanoContas.entries()].sort((a, b) => b[1] - a[1]).map(([planoContas, valor]) => ({ planoContas, valor }));
|
|
43
|
+
const total = linhas.reduce((soma, l) => soma + l.valor, 0);
|
|
44
|
+
return (_jsx(Estrutura, { id: w.id, titulo: w.titulo, descricao: w.descricao, ultimaSincronizacao: w.ultimaSincronizacao, carregando: carregando, children: _jsxs("div", { style: { height: '100%', display: 'flex', flexDirection: 'column', flex: 1 }, children: [_jsx(AgulhaoChart, { style: { flexGrow: 1 }, grafico: {
|
|
45
|
+
tipo: 'pizza',
|
|
46
|
+
dataset: { linhas },
|
|
47
|
+
mapeamento: { rotulo: 'planoContas', valor: 'valor' },
|
|
48
|
+
opcoes: {
|
|
49
|
+
pizza: {
|
|
50
|
+
raio: '50%',
|
|
51
|
+
},
|
|
52
|
+
legenda: {
|
|
53
|
+
orientacao: 'horizontal',
|
|
54
|
+
},
|
|
55
|
+
formatadorValor: (v) => milhares(v, 'R$'),
|
|
56
|
+
rotulo: {
|
|
57
|
+
formato: (p) => `${p.name}\n ${milhares(p.value, 'R$')} (${milhares(p.percent)}%)`,
|
|
58
|
+
tamanhoFonte: 18,
|
|
59
|
+
alturaLinha: 20,
|
|
60
|
+
espacamento: 10,
|
|
61
|
+
linha: { comprimento: 40, comprimento2: 40, suave: false },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
} }), _jsxs("div", { style: {
|
|
65
|
+
display: 'flex',
|
|
66
|
+
justifyContent: 'space-between',
|
|
67
|
+
alignItems: 'center',
|
|
68
|
+
borderTop: '1px solid var(--ag-dashboard-cor)',
|
|
69
|
+
textAlign: 'center',
|
|
70
|
+
padding: '10px',
|
|
71
|
+
}, children: [renderizaValor('Mês', mesVigente ? `${nomesMes[(mesVigente % 100) - 1]}/${Math.floor(mesVigente / 100)}` : '-'), renderizaValor('Total', `R$ ${milhares(total)}`)] })] }) }));
|
|
72
|
+
}
|
|
73
|
+
function renderizaValor(descricao, valor) {
|
|
74
|
+
return (_jsxs("div", { children: [_jsx("p", { style: { margin: 0, fontWeight: 'bold', fontSize: '0.875rem' }, children: descricao }), _jsx("p", { style: { margin: 0, marginTop: '2px' }, children: valor })] }));
|
|
75
|
+
}
|
|
76
|
+
export const GraficoReceitasMesPlanoContasLayout = {
|
|
77
|
+
i: 'graficoReceitasMesPlanoContas',
|
|
78
|
+
x: 0,
|
|
79
|
+
y: 0,
|
|
80
|
+
w: 4,
|
|
81
|
+
h: 4,
|
|
82
|
+
minW: 1,
|
|
83
|
+
minH: 1,
|
|
84
|
+
isResizable: true,
|
|
85
|
+
isDraggable: true,
|
|
86
|
+
};
|
|
87
|
+
const linhaSchema = z.object({
|
|
88
|
+
mes: z.coerce.number(),
|
|
89
|
+
ano: z.coerce.number(),
|
|
90
|
+
planoContas: z.string(),
|
|
91
|
+
valor: z.coerce.number(),
|
|
92
|
+
});
|
|
93
|
+
const schema = z.array(linhaSchema);
|
|
94
|
+
//# sourceMappingURL=graficoReceitasMesPlanoContas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graficoReceitasMesPlanoContas.js","sourceRoot":"","sources":["../../../src/dashboard/widgets/graficoReceitasMesPlanoContas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LayoutItem } from 'react-grid-layout';
|
|
2
|
+
import { AgulhaoDashboardWidget } from '../types';
|
|
3
|
+
export declare function GraficoVendasMesTipoLancamento(w: AgulhaoDashboardWidget): import("react").JSX.Element;
|
|
4
|
+
export declare const GraficoVendasMesTipoLancamentoLayout: LayoutItem;
|
|
5
|
+
//# sourceMappingURL=graficoVendasMesTipoLancamento.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graficoVendasMesTipoLancamento.d.ts","sourceRoot":"","sources":["../../../src/dashboard/widgets/graficoVendasMesTipoLancamento.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAQjD,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,sBAAsB,+BAkFvE;AAWD,eAAO,MAAM,oCAAoC,EAAE,UAUlD,CAAA"}
|