From 0d4a56eba7c06cb5921b6939912c0508dd55e4fc Mon Sep 17 00:00:00 2001 From: MattLeo Date: Wed, 3 Dec 2025 10:07:21 -0600 Subject: [PATCH] Added Freshdesk app interface --- .gitignore | 17 +- fd-client/.fdk/configs.json | 1 + fd-client/.fdk/localstore | 1 + fd-client/.fdk/store.sqlite | Bin 0 -> 49152 bytes fd-client/.report.json | 476 +++++++++++++++++++++++++++ fd-client/README.md | 20 ++ fd-client/app/index.html | 22 ++ fd-client/app/scripts/app.js | 10 + fd-client/app/styles/images/icon.svg | 14 + fd-client/app/styles/style.css | 45 +++ fd-client/config/iparams.json | 1 + fd-client/manifest.json | 17 + 12 files changed, 623 insertions(+), 1 deletion(-) create mode 100644 fd-client/.fdk/configs.json create mode 100644 fd-client/.fdk/localstore create mode 100644 fd-client/.fdk/store.sqlite create mode 100644 fd-client/.report.json create mode 100644 fd-client/README.md create mode 100644 fd-client/app/index.html create mode 100644 fd-client/app/scripts/app.js create mode 100644 fd-client/app/styles/images/icon.svg create mode 100644 fd-client/app/styles/style.css create mode 100644 fd-client/config/iparams.json create mode 100644 fd-client/manifest.json diff --git a/.gitignore b/.gitignore index 65433a8..82928df 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,19 @@ /server/node_modules/ /server/ka.db /client/node_modules/ -keys.txt \ No newline at end of file + + +keys.txt + + +/fd-client/DS_Store +/fd-client/fdk/ +/fd-client/coverage/ +/fd-client/report.json +/fd-client/vscode/ +/fd-client/node_modules/ +/fd-client/test_data/ +/fd-client/dist/ +/fd-client/config/oauth_config.json +/fd-client/config/iparam_test_data.json +/fd-client/log/ diff --git a/fd-client/.fdk/configs.json b/fd-client/.fdk/configs.json new file mode 100644 index 0000000..f5a0d02 --- /dev/null +++ b/fd-client/.fdk/configs.json @@ -0,0 +1 @@ +{"request":{"timeout":15000},"job":{"timeout":120000},"global_apps":{"enabled":"true"}} \ No newline at end of file diff --git a/fd-client/.fdk/localstore b/fd-client/.fdk/localstore new file mode 100644 index 0000000..80326cc --- /dev/null +++ b/fd-client/.fdk/localstore @@ -0,0 +1 @@ +{"fd_cli_101_101_migrate_oauth_status":true,"report_hash":"8ee96e64b8a3f4c5139f4c95c579919721a060b0421ea476a0870b7403a8245e"} \ No newline at end of file diff --git a/fd-client/.fdk/store.sqlite b/fd-client/.fdk/store.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..6000867c98a20b3a35bbd5723beb2b085a69650c GIT binary patch literal 49152 zcmeI&&2QUe90zbaNt5)|+bM@_lFJTj)TYZzqjus#wuKS3OSh6TDkK~?dD?ooaT+^Q zi$G{y5l6245!}X&8{)q}9QX?mH%^G(V<)K}$JJH>suaGKtj5pt__3eQ^Z0qO`{C0K z!(r;4)j8B1wIE%SWLbJoRV7KP&^|+Zf19TtvHk)5m3_Z2`dN{dwVShv@1*JI&yrG7 zew=N`jo4q)e@uNl*-m~lH%r0TAOL|81Ws44CsKFr$Y&Wx-!+--bd1)%);3;Pjx8Ka zJ=iLjYGt)ny1!9Y>q1;zU8oz)x>~8$%8$xh>XWU?iSx?bK0N|jE2T&~uZ z)H-W9hI69v31sB3mfmv2%o`o1JFKbcl)*zPTdnfAtX4N`YIS>KgYxONn-|BY zPY)&zZJ+;xOA+0}ZQ1LXPH~w1-b~^!>W($``ZTx5?~A$7nl-)f%c4cHB0oQUp^v zWkl+wDX)>HJZin`9B554HcZ>{A4~^`{c)G!ZFj6@w?WM!K<=&kdZM~x(4gzh5n%K~pqjAmtB>nzBc&6jm<8H_Ia!*O5ZrqSx-F91t z_w?JnKS{Ag^g=Jw7Q#BLreU{DJkV|=qc!_eZPx20z8vD=gT%na zj$aHyPwQwyS!lm&>buMwddS7TwvhLRuA?sXpFtSvxT(MA19U(v+>yE%DsZnA2qW!? z!e7iJQnzl&U$37F8@)zHe`6u86nq)dUdJ04zR1QuE?b>_y=B-sAAp1bFpzHO3G`rHl|QBRf2l%GbJx75Z{EGVU1Q&%Cg@Ehg@Z}q z*6KpsWtvLwkrtY_|1lTmdcs6%xB1h#;$HxD^It}{#kkY-AFvOnU*D^)nv!L=0TGs%RTlQ)!^D%PP|-{M%^SI zd1v{Lx!02NtMY?#rs&F=qRjn90oWh_0SG_<0uX=z1Rwwb2tWV=S1YiTjOh7nzL+iK z?&XTPwft(vdvBBRKF4I-?>8B~0AGG?FD2a6E7{e2Ay>@jvTK9X{L2DAX!2JMx@lAD zJMqXf$~&9AN4XbrD}`b|wfC_sz{}fB*y_009U<00Izz00ephSpTCbKmY;| zfB*y_009U<00Izz00hQg0PFwpuVa)D0uX=z1Rwwb2tWV=5P$##Ab|Bh+5iL~009U< z00Izz00bZa0SG`~`~|T7AOAW=2_XOh2tWV=5P$##AOHafKmY>1_5UPkBxz639;ZD< zJ2nVF00Izz00bZa0SG_<0uX=z1jazXxBef4(x3 + + + + Knowledge Base + + + +
+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/fd-client/app/scripts/app.js b/fd-client/app/scripts/app.js new file mode 100644 index 0000000..5f13d69 --- /dev/null +++ b/fd-client/app/scripts/app.js @@ -0,0 +1,10 @@ +document.addEventListener('DOMContentLoaded', function () { + app.initialized().then(function (client) { + console.log('KB initialized'); + + document.getElementById('insert-ka-btn').addEventListener('click', function() { + alert('Insert KA# - to be implemented'); + }); + + }); +}); \ No newline at end of file diff --git a/fd-client/app/styles/images/icon.svg b/fd-client/app/styles/images/icon.svg new file mode 100644 index 0000000..8e72ff0 --- /dev/null +++ b/fd-client/app/styles/images/icon.svg @@ -0,0 +1,14 @@ + + + + + diff --git a/fd-client/app/styles/style.css b/fd-client/app/styles/style.css new file mode 100644 index 0000000..992ac6d --- /dev/null +++ b/fd-client/app/styles/style.css @@ -0,0 +1,45 @@ +body { + margin: 0; + padding: 0; + height: 100vh; +} + +.kb-container { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +} + +.kb-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + background-color: #2c3e50; + color: white; +} + +.kb-header h3 { + margin: 0; + font-size: 16px; +} + +.kb-header button { + background-color: #27ae60; + color: white; + border: none; + padding: 8px 16px; + border-radius: 4px; + cursor: pointer; +} + +.kb-header button:hover { + background-color: #229954; +} + +#kb-iframe { + flex: 1; + width: 100%; + border: none; +} \ No newline at end of file diff --git a/fd-client/config/iparams.json b/fd-client/config/iparams.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/fd-client/config/iparams.json @@ -0,0 +1 @@ +{} diff --git a/fd-client/manifest.json b/fd-client/manifest.json new file mode 100644 index 0000000..ca2ea19 --- /dev/null +++ b/fd-client/manifest.json @@ -0,0 +1,17 @@ +{ + "platform-version": "3.0", + "modules": { + "support_ticket": { + "location": { + "ticket_conversation_editor": { + "url": "index.html", + "icon": "styles/images/icon.svg" + } + } + } + }, + "engines": { + "node": "18.20.2", + "fdk": "9.7.3" + } +} \ No newline at end of file