From 28b50616509c03a7ab6bb78530b03461297485a0 Mon Sep 17 00:00:00 2001 From: Sven Steinert Date: Sat, 14 Feb 2026 22:48:34 +0100 Subject: [PATCH] Patches --- .../juconnect-patterns.zip | Bin 1943 -> 3383 bytes .../juconnect-patterns/juconnect-patterns.php | 313 +++++++++++++++++- .../juconnect-strict.zip | Bin 1204974 -> 1206017 bytes .../juconnect-strict/assets/js/app.js | 42 +++ .../juconnect-strict/footer.php | 18 +- .../juconnect-strict/functions.php | 16 +- .../juconnect-strict/style.css | 144 +++++++- 7 files changed, 523 insertions(+), 10 deletions(-) diff --git a/juconnect-patterns-plugin/juconnect-patterns.zip b/juconnect-patterns-plugin/juconnect-patterns.zip index 0a790babc2275ca4826c79acb144f4169ea75d26..403b050727e1d74c7128c9da4b35fca3456a5545 100644 GIT binary patch delta 3092 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 diff --git a/juconnect-patterns-plugin/juconnect-patterns/juconnect-patterns.php b/juconnect-patterns-plugin/juconnect-patterns/juconnect-patterns.php index 719ef06..98c4ac0 100644 --- a/juconnect-patterns-plugin/juconnect-patterns/juconnect-patterns.php +++ b/juconnect-patterns-plugin/juconnect-patterns/juconnect-patterns.php @@ -2,7 +2,7 @@ /** * Plugin Name: JuConnect Patterns * Description: Gutenberg Block Patterns fuer JuConnect (Styleguide-Klassen). - * Version: 0.1 + * Version: 0.2 */ if (!defined('ABSPATH')) exit; @@ -294,6 +294,317 @@ HTML +HTML + ]); + + register_block_pattern('juconnect/single-card-with-graphic-right', [ + 'title' => __('Info Card + Grafik rechts', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Zweispaltig: links eine einzelne Inhaltskarte, rechts Bild/Grafik.', 'juconnect'), + 'content' => << +
+
+

Leistung im Ueberblick

+ + + +

Kerninformationen klar und ruhig dargestellt.

+
+ + + +
+
+

Wann ist dieses Angebot passend?

+ + + +

Fuer Traeger mit klaren Zielen, transparenten Ablaeufen und verbindlicher Kommunikation.

+ + + +
  • klare Zustaendigkeiten
  • regelmaessige Rueckmeldungen
  • dokumentierte Entwicklung
+ + + + +
+ + + +
+
+ + +

Rechts: Illustration oder Projektfoto.

+
+
+
+ +HTML + ]); + + register_block_pattern('juconnect/single-card-with-graphic-left', [ + 'title' => __('Grafik links + Info Card', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Zweispaltig: links Bild/Grafik, rechts eine einzelne Inhaltskarte.', 'juconnect'), + 'content' => << +
+
+

Leistung im Ueberblick

+ + + +

Kerninformationen klar und ruhig dargestellt.

+
+ + + +
+
+
+ + +

Links: Illustration oder Projektfoto.

+
+ + + +
+

Wann ist dieses Angebot passend?

+ + + +

Fuer Traeger mit klaren Zielen, transparenten Ablaeufen und verbindlicher Kommunikation.

+ + + +
  • klare Zustaendigkeiten
  • regelmaessige Rueckmeldungen
  • dokumentierte Entwicklung
+ + + + +
+
+
+ +HTML + ]); + + register_block_pattern('juconnect/section-grid-2', [ + 'title' => __('Section + 2 Cards', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Standard-Zweispalter fuer Inhalte oder Angebotskarten.', 'juconnect'), + 'content' => << +
+
+

Schwerpunkte

+ + + +

Zwei zentrale Themen kompakt nebeneinander.

+
+ + + +
+
+

Begleitung

+ + +

Verlaessliche Begleitung mit klarer Struktur fuer alle Beteiligten.

+ + +

Mehr erfahren

+
+ + + +
+

Koordination

+ + +

Abgestimmte Kommunikation zwischen Traegern, Familien und Fachkraeften.

+ + +

Mehr erfahren

+
+
+
+ +HTML + ]); + + register_block_pattern('juconnect/kpi-overview-3', [ + 'title' => __('KPI Ueberblick (3 Karten)', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Drei Kennzahlenkarten fuer Verlaesslichkeit, Bearbeitungszeit und Reichweite.', 'juconnect'), + 'content' => << +
+
+

Fakten im Ueberblick

+ + + +

Beispielwerte fuer eine transparente Darstellung.

+
+ + + +
+
+
+

Antwortzeit

+ + +

< 48h

+
+
+ + + +
+
+

Abgestimmte Plaene

+ + +

95%

+
+
+ + + +
+
+

Kooperationspartner

+ + +

24

+
+
+
+
+ +HTML + ]); + + register_block_pattern('juconnect/contact-cta-split', [ + 'title' => __('Kontakt CTA (Split)', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Linke Infokarte mit Aktionen, rechte Karte mit Kontaktfakten.', 'juconnect'), + 'content' => << +
+
+
+

Naechster Schritt

+ + + +

Unverbindlich Kontakt aufnehmen

+ + + +

Wir melden uns zeitnah und klaeren den passenden Rahmen fuer Ihr Anliegen.

+ + + + +
+ + + +
+

Kontaktzeiten

+ + + +
+

Mo - Fr

+ + +

08:00 - 17:00

+
+ + + +
+

E-Mail

+ + +

kontakt@juconnect.de

+
+ + + +
+

Hinweis

+ + +

Bitte Anlass und Rueckrufzeit kurz angeben.

+
+
+
+
+ +HTML + ]); + + register_block_pattern('juconnect/downloads-table', [ + 'title' => __('Downloads (Tabelle)', 'juconnect'), + 'categories' => ['juconnect'], + 'description' => __('Downloadbereich mit Tabelle im Styleguide-Look.', 'juconnect'), + 'content' => << +
+
+

Downloads

+ + + +

Dokumente, Vorlagen und Nachweise auf einen Blick.

+
+ + + +
+
+ + + + + + + + + +
DokumentStatusAktion
LeistungsbeschreibungEntwurfOeffnen
DatenschutzFinalOeffnen
AnsprechpartnerUpdateOeffnen
+
+
+
+ HTML ]); }); diff --git a/juconnect-strict-theme-v3/juconnect-strict.zip b/juconnect-strict-theme-v3/juconnect-strict.zip index 5097497e208c1416e198e1673927529900ad9f11..a219f9729522cfbf3e6dfe0c8a373b2b667143bb 100644 GIT binary patch delta 13965 zcmY+r19T=$5H%dz+1Sa(wzKhWY}>Z^#I~N;wr$(CZDW)C`+on&nRENpOjq}rp6OFl z=T_DAkc9uV1fskYIK&T-|Bh5CnRrAFsNUTe3;o0R9O8HjHn9H$&Hvhu05F$>Kmcec z02H(Z01Ecl@$Wj+r3>sI!2bcF#ia|fD(ru#5(7<+;faAzI%s&n++%p?|1`tIq5c8- zA7K6g_8;I{!o=Z;a{ucrJBI%UgnvN%2c&;M{s)wnvSZY8f`1AvDiCN(2>%ImsA#!h z{|VFRXc_-Qu);*^Lcq{JjIl8K5o7WHuLcGL21Hy&2FOo_CJs0{h_QhEpWRJbTaFvz zDcvhdjrww6KYuqMlYvF;DoL7Df!jusd3Z^1MjZq8)ZZ+{^@raL-gwm zkaQ|~o&~^R5f3EoTqV2|->;~Oj>eu5-^BVLrBhi(Z>O5{RUBNBKB7ST*m=n43za;p zAWQal&4Xp}R4&*K@yc!L#Eo)hh6j$}8{;T}l|?HgH&~N0K1!ROHF@R<2+*@Ib;M~D zk=|K|ggO80mwBm7E^}rG*hR&xq!KS_NRuQ+9snSmaz_zzi?;AkMK2crC1+1$YQ+*o zByT}7u=HfL*oQ4$O8tv(`zaP1dVlx9#P=rU{On;aEB6P}2p;C90&kDoH@cKvi&wo5?pEW@C0*CrP=?d3hmJPQ zr*cXJg6{#hvPbfWoG~B4MgDkVfmCyz3nic;>3%+~?Rhh%0pOAFhwKCMa#7&WvG_S~ zkBjTm(ZB;SW3(RNtD*_ z;N}Ltb57}b<>ST5fVK9_?9AOzwhId)3=u&*SRlzhmMJS57*Mjv9OR(Lj|rkdE+~R5 ze7OZTs0g9E=`S>hZF8{8ekmM@&jeWRYUvjC1(LJCCbTBU=1^Y`h&y-q^@ta@%{Pu( zS@H1;;-ku-S)vjq?kAv(#qk@=r_sS{D3;XXb3gg&yXXuj(y8Qp7vJxGe1GJ8f7wn1 zXs(~AwtqCK5_}LIM)N2L$0pExB`%28UR1bKHd4wB&PC9=y6KWH0p#{=qh1Kl`L zJwV$o_Ch1jll`zC?k}7vM&Ls8gfzgOur$~w;t8oJR!h{}9mH+llSs}$#IoDKzR8J< z&3fB)uG?RAamcD7ZiaRpw~0)}_^uYln11mZb^0E3`5NCVI>C90Ap#f?3>DK=Jr;TJ z_?ajr;jf1y>%!?`7o_j1sayWd8W5)6za(Li{UnKZ(~`zXXLoS@vf!1C zX2veU(Ppe<2lF`;%Ll}u-g~=Wa>Xoz;x~zbHg8Cn$&|+7^o`$}WGbXn8rbZGls~A< zKf>JxD;uKsvnlty=GU2;)1CxJWgsrxfCzZ}S=bq2riM9q+MNVK)^UxX# zhju51C@h0nsRUSKb^7jlwvP47H8=~<70TA`ykVf(hTtaNR~1T1v$^0@5gw>Jj&$=r z>ta0oAU`9nbpfQ$smcDjS1dMXJQU+e`9r}~Ns!T3BpYo>#m#$!@L@y$ombYf<)td#KTV-0+(I!xb^3K2#`%y>IsUCjF2Jo3+%5{F>&?ZPwP;pmSbkttDES$M&qA~5G?r3y?9Zmlpj z)&N&&83v15#*OBmKa7W{MifsqVw!Q)xgjgm{=y=3AU?mna>VM{{-v$5Vg2AOX7{a0 z+u+-pwL0e7uY`fqT)qolEg00tXnB>Q@5vVa7!%nSe$-_y1&%Teju2i`K)9+!PW%T%b|s3u&s zfH*=MbT_?(QY@Z2?E}$}`KNeW`wzym;XdYX2Xz{szAIIvgww!wBB`3917kpz z1aEYHZ|OxdG5trv6{aYCs4VqipqKw^`?iq}Lt!|wS-ch58pkZNmI-W36q`dO-Mx_< z9fX|}#dCf3>mZQLj#x0AEb6@j`HQ&ugh=c=?-TSlr#^_>R06+4J^!lENH_ngk07AO z$9_CpQe%Kyr2v>98hi&G%AFpj@qP-+P=Q=fkEeV495;URKOT)b+EH?0WL~X~0c?D( zCn9m?Zv7Sfi2E|HlR>>EGE>PPzZEeSQhQtS%xqt){wVlKKL@EjXCQ}0%nxufosQIo zjI`~rJ*J>WvSiQ5pzS*#z}s<|-dB??o6;Sb@JfDLnvuyr)ilN@LC&3XRai(#7^YHf zHYGbKigrI-u`bCd&&hqDJ;B|lVP1iJrW`i*Jr7XxY!zBU?deR+Ko;tlxh=V3@$`K< zL~?;CaI27x<@e|+XzG7(fCC6qhdg@wmhLU!B<0U*!|KS)*X8dA4DU4F0X0;U#UCm~ zwAEOv3l6hio&WCNPW4Uc8y$=mu5F7GStp#Qmow~&=#Z(T^ct-Hs-O;%<5%>{F*QFO zdJs0s;CCoX-J+G)-a=Qxg#L8Kec4gl*pT2;eoxoGry)Y;0RLO*oDC=s5*@n0jYbg< z5)7R}p_mxjt0ZoYz+TC?2#;6gI=r&`Im|uS*{gt%TBmr%^_!Eqez5V?3G#r_2NdE? zdwQNuTiD zN}vQr64X(_P;<~MS{Q&bty0w8j`Hoeucg48WF~%Y=|{*_xLTSd`u3NcBg+9jp>z#N zKtTqTr@UWhl01jJ35PPZPIS=A*TGxg9uYEWyqc$wS9%?x9`PEMXMPCrw6T*)pD)vC zY=OczP{J~4X#`nQ_0x!!^%j?h@l~17>LZh~oOx3{(daOMO%br6B@H)^eWqAY=*Sqm z4?Ebsz3L7QuUn`zpM{@5B(u6Uh?l&;M~7vORoharh7ueJLr+v?98#I38RkYsp2;tb z!`?3)=^a4~+6$VcYtloBGzAf})WQbHr*;yUN`)&23Us<^CJU>Q-3j;mtG~(p=*-!i zCGA=mViyKsr~`C#Jw%W0A%!q!TW}}l8iXoig<;~k>?f<_W{W^%xSCg}lyS3-Ufsf{ zXNSkR=uMkc=4b!ejTV;|`I&3o(e-zoxX@X+D{k^3I$CX1&z7cH4Laxe2XtCUy>Nus z_NX#<60WpElE}*?G;P5i7CYV8-`_AeF%^WC{R+%<0?U99uEmAPw-@yZ1s)URa{hqM zkd~=0qvS*?vV|zOjyebVWM@dTx8$OAtIDTNCb6^3KwmBNneuvn!672K58q>&j~c!U z?urtQN0Qnp)}&EPLdl#2d0N=-f=D{++tA8Zx~*fBeWilwu0o#5+zGemRCO2s{ zWSJCO6&S!Kdyc&#MkwQsK#Rmp=s-)!RSnDe=GNpH7%;r7oov1eo=O1pdh>EAuwh76 zxK&N&h=CRRp3+UZdHwCV&ok=v3O_ee%R6vr*@wSNecqIR$e{{V-~1cmY-P(S{9y!| zW@h?z3#?VEXv2v4Fg#i)Cko*Xw`5w>>0l^wRFm zZ*DLXdx5?_zzbaw9$eNXU7N2Q4u4d)F4#T0S(KM~T0S>UG5a%_R4p@?mlAnCe%_=I z@=EcJ z3I=4C9V>#z)dxm_|8r<^F5QTntA3?giD~DQ#aFVlGnSrZ1&MxH)uD&~V&l8KI-qt& zQDf6Y;cQ{?tP&qQVTgJ+gq~dY_9Z$I8Q%hhY=2R#+_Ie@g|FwFdr$Zvj)BjTFKc7q zAH~g2Cc9m3Ap6a$o0ZiUKT_Js)xB@t6$tP+>mLF|wBM{fgOLFju5u|D%awYmal2cn zuE20gu8HM;Ld`^j==`{Z70ZF^REJ)UV4Krtw=hgxeboryWD-0{Ve-=Sb%qA-qDEUI zP?+c`h1XUUm?q(h1{lxL%H=6c?B!{c-~H`Y2S zB;@ob4ES>6CAk zMP?aGxRod^$!`&Sy%|oaoX0H_*1z>l8MsXyS!t}^UDrBY_w$CxRsm0@)GogQ_s%dq z#r0-O!m~~*agCTK?PPM%A)ArE zTYeOoMqIPpc8;Q*dRxQ3{sw%Ne;9{R?vD&*hCCr>)bMLEG5hGrfGPpVpi0Kd9CHow zx=b1wNwe|SIa%M=dEqeg1T!>Hp-k9CL${*?F+7IdXxzjmexAMLe%uhI&pex+rd$2- zRfpGn$we4Pwh}tQZPM~q0q+hpIrLvAn4O%D*g+@`{599JXFkVu*+a5RLj?FTGo5$HNVxLbz~-wh5;R? zZ(`mY=HZ%=Z=P2!V_7i_tNr-vR_j=bSUpfG*UICEhm16bgeTH)F!PO1-JT#sa2@AM zKhIaV-nQbdi9WX-YzPoMn4?L=#Va2BDUm?AU9DzHE(Zqp&Oayb57&s+L*ryK2)PB! zEB9w64vMZR!jmy4%_;Zi8vX4YPBY9#el%8$N`e}TtFS892=-7*jlVJi0nQ;-M|lTO zkyqm*Sa@gWmP{P{B9fPahS4Si+vY?A0fA%(0r_7{6eJADvXl&PlLw6yXrqsY2S5aY zX5WjkaQR0|{l{4OD9XfUFrjpvs7*RD|B))t#nW%{Qh$;P_)mXw}%O2^Bb$Fg_;U9(C@4&??tBYAXSZHC4WhBx_0QpL}20I9?Sz4m_j^lIb_4T7@d6_Nz@)jUe@X+!{3o79A%DDp&Rkf_VQ;gS*>r~W#*BHa zz<%D`75UPo5+S+OIfHv_4cZP))vPM}cBC(g|3sE2SiwPM zv0c_fOz*cw)^6e=<*qzeL0HSi zuaVq<_t6mN zJ`+G+pvz3dKcb}oeRRx>nsd%w7qNqXJ|SN3r9LaGQ?B?y~21_Y5@a!Et+6!nDrDCW_eN4s~UuAgH3q-~I<2BZ5v zSzgzH?OrIs>bD31oYWKUL-T%ozTX=Q2RFasnIN9SFE)lqt;$6o+5=7~$|@qrc~qr2 zNdYi>4`6=97M1X>#&woKrA0_#$L+@P#oVxVC+wnC&V`Z3?xj?WOJZGx3he^oCRr=S zki5!Z#E=Ibd9c^5Pj@4|54q|e5 z@hZ`9>!-r^WXWb1j4|N%hueEtp8MSFq5u-bc?U6JqT1@Y9C*`9-^QD78`IuSIt0eW z6k=jF)?B*pn2PvhbZm~3a&e3Z6|LqXqxT?`=39k9?uBUs6!Di=w76fX%1|j)Q;KI! zXG^TQ^##YJR+W{a7zp3R+J?EB+03K3qr(x);fmW5q;0bex@^1=36>mpd-8VKOMno# zI$v9zwc;zGwoKi=OC>f;#x9l6d`>*DjCGPh)!!z{73Qpy)>Qq`SE-(btW$r zpj7Zar;{NBo&)$=dP>5XGfxQQ0eg{rKaBP4;66TGnCkZ4+htZljU;6wsYajsJgtf zCj~4#iu^28hBns%6D$S#Nrf7>hS1PZSoZ?cTwZeI9C9(lLxv;DKa$ovR~YwZA2;XO zn_sb#_!}8;>?_jb4tcRAvw-*C&CxI=SGIvE!$6njwcf;nmBu>IB!{xbD?1o(qJg}* zS*jFvlhuV#@TwUfKk*cjP9OLIaQB8Su(ycUN1jJ#zb(=30O5LTucNqvqt%=As07mQ zzdlSGe0^TC#iIP&j0{yKoKXdmt<|?NfG-32R09hhBPF7bd-B(+Jpi3If{@c?}|EcCx`5YM_f8}z17h~uf2o6hReA%S7vOXJbB0;Q8vTH`?s z{WFmc;n662>sEs|5L#BcL&}n#LXa!&Eu5-bSOeWU#|FH$uNuW{HI8&Dym3%#F{_*Q zJH6mha?21fozU}&901Jp05`(BZkr2{ze^{sk*xPCu-lt3bi|*A1WxST%BG{D!ET(i zuh;#dk|%2H&>xNJb%@$e-Kn1%u+~$f9_##LHdGx|Fx7+T(0;K;juX|Rj>fbp+B7+altqd* zi2fw7^f0*~_AkqoA3ARda$`hNFO&LAAf|%1u5z+8a}qpgslVmqcw4E`hC3Eti6o)3OQ%BRu7f^ zm{o%QPOC4zxEQ9AU!8j)4&T?ShU&eG!~xYS9el*=Y!|$zOVjj1<6(tA|6dtde`ALk z7>7){SR}U4XS+`O=2Sa7kBoGCU-X3nOX)yAau5WMhWGPGK>M38o3GpfA|P^vXZ!4H%!-k!|=)Ohh5RNA81tpNokhY znJsx#FP}qx93XRk@aFs=_Bv*ZieW0^wBvV-0O!L%te~GUMxTI5J8^{#0wrD&^$Z*&0jz=vGbXIM7>5*?0_qjXSvF62M(|A0JyXk+}uyw75U&y9I|%w zVNLU#u*|AwM=It@3;^#Fq$=*Vv#eRw^>U6un`Q&RSV&}{iG9}ShWh!f{L1E;95>mX zWM!gtm-MNbsO(I>d25`gT!mX*?VP9t`voHc-q5~gyV-liLJL5;G;*>cCin>|H|NjW z_scP~T@?I>1i;j`;?8@nztA8jy;M)9StYy9$EhNn0MoKXz7~{hxA5^9qVp(FNfZz) z(m??x==U%{@8A4!4^oMoHWPkXZ6bjnO++{k@&z@gTgXgLarnfEYM%RJNy|GU;D^FMBaov@ z1H|Z}cL`2kTO3@m*!3dO8Z6tSPvV2Mvuzhe(nt?kim zw(%qmqDUdZi>mOkvfVs%ik%S`^#>J#h9lmfLi4ncQbNf;Pu_F$H#v+xgl|@1EOD?;%e{bu4kW#Juks(%C0MFOY$kT76 z7SLf26%$%02pUs4zi}LpQZP98IzFJAjscA+o)jgB;Q+DKr*+A7oOq{UgT6ca=Q_f6 z)=}ydymZ6l$EK8+mu9b#yXU-{M8Cn7ZI_A=pt7Wl{a*u@f}cI8Ku^Lg$#^n+lyuGic+?#qrnv^@@Z@Qr`5crh(D4 zYpAL=s5Y9-#&oB_z%U14%))@Pnk8;9GDjd+Zv)a0?hxz5QOf<@&Go)BFxxUk0uYc& zSdY3=BDA3;z?Z)tT6$FAQX8x#&z}i@rH03s2kmN^-a*UcviAriFUJx7fI(e^1n6psds$7?sf_!%KTxz^#0_OAr7-amst;-~8a5`?A0c!u~O zI~5WLq+WfwmI|jZSPrdiV$SbO0P87>>76_`A!8>~B1XKd=cCwEPzIqmaYDv^*QHVH zM+NZOzl-9j)C$%5yD?6$L6XTQ)Cv74eimt3Rcv9baPXA->s3I3q@ty$_N$&Ahs2$z z8P5AT76>1298%~>iaT-9A+p)+v$fg@w{DZwa6Lts_53DT3`rLc4utsV1@H{u(BpJO zP@@pj!#lU*ziSroUZYC#lyZsDM26;-! zj6eT*>9(=!z?_9)Tyk7(b8m-U7z&}$a`eN3=a62I#yh>1a)m;cN1wqlq0yL?_(zKv!6Xnefc#fSQsZ)cGNqXLt4Ou68g zVniNCqac2u|MMh|h;ZZ(I0&fFj14_Q^A<>4&#$oAnIj-GUx&kHeT~?WrFa%vFI7Z| z?}gSeI*W!lz(YXHd(nr-wOTK@0el6xJG~Oox22R) z$LIk3+x_K$!XBjEMi+f|MJ>brSXOHDOkto!c(Xo*yag>Ue!HXnDIq`kstbYem z<{HbFBqUtMumM~5IcVhFr5gg`BajO3HRH^ss7iC_Xj_E@2`z*`q(*rpaYa^w`ZiE1 zZ&=6`xNQ>9(*#VB0F-1Vf|nM|>HG430WqvZc;5JuZO1+t%FlQ6cVjiYQ_{8=i=wx< zRVWOp92T6iS}#pcOHzIvF%}9ueF6~~&`BHFfyEp6dxsRkGW;2c#`F;~kF{7!Fl;VN zX&E3noGEnadi+#gh8cW5jZqbN$f6p^h4k|DfeB|JA-v0C0LKz=YjM@bRi1IV+2z#@ zaEAwf(a^0jsaGBo>W?B-18qadN*evmq9WeD31Lzx3rKmHKkg|RS0xEtU#$j zqytu^I6)wVB?Un`?3XPvD`E^c?k#eABk{;eas>Tg&gdjYiHlPTTrWw&6k33DlrUWrLH)xY~b-d2W5 z-AsN4$~%1JJA_La?~&bk^5#>MMpM&KK*00eLBB7vNLehX$ma(1{ZKIMrZnCwM+ z#c@d4PCdP8bfRMME8Q=_^Y66i)*jLsHR8XaAJ#Lij%Mu^O{o7-o%3?7eyOZ^`HOzS zLD!-=75CZUK2LG}ew@?Q`&TCkF$eI)srya*w}sqR;kXjv*@j<^=vnFASt!jJ&mOVM z05HjRWy)^Xw|_+`YqgkUEqr-t{u)GN&kfVNdClHZHCg)kD0tr)?Mp$C-9gQW_*Zb= zH~i_7ZWgcX)XuN*+a(V1XV7t<7stj|j#IH-h}kpld`~0pm1$4jBVQ(-(W&mHQ^O@JZsyVz`Do+k+=>&(>_P3 zKf>@()=m}I#UQBJxbr-rvW^$`*q92JF61b4eg3LhA7n*Z2j7y!;Hs6qWb=2QPe1xd zx&CjYfYE6o6jA3!G9y{Js#J3;L1)hK*`<;1=++9%$jzj1lZ$mByZ7a$9SyJq zCs2vS8=F4WlU52 z8kHU)0U)}yzax%~K{=o`aR{xBb{rA%s~^)y*%QoRS zwomXiCtp5tdNx;Y;3-5J#1R-B*Uw2x@K9io?Qd3b4c%^+9^?uW4ZzP6GGPBzH!SaJ z)`2~}B|tBE!QPTqg2;nS#M_`;`$STJm_16y-b)EqVOvf4fbms<*2B}Hqlsq(QI;x1 zO@%9~N739y$P~a|FQypbn%nTe@$}X@m*%QKQ;g_UtoNV{9AN1Rnn2F*?ejW_F2>cT zb}r$$qT5u#;@SF>0`SL|pm)-sZ_snk!6+9YYka~!*;aa~)6D+kA&>@x0RFPMG}xgF z2X~PG+y*&SL*SUVhUl2zqAohJWnD;s*YHr&>U0dnn?m}ZtC zZMXM!wPwG2tbAXJ#8vVc+Q_QnBFx@_S~yszTukoLQg%?=wmI`ebK z^lMx?!MZDBHW9ATnZrtf^$Z$FBU7G;lqC8eY#~DIf7!BMM7_d&u3Gxk|LTr&}J5(bru?evlK$1pMG;LomOS36`c%NMS}HEU2$0 z8uX#t^w3l;E6HDzkNmFOJS*XG8ufu3oH_2QC|k2jtskfa`j%)}iK&uUn8cM=lw;3E zb=COS?5e7(7|h^iRMIr;9;kvW8_NHz$)&gsuWB^e16~yv(3ek9Z4bhbvS^#xM?#4) zs$xgefLih(Mh zuZW{!+dKZ!lj+gCN4{h02%WZIg)H7rAK-ncHrzd==F){Yeb05FVd0n1V$a<}e-_fx zRFU`QD=WUy*HpB#37K$#dd{u^h>!j>yT_pXJE(9&$>GS+y){&xl68I=5>*F z^Ewer7)oc8{xwLxR}j(_AhlNY3ANXFQ561b4so7;jl(iXk@G_e%jaKi_w>(0s=HXG|IXpL;V0}ATX7fu_RPqPgl z{9Au?YJ%iajZ~9NhqS}D;n@yt6OxBl0s8&GvDB6}sf_HihG252O(TigP@b>4tD`4k zs2{$kZTTo0sdEq>nbaee#br+C6p}Z^LYtDFY8)q6pz`KndGh&$N>5K{zf$J+b2(Gx zJQ_DNSms~zcA;&iE@XUEN5ZCzJN+zm*Nc-An;h6v;XEjXP_fPwG*L?@NU1i<0m6BG zRg1ml)qPwQmdO}K5o!C<%;4*hpumFl>bH-Ww|?p16f%} za@-FI96Ce%_KrkZBZdNhw)8rm09Y~Nt&`cI-iyC>Qdrf-nN;!Ls9HoZ?wN~M!|`3N zxoUr$lyUssU@NSvybB=G5<705gQiffrP?##oLa|}6gueE6&V9l0ivKNo18p&_@ZPF z6UiZ-ElaQ+*xX#(PYm!)d0NVG>|WsKsrslws)AEwU1^s0E?&%C{pJcH15|Ixh(6)T zIw3KN^7$T9w-VD$;|s1|>?Kc#M?fOc^w?DFAL|qpV>G^dZ1tT)|Bc{rztWImM<&Tu zEYHW1{92PdX*+Jha!)qQ^R%!2(kej+Lt|sVb3bRYH) zOc^#wQehkJQ4g;yhS2+h@(-FZKn8Ki+p@Lz>vPF&ddHlr?>X<|R6f$Scfpv6S8kB6+&4&8m;1iAiRK@te?V5qkEVS^znGA7MY zNT2!nhbytgZ&DfT&4>wpWeVSV<|sqmqUqO%(LN#W)5M zZY3ot`Av?yG{E>1CY=n=B+-aZ;=o}6B(Oo`N5@kPmdH=_83ZqFUli&TOv*CWPQ=O#)Tz>)*9WxDz$e}xL*SM z@Tt`H3%jM2t7!mt1Ca;b@~59N(_bW|9{<+?wzp6;dJaeF)lh`fnBaQ;+dzJLe>3Ls zF;=>5K%N3cIU$?Vs7Z6(ZADZDdc<4z@GW#IGFe1iG6*I7S_)yGCR%92zEEbt9d~?z z!y&k+P!?#l=`kus{*x;I1_V6YP z3pBouGR%>}%rE_-4!y2nA-!)d<}O1)?7AbJF>AY+wksJ&K0i+o#%RBwM&tJmo=078 z06_fItH++Tfg`fmeF+KUUw(2WftMO1;e)PSd%wsA<)M^353=CO4*{kWAgVh4x_$`p zJ5ql}-6MfSt}jNRm>x@1cT>()$uG62F8|%x$}s13to)*hfd)N(?*7Mfh(oE~bBK+?1AM`N3Mphd@ z$v>PP*m$sKJfe^_T8^lERZ)gyd{u?}NPILkt?xK-jNH6G^?b>ndfU6Tt7_r4>XC$X z+dZdj(t@a;+);+U|J7DO!-Uk8(1YQDfNc5x7l;D|`vLyHtF3^)G|@!CdUsobHPK`t zk^WUIY5$)L65yU5ngsKI#Y_Kd)PGe?|58b`|96@JI0y(H2=@P|-TJR-_Fra41Nw8I zp#yF8(FnlU_khv*XmsGta#j6NDO@xMd_?f*MCNcjKEFvkTXHb7$odp!WE8vGj@ z#g7KO+Xy_#WLWbJ^_bPG!pBdNw>2eFA h(Gfs`fc_U#l$U~p`tNBm{+*>TARr>T{}N_E{y*Pp%rpQ1 delta 12854 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 ae@>T@EF{#w_r&~rmcf94uxO+G?fpN}0<0 { return { show }; })(); +/* Equalize steps+image pattern column heights */ +(() => { + const collectColumns = (layout) => { + const inner = layout.querySelector(":scope > .wp-block-group__inner-container"); + if (inner) return Array.from(inner.children); + return Array.from(layout.children); + }; + + const hasTiles = (el) => !!el.querySelector(".grid.grid--4, .wp-block-group.grid.grid--4"); + const hasImage = (el) => !!el.querySelector(".wp-block-image img, img"); + + const equalize = () => { + const layouts = $$(".section .grid.grid--2, .wp-block-group.section .wp-block-group.grid.grid--2"); + layouts.forEach((layout) => { + const columns = collectColumns(layout).filter((el) => el.nodeType === 1); + if (columns.length < 2) return; + + const tilesCol = columns.find(hasTiles); + const imageCol = columns.find((el) => el !== tilesCol && hasImage(el)); + if (!tilesCol || !imageCol) return; + + tilesCol.style.minHeight = ""; + imageCol.style.minHeight = ""; + + const h = Math.max(tilesCol.offsetHeight, imageCol.offsetHeight); + if (!h) return; + tilesCol.style.minHeight = `${h}px`; + imageCol.style.minHeight = `${h}px`; + }); + }; + + let raf = 0; + const schedule = () => { + if (raf) cancelAnimationFrame(raf); + raf = requestAnimationFrame(equalize); + }; + + window.addEventListener("load", schedule); + window.addEventListener("resize", schedule); + schedule(); +})(); + /* Clipboard copy helper */ async function copyText(text, label="Kopiert.") { try { diff --git a/juconnect-strict-theme-v3/juconnect-strict/footer.php b/juconnect-strict-theme-v3/juconnect-strict/footer.php index 7b7b845..458c707 100644 --- a/juconnect-strict-theme-v3/juconnect-strict/footer.php +++ b/juconnect-strict-theme-v3/juconnect-strict/footer.php @@ -1,7 +1,23 @@ diff --git a/juconnect-strict-theme-v3/juconnect-strict/functions.php b/juconnect-strict-theme-v3/juconnect-strict/functions.php index 0827512..de9549f 100644 --- a/juconnect-strict-theme-v3/juconnect-strict/functions.php +++ b/juconnect-strict-theme-v3/juconnect-strict/functions.php @@ -19,9 +19,17 @@ function juconnect_setup() { add_action('after_setup_theme', 'juconnect_setup'); function juconnect_assets() { - $ver = wp_get_theme()->get('Version'); - wp_enqueue_style('juconnect-style', get_stylesheet_uri(), [], $ver); - wp_enqueue_script('juconnect-app', get_template_directory_uri().'/assets/js/app.js', [], $ver, true); + $theme_ver = wp_get_theme()->get('Version'); + $style_ver = filemtime(get_stylesheet_directory() . '/style.css'); + $script_ver = filemtime(get_template_directory() . '/assets/js/app.js'); + if (!$style_ver) { + $style_ver = $theme_ver; + } + if (!$script_ver) { + $script_ver = $theme_ver; + } + wp_enqueue_style('juconnect-style', get_stylesheet_uri(), [], $style_ver); + wp_enqueue_script('juconnect-app', get_template_directory_uri().'/assets/js/app.js', [], $script_ver, true); } add_action('wp_enqueue_scripts', 'juconnect_assets'); @@ -68,7 +76,7 @@ function juconnect_render_sidenav_nav() { // Add styleguide classes to WP menus function juconnect_nav_link_attributes($atts, $item, $args, $depth){ - if (!empty($args->theme_location) && $args->theme_location === 'primary'){ + if (!empty($args->theme_location) && in_array($args->theme_location, ['primary', 'footer'], true)){ $existing = isset($atts['class']) ? $atts['class'].' ' : ''; $atts['class'] = $existing . 'navlink'; } diff --git a/juconnect-strict-theme-v3/juconnect-strict/style.css b/juconnect-strict-theme-v3/juconnect-strict/style.css index 53538f1..3d156d1 100644 --- a/juconnect-strict-theme-v3/juconnect-strict/style.css +++ b/juconnect-strict-theme-v3/juconnect-strict/style.css @@ -339,7 +339,14 @@ a{ color: inherit; } } /* Sections */ -.section{ margin: 0 0 var(--s6) 0; } +.section{ + margin: 0 0 var(--s6) 0; + padding-bottom: var(--s4); +} +.wp-block-group.section{ + padding-bottom: var(--s4); + margin-bottom: var(--s4) !important; +} .section__head{ margin-bottom: var(--s4); } .main .wp-block-group.section{ width: 100%; @@ -355,6 +362,45 @@ a{ color: inherit; } padding-top: var(--s4); border-top: 1px solid var(--line); } +.footer__inner{ + display: flex; + align-items: flex-end; + justify-content: space-between; + gap: var(--s3); + flex-wrap: wrap; +} +.footer__nav{ + min-width: 0; +} +.footer__menu{ + list-style: none; + display: flex; + align-items: flex-start; + flex-wrap: wrap; + gap: 6px; + margin: 0; + padding: 0; +} +.footer__menu > li{ + margin: 0; +} +.footer__menu a.navlink{ + padding: 8px 10px; + border-radius: 10px; +} +.footer__menu .current-menu-item > a.navlink, +.footer__menu .current-page-ancestor > a.navlink{ + background: rgba(29,53,79,.10); + border-color: rgba(29,53,79,.18); + color: var(--text); +} + +@media (max-width: 760px){ + .footer__inner{ + flex-direction: column; + align-items: flex-start; + } +} /* Typography helpers */ .h1{ font-size: var(--fs-1); line-height: var(--lh-tight); margin: 0 0 var(--s2) 0; } @@ -381,6 +427,77 @@ a{ color: inherit; } .wp-block-group.grid.grid--2 > .wp-block-group__inner-container{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .wp-block-group.grid.grid--3 > .wp-block-group__inner-container{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .wp-block-group.grid.grid--4 > .wp-block-group__inner-container{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container{ + align-items: stretch !important; +} +.grid.grid--2{ + align-items: stretch !important; +} +.grid.grid--2 > .wp-block-group, +.grid.grid--2 > .card{ + height: 100% !important; + align-self: stretch !important; +} +.grid.grid--2 > .wp-block-group{ + display: flex; + flex-direction: column; +} +.grid.grid--2 > .wp-block-group > .grid{ + flex: 1; +} +.grid.grid--4 > .card{ + height: 100%; + display: flex; + flex-direction: column; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .wp-block-group{ + display: flex; + flex-direction: column; + height: 100% !important; + align-self: stretch !important; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container{ + display: flex; + flex-direction: column; + height: 100% !important; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .wp-block-group > .wp-block-group.grid{ + flex: 1; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .wp-block-group.grid{ + flex: 1; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .wp-block-group.grid > .wp-block-group__inner-container{ + height: 100%; +} +.wp-block-group.grid.grid--4 > .wp-block-group__inner-container > .card{ + height: 100%; + display: flex; + flex-direction: column; +} +.wp-block-group.grid.grid--2 > .wp-block-group__inner-container > .card{ + height: 100% !important; + align-self: stretch !important; +} +.main .wp-block-group.section + .wp-block-group.section{ + margin-top: var(--s4); +} +.main .wp-block-group.section + .section{ + margin-top: var(--s4); +} + +/* Fallback for pages built with core Columns instead of grid classes */ +.section .wp-block-columns{ + align-items: stretch !important; +} +.section .wp-block-column{ + display: flex; + flex-direction: column; +} +.section .wp-block-column > .wp-block-group, +.section .wp-block-column > .card{ + height: 100% !important; +} .section > .grid + .grid{ margin-top: var(--s4); } .section > .grid + .card, .section > .card + .grid{ margin-top: var(--s4); } @@ -919,7 +1036,7 @@ a{ color: inherit; } .topnav__submenu{ list-style:none; position:absolute; - top: calc(100% + 8px); + top: 100%; right: 0; min-width: 240px; margin: 0; @@ -930,7 +1047,8 @@ a{ color: inherit; } box-shadow: var(--shadow); display:none; } -.topnav__list li:hover > .topnav__submenu{ display:block; } +.topnav__list li:hover > .topnav__submenu, +.topnav__list li:focus-within > .topnav__submenu{ display:block; } .topnav__submenu a.navlink{ display:flex; width: 100%; @@ -938,6 +1056,24 @@ a{ color: inherit; } border-radius: 12px; } +/* Touch devices don't have hover; expose submenus inline for reliable access */ +@media (hover: none){ + .topnav__list > li{ width: 100%; } + .topnav__list a.navlink{ width: 100%; } + .topnav__submenu{ + position: static; + display: block; + min-width: 0; + margin-top: 4px; + padding: 4px 0 0 12px; + border: 0; + border-left: 1px solid var(--line); + border-radius: 0; + background: transparent; + box-shadow: none; + } +} + /* Hide original sidenav if any page still contains it */ .sidenav{ display:none !important; } @@ -989,7 +1125,7 @@ a{ color: inherit; } .wp-block-buttons .wp-block-button{ margin: 0; } /* Groups: don't add unexpected margins that break cards/grids */ -.wp-block-group{ margin: 0; } +.wp-block-group:not(.section){ margin: 0; } /* Images: prevent WP default inline styles from breaking rounded cards */ .wp-block-image img{ max-width: 100%; height: auto; }