@hed-hog/finance 0.0.299 → 0.0.301
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/dist/dto/create-bank-account.dto.d.ts +1 -0
- package/dist/dto/create-bank-account.dto.d.ts.map +1 -1
- package/dist/dto/create-bank-account.dto.js +7 -0
- package/dist/dto/create-bank-account.dto.js.map +1 -1
- package/dist/dto/update-bank-account.dto.d.ts +1 -0
- package/dist/dto/update-bank-account.dto.d.ts.map +1 -1
- package/dist/dto/update-bank-account.dto.js +7 -0
- package/dist/dto/update-bank-account.dto.js.map +1 -1
- package/dist/finance-bank-accounts.controller.d.ts +3 -0
- package/dist/finance-bank-accounts.controller.d.ts.map +1 -1
- package/dist/finance-data.controller.d.ts +1 -0
- package/dist/finance-data.controller.d.ts.map +1 -1
- package/dist/finance.contract-activated.subscriber.d.ts +24 -0
- package/dist/finance.contract-activated.subscriber.d.ts.map +1 -0
- package/dist/finance.contract-activated.subscriber.js +519 -0
- package/dist/finance.contract-activated.subscriber.js.map +1 -0
- package/dist/finance.contract-activated.subscriber.spec.d.ts +2 -0
- package/dist/finance.contract-activated.subscriber.spec.d.ts.map +1 -0
- package/dist/finance.contract-activated.subscriber.spec.js +302 -0
- package/dist/finance.contract-activated.subscriber.spec.js.map +1 -0
- package/dist/finance.module.d.ts.map +1 -1
- package/dist/finance.module.js +6 -1
- package/dist/finance.module.js.map +1 -1
- package/dist/finance.service.d.ts +4 -0
- package/dist/finance.service.d.ts.map +1 -1
- package/dist/finance.service.js +5 -0
- package/dist/finance.service.js.map +1 -1
- package/hedhog/data/dashboard.yaml +6 -0
- package/hedhog/data/dashboard_component.yaml +72 -17
- package/hedhog/data/dashboard_component_role.yaml +30 -0
- package/hedhog/data/dashboard_item.yaml +155 -0
- package/hedhog/data/dashboard_role.yaml +6 -0
- package/hedhog/data/role_menu.yaml +6 -0
- package/hedhog/data/role_route.yaml +127 -0
- package/hedhog/frontend/app/_components/finance-layout.tsx.ejs +108 -0
- package/hedhog/frontend/app/accounts-payable/approvals/page.tsx.ejs +91 -106
- package/hedhog/frontend/app/accounts-payable/installments/page.tsx.ejs +1306 -1145
- package/hedhog/frontend/app/accounts-receivable/collections-default/page.tsx.ejs +288 -268
- package/hedhog/frontend/app/accounts-receivable/installments/page.tsx.ejs +491 -351
- package/hedhog/frontend/app/administration/audit-logs/page.tsx.ejs +157 -173
- package/hedhog/frontend/app/administration/categories/page.tsx.ejs +44 -62
- package/hedhog/frontend/app/administration/cost-centers/page.tsx.ejs +62 -80
- package/hedhog/frontend/app/administration/period-close/page.tsx.ejs +151 -170
- package/hedhog/frontend/app/cash-and-banks/bank-accounts/page.tsx.ejs +586 -224
- package/hedhog/frontend/app/cash-and-banks/bank-reconciliation/page.tsx.ejs +204 -226
- package/hedhog/frontend/app/cash-and-banks/statements/page.tsx.ejs +122 -140
- package/hedhog/frontend/app/cash-and-banks/transfers/page.tsx.ejs +32 -49
- package/hedhog/frontend/app/planning/cash-flow-forecast/page.tsx.ejs +84 -108
- package/hedhog/frontend/app/planning/receivables-calendar/page.tsx.ejs +53 -70
- package/hedhog/frontend/app/planning/scenarios/page.tsx.ejs +98 -95
- package/hedhog/frontend/app/reports/actual-vs-forecast/page.tsx.ejs +100 -125
- package/hedhog/frontend/app/reports/aging-default/page.tsx.ejs +77 -105
- package/hedhog/frontend/app/reports/cash-position/page.tsx.ejs +99 -134
- package/hedhog/frontend/app/reports/overview-results/page.tsx.ejs +147 -182
- package/hedhog/frontend/app/reports/top-customers/page.tsx.ejs +49 -61
- package/hedhog/frontend/app/reports/top-operational-expenses/page.tsx.ejs +49 -67
- package/hedhog/frontend/messages/en.json +224 -70
- package/hedhog/frontend/messages/pt.json +224 -70
- package/hedhog/frontend/widgets/alerts.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/bank-reconciliation-status.tsx.ejs +142 -0
- package/hedhog/frontend/widgets/cash-balance-kpi.tsx.ejs +9 -9
- package/hedhog/frontend/widgets/cash-flow-chart.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/default-kpi.tsx.ejs +9 -9
- package/hedhog/frontend/widgets/payable-30d-kpi.tsx.ejs +9 -9
- package/hedhog/frontend/widgets/pending-approvals-kpi.tsx.ejs +78 -0
- package/hedhog/frontend/widgets/pending-approvals-list.tsx.ejs +147 -0
- package/hedhog/frontend/widgets/pending-reconciliation-kpi.tsx.ejs +84 -0
- package/hedhog/frontend/widgets/receivable-30d-kpi.tsx.ejs +9 -9
- package/hedhog/frontend/widgets/receivable-aging-analysis.tsx.ejs +163 -0
- package/hedhog/frontend/widgets/upcoming-payable.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/upcoming-receivable.tsx.ejs +1 -1
- package/hedhog/table/bank_account.yaml +8 -0
- package/package.json +7 -6
- package/src/dto/create-bank-account.dto.ts +7 -1
- package/src/dto/update-bank-account.dto.ts +7 -1
- package/src/finance.contract-activated.subscriber.spec.ts +392 -0
- package/src/finance.contract-activated.subscriber.ts +780 -0
- package/src/finance.module.ts +6 -1
- package/src/finance.service.ts +4 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
- slug: cash-balance-kpi
|
|
2
2
|
library_slug: finance
|
|
3
3
|
width: 2
|
|
4
|
-
height:
|
|
4
|
+
height: 1
|
|
5
5
|
name:
|
|
6
6
|
en: Cash Balance
|
|
7
7
|
pt: Saldo em Caixa
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
- slug: payable-30d-kpi
|
|
13
13
|
library_slug: finance
|
|
14
14
|
width: 2
|
|
15
|
-
height:
|
|
15
|
+
height: 1
|
|
16
16
|
name:
|
|
17
17
|
en: Payables 30 Days
|
|
18
18
|
pt: A Pagar 30 Dias
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
- slug: receivable-30d-kpi
|
|
24
24
|
library_slug: finance
|
|
25
25
|
width: 2
|
|
26
|
-
height:
|
|
26
|
+
height: 1
|
|
27
27
|
name:
|
|
28
28
|
en: Receivables 30 Days
|
|
29
29
|
pt: A Receber 30 Dias
|
|
@@ -34,54 +34,109 @@
|
|
|
34
34
|
- slug: default-kpi
|
|
35
35
|
library_slug: finance
|
|
36
36
|
width: 2
|
|
37
|
-
height:
|
|
37
|
+
height: 1
|
|
38
38
|
name:
|
|
39
39
|
en: Default Amount
|
|
40
|
-
pt:
|
|
40
|
+
pt: Inadimplência
|
|
41
41
|
description:
|
|
42
42
|
en: Shows the current default amount.
|
|
43
|
-
pt: Mostra o valor atual de
|
|
43
|
+
pt: Mostra o valor atual de inadimplência.
|
|
44
|
+
|
|
45
|
+
- slug: pending-approvals-kpi
|
|
46
|
+
library_slug: finance
|
|
47
|
+
width: 2
|
|
48
|
+
height: 1
|
|
49
|
+
name:
|
|
50
|
+
en: Pending Approvals KPI
|
|
51
|
+
pt: KPI de Aprovações Pendentes
|
|
52
|
+
description:
|
|
53
|
+
en: Shows the current pending approval queue and total value awaiting review.
|
|
54
|
+
pt: Mostra a fila atual de aprovações pendentes e o valor total aguardando análise.
|
|
55
|
+
|
|
56
|
+
- slug: pending-reconciliation-kpi
|
|
57
|
+
library_slug: finance
|
|
58
|
+
width: 2
|
|
59
|
+
height: 1
|
|
60
|
+
name:
|
|
61
|
+
en: Pending Reconciliation KPI
|
|
62
|
+
pt: KPI de Conciliação Pendente
|
|
63
|
+
description:
|
|
64
|
+
en: Shows the volume of bank statements still pending reconciliation.
|
|
65
|
+
pt: Mostra o volume de extratos bancários ainda pendentes de conciliação.
|
|
44
66
|
|
|
45
67
|
- slug: cash-flow-chart
|
|
46
68
|
library_slug: finance
|
|
47
69
|
width: 6
|
|
48
|
-
height:
|
|
70
|
+
height: 6
|
|
49
71
|
name:
|
|
50
72
|
en: Cash Flow Chart
|
|
51
|
-
pt:
|
|
73
|
+
pt: Gráfico de Fluxo de Caixa
|
|
52
74
|
description:
|
|
53
75
|
en: Compares predicted and realized cash flow.
|
|
54
76
|
pt: Compara o fluxo de caixa previsto e realizado.
|
|
55
77
|
|
|
56
78
|
- slug: financial-alerts
|
|
57
79
|
library_slug: finance
|
|
58
|
-
width:
|
|
59
|
-
height:
|
|
80
|
+
width: 6
|
|
81
|
+
height: 3
|
|
60
82
|
name:
|
|
61
83
|
en: Financial Alerts
|
|
62
84
|
pt: Alertas Financeiros
|
|
63
85
|
description:
|
|
64
86
|
en: Highlights overdue items, pending reconciliation and open period.
|
|
65
|
-
pt: Destaca
|
|
87
|
+
pt: Destaca títulos vencidos, conciliação pendente e período aberto.
|
|
88
|
+
|
|
89
|
+
- slug: bank-reconciliation-status
|
|
90
|
+
library_slug: finance
|
|
91
|
+
width: 6
|
|
92
|
+
height: 3
|
|
93
|
+
name:
|
|
94
|
+
en: Bank Reconciliation Status
|
|
95
|
+
pt: Status de Conciliação Bancária
|
|
96
|
+
description:
|
|
97
|
+
en: Summarizes pending reconciliation and cash differences across bank accounts.
|
|
98
|
+
pt: Resume conciliações pendentes e diferenças de saldo entre as contas bancárias.
|
|
66
99
|
|
|
67
100
|
- slug: upcoming-payable
|
|
68
101
|
library_slug: finance
|
|
69
|
-
width:
|
|
102
|
+
width: 4
|
|
70
103
|
height: 4
|
|
71
104
|
name:
|
|
72
105
|
en: Upcoming Payables
|
|
73
|
-
pt:
|
|
106
|
+
pt: Próximos A Pagar
|
|
74
107
|
description:
|
|
75
108
|
en: Lists upcoming payable due dates.
|
|
76
|
-
pt: Lista os
|
|
109
|
+
pt: Lista os próximos vencimentos a pagar.
|
|
77
110
|
|
|
78
111
|
- slug: upcoming-receivable
|
|
79
112
|
library_slug: finance
|
|
80
|
-
width:
|
|
113
|
+
width: 4
|
|
81
114
|
height: 4
|
|
82
115
|
name:
|
|
83
116
|
en: Upcoming Receivables
|
|
84
|
-
pt:
|
|
117
|
+
pt: Próximos A Receber
|
|
85
118
|
description:
|
|
86
119
|
en: Lists upcoming receivable due dates.
|
|
87
|
-
pt: Lista os
|
|
120
|
+
pt: Lista os próximos vencimentos a receber.
|
|
121
|
+
|
|
122
|
+
- slug: pending-approvals-list
|
|
123
|
+
library_slug: finance
|
|
124
|
+
width: 4
|
|
125
|
+
height: 4
|
|
126
|
+
name:
|
|
127
|
+
en: Pending Approvals List
|
|
128
|
+
pt: Lista de Aprovações Pendentes
|
|
129
|
+
description:
|
|
130
|
+
en: Shows the most recent financial approvals waiting for action.
|
|
131
|
+
pt: Mostra as aprovações financeiras mais recentes aguardando ação.
|
|
132
|
+
|
|
133
|
+
- slug: receivable-aging-analysis
|
|
134
|
+
library_slug: finance
|
|
135
|
+
width: 12
|
|
136
|
+
height: 3
|
|
137
|
+
name:
|
|
138
|
+
en: Receivable Aging Analysis
|
|
139
|
+
pt: Análise de Aging do Recebível
|
|
140
|
+
description:
|
|
141
|
+
en: Breaks down overdue receivables by aging range.
|
|
142
|
+
pt: Detalha os recebíveis em atraso por faixa de vencimento.
|
|
@@ -43,6 +43,36 @@
|
|
|
43
43
|
- component_id:
|
|
44
44
|
where:
|
|
45
45
|
slug: upcoming-receivable
|
|
46
|
+
role_id:
|
|
47
|
+
where:
|
|
48
|
+
slug: admin-finance
|
|
49
|
+
- component_id:
|
|
50
|
+
where:
|
|
51
|
+
slug: pending-approvals-kpi
|
|
52
|
+
role_id:
|
|
53
|
+
where:
|
|
54
|
+
slug: admin-finance
|
|
55
|
+
- component_id:
|
|
56
|
+
where:
|
|
57
|
+
slug: pending-reconciliation-kpi
|
|
58
|
+
role_id:
|
|
59
|
+
where:
|
|
60
|
+
slug: admin-finance
|
|
61
|
+
- component_id:
|
|
62
|
+
where:
|
|
63
|
+
slug: bank-reconciliation-status
|
|
64
|
+
role_id:
|
|
65
|
+
where:
|
|
66
|
+
slug: admin-finance
|
|
67
|
+
- component_id:
|
|
68
|
+
where:
|
|
69
|
+
slug: pending-approvals-list
|
|
70
|
+
role_id:
|
|
71
|
+
where:
|
|
72
|
+
slug: admin-finance
|
|
73
|
+
- component_id:
|
|
74
|
+
where:
|
|
75
|
+
slug: receivable-aging-analysis
|
|
46
76
|
role_id:
|
|
47
77
|
where:
|
|
48
78
|
slug: admin-finance
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
- component_id:
|
|
2
|
+
where:
|
|
3
|
+
slug: cash-balance-kpi
|
|
4
|
+
library_slug: finance
|
|
5
|
+
dashboard_id:
|
|
6
|
+
where:
|
|
7
|
+
slug: finance-overview
|
|
8
|
+
width: 2
|
|
9
|
+
height: 1
|
|
10
|
+
x_axis: 0
|
|
11
|
+
y_axis: 0
|
|
12
|
+
|
|
13
|
+
- component_id:
|
|
14
|
+
where:
|
|
15
|
+
slug: payable-30d-kpi
|
|
16
|
+
library_slug: finance
|
|
17
|
+
dashboard_id:
|
|
18
|
+
where:
|
|
19
|
+
slug: finance-overview
|
|
20
|
+
width: 2
|
|
21
|
+
height: 1
|
|
22
|
+
x_axis: 2
|
|
23
|
+
y_axis: 0
|
|
24
|
+
|
|
25
|
+
- component_id:
|
|
26
|
+
where:
|
|
27
|
+
slug: receivable-30d-kpi
|
|
28
|
+
library_slug: finance
|
|
29
|
+
dashboard_id:
|
|
30
|
+
where:
|
|
31
|
+
slug: finance-overview
|
|
32
|
+
width: 2
|
|
33
|
+
height: 1
|
|
34
|
+
x_axis: 4
|
|
35
|
+
y_axis: 0
|
|
36
|
+
|
|
37
|
+
- component_id:
|
|
38
|
+
where:
|
|
39
|
+
slug: default-kpi
|
|
40
|
+
library_slug: finance
|
|
41
|
+
dashboard_id:
|
|
42
|
+
where:
|
|
43
|
+
slug: finance-overview
|
|
44
|
+
width: 2
|
|
45
|
+
height: 1
|
|
46
|
+
x_axis: 6
|
|
47
|
+
y_axis: 0
|
|
48
|
+
|
|
49
|
+
- component_id:
|
|
50
|
+
where:
|
|
51
|
+
slug: pending-approvals-kpi
|
|
52
|
+
library_slug: finance
|
|
53
|
+
dashboard_id:
|
|
54
|
+
where:
|
|
55
|
+
slug: finance-overview
|
|
56
|
+
width: 2
|
|
57
|
+
height: 1
|
|
58
|
+
x_axis: 8
|
|
59
|
+
y_axis: 0
|
|
60
|
+
|
|
61
|
+
- component_id:
|
|
62
|
+
where:
|
|
63
|
+
slug: pending-reconciliation-kpi
|
|
64
|
+
library_slug: finance
|
|
65
|
+
dashboard_id:
|
|
66
|
+
where:
|
|
67
|
+
slug: finance-overview
|
|
68
|
+
width: 2
|
|
69
|
+
height: 1
|
|
70
|
+
x_axis: 10
|
|
71
|
+
y_axis: 0
|
|
72
|
+
|
|
73
|
+
- component_id:
|
|
74
|
+
where:
|
|
75
|
+
slug: cash-flow-chart
|
|
76
|
+
library_slug: finance
|
|
77
|
+
dashboard_id:
|
|
78
|
+
where:
|
|
79
|
+
slug: finance-overview
|
|
80
|
+
width: 6
|
|
81
|
+
height: 6
|
|
82
|
+
x_axis: 0
|
|
83
|
+
y_axis: 1
|
|
84
|
+
|
|
85
|
+
- component_id:
|
|
86
|
+
where:
|
|
87
|
+
slug: financial-alerts
|
|
88
|
+
library_slug: finance
|
|
89
|
+
dashboard_id:
|
|
90
|
+
where:
|
|
91
|
+
slug: finance-overview
|
|
92
|
+
width: 6
|
|
93
|
+
height: 3
|
|
94
|
+
x_axis: 6
|
|
95
|
+
y_axis: 1
|
|
96
|
+
|
|
97
|
+
- component_id:
|
|
98
|
+
where:
|
|
99
|
+
slug: bank-reconciliation-status
|
|
100
|
+
library_slug: finance
|
|
101
|
+
dashboard_id:
|
|
102
|
+
where:
|
|
103
|
+
slug: finance-overview
|
|
104
|
+
width: 6
|
|
105
|
+
height: 3
|
|
106
|
+
x_axis: 6
|
|
107
|
+
y_axis: 4
|
|
108
|
+
|
|
109
|
+
- component_id:
|
|
110
|
+
where:
|
|
111
|
+
slug: upcoming-payable
|
|
112
|
+
library_slug: finance
|
|
113
|
+
dashboard_id:
|
|
114
|
+
where:
|
|
115
|
+
slug: finance-overview
|
|
116
|
+
width: 4
|
|
117
|
+
height: 4
|
|
118
|
+
x_axis: 0
|
|
119
|
+
y_axis: 7
|
|
120
|
+
|
|
121
|
+
- component_id:
|
|
122
|
+
where:
|
|
123
|
+
slug: upcoming-receivable
|
|
124
|
+
library_slug: finance
|
|
125
|
+
dashboard_id:
|
|
126
|
+
where:
|
|
127
|
+
slug: finance-overview
|
|
128
|
+
width: 4
|
|
129
|
+
height: 4
|
|
130
|
+
x_axis: 4
|
|
131
|
+
y_axis: 7
|
|
132
|
+
|
|
133
|
+
- component_id:
|
|
134
|
+
where:
|
|
135
|
+
slug: pending-approvals-list
|
|
136
|
+
library_slug: finance
|
|
137
|
+
dashboard_id:
|
|
138
|
+
where:
|
|
139
|
+
slug: finance-overview
|
|
140
|
+
width: 4
|
|
141
|
+
height: 4
|
|
142
|
+
x_axis: 8
|
|
143
|
+
y_axis: 7
|
|
144
|
+
|
|
145
|
+
- component_id:
|
|
146
|
+
where:
|
|
147
|
+
slug: receivable-aging-analysis
|
|
148
|
+
library_slug: finance
|
|
149
|
+
dashboard_id:
|
|
150
|
+
where:
|
|
151
|
+
slug: finance-overview
|
|
152
|
+
width: 12
|
|
153
|
+
height: 3
|
|
154
|
+
x_axis: 0
|
|
155
|
+
y_axis: 11
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
- role_id:
|
|
2
|
+
where:
|
|
3
|
+
slug: admin-finance
|
|
4
|
+
route_id:
|
|
5
|
+
where:
|
|
6
|
+
url: /dashboard-core/home
|
|
7
|
+
method: GET
|
|
8
|
+
|
|
9
|
+
- role_id:
|
|
10
|
+
where:
|
|
11
|
+
slug: admin-finance
|
|
12
|
+
route_id:
|
|
13
|
+
where:
|
|
14
|
+
url: /dashboard-core/access/:slug
|
|
15
|
+
method: GET
|
|
16
|
+
|
|
17
|
+
- role_id:
|
|
18
|
+
where:
|
|
19
|
+
slug: admin-finance
|
|
20
|
+
route_id:
|
|
21
|
+
where:
|
|
22
|
+
url: /dashboard-core/user-dashboards
|
|
23
|
+
method: GET
|
|
24
|
+
|
|
25
|
+
- role_id:
|
|
26
|
+
where:
|
|
27
|
+
slug: admin-finance
|
|
28
|
+
route_id:
|
|
29
|
+
where:
|
|
30
|
+
url: /dashboard-core/templates
|
|
31
|
+
method: GET
|
|
32
|
+
|
|
33
|
+
- role_id:
|
|
34
|
+
where:
|
|
35
|
+
slug: admin-finance
|
|
36
|
+
route_id:
|
|
37
|
+
where:
|
|
38
|
+
url: /dashboard-core/dashboard
|
|
39
|
+
method: POST
|
|
40
|
+
|
|
41
|
+
- role_id:
|
|
42
|
+
where:
|
|
43
|
+
slug: admin-finance
|
|
44
|
+
route_id:
|
|
45
|
+
where:
|
|
46
|
+
url: /dashboard-core/dashboard/:slug
|
|
47
|
+
method: PATCH
|
|
48
|
+
|
|
49
|
+
- role_id:
|
|
50
|
+
where:
|
|
51
|
+
slug: admin-finance
|
|
52
|
+
route_id:
|
|
53
|
+
where:
|
|
54
|
+
url: /dashboard-core/dashboard/:slug/home
|
|
55
|
+
method: POST
|
|
56
|
+
|
|
57
|
+
- role_id:
|
|
58
|
+
where:
|
|
59
|
+
slug: admin-finance
|
|
60
|
+
route_id:
|
|
61
|
+
where:
|
|
62
|
+
url: /dashboard-core/dashboard/:slug
|
|
63
|
+
method: DELETE
|
|
64
|
+
|
|
65
|
+
- role_id:
|
|
66
|
+
where:
|
|
67
|
+
slug: admin-finance
|
|
68
|
+
route_id:
|
|
69
|
+
where:
|
|
70
|
+
url: /dashboard-core/dashboard/:slug/shares
|
|
71
|
+
method: GET
|
|
72
|
+
|
|
73
|
+
- role_id:
|
|
74
|
+
where:
|
|
75
|
+
slug: admin-finance
|
|
76
|
+
route_id:
|
|
77
|
+
where:
|
|
78
|
+
url: /dashboard-core/dashboard/:slug/share
|
|
79
|
+
method: POST
|
|
80
|
+
|
|
81
|
+
- role_id:
|
|
82
|
+
where:
|
|
83
|
+
slug: admin-finance
|
|
84
|
+
route_id:
|
|
85
|
+
where:
|
|
86
|
+
url: /dashboard-core/dashboard/:slug/share/:sharedUserId
|
|
87
|
+
method: DELETE
|
|
88
|
+
|
|
89
|
+
- role_id:
|
|
90
|
+
where:
|
|
91
|
+
slug: admin-finance
|
|
92
|
+
route_id:
|
|
93
|
+
where:
|
|
94
|
+
url: /dashboard-core/shareable-users/:slug
|
|
95
|
+
method: GET
|
|
96
|
+
|
|
97
|
+
- role_id:
|
|
98
|
+
where:
|
|
99
|
+
slug: admin-finance
|
|
100
|
+
route_id:
|
|
101
|
+
where:
|
|
102
|
+
url: /dashboard-core/layout/:slug
|
|
103
|
+
method: GET
|
|
104
|
+
|
|
105
|
+
- role_id:
|
|
106
|
+
where:
|
|
107
|
+
slug: admin-finance
|
|
108
|
+
route_id:
|
|
109
|
+
where:
|
|
110
|
+
url: /dashboard-core/layout/:slug
|
|
111
|
+
method: POST
|
|
112
|
+
|
|
113
|
+
- role_id:
|
|
114
|
+
where:
|
|
115
|
+
slug: admin-finance
|
|
116
|
+
route_id:
|
|
117
|
+
where:
|
|
118
|
+
url: /dashboard-core/widget/:slug
|
|
119
|
+
method: POST
|
|
120
|
+
|
|
121
|
+
- role_id:
|
|
122
|
+
where:
|
|
123
|
+
slug: admin-finance
|
|
124
|
+
route_id:
|
|
125
|
+
where:
|
|
126
|
+
url: /dashboard-core/widget/:slug/:widgetId
|
|
127
|
+
method: DELETE
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Card,
|
|
5
|
+
CardContent,
|
|
6
|
+
CardDescription,
|
|
7
|
+
CardHeader,
|
|
8
|
+
CardTitle,
|
|
9
|
+
} from '@/components/ui/card';
|
|
10
|
+
import { cn } from '@/lib/utils';
|
|
11
|
+
import type { ReactNode } from 'react';
|
|
12
|
+
|
|
13
|
+
type FinancePageSectionProps = {
|
|
14
|
+
title?: ReactNode;
|
|
15
|
+
description?: ReactNode;
|
|
16
|
+
actions?: ReactNode;
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
contentClassName?: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export function FinancePageSection({
|
|
23
|
+
title,
|
|
24
|
+
description,
|
|
25
|
+
actions,
|
|
26
|
+
children,
|
|
27
|
+
className,
|
|
28
|
+
contentClassName,
|
|
29
|
+
}: FinancePageSectionProps) {
|
|
30
|
+
const hasHeader = title || description || actions;
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<Card
|
|
34
|
+
className={cn(
|
|
35
|
+
'overflow-hidden border-border/60 py-0 shadow-sm',
|
|
36
|
+
className
|
|
37
|
+
)}
|
|
38
|
+
>
|
|
39
|
+
{hasHeader ? (
|
|
40
|
+
<CardHeader className="flex flex-col gap-3 border-b border-border/50 px-5 py-4 sm:flex-row sm:items-start sm:justify-between">
|
|
41
|
+
<div className="space-y-1">
|
|
42
|
+
{title ? (
|
|
43
|
+
<CardTitle className="text-base">{title}</CardTitle>
|
|
44
|
+
) : null}
|
|
45
|
+
{description ? (
|
|
46
|
+
<CardDescription>{description}</CardDescription>
|
|
47
|
+
) : null}
|
|
48
|
+
</div>
|
|
49
|
+
{actions ? <div className="shrink-0">{actions}</div> : null}
|
|
50
|
+
</CardHeader>
|
|
51
|
+
) : null}
|
|
52
|
+
<CardContent className={cn('p-0', contentClassName)}>
|
|
53
|
+
{children}
|
|
54
|
+
</CardContent>
|
|
55
|
+
</Card>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
type FinanceSheetBodyProps = {
|
|
60
|
+
children: ReactNode;
|
|
61
|
+
className?: string;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export function FinanceSheetBody({
|
|
65
|
+
children,
|
|
66
|
+
className,
|
|
67
|
+
}: FinanceSheetBodyProps) {
|
|
68
|
+
return (
|
|
69
|
+
<div
|
|
70
|
+
className={cn(
|
|
71
|
+
'flex-1 space-y-5 overflow-y-auto px-4 py-4 sm:px-6 sm:py-5',
|
|
72
|
+
className
|
|
73
|
+
)}
|
|
74
|
+
>
|
|
75
|
+
{children}
|
|
76
|
+
</div>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type FinanceSheetSectionProps = {
|
|
81
|
+
title: ReactNode;
|
|
82
|
+
description?: ReactNode;
|
|
83
|
+
children: ReactNode;
|
|
84
|
+
className?: string;
|
|
85
|
+
contentClassName?: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export function FinanceSheetSection({
|
|
89
|
+
title,
|
|
90
|
+
description,
|
|
91
|
+
children,
|
|
92
|
+
className,
|
|
93
|
+
contentClassName,
|
|
94
|
+
}: FinanceSheetSectionProps) {
|
|
95
|
+
return (
|
|
96
|
+
<section className={cn('', className)}>
|
|
97
|
+
<div className="mb-4 space-y-1">
|
|
98
|
+
<h3 className="text-sm font-semibold text-foreground">{title}</h3>
|
|
99
|
+
{description ? (
|
|
100
|
+
<p className="text-sm leading-relaxed text-muted-foreground">
|
|
101
|
+
{description}
|
|
102
|
+
</p>
|
|
103
|
+
) : null}
|
|
104
|
+
</div>
|
|
105
|
+
<div className={cn('space-y-4', contentClassName)}>{children}</div>
|
|
106
|
+
</section>
|
|
107
|
+
);
|
|
108
|
+
}
|