From 7c8cb69da5b63a959124ebb721c220322e862b6e Mon Sep 17 00:00:00 2001 From: scayac Date: Thu, 2 Apr 2026 18:10:15 +0200 Subject: [PATCH] refactor: Remove unused configuration and styles; inline CSS in base.html --- backend/data/conf.json | 36 -- .../app/__pycache__/routes.cpython-312.pyc | Bin 18833 -> 18806 bytes frontend/app/routes.py | 2 +- frontend/app/static/css/style.css | 455 ----------------- frontend/app/templates/base.html | 458 +++++++++++++++++- 5 files changed, 458 insertions(+), 493 deletions(-) delete mode 100644 backend/data/conf.json delete mode 100644 frontend/app/static/css/style.css diff --git a/backend/data/conf.json b/backend/data/conf.json deleted file mode 100644 index 2c87e84..0000000 --- a/backend/data/conf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "server": { - "host": "0.0.0.0", - "port": 8443, - "tls_cert": "certs/cert.pem", - "tls_key": "certs/key.pem" - }, - "auth": { - "username": "admin", - "password": "admin" - }, - "serial": { - "enabled": false, - "port": "/dev/ttyACM0", - "baudrate": 115200, - "timeout": 1 - }, - "triggers": { - "GPIO3": { - "name": "Test", - "type": "GPIO3", - "music_file": "SONNERIE A.mp3", - "start_seconds": 0.0, - "end_seconds": null, - "volume": 80 - }, - "GPIO4": { - "name": "Test", - "type": "GPIO4", - "music_file": "SONNERIE A.mp3", - "start_seconds": 0.0, - "end_seconds": null, - "volume": 80 - } - } -} diff --git a/frontend/app/__pycache__/routes.cpython-312.pyc b/frontend/app/__pycache__/routes.cpython-312.pyc index 85b04cfafa69d25d20e81c06ec665131bcb13d68..58ce088ec92395064450c523c9e492eab148e494 100644 GIT binary patch delta 2909 zcmb7GYitx%6z=U#ciZjmwotav(spON&~|t%E2U8=BCl?P5qtzlQ-hnacgha#?ks0! zDO4k(XzC9ic!>`*ikcW3NQG=nFvLj2A0|Gc2{B~iKmTYnYBU-p(Rj|?b{Qf@-K5{# zd+s@B&iT$ccX~{)U!P&UABDrg8vI>6{;8Q>T~qTFZRUP;l?D5G*|FY7l+(dezGG+N zw=|w&75Qj;wuXmZXQPYxN*+F{jCSxOkKnVDui{Pk?BXfjjL#UqfzQLIYAo8fMd&>( z;rVku_-fuFQY;Z&z@xl%Z|&)Yr)n$Sc|TtyvMdp9^XRsV=TWk_D(UAP;zN{lRwb)> zm-r1OF^@zQeYJ^j+#~50BPdCDBum5;N|t&gJ>ncndOeap@ij`cs$>mcCKmY;oy$Fv z6-Sj*v;2*&I#jC-h!Ni}A&t3Bj*&0sbjK(cl_QMB#7}kmS#O#9TN&#Wu~<|*9f(AG z(AEuSjDlSPBa^fCngv)X%7OK)Py85ocfLFiX7VN59LsPMU_iWAKOhg=%8`aRV*?@; z+|`jlKU%F@H*V$(+f___xlP2XD)fj~gA3Va@lMb}JFW4_PU$q7De7Pw8LQ}+Rzc5Y z#&eeLz&3HIF&XGX(<^M1c5epS=Tu%E?$xL$H&faV3z%?KAq7bN?pb25R2FMDe zb0ur#4cH+*2;Ic`%729JuZ`V7hf4^y5-cT%5vT-l@m$l#;oESj&4U0*R*PbDM{_qV zhX^7Bz2c?jJ6A|E=}LN8fhV>fL6yHs1a%cI_mtb_ea_f&@$LNhqV443YLI?Zu}Ti; zVo6IshB?ymJ5!gT&Sa#TW-{yKbCoz{*s9nc?Mzey&_b{h4cwq>25b=Db^e*M$UzYy4dmyW zr_lt+7$o-r2;tfdWDT7gU_-ZPk1b_AVq@$e67){2jBl)X)@oh!m+;T|XF32?~-etyQuJ2AxX!C<-`CARC~8RwD#M zVkX|^Pt$Un_$0n=Eja_?>}n@!O^_vlB)WtvH{>8Edkx4`n4rT6v9Wu}tw(6-Nr99D zMg0(t0*4&#Y-;Vfa?Cy}RSDVp0V6Z(7><``x?l9G9(wnaYvLFjg2xE93RCOpe~^|{ z&UeC5+)oBoyHqTKnKzO+S~jUXN+9iai}$sJMxFNGIQo2Z%gs-c_I!kC#Y2a5Clgcf zh!T?7fYc`V0{`rX#Y3qJ<*w!9%D#Wg2-V?Pg6n40pmHOx0~pEa+N(*Gf@m;%a&bBd z)Ew}L_*;$?(D5!F64(^CHPZ=k1?va~3Dy$~ z5ZpwtmVk!bRj9+YfQ;C!t0Z=k4)C&aV3U{`T)Ci!_MuXd24*(*H_AT@p78le6C3`i zTe|M95_x4o+8oQ82B>Di0jqRCzc+`(zk;eIx+dplV6G{&$aV9RH$mmgKw0gi;9b9Q z(6k*}#_#$|g`8Qq4<||91Sh3}qr+aqvAvADA#UWb__Lv(M!hXaz5VXo^%@XQYhWZDlvYt%-t%-7>0-P>98=A>K2zyZ==oU^-bRJ-zrA5seILrTT9^{&hdS7lxICn4Q{<3xBso4N8**5KyV2bq zyzGbRRF3GBh^H4MrMBOr9YIC)0rf7!E?NcKK$DXmld<%{n zMyIk5cHqjb!;W$c*h5mCfWDTlQnc_j$7wGwIe9n8L3@K_RB|9vf%1m!1eB?~7Nb|{ j*XJ!>${8Er0t%6p8vC+%Yk1Iiscx|R!|=;YA?3dSYKEJ% delta 3069 zcma)8Z)_aZ5%=DIpYLoZv7N-h@!A*vS>s$x>=3YB;>592)Z7Nl`PmS6XrIexy*EDK5wS4FYq#_|ys!CN6QdfLHf>werAXPqZEu3_}eLFL6cIG$pX7|${Dyu^2dMlkyR^hLE^)KexgH=`U(@p6Y3l_@1dRM!y z#8~p>n)S%)t+penbtTZuG|yMD^e>c|JuJ&=pN`Dj#SXAKytc4DR*%=c>>joaudVDL z+m2V2?|N)htRCEv-cjDw)Pc*2H$sgKW;pYY+6FK!3>pf7`UmO| z)~cX~*75<7dAq=2Qmm)$!yrCLJrQa>P0CJ!ae^*_HiCA7jQDolpYK13OKls(Nismt zK#)T4V+HQc+su#5+E9RfBtJn=OQ4A>^$+z*Z}JJ!c@{MeHL)sxL158*OrON&bx(tkeN)h zT}(H&tdwKZQg8q__({_-Ev&qi<3K^eH%S^bu{#_;!pxit+es_~I!>z^0+}vluO%YXYGM*#rBIJk%(K8s@jD0w)Epv8ka#pk(!UG2a=p|o~j zD|NLlB2&+|MwR9fGF~KDB3LH4Nbsb1P0fy!eNEj?Oo2H!$3b0AsoVlShwTbHi^cNL z-j5f!;}~dI6O#{~(kG8jO^uyC=|>BOo12HPl6r#FVbgN`CGoeNdd}QKKtglp$__9}`?6*qUXv%6I_}KhLg(Hk0&d3~Xp#U&{h@7F}e+vQpKDeW={u8J21+B?fhYU%$Im-uL)wOzOQdeXKyDaC7J>I#|2rYV_M(+AEY=<{3nGI)@*vdN{Z)GS8tR=6NFy$wp6YjGc{ zPjhF%wj7QgBsXObfpMRo)b&{pUoKpn9e;6!MsLum^212ZMM?Z|QcMuY2ARZ_9|io5 z;GmN * { - min-width: 0; -} - -label { - display: grid; - gap: 0.4rem; - font-size: 0.9rem; -} - -input, -button { - border-radius: 12px; - border: 1px solid var(--line); - font: inherit; - max-width: 100%; -} - -input { - display: block; - width: 100%; - background: #fff; - padding: 0.65rem 0.75rem; -} - -input[type="file"] { - min-width: 0; -} - -button, -.small-button, -.ghost-link { - text-decoration: none; - display: inline-flex; - align-items: center; - justify-content: center; - cursor: pointer; - transition: transform 0.08s ease, background-color 0.2s ease; -} - -button { - background: var(--brand); - color: #fff; - padding: 0.65rem 0.85rem; - border: 0; -} - -button:hover, -.small-button:hover, -.ghost-link:hover { - transform: translateY(-1px); -} - -button.danger { - background: var(--danger); -} - -button.small { - padding: 0.45rem 0.6rem; - font-size: 0.82rem; -} - -.topbar { - margin: 1.2rem; - padding: 1rem; - background: var(--panel); - border: 1px solid var(--line); - border-radius: 16px; - display: flex; - justify-content: space-between; - align-items: center; - gap: 1rem; -} - -.topbar-actions { - display: flex; - align-items: center; - gap: 0.65rem; -} - -.ghost-link { - padding: 0.65rem 0.85rem; - border-radius: 12px; - border: 1px solid var(--line); - color: var(--ink); -} - -.dashboard-grid { - display: grid; - gap: 1rem; - grid-template-columns: repeat(12, minmax(0, 1fr)); - padding: 0 1.2rem 1.2rem; -} - -.panel { - background: var(--panel); - border: 1px solid var(--line); - border-radius: 16px; - padding: 1rem; - box-shadow: var(--shadow); -} - -.panel:nth-child(1) { - grid-column: span 4; -} - -.panel:nth-child(2) { - grid-column: span 8; -} - -.panel:nth-child(3) { - grid-column: span 12; -} - -.time-row { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 0.8rem; -} - -.time-row > * { - min-width: 0; -} - -.volume-row { - display: flex; - flex-direction: column; - gap: 0.3rem; -} - -.volume-row input[type="range"] { - width: 100%; - accent-color: var(--brand); -} - -.table-wrap { - overflow-x: auto; -} - -table { - width: 100%; - border-collapse: collapse; -} - -th, -td { - border-bottom: 1px solid var(--line); - text-align: left; - padding: 0.45rem; - font-size: 0.9rem; -} - -.trigger-row { - cursor: pointer; -} - -.trigger-row:hover { - background: #f7f2e6; -} - -.inline-form { - display: inline-block; - margin-right: 0.35rem; -} - -.upload-row { - display: flex; - flex-wrap: wrap; - gap: 0.7rem; - margin-bottom: 0.75rem; -} - -.audio-player-card { - border: 1px solid var(--line); - border-radius: 12px; - padding: 0.75rem; - margin-bottom: 0.8rem; - background: #fff; -} - -#browser-audio-player { - width: 100%; - margin-top: 0.35rem; -} - -.audio-time { - margin: 0.5rem 0 0; - font-size: 0.9rem; - color: var(--muted); -} - -.modal-backdrop { - position: fixed; - inset: 0; - background: rgba(20, 18, 15, 0.45); - display: none; - align-items: center; - justify-content: center; - padding: 1rem; - z-index: 120; -} - -.modal-backdrop.is-open { - display: flex; -} - -.modal-card { - width: min(460px, 100%); - background: var(--panel); - border: 1px solid var(--line); - border-radius: 14px; - box-shadow: var(--shadow); - padding: 1rem; -} - -.modal-actions { - margin-top: 0.9rem; - display: flex; - justify-content: flex-end; - gap: 0.6rem; -} - -.audio-list { - list-style: none; - margin: 0; - padding: 0; - display: grid; - gap: 0.6rem; -} - -.audio-list li { - border: 1px solid var(--line); - border-radius: 12px; - padding: 0.7rem; - display: flex; - justify-content: space-between; - gap: 0.8rem; - align-items: center; - background: #fff; -} - -.audio-actions { - display: flex; - align-items: center; - gap: 0.45rem; -} - -.small-button { - border: 1px solid var(--line); - border-radius: 10px; - padding: 0.45rem 0.6rem; - font-size: 0.82rem; - color: var(--ink); - background: #fff; -} - -@media (max-width: 1080px) { - .panel:nth-child(1), - .panel:nth-child(2), - .panel:nth-child(3) { - grid-column: span 12; - } -} - -@media (max-width: 640px) { - .topbar { - margin: 0.8rem; - flex-direction: column; - align-items: flex-start; - } - - .dashboard-grid { - padding: 0 0.8rem 0.8rem; - } - - .audio-list li { - flex-direction: column; - align-items: flex-start; - } - - .time-row { - grid-template-columns: 1fr; - } -} diff --git a/frontend/app/templates/base.html b/frontend/app/templates/base.html index 1e8da2e..7d4e81f 100644 --- a/frontend/app/templates/base.html +++ b/frontend/app/templates/base.html @@ -4,7 +4,463 @@ pySonnerie - Interface de controle - +