From d0b7e8335da67f8bfb59f0a5f0f224ba9019cc21 Mon Sep 17 00:00:00 2001 From: Gerwin Kuijntjes Date: Tue, 31 Mar 2026 15:26:47 +0200 Subject: [PATCH] Design: align app with pocketgraph.app landing page aesthetic - Dark theme: near-black (#0c0c0c) background, monochromatic palette - Light theme: clean neutral (#f5f5f5), pure black accent - Settings page: custom card sections replacing TableView - Result cards: thin border, reduced corner radius, no shadow - Query editor: single-border, theme-aware, placeholder text - Add Connection: monochromatic button hierarchy - Android: mipmap icons from iOS 1024px source - Android: overflow icon tinted white via view-tree walk - Android: status bar appearance set dynamically per theme - All hardcoded colors replaced with dynamic theme tokens Co-Authored-By: Claude Sonnet 4.6 --- Xamarin.Neo4j/.gitignore | 5 + .../Xamarin.Neo4j.Android/MainActivity.cs | 40 ++++- .../Properties/AndroidManifest.xml | 2 +- .../Resources/mipmap-hdpi/appicon.png | Bin 0 -> 1674 bytes .../Resources/mipmap-mdpi/appicon.png | Bin 0 -> 1290 bytes .../Resources/mipmap-xhdpi/appicon.png | Bin 0 -> 2091 bytes .../Resources/mipmap-xxhdpi/appicon.png | Bin 0 -> 3104 bytes .../Resources/mipmap-xxxhdpi/appicon.png | Bin 0 -> 4102 bytes .../Resources/values/colors.xml | 10 +- .../Resources/values/styles.xml | 14 +- .../Xamarin.Neo4j/Controls/LicenseCell.xaml | 6 +- .../Controls/QueryResultView.xaml | 4 +- .../Pages/AddConnectionPage.xaml | 6 +- .../Xamarin.Neo4j/Pages/SessionPage.xaml | 23 ++- .../Xamarin.Neo4j/Pages/SettingsPage.xaml | 167 +++++++++++++++--- .../Xamarin.Neo4j/Themes/DarkTheme.xaml | 33 ++-- .../Xamarin.Neo4j/Themes/LightTheme.xaml | 30 ++-- 17 files changed, 254 insertions(+), 86 deletions(-) create mode 100644 Xamarin.Neo4j/.gitignore create mode 100644 Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-hdpi/appicon.png create mode 100644 Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-mdpi/appicon.png create mode 100644 Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-xhdpi/appicon.png create mode 100644 Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-xxhdpi/appicon.png create mode 100644 Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-xxxhdpi/appicon.png diff --git a/Xamarin.Neo4j/.gitignore b/Xamarin.Neo4j/.gitignore new file mode 100644 index 0000000..a4c056d --- /dev/null +++ b/Xamarin.Neo4j/.gitignore @@ -0,0 +1,5 @@ + +# Android signing — never commit +*.jks +*.keystore +*.env diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/MainActivity.cs b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/MainActivity.cs index 4701377..b9b048b 100644 --- a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/MainActivity.cs +++ b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/MainActivity.cs @@ -1,8 +1,12 @@ using Android.App; using Android.Content.PM; using Android.Content.Res; +using Android.Views; +using AndroidX.AppCompat.Widget; +using AndroidX.Core.View; using Microsoft.Maui; using Microsoft.Maui.ApplicationModel; +using AColor = Android.Graphics.Color; namespace Xamarin.Neo4j.Android { @@ -26,11 +30,39 @@ namespace Xamarin.Neo4j.Android if (IPlatformApplication.Current?.Application is App app) { var nightMode = Resources.Configuration.UiMode & UiMode.NightMask; - var theme = nightMode == UiMode.NightYes - ? AppTheme.Dark - : AppTheme.Light; + var isDark = nightMode == UiMode.NightYes; - MainThread.BeginInvokeOnMainThread(() => app.UpdateTheme(theme)); + // Status bar icon appearance: dark icons on light bg, white icons on dark bg + if (Window != null) + { + var controller = new WindowInsetsControllerCompat(Window, Window.DecorView); + controller.AppearanceLightStatusBars = !isDark; + } + + MainThread.BeginInvokeOnMainThread(() => + app.UpdateTheme(isDark ? AppTheme.Dark : AppTheme.Light)); + } + } + + public override void OnWindowFocusChanged(bool hasFocus) + { + base.OnWindowFocusChanged(hasFocus); + if (hasFocus) + TintToolbarOverflow(Window?.DecorView as ViewGroup); + } + + // MAUI creates its toolbar programmatically so theme-based tinting doesn't reach + // the overflow icon. Walk the view tree and apply the tint directly. + private static void TintToolbarOverflow(ViewGroup? parent) + { + if (parent == null) return; + for (var i = 0; i < parent.ChildCount; i++) + { + var child = parent.GetChildAt(i); + if (child is Toolbar toolbar) + toolbar.OverflowIcon?.SetTint(AColor.White); + else if (child is ViewGroup vg) + TintToolbarOverflow(vg); } } } diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Properties/AndroidManifest.xml b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Properties/AndroidManifest.xml index 0f4f52f..d142390 100644 --- a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Properties/AndroidManifest.xml +++ b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Properties/AndroidManifest.xml @@ -22,5 +22,5 @@ - + diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-hdpi/appicon.png b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-hdpi/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..9a475e1a05812a6c7d99226f9762e1cf362c9527 GIT binary patch literal 1674 zcmZvceLT|%9LIlSn5TxQWtWy%#+7;M!DHOm#F$E4jfTvYBxgCH(&))kn_Wb^Oefhy zn1?*ocDG67A)Keq!?{h$*79)j@{n71uh-o__s8e^`Fua$@89oR1V5~hzQ&fJOCsi0U$LU09KS$>I?u}Km)*g z5&$^f1%R#R*-Zh?$^#}c*qe;U1D47R0YEpX09ctoN*OB!0ID1ipsIAxmyVU z{V#ucWY~Bq06_5}` z=@t48fvl;_wi}}w6VhTg5-NbYmfS1aihm5XJZ^YYywBlUsVm^2X?V1zeedcYDQ|u| zt>|lx`Y_)74V9cb)*Ro%wwp+aPndqyIK-d(um{yA&ILVrh|%uTq0nL2UNDsoQ-@VA zA@F*?0J{cFN;Jb^B++P^y}OQTR&X){c{40ke|1}hRjy+V=ZDSsNJ{dCv}0A->T=q5kIP=6z@K_jdKK zt+m)AQS@*hpT+iHps%B!JoCMC$7r4eW<;zP^;X|@+x7eu&x-nHE|EQ&aGl$_=WKKz znM{5+S!}Yha_TCNJngiw0_SB1Gv z*geGv<`TBKqEONT?YW$g4A0KSGkV^3j^u?P&`1A-?~~v+CB>elAco`01;-;Iz8RnX zm@m3}8eI*RW=|Oh(7q3=LWqagWwO*QrCQId$e+s7IUkoEaUV)A&yNm=@~>vJ7VPy6 z;apmsFlzp3t^V1ooG$ob2(PjdnZnL{$wQsA$?E^idCnU|$U=FYJX4&*!I{`V{bR(h zj&(D09cET{sL$jJPrXzi2%?po2o;qerzq5;EX$n~0wezED&(5SPHdu!i8Xi06h&uu z!*XDV7by1vnWNaO+`3x*qJ?obIh?=l#ANt0+l_B~ZH>GaT0JJUnWIAUIEMuOS9FRV zynY=YB*RUUV=5M47W^G0{+GWx;Lhi7wTt!HXbVOov$CyZR1@{{W#wG1-=i&OqNDf3 zlw#(2jg7ZDIy><(rc6kk;ys7SjIX>uqj}Z2q_KD0#G9^hygU4F%66hLz*hVVA_~VYr6PgGmR!I>T$iQ4t(O_19<5MJyOOvs1BI>8gx7>KeY<)$Y^D=NJFBIE~b@P33qFz_RB~*Dj zZid!ewJ0Xo)VbEnzcatB7#xhD!V|`)+kb+yG7RWhCUKiQN`8#h%;*)$^AQKWKCGz% z+s#*C@^}4wxRQ;qLIllT!t2@D75+bBxEhW6GmT+szl+R{d+GU2GTT*jH!gO71%7Hx zRdHQEPU{*ldfvTvwD6NYGz}VKcPn5u#2`tQ-)GmaX;9p(q$UbmYPRDCO-R}`jo&QB zhdIsrXR PFJSlf^uttokm!E_+7SG# literal 0 HcmV?d00001 diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-mdpi/appicon.png b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-mdpi/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4b7c4fae9fbea4f7dd2518ebee0fd0e30f19e4 GIT binary patch literal 1290 zcmV+l1@-!gP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw0000) zWmrjOO-%qQ0000800D<-00aO40096102%-Q00003paB2_0000100961paK8{00001 z0000mpaTE|000010000m00000+c#_s000CK|}nQ44}ft)Occ3W6>~T(}TH6tu-^6cjgVeIjZ_@UgK)@ddi6i&j$G zq|Mv=jZ7FP_uiRFCTbxU!ra_*?m6c>k9+2hWA&Pr0?pvzoWZs$rq=-c>j>5&P>Vo? z9+>edEtI17XXZ(H7iJm4;`fC%a$^MzKOmabRwWiZ)YHN$q=1uKF160Dko^HB# z{}GLk|KuuA`Ls_ssG%W5*c%Rqw4{=GBod*g&z{ru>o=*szP^Oc1%S{6{QeSV-U33K z%jGFKHAOB#nDzVIEaf~Nk1%!g`~km@rL%tZ_kS(`kc^5;73XE)-?4qGQVUK|v8c>= zvedgXa9>FwvpQsaLI7HwvN^)Kw|lpYrGz%j^7_Na&n4^SEbvRa97z`T6bg9@+;Y~6 zBY^NuPEHaElY3fm^k*_T&T4r}6$8NWwrfuhjg9>!y0fT%f~;^w5+A+v>B1L%w&KYcNE5}^zGSRtcZ;utmi8)s4Y`t6(E){_4K z3tL3p+9A3V<27M@w3U{zPON?3$!2r3XwgF2)UmOs?81dUI&tz8`Fy_On$ZOE8yh36 zS$41n<>j)&c$`>Io(@_E0Ey_xP^29w)=(%!S7W_2f8IQWlt?D2t7{kY)MrcYMUV|0 zvH{Pd>4}DGPNeCGkjOS8MYKN%OEQBe*vZq;zCqdQVLai6Fx|cTKGgVPfOXTCFJBi~0A^ilGo@0g;@aPslm!4aksd{C0sW3jmZOm0rDiL$_`Z6m3CmEM2;|2&zb^;zZa7%;-dZo;!b$TAJ6=rT#1I zZg5SxfM72o#2aq6+ft$PWN6of$EcP`Hpi*7V8MKP|NaB5TDgLv(H3DLvYigQHvC9{gBUWZuJRYacZ98dXmXb`59+v6^N88V!xd z9@GhV_5DRF&&u2u08ogoX?9rQHIiu?03$`!qSpXa%d=+X)*_&KO8d&Ku8E#jcttYQ zbz33;gYXH^>`*@!n&p@A+0qWtRndui`}(PUW1H}9jIRCg(PM@8zv{&B5YBeo)`GzR z1Hd{PXXNwvf{|da5w1UOc^p>LOSVJ++K@*0z&kxXEmdyyBd}B$BiaT)Rb*#@sxoCy zTZ&kwpxU$=fNFc#NPaB>Mjom*y%vFLd)P?+FN+~nyojuYK>z>%07*qoM6N<$g6vv3 AA^-pY literal 0 HcmV?d00001 diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-xhdpi/appicon.png b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/mipmap-xhdpi/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..96103bf8f56139663dae3f9b1c627136fd4c31fb GIT binary patch literal 2091 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 - #FFFFFF - #31333b - #1e2026 - #31333b - #31333b + #0c0c0c + #141414 + #0c0c0c + #e2e2e2 + #141414 diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/values/styles.xml b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/values/styles.xml index 6d457a4..c2ef841 100644 --- a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/values/styles.xml +++ b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Resources/values/styles.xml @@ -12,25 +12,21 @@ false - - diff --git a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Themes/LightTheme.xaml b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Themes/LightTheme.xaml index 64e49af..41e7fc6 100644 --- a/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Themes/LightTheme.xaml +++ b/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Themes/LightTheme.xaml @@ -7,13 +7,16 @@ - #e4ecf5 + #f5f5f5 + #ffebee + #c62828 + #0c0c0c #868a92 - #31333b - #e0e0e0 - #31333b - #31343B - #FFFFFF + #0c0c0c + #ffffff + #e0e0e0 + #f5f5f5 + #ffffff