From 9a0cc2506b1dadb2d18c3299138e4d1f25793199 Mon Sep 17 00:00:00 2001 From: Skandar Souissi Date: Tue, 22 Apr 2025 16:17:18 +0100 Subject: [PATCH 1/3] fix(logout): clear Inertia prefetch cache on logout to prevent data leakage. (#97) Ensure the `router.flushAll()` method is called during the logout process to clear the Inertia prefetch cache. This prevents potential data leakage where a later user on the same device could access preloaded data from the previous session. --- resources/js/components/user-menu-content.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resources/js/components/user-menu-content.tsx b/resources/js/components/user-menu-content.tsx index a3d29478..c002b194 100644 --- a/resources/js/components/user-menu-content.tsx +++ b/resources/js/components/user-menu-content.tsx @@ -2,7 +2,7 @@ import { DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSep import { UserInfo } from '@/components/user-info'; import { useMobileNavigation } from '@/hooks/use-mobile-navigation'; import { type User } from '@/types'; -import { Link } from '@inertiajs/react'; +import { Link, router } from '@inertiajs/react'; import { LogOut, Settings } from 'lucide-react'; interface UserMenuContentProps { @@ -12,6 +12,11 @@ interface UserMenuContentProps { export function UserMenuContent({ user }: UserMenuContentProps) { const cleanup = useMobileNavigation(); + const handleLogout = () => { + cleanup(); + router.flushAll(); + }; + return ( <> @@ -30,7 +35,7 @@ export function UserMenuContent({ user }: UserMenuContentProps) { - + Log out From 108963ea46bf55045a73504b57ecff70ee2181a4 Mon Sep 17 00:00:00 2001 From: Tony Lea Date: Tue, 29 Apr 2025 17:59:33 -0400 Subject: [PATCH 2/3] Adding updated favicons for React starter kit (#107) --- public/apple-touch-icon.png | Bin 0 -> 1739 bytes public/favicon.ico | Bin 0 -> 4286 bytes public/favicon.svg | 3 +++ resources/js/components/app-header.tsx | 2 +- resources/js/components/app-sidebar.tsx | 2 +- resources/views/app.blade.php | 4 ++++ 6 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.svg diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d599750472c05c14d2a8d6bf37a1b6a50d02b7e8 GIT binary patch literal 1739 zcmV;+1~mDJP)`1uP{*0ug|c) zM!FvW00tXLL_t(|+U%NbZ`>ddgfR=)_fq#RY3u+0Pg^x{)?{K01R-OI`4%acJmB%( z4vXn(O5y7LMa-!*`{kd;n>ml1UEVdmm~%+%ve79#60UxUb!{H|$0y_ySld}8b#Brh zo~BjFWm)Ct|Jy#bZtbm^@8NwJ_l>oKX-+S?t9D}s`Pr_uBQqOS?2)l0j|6prA55fX ztqo>Yfk*t+v>>-JvokxAUoBZ%>_Yks^oTvoBWPw;(uOvyJ^MrqEPt~(M(!2N%p|`L zvNoF8lmB0@{7J|wb71CF4T~1Y(z=zm@;fO7iPpZ9Kk6~P@UL&+tNYgf`|wCXdzSxp z=m*M@LP_0HJtPrY`=f&9YALB(*-4aqfFuP~Y25;kFlgT2^VnOIHT)1{f-ZtUPqoq@N?*4!!Sx_QWyv{`3qXN!nW`WhlX`#Bn1M^gL7J>Lulyl(_=4(=D}IT zPb(A}`}@SCK%iN07ShuY=(PU+39*+!^Wdx^rxgIbYKC=^q@d7+!I@bbp-F#_Nnu4M z(A3P_LZc992#YrodjYyIICE~$a_)l8uykT^32ND2U57M%HM1%bwQ zVfL`|9GbrlTv*Kz8vA>dS}`B`Nz9yfT5;#lx=#4U&4!-R+A(JBfk0~qqf#qoLObFN zB3Z3vDYULrJyi-l-U^ZehgLbSMXCT=vGbDxg+^KZ{c>pD_hQv)02=yx(p()2ZF4;$ z53O7NAZYiT6x(H)c?k9>==4a3--QQ48yTR#Pe}>~LMKPpaEX$_@zBuUv!u`lG_kge z=f%xHLw~=U6k39Y{{HKv&>D2)kyrULDKrTE>9hi3Z==vr`Mby8^6f%zr;(AF+lE$a zZ-aC5(CcZ1n)wvaYHdFoa~5c0~#_86dD$x9{;CRb|j;Hcc1seAV^^hEBn95g##=C+8 z4&^wsvv9aj2^#mv3XA|!pvA&ez5+D4D+m`e0b>6_nVQfz0i5X-AB4b5omHW60=Rpv z;VJ;J_n<05^Sga$ZG^x}omHXvT|vB<2@o*dst+CL9-*}rf?VpX0G+r;crjBU@Ih6F z#tEQ`SbK$lOP#f$clU^UWRy3Eztx@FYQj(uMJZY#kqY+m|G!!=6rF7B=CEBlnTNjg zp^Ijb%*k9L7Yc_S=oOUemg%G;p|t|&9g)z-B@eCtBj1>*7mA18eVJ_8sVx@@fX*6U zeRT_k)+8O6hRmSDiBWT*q`E~wYm%Og$O!}htx0+|r_MublAg4OlNS!kDXdbRVN+Vd#1y{djQ zVO|gzglsv@g~A z&_+KVIxj@;lCH*p${`4b8sFr(5|VI4;j2N&}Q<=1pZ`KXy4SCM|>Vr==?MVJ=qQP$9tPE z0+qolfd)=fl-dftn_e%o8@#$gYXaKln{!2Nf&Ogsc`Gw`wLq^=Q?Hl#AGNR0b@HlT zl)jY(x~I%FPB++>pEojhGvjW(rLWBQ2d`Q@vxn5a#?&79?>x2znb&GJ`o!bNd2Ayx huhjn8+y}{@9KXz{1SIK6!^i*t002ovPDHLkV1g5cUh)6{ literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..578a0e78195240d3e8404304a042daf2aec9ebbe 100644 GIT binary patch literal 4286 zcmcJSTTC2P7{>>;6{#qdD&7_rwK0v6O03lyFIyAuMvd|QP_(O7=Qn>GYbn#gAj)NI5Xcl=lh@Y zo$s8PwX7okYHBR~x4M>ER;6WGD*%(V7GyUUb#u9#Sj2K-O+`-3UJ0GB2Uewe?II^? z&&B1e`lRBG=r({|3EN;097ucjPg9gwH_Q_rVfSEVjdr?0w`!$~&PCzJ#^(Uqo5Z_wkIb+Z!U|`Wxsi@H;lr%)G#{zHNRbntmL9y%IT^1bM9=OwHFi*?Z=wo&Ic{!f-at|BmG8S<5p}7$*bKoeYJ%( zFbv&rQL48g@2oSii8mHeR}1gL5Y$73S;P73E6)GGAZ&ngunza+&qFrGvY7HZ_y%G? zZjdk9x7l@@%lsdw?@qW86a#S+oB(;T{Bt084xCJ#wDv;>tcG1M7yV82d)tX^)*Li< z#p6eK4{DP!&W0)DFl&-MOOzXWH)u`%hK-;&<&9ep*w;f|{%70Tp1$%hVkM*XYFh4J5A~gE@m#7CL{jIcm;w#Z2$@dFksLDH%2I&sXuaMY?{j97kX0#pkdf`q}Tc+}iY_ zv)zd|2E4hm4(7aCFn#-+Ue4v}^*!`Gd^u+9w)A2kZgO(Vv?uKT3`HUx>p6 zV03-wlfFAOCY>?kpf&KDmRNVYlyO1_-!EbN?l$)nd{jG#;87QV|(+X9|=qAP> zKmM9UmSW!s33vz2gFM}-52{ba?8TJCnR&(etyrLs*G_d8!%i54M}d7~*83Ljd*C~` z0pxS4+`OMP-${DiXnYHupuMsIw2w_(<}EgZgCl)g{NF+qXldUmf6n#tYKC6(GrI}b zbz589aVzAGRg}1yt!-{%bi@seX2Ru(W8sh$4p*0j!olj2a4^&s4wj6BgKcBs;K;G^ zV5Tk*%ve@%G*A~D{bNm*LuUp@f5Dc3!Nk&4Lm4ZONCX0zK>5&Ec}e?tsI|m(M?$VU I*5bPV0eaf4;Q#;t literal 0 HcmV?d00001 diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 00000000..7cf7270d --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/js/components/app-header.tsx b/resources/js/components/app-header.tsx index b9e282d7..46542ecd 100644 --- a/resources/js/components/app-header.tsx +++ b/resources/js/components/app-header.tsx @@ -31,7 +31,7 @@ const rightNavItems: NavItem[] = [ }, { title: 'Documentation', - href: 'https://laravel.com/docs/starter-kits', + href: 'https://laravel.com/docs/starter-kits#react', icon: BookOpen, }, ]; diff --git a/resources/js/components/app-sidebar.tsx b/resources/js/components/app-sidebar.tsx index 86fd5fd6..c5176727 100644 --- a/resources/js/components/app-sidebar.tsx +++ b/resources/js/components/app-sidebar.tsx @@ -23,7 +23,7 @@ const footerNavItems: NavItem[] = [ }, { title: 'Documentation', - href: 'https://laravel.com/docs/starter-kits', + href: 'https://laravel.com/docs/starter-kits#react', icon: BookOpen, }, ]; diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 30938355..82182679 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -32,6 +32,10 @@ {{ config('app.name', 'Laravel') }} + + + + From a112a23e1a54c59a91036b781ce686ec54e35262 Mon Sep 17 00:00:00 2001 From: Tony Lea Date: Wed, 30 Apr 2025 14:11:02 -0400 Subject: [PATCH 3/3] Adding the red favicon back via design req (#108) uest --- public/apple-touch-icon.png | Bin 1739 -> 1662 bytes public/favicon.ico | Bin 4286 -> 4286 bytes public/favicon.svg | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index d599750472c05c14d2a8d6bf37a1b6a50d02b7e8..c2efef6de4482ad4ec770787891fb3ab7f7b1f58 100644 GIT binary patch literal 1662 zcmV-^27&pBP)40{{R3XI2D70000&P)t-s00030 zFd+XeApb8Q|1BW@E+GFcApbBR|1Kc^Eg=6bApb5P|1Kc^EFk|aApa~N|1BW@Eg=6e zApb5P|1BW@Eg&n7Ql0<+02OpnPE!CNzd)dXU=ZKm?|<)rkZ`ZhFmF)fpgb%900q`b zL_t(|+U%Oqj+-zLMaMYBBrGf>;s1ZNY7`jIiI_O8!Rm4!Tgf`>xtSR*$bTdkB!69t zVK_O-TcI8P=u%70x?P5+&ZXoke;#Hk@~pfohJ~`UXs9Q;_B2)gTk?{cvbc)et1K<* zr+Qaj9xAKsDzB#eYQpr7r@Sm0>dVCQfKCB0Kf{y|EP9n~<+TZwVye09V$sm9n9{PSY^C}VzXiE}GC#|%c)PWA z!&5y>`JP4VkDV6b8$Z_jJJu@A$QeFse^IT?qj=G4l>4y#(Kj|Guiq{iFk{=Fwl*76 z)xQ4|>IRkjy#1lI8JM_!yJWG>8ZJNf8dXXx zrk~GbPG4tWE+u0Q(BCgl#w@cPJ5nx)T9MuG26Ggy6OkTfT zvPjI^>P)^G7FA5^`aMfVOxu)|x2A9549ulPjgm!RI{t-}!yN(BSbnfZ0rTAmB^Yxa z0ShsC{k=0v223kLF@%7Hn5rZ4wL=GnpitveraoqSfe(_EIcO5du!CjnDf@wtxv3e z-u^bn6xYI{>k~_4b4*0{)`LMCWEV`GECi(~y~rMz#`428YDY}1JOdWj&DW^?F-Ib; zJl{lRfw{1#A0resWj2_y2v`;oie!a3x9HrIxnXL+G9OMEVvZJ7Q)Y@O(#)P#Gsb*Y zz6+8!=6Lpjd0-xx2j+o!U>=wU<`2TWpY@?U`fOKhgXs$-hQ`^*57T3Y7GFKsXEUm) zBmpLJD?F4LXCptnrod!)-s4>q&NlMH1ep8=0k2DW_S$RM1ei2s8;}?pXCpsMfQj(j zNDOf{^1}p}D=)N>81ii9hY2uO&CkS;XEQ%chDr0UB!)N}`C$S~^BV*vhRd^&A11-1 z`R$K=!+176!AgetySX#KX&8o~XtND<+Gs@?_dhEVl?dUf^KAF4`3KmZ#1o5M$8F`` z3P!Tl&&CLr3Ul6+|GA>4A2dj*!Zf~z9YX~DLkTA3XY8i74zs-cJ)DTceLfYYA-}08 zCfNm;#x)M#D5naO^M{f7;@Z>}U}BCre7ypnoy1IDM_|xHKkNy25-bsNjhURKb+p6ga^RJ>eNU6hI2E^Ow5A+W|JeZDC8Wqj7Y8Fr9@Uvc=cY`i& zDS4WCQI*lV*os&Gro@tzcjHTqy#y%$-R|Mc0;Z=P9R-{!<>DZ*bg~pkU*-o&W#<07*qo IM6N<$f;hnhc>n+a literal 1739 zcmV;+1~mDJP)`1uP{*0ug|c) zM!FvW00tXLL_t(|+U%NbZ`>ddgfR=)_fq#RY3u+0Pg^x{)?{K01R-OI`4%acJmB%( z4vXn(O5y7LMa-!*`{kd;n>ml1UEVdmm~%+%ve79#60UxUb!{H|$0y_ySld}8b#Brh zo~BjFWm)Ct|Jy#bZtbm^@8NwJ_l>oKX-+S?t9D}s`Pr_uBQqOS?2)l0j|6prA55fX ztqo>Yfk*t+v>>-JvokxAUoBZ%>_Yks^oTvoBWPw;(uOvyJ^MrqEPt~(M(!2N%p|`L zvNoF8lmB0@{7J|wb71CF4T~1Y(z=zm@;fO7iPpZ9Kk6~P@UL&+tNYgf`|wCXdzSxp z=m*M@LP_0HJtPrY`=f&9YALB(*-4aqfFuP~Y25;kFlgT2^VnOIHT)1{f-ZtUPqoq@N?*4!!Sx_QWyv{`3qXN!nW`WhlX`#Bn1M^gL7J>Lulyl(_=4(=D}IT zPb(A}`}@SCK%iN07ShuY=(PU+39*+!^Wdx^rxgIbYKC=^q@d7+!I@bbp-F#_Nnu4M z(A3P_LZc992#YrodjYyIICE~$a_)l8uykT^32ND2U57M%HM1%bwQ zVfL`|9GbrlTv*Kz8vA>dS}`B`Nz9yfT5;#lx=#4U&4!-R+A(JBfk0~qqf#qoLObFN zB3Z3vDYULrJyi-l-U^ZehgLbSMXCT=vGbDxg+^KZ{c>pD_hQv)02=yx(p()2ZF4;$ z53O7NAZYiT6x(H)c?k9>==4a3--QQ48yTR#Pe}>~LMKPpaEX$_@zBuUv!u`lG_kge z=f%xHLw~=U6k39Y{{HKv&>D2)kyrULDKrTE>9hi3Z==vr`Mby8^6f%zr;(AF+lE$a zZ-aC5(CcZ1n)wvaYHdFoa~5c0~#_86dD$x9{;CRb|j;Hcc1seAV^^hEBn95g##=C+8 z4&^wsvv9aj2^#mv3XA|!pvA&ez5+D4D+m`e0b>6_nVQfz0i5X-AB4b5omHW60=Rpv z;VJ;J_n<05^Sga$ZG^x}omHXvT|vB<2@o*dst+CL9-*}rf?VpX0G+r;crjBU@Ih6F z#tEQ`SbK$lOP#f$clU^UWRy3Eztx@FYQj(uMJZY#kqY+m|G!!=6rF7B=CEBlnTNjg zp^Ijb%*k9L7Yc_S=oOUemg%G;p|t|&9g)z-B@eCtBj1>*7mA18eVJ_8sVx@@fX*6U zeRT_k)+8O6hRmSDiBWT*q`E~wYm%Og$O!}htx0+|r_MublAg4OlNS!kDXdbRVN+Vd#1y{djQ zVO|gzglsv@g~A z&_+KVIxj@;lCH*p${`4b8sFr(5|VI4;j2N&}Q<=1pZ`KXy4SCM|>Vr==?MVJ=qQP$9tPE z0+qolfd)=fl-dftn_e%o8@#$gYXaKln{!2Nf&Ogsc`Gw`wLq^=Q?Hl#AGNR0b@HlT zl)jY(x~I%FPB++>pEojhGvjW(rLWBQ2d`Q@vxn5a#?&79?>x2znb&GJ`o!bNd2Ayx huhjn8+y}{@9KXz{1SIK6!^i*t002ovPDHLkV1g5cUh)6{ diff --git a/public/favicon.ico b/public/favicon.ico index 578a0e78195240d3e8404304a042daf2aec9ebbe..236fadb94188e9189807c50aa8480b3070a0cc8d 100644 GIT binary patch literal 4286 zcmcJSYiv|S6vqb^Sj9>!kD_?#USEjFuB*k05m`ulKhQ)0{ZR3Nj~ES!#h9qrHiD>$ zFCbA83#r6d--z!Q-dZre@B@j4kBxrw(=r7ZdN&YYP!=ggUN z&s>a|z(3zN`fK`{jA=H;%m+kf8A$GajE&{z=dAJbc7mU^S=a@A(CVLujIm?&L%;DC zLe@6JdI;b*I0WCqqi~9wGmd_s)3`n7>{QyT;Y-k-FM>{Z23kR}*bD8AB1Y}dT<%4|D*yFG{ipz1dZ-md_9asjFVAL*Xjeow=eI@kwWU_SmSU;ft*cgCUqSjPbCwmKa-bR^DI`k=CZ?Ca;^-d5Ll<&7I3$q~lW zumU~>#c()c$ zznq=I*j4Zy`~=s7e6N}x_jxK`Zh-@E10+?J+sM~|@>qVCnUcYu{D&HP^q=+0M}32-cM_!3Ciyi+W;gJQ1O$7`Uq{%qEf zQ&BAEGXHHD1l564qg*VjMHc7h8MJr9F#HPgp`07>0%S*IU-OwO9s`}T@>+3T1B!b* zKArZ1un%4W-3_mTYTL(f9k{v?=^U+ny>m|ylSw>PH%q64pG5ofa4((kv;&-?dWdAkLy`uhG@CDoiOQ8?+ z9kmLbnp3s^M6T<5NBhy**WqFab58X;{Fc}ICS9`EhD_t_k?aMYs+oF+X2x}$w)C!s zub>y+giUTd`u=o2$VPbg%w}A5K=FGP&VnVNeaN?!pjv4BMJ}c{)BXz-le3+UDBqmk zP^aQH6SlzLumSXcGEJ%aDelxC<@f^F20w!KrQDna?i}Mq^k;zX6#3f)bNvO(k)BF^ zHzB_V0(cothr0F?dSz!aw81>*Q(|8=^W<+HdO$YTVt*Rwysv=|;RCn=q%&SVZcpiq z>|ITJ5A23ruovR@SbG{bo3)A(@mAf`d#C(4&3${+iCyjbvGi?Vt?lZx!zN>grl)PO zquU0hL7OTS3ys0yLdGmDv^2C7yp|~iFVkJ{(t`!Bd#K>;6{#qdD&7_rwK0v6O03lyFIyAuMvd|QP_(O7=Qn>GYbn#gAj)NI5Xcl=lh@Y zo$s8PwX7okYHBR~x4M>ER;6WGD*%(V7GyUUb#u9#Sj2K-O+`-3UJ0GB2Uewe?II^? z&&B1e`lRBG=r({|3EN;097ucjPg9gwH_Q_rVfSEVjdr?0w`!$~&PCzJ#^(Uqo5Z_wkIb+Z!U|`Wxsi@H;lr%)G#{zHNRbntmL9y%IT^1bM9=OwHFi*?Z=wo&Ic{!f-at|BmG8S<5p}7$*bKoeYJ%( zFbv&rQL48g@2oSii8mHeR}1gL5Y$73S;P73E6)GGAZ&ngunza+&qFrGvY7HZ_y%G? zZjdk9x7l@@%lsdw?@qW86a#S+oB(;T{Bt084xCJ#wDv;>tcG1M7yV82d)tX^)*Li< z#p6eK4{DP!&W0)DFl&-MOOzXWH)u`%hK-;&<&9ep*w;f|{%70Tp1$%hVkM*XYFh4J5A~gE@m#7CL{jIcm;w#Z2$@dFksLDH%2I&sXuaMY?{j97kX0#pkdf`q}Tc+}iY_ zv)zd|2E4hm4(7aCFn#-+Ue4v}^*!`Gd^u+9w)A2kZgO(Vv?uKT3`HUx>p6 zV03-wlfFAOCY>?kpf&KDmRNVYlyO1_-!EbN?l$)nd{jG#;87QV|(+X9|=qAP> zKmM9UmSW!s33vz2gFM}-52{ba?8TJCnR&(etyrLs*G_d8!%i54M}d7~*83Ljd*C~` z0pxS4+`OMP-${DiXnYHupuMsIw2w_(<}EgZgCl)g{NF+qXldUmf6n#tYKC6(GrI}b zbz589aVzAGRg}1yt!-{%bi@seX2Ru(W8sh$4p*0j!olj2a4^&s4wj6BgKcBs;K;G^ zV5Tk*%ve@%G*A~D{bNm*LuUp@f5Dc3!Nk&4Lm4ZONCX0zK>5&Ec}e?tsI|m(M?$VU I*5bPV0eaf4;Q#;t diff --git a/public/favicon.svg b/public/favicon.svg index 7cf7270d..e4e710e0 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,3 +1,3 @@ - - + +