diff --git a/fusion_accounting_followup/__manifest__.py b/fusion_accounting_followup/__manifest__.py
index 5429dd1b..6780af31 100644
--- a/fusion_accounting_followup/__manifest__.py
+++ b/fusion_accounting_followup/__manifest__.py
@@ -1,6 +1,6 @@
{
'name': 'Fusion Accounting Follow-up',
- 'version': '19.0.1.0.22',
+ 'version': '19.0.1.0.23',
'category': 'Accounting/Accounting',
'summary': 'AI-augmented customer follow-ups (dunning) for unpaid invoices.',
'description': """
@@ -50,6 +50,10 @@ menu hides; the engine + AI tools remain available for the chat.
'fusion_accounting_followup/static/src/components/partner_card/partner_card.xml',
'fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.js',
'fusion_accounting_followup/static/src/components/aging_bucket_strip/aging_bucket_strip.xml',
+ 'fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js',
+ 'fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.xml',
+ 'fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js',
+ 'fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.xml',
],
},
'installable': True,
diff --git a/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js b/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js
new file mode 100644
index 00000000..2c532d01
--- /dev/null
+++ b/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.js
@@ -0,0 +1,10 @@
+/** @odoo-module **/
+
+import { Component } from "@odoo/owl";
+
+export class AiTextPanel extends Component {
+ static template = "fusion_accounting_followup.AiTextPanel";
+ static props = {
+ text: { type: Object },
+ };
+}
diff --git a/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.xml b/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.xml
new file mode 100644
index 00000000..6d64923b
--- /dev/null
+++ b/fusion_accounting_followup/static/src/components/ai_text_panel/ai_text_panel.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
AI-Generated Follow-up Text
+
+ Subject:
+
+
+
+
+
+
+ Tone used:
+
+
+
+
+
diff --git a/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js b/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js
new file mode 100644
index 00000000..0c6a714d
--- /dev/null
+++ b/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.js
@@ -0,0 +1,15 @@
+/** @odoo-module **/
+
+import { Component } from "@odoo/owl";
+
+export class FollowupHistoryTable extends Component {
+ static template = "fusion_accounting_followup.FollowupHistoryTable";
+ static props = {
+ history: { type: Object },
+ };
+
+ formatDate(s) {
+ if (!s) return "";
+ return s.slice(0, 10);
+ }
+}
diff --git a/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.xml b/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.xml
new file mode 100644
index 00000000..e4f83eba
--- /dev/null
+++ b/fusion_accounting_followup/static/src/components/followup_history_table/followup_history_table.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
Follow-up History ()
+
+
+
+ | Date |
+ Level |
+ Tone |
+ State |
+ Overdue |
+
+
+
+
+ |
+ |
+ |
+ |
+
+ $
+ |
+
+
+
+
No history yet.
+
+
+
+