From bc1b747ef4ad3cf7e4dde2e2cf54d93000a1951c Mon Sep 17 00:00:00 2001 From: AG Date: Fri, 12 Dec 2025 01:06:09 +0200 Subject: [PATCH] Massive Material 3 re-styling --- server/test.db | Bin 946176 -> 946176 bytes src/components/ExerciseModal.tsx | 16 ++--- src/components/FilledInput.tsx | 58 +++++++++++------ src/components/History.tsx | 71 ++++++++++---------- src/components/Navbar.tsx | 20 ++++-- src/components/Plans.tsx | 108 ++++++++++++++++--------------- src/components/Profile.tsx | 18 +++--- src/components/ui/Button.tsx | 4 +- src/components/ui/Card.tsx | 21 +++++- src/components/ui/Checkbox.tsx | 44 +++++++++++++ src/components/ui/Ripple.tsx | 108 +++++++++++++++++++++++++++++++ src/components/ui/SideSheet.tsx | 14 +++- tailwind.config.js | 34 +++++++++- 13 files changed, 374 insertions(+), 142 deletions(-) create mode 100644 src/components/ui/Checkbox.tsx create mode 100644 src/components/ui/Ripple.tsx diff --git a/server/test.db b/server/test.db index 3b02c90ad176de2737817b88ebb4ce033a4bdd0c..24ada2b2c95046f56a72915721eb537679cc0cae 100644 GIT binary patch delta 687 zcma))&r1|>6u{>@KXzt!=R4!3prpwLYnu99X7@X@J7XPOcHM|Tq}+%kYkope1_jk2 zN{w92B@K}|bf}|2ASLwmAnnC23)vo|kP23aAh3Jg8lyj;2OoIw-uu9Nyvc?!*)SH{ z!Pb+GJlJ}5$*KxdwCK>!`VkXn_^4h{viF`!ZMNAOjCDNoDiMPLKIffZ=eW6+>?fCihy@8X8IBwi77Vk=l%E^=Lm=fbqGBdiKD z!UaJUqWmts%CGYayvrZwn?pZne!0RS{vy-Q1hEv0pYjKBlD5GEvskUY# zL)RVT*%me}#Wr-s0r{g$iS|2xMH3-#@NeGU3=?D=aCZUQ!<2x(x5p(&AHyv|@R)2g zargM-eqYvf9BkPt(ly6Gs;Z^~yQQI&ZK{T2d#;`K{@G(KFj20wair1~>gxgXWPLF7 zg6ZA2q;*BZI<}GLxh_&I%|xba=_uu3Gn3T~H>)dvDbE)|0epZ!<_qEbg(IeuF|nhY z$i^uTsaY?DEIZ|(jA>iJa9UAQ805>!TsR;S5GBf-xP6vsVcrwIA!ZdC^ar=vOHcJr z=Od-k2?|gpbm)K9@^imovSl=l2NZ1}jgv-J?^BckMJf6d3n0-pd_6vN$Gu@+zUjtC zu9_2PMsvf3-01@O5`$fDWp;>aW>!FGGt|w^u-|;44m(M*4qI6^_?c(^$!++QjO>b& zG;uz`=d&H6;8RjJd?fx9i_w*6G;%Fm4`acXEopNt7QZbJzYY&Dq__<`81imHItKm# D%S*!O delta 425 zcmZp8VA=4%a)LDD(TOt7j7K*nB<<&DVgQ2kjd9JV_P3wf&j`d!K+L@T)P5Fo2UkXZ zhG>ST4E)y^xA3pwZ{m;O*W+hlis8G>w~4QVFOJWIiGz=e_W|!V-X7j$CL>-;rVR{F zc?Ec$@$BK5%#+3A$Rp0!HPww(RWX5+iQ^{6dX6@ZSPl~oZuW;vZR|VP``J_3ZP%*<%P$Uj+7L3z4^F*nO}xgXprY>ZM&w;0r?FF3-YygiP;6E;Z = ({ isOpen, onClose, onSave, {console.log('ExerciseModal Rendering. isOpen:', isOpen)}
- { @@ -120,7 +121,7 @@ const ExerciseModal: React.FC = ({ isOpen, onClose, onSave,
{newType === ExerciseType.BODYWEIGHT && ( - setNewBwPercentage(e.target.value)} @@ -128,17 +129,12 @@ const ExerciseModal: React.FC = ({ isOpen, onClose, onSave, /> )} -
- + setIsUnilateral(e.target.checked)} - className="w-5 h-5 rounded border-2 border-outline bg-surface-container-high checked:bg-primary checked:border-primary cursor-pointer" + label={t('unilateral_exercise', lang) || 'Unilateral exercise'} /> -
diff --git a/src/components/FilledInput.tsx b/src/components/FilledInput.tsx index ffa6a8a..94179db 100644 --- a/src/components/FilledInput.tsx +++ b/src/components/FilledInput.tsx @@ -16,9 +16,15 @@ interface FilledInputProps { autocapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters"; autoComplete?: string; rightElement?: React.ReactNode; + multiline?: boolean; + rows?: number; } -const FilledInput: React.FC = ({ label, value, onChange, onClear, onFocus, onBlur, type = "number", icon, autoFocus, step, inputMode, autocapitalize, autoComplete, rightElement }) => { +const FilledInput: React.FC = ({ + label, value, onChange, onClear, onFocus, onBlur, type = "number", icon, + autoFocus, step, inputMode, autocapitalize, autoComplete, rightElement, + multiline = false, rows = 3 +}) => { const id = useId(); const handleClear = () => { @@ -30,25 +36,41 @@ const FilledInput: React.FC = ({ label, value, onChange, onCle }; return ( -
-