From 6412d9f01a07e7a9b46e1cba61e4f0332b10df43 Mon Sep 17 00:00:00 2001 From: Kobe Date: Tue, 24 Jun 2025 09:52:09 +0200 Subject: [PATCH] support --- routes/__pycache__/admin.cpython-313.pyc | Bin 20230 -> 20285 bytes routes/admin.py | 18 +- templates/admin/support_articles.html | 234 +++++++++++++++-------- 3 files changed, 164 insertions(+), 88 deletions(-) diff --git a/routes/__pycache__/admin.cpython-313.pyc b/routes/__pycache__/admin.cpython-313.pyc index 1c23c7e01a3de5aad529814019d993f353b088e2..6b9b3b40b571a7e248f6a55dec2668d8a934a0e5 100644 GIT binary patch delta 3291 zcmb`JZ){sv6~Nzp&;S1>II+_>P2HBpbr=PNQCh-Mv&V9Ax zS}C8fqMy&b_ndprJ?Grxyl|CWzsh`{dA%+PKle_ZUg$ir>g%XvWl4HnN=Ye}loAYB zLIydZfD)lOIcZ5)!J4pvO^lVKJ>dXH!U@iV3tR~|xDy`mB)s4i>z1Ssd}wD)`V)Te zN2FP{OG?>hTZZuz`atV!>yvv-S&(0eJKXk^qo1XmhvZr7>RP)sKstOi9$5XWD{M`9 zJEh_K7PW6^tEsqso3=c{+O6%i6+Xqtx^)ZdU`@yUg;bz+GJh4VL$wutU04UVux!n_2%aiu_jF#8RS_Za}Rwp4$=pvjZ ze3h^ram{L)IH6cvR10bJCqirDiaSXlJ^ckA#A$$$-ztrtn zUDb2XY3Sq`A;42)_B6i}K2qr*;~mfxPl_b$Bg6@Pgb1OZFhCe2P;}uDg7A)F2?q#6 z1gd5jK^V%sRyJ(uQb{XhFhgf__!6z{meAHvO2rZ!rtvP)wdTs&q7D=ZL&<9e_%ced zAUw*icXd`CC%vPDaZ+&Lm9n|Kro$7pA>~kquaL?y!g0b0!USQGkRS-pC?>Q4Owm+? zAg+=nX&Rvi5s})5KfT=-n!y>vzpOzn`>aYa#p=>Pub$t2&e;_p!-j&v;c=KnJ_X<4 z{%B8SFDb+jh97G@UC=TrXmdr#=pd5O@&8Q5*Xgit5=3P=BAuv^V@%8tRgs zp4UVib<-Uxv6yUFDYUwo2kNj9JO;nuTn(S2pf4a+qgT=hFdlLQ_|Nva_$gZ(AFw&AxBA|c-3@;8<-zxC z-=Tvp@Ll_7#-b$BMW$oj%{TGV8od|8Mb{~UIy5i@R+_M6i?9ee{{H?Q6>~Szy-27K zRtP?XVOuKC6^h?BTuY@47F0$}mjM&jkT1iTFV3slvQ{XI_h&ekbPcG5;7S_Xo9HI> ze2RyPNqv!ax2NHl=&JBAFN~JubUv3+=kW0PBINKpw zRQkPRyc@sPqprz8WqojXvRAp;!%)82Yn>dd{(1P9@`;Afl0Sh3Z1if{?DVSHKH&vi ziCKihn{FDe`^{B7^DMl?Zy(%UX~;$3p}ByUDR@61h-S5U@7HPWhlF~34cmPej?i>d z2o=+#H)x4M;?fl)mOji>FB}?Y?vBk;tNwO$K-u-+Wv8z>n_alb17kZER%k~m1H*AY z5_+udp%*e7*d_2+3d3-LY?QPrG_+(i9LH%(@!~fxeUV=o+s0P-ug0Qmruw(B zvyAZ1q>+aez!|)@reTjc~Y|mzUG-GZ)xKMLU=xM?C2|2rP|AODzr#4iuU`EO4Arza@=ZvV(c zQ2HP?-iu%BLDytNS&s})hLxM`4CR|)>tv+*@kCs1>YLN>cI}*4OLGY7J;$u`&1_R` zn7N{|fFBb$K}30lBr3UBLsc6dv;6ogNk5z6Zzca(=`yTY>?z*@Ds}U}EYZ*0VphdQ zlq-OZ*6awwwphdmq?-?lei+RE4csJApEtA9N0JX=I8@QBR2BR*v_f$Se?w2wx=yey z6VGwy)ECjAzNt{h`%IEH6vo(HDSlgu-<5{$O36D?lAoTsT{(DT_(pUke2XRi#QdMi z1FZiuMUq?7?dp&f3}oN7s7RI!Jj`C=WL5e0alx!;NgC8xJ@gV14zSlk8Iqj^U>m Gh5rJzF3Gz9 delta 3290 zcmb_eUu;|D6~EuT*MG0wq)nUzJAWKT(^~oGw8=(G2u(xN#vwsqU=*@l-1s^*b8P2a zCqVh*7H#XpHrDJL8;A*Yn>4lB3&;`#RG!vJ&BLVjVWPWC>jM%}g#@l(n|PSCbG{op zu4TjvSIN)kyWctIp7T5BJNJI@Cj04|Y{wUVzgNQRgU6mY`Qh~Xj*iR^Wl4Hfic4`e zE5#VFm<)25*7B?pQ$dY6z#-PktTW~USIiCWmuY09ZPB?bd$J<$d>1DX4S|;I$N+@Pn)@H zI`tfXNA6_~eqA0c?NZv^&7H(%7eO~c4?m!-G&@NQ5U2!R{=U}LiNZ-3<)8YN*?j4^ zpZS}2lKWi*Ed;In>EK(%hfuu95T-B6K=E0wq>(WSMiSadtApSUf*`@;1aX28!bOK| z;(=UlS_{_oIuv5ky-ppIqY7xohL6ATcD&<05wA{Zth&LKh|aw3Ld zgkT@Reu7a1OIb1smNSvh8`&h*?Su(*M4(qf_m+~+<>3IW!=&p-7mQ^Sh#yPI7+JUn zrAQmx%RlN2j@*X}I7BdsV7W1+R61jr5UVVyvL+lRl_>TTr)WKNHLDB?KfR1mo08i4xP7;V7b4k*13BE_`g9I4@;uOXaA|AMxWWlRR(jfvO z7qSF-0>PM|h$>!X25QlCR@KEsTHvah;6;L$2z&^ZbG5LT%{^mzSMy11p`@ND z0G6nxLY60!Thfg+BU=!s%yO@q2GIDxodk|HF-fWw6vq+E_!IK(O2832)~}1gYFG#;IXg}t=@D|U@vIy%Td9{sGZPrAHw>{y@lSJzZG{#@zv&P0_f(Xp9+ zWpg(}d9&X!6D|FB>}~mI4bv1-%SmKVPuLXd_Vk1w<4!~sF+(*{%eysO^%Kv*S^oLm z-znCVrlqbl@H1jf45^=!^lJh!m8uTmRl4^Zf-1$9b1Q^{bi0m4#g6E=v_-6VO$8DA z9p*}J9GGHkN9pFlsB-7+Db8Q?)IazIe$Pa2QBG<>|t{y=Y1=TUFPQo z&hQ5ZwURoSV*J!#3lF>9rL%{x%a7ll(RNL0dYBHQ-N;3fP7|CVco`w$Y-sZmfA>gt zXTxe!gc6qd){))Y^U>ztK8x-3O#OlkULjZ__$7g8f^#IT69`hOwT8Rto+z~Fjz*0^ z9WW(Ep?#3tjq@N!uMt#x!*t^kTSHtp39nCo%&wI#9qng*0qHOM#*PJ~%X_B=@aIav zJJX|F=^2{|Dx0kg<;|dDrl;he8IZGCcO-vrwu#O0&Dqb3LCcZC`SK&6o)=$R__ahgbeu=&EI8;keJEH?{3J0l zrhTZ02Kz&RKEFXD7$EQ=SZ-a6D_sXaEgg_s#rNhs?XM6N2-XPruHesEzCLcvZRUg5&%%q&zH?11wr~9WAT4 vEDuQw70+E4oadh<<)}~|sqs8gR&iNQ)rN6f&@F7J>UomgQgID`#', methods=['PUT']) + return jsonify({'error': str(e)}), 500 + +@admin.route('/api/admin/help-articles/', methods=['PUT']) @login_required def update_help_article(article_id): """Update a help article""" @@ -307,7 +307,7 @@ def update_help_article(article_id): db.session.rollback() return jsonify({'error': str(e)}), 500 -@admin.route('/help-articles/', methods=['DELETE']) +@admin.route('/api/admin/help-articles/', methods=['DELETE']) @login_required def delete_help_article(article_id): """Delete a help article""" @@ -339,7 +339,7 @@ def delete_help_article(article_id): return jsonify({'error': str(e)}), 500 # Help Articles API endpoints -@admin.route('/help-articles', methods=['GET']) +@admin.route('/api/admin/help-articles', methods=['GET']) @login_required def get_help_articles(): """Get all help articles""" @@ -364,7 +364,7 @@ def get_help_articles(): return jsonify({'articles': articles_data}) -@admin.route('/help-articles', methods=['POST']) +@admin.route('/api/admin/help-articles', methods=['POST']) @login_required def create_help_article(): """Create a new help article""" @@ -417,7 +417,7 @@ def create_help_article(): db.session.rollback() return jsonify({'error': str(e)}), 500 -@admin.route('/help-articles/', methods=['GET']) +@admin.route('/api/admin/help-articles/', methods=['GET']) @login_required def get_help_article(article_id): """Get a specific help article""" diff --git a/templates/admin/support_articles.html b/templates/admin/support_articles.html index 5f2df94..fb0e7fb 100644 --- a/templates/admin/support_articles.html +++ b/templates/admin/support_articles.html @@ -30,6 +30,37 @@ .note-editor .note-editing-area { background-color: var(--white); } + .note-editor .note-toolbar { + background-color: var(--bg-color); + border-bottom: 1px solid var(--border-color); + border-radius: 0.375rem 0.375rem 0 0; + } + .note-editor .note-btn { + border: 1px solid var(--border-color); + background-color: var(--white); + color: var(--text-dark); + } + .note-editor .note-btn:hover { + background-color: var(--primary-color); + color: var(--white); + border-color: var(--primary-color); + } + .note-editor .note-btn.active { + background-color: var(--primary-color); + color: var(--white); + border-color: var(--primary-color); + } + .note-editor .note-editing-area .note-editable { + color: var(--text-dark); + font-family: inherit; + line-height: 1.6; + padding: 15px; + } + .note-editor .note-status-output { + background-color: var(--bg-color); + border-top: 1px solid var(--border-color); + color: var(--text-muted); + } {% endblock %} @@ -207,70 +238,83 @@ {% endblock %} {% block extra_js %} + {% endblock %} \ No newline at end of file