Skip to content

Commit 6ee3252

Browse files
authored
v1.8 (#410)
* fix - discord authentication (#199) * Flyout menu - reduce number of taps to sign in * App Shell - Make sure we fetch user data first then bind that data * Flyout - Fix Logout button * Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell * Shell - Manage logout within the new mechanism * cleanup - Pages/views * Code base - Org | Organise the weak reference messages classes * News Page -| Setup singleton * Articlepage cleanup * About Page -| set as a singleton * Feeds page -| call as a singleton * Bookmarks - as for all give the singleton treatment * App Shell - remove OpenAuth reference * Android native - BakcPress | remove nullable reference types * fix: Custom feed not loading after navigating from an article (#202) * Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()` * cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy` * IOS properties - change Debug linker behaviour (#204) * BETA - Fix: crash sometimes experience on Launch (#205) * MCT - Regester TouchBehavior as a singleton * App.cs - Remove start DB on resume * Ressources - font references | fix the SemiBold reference (#206) * SQLite - update initialisation (#207) * fix: sqlite lockcrash (#208) * SQLite - update initialisation * SqLite - make sure we close the connection after we create the tables * Add sentry breadcrumbs to db creation process (#209) * SQLite - update initialisation * SqLite - make sure we close the connection after we create the tables * App - CreateWindow | add sentry breadcrumbs * imp: optimisation of local storage (#211) * SQLite - update initialisation * SqLite - make sure we close the connection after we create the tables * App - CreateWindow | add sentry breadcrumbs * Local Storage - SQLite | Create a class to genera DB actions * Local storage - general database | fix typo * Local storage - general sqlite DB | Implement the service accross the board * Feed - fix feed search * MainProg - DI | improve org of db singleton registration * Local storage - backup | create a service * fuck me sideways.... * Article Preview - share button | be more specific on the source (#213) * Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214) * Fix: bookmark status (#216) * Main feed - bookmark | fix the issue of the bookmark status not showing * Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically * Local storage - main db | remove unecessary listing of artilces * Bookmark - db | Make sure the status is correctly set * feeds - view model | remove unused references (#217) * Fix: feed bookmark issue (#218) * article - bookmark | make sure to return the rescently added first * Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible * Bookmark - caching | loas the bookmarks first thing * Fix: bookmark status not updating on main feed (#219) * Main feed - bookmark status | change the way we reload the article when receiving the bookmark message * Article Model - Change bookmark update * Hotfix: on start exception (#220) * App | Remove StartDb() * Change the way we update Sources * Fetcher.Sources | prevent nullable excepttions * fix: Fetcher - UpdateBackupSources | improve Error handling (#221) * App | Remove StartDb() * Change the way we update Sources * Fetcher.Sources | prevent nullable excepttions * Fetcher - UpdateBackupSources | improve Error handling * cleanup: stuff I forgot (#224) * xaml stuff * remove unused style declaration * Main Feed - Refresh DB | Make the try catch actually useful * Feat: notification setup (#225) * Add google services stuff to git ignore * Include google services files * deps | setup thomasgalliker's `Plugin.FirebasePushNotifications` * Update push notification setup * Apple Manifset - enable remote background thinggy * CI | use environment variable for package id * display packagename * CI/CD - iOS | install GoogleService-Info * CD - android | add secrets * d * CD - android | install google-services.json * prebuild - iOS | fix service tokens * Ci/CD - file google services installations * oops * d * Ci - update all * Notification - android | set the icon * for now let's just `hardcode` packagename (#226) * fix: android pre-build - fix environment variables (#228) * CD - android pre-build | fix environment variables * update xcode version * fix: pipelines xcode version (#229) * pipelines - dev | upgrade xcode * pipelines - prod | upgrade xcode * fix: notification setup (#230) * Ci - Adnroid | Check google services token * Prebuild - android | set the package name from the worflow * push notification - ios | fix setup * deps | Bump Plugin.FirebasePushNotifications to prerelease * Notiffication setup - Android | improve logging * fix: change the approach of Google Services credentials (#231) * CD - android | get google service token * forgot google_services_json * cd - android | Generate and import Google Services in their respective steps * CD - Android | change the way we generate google services * CD - iOS | generate google services * CI - main workflow | forgot google services PLIST * pre-build - android | remove unnecessary stuff * CI/CD - all | Remove redundant references of google services properties * CD - iOS | fix typo * same * workflow | update prod * s * fix - dev pipeline * dev deploy | remove * feat: notifications implement channels (#232) * Notifications - android | add channels * Notifications - Android | List channels * deps | downgrade `Plugin.FirebasePushNotifications` * workflow - android | set `changesNotSentForReview: true` * feat: notification navigation (#233) * Android - setup | enable `SingleTask` Launch Mode * Article - notification | handle navigation to the article * Notification - OnNotificationOpened | convert `articleId` to string * fix crash on notification nav * Article - notification | handle loading indicator better * Android - notification | improve permission request * Article - Notification | add option to handle action * cd-android.yml | unset changesNotSentForReview * Feat: notifications settings (#235) * Android - Notification | add `PostNotification` permission to the manifest * Notification Request | make it makes sense * Shell | add a totally empty settings page * Setting page | design * Settings page - open notification settings * notif - fix| OnNotificationOpened + OnNotificationAction -> escape null inputs (#238) * Hotfix: crash notification (#239) * notif - fix| OnNotificationOpened + OnNotificationAction -> escape null inputs * Notification - OnNotificationOpened | check `articleId` key exist * Notification - OnNotificationOpened | documentation * I'm a bit of an idiot * feat: deals page (#237) * Shell - Views | create and bind deals page * Styles - Add discount color * Deals page - Display deals * Article page - deals | change discount colour * Article page - deals | change size of the discount mark * SQLite - general DB | store deals * Deal Page | create a badge * General Storage | Complete `UpdateDeals` * Cleanp up | Article comparer * Deal page - Add loading indicator * Deal page -| reorder deals * feat: settings - deals (#242) * Settings - deal | enable/disable deal page * Settings - Deals | enable/disable deals on article page * Settings - vm | create a general method to handle updates * feat: add notif badges (#243) * fix: deals loadstuck (#244) * Deals page - fix | update deal `OnAppearing` * Deals page | order by expiring deals * random cleaup * hotfix: crash on notification opening (#246) * Article page - view Model | prevetn `System.ArgumentNullException` on deals * Article page - ViewModel | handle deals process exceptions * ArticleViewModel - constructor | check `Deals` before treating it * iOS - Tab badge | fix out of range issue (#248) * fix: News Feed doesn't reset when pressing its tab (#251) * AndroidShellRenderer - handler | declare it using genereci overload * Fix - android main feed reset | merge AndroidShellRenderer with TabbarBadgeRenderer * feat: dynamic time update (#253) * Converter - Time Span | reformat and clean up * Main feed - vm | create a method to refresh the timespan of the articles * Main Feed - On Resume | enhance the on resume behaviour * News page - update navigation stuff on resume * news page - view model | * Fetcher - ArticleExist | make sure to check for Bookmarks being null (#256) * fix: ios - UI settings tweaks (#257) * Settings Page - UI | Change title * Settings page - UI | tweak notification settings label * Settings page - view | format code * settings page - UI | improve the toggles * Settings page - UI | improve toggle colours * fix: DealPageSett (#258) * Settings Page - UI | Change title * Settings page - UI | tweak notification settings label * Settings page - view | format code * settings page - UI | improve the toggles * Settings page - UI | improve toggle colours * fix: DealPageSett * feat: display source image (#261) * UI - Article Preview | display the logo of the source if available * UI - Article Page | Add source image or badge as title closes #249 * fix: ios badge thread issue (#264) * ios - tab badge | run that on the main thread * ios - tab badge | UpdateBadge() error handling * fix: no internet connection handler (#265) Resolves #262 * fetcher - error handler | prevent internet connection related error from being reported * fcm - offline | notification setup disable if device offline * Fetcher - HTTP error handler | move the internet connection check at the top * fix: update deals on article navigation (#266) * App Shell - vm | make sure to reload the deals when we call `UpdateDeals()` * App Shell - navigation | update deal on each navigation * feat: deals - display time remaining until deals expire (#268) * Converters - | create a time until converter * Deals - page | display time until it expires * Deals page | improving time until display * TimeUntilConverter - correction * TimeUntilConverter - converters | improve * Deal page - expiration | dynamically change the colour * Converters - time until| correct a big mistake * App -| make sure to refresh the Deals when resuming the app * converters - TimeUntil | remove minutes when it's not relevant Resolves #260 * hotfix: time until converter (#269) * Deal page | ensure the timespan until end is not displayed after 30 days * Deal page - time until | improve colour indication * TimeUntilConverter - fix * feat: notification personalised feed (#271) * Feed - Notification | set up channel * Notification - Feed | NE registration * Notification entity | update * Notification - feed | include authentication when updating or creating a Notification Entity * UI - Edit Feed | notification options * notification - feed | get status * Edit page - UI | make it look a bit more similar to the settings page * Edit feed * App - fetcher | setup feed sub/unsub requests * App - Fetcher | fix sub/unsub feed * feed sub payload fix syntax * Data - Fetcher | Add a method to update the server when creating feed * feeds | allow auto synchronisation of feeds * Feed - edit | allow edit of subscription * Edit - feed | sync edit * Fetcher - feed create | prevent network related errors * misc - * notication - fix | if the update of NE fails add it as a new token * Update App/Models/Http/Responses/SubStatusRes.cs [JsonProperty("enabled")] * Update App/Platforms/Android/Notifications/NotificationChannelGamHub.cs * Edit feed page | fix UI * fix - threading | feeds view model * Main feed | feed creation upload * feeds| Cover offline mode update * Feeds - view model | improve multithreading * Deal - Badge | ensure the badge stays there as long as the deals are not acknowledged (#274) * Fix: error subscription not found (#275) * view models - edit feed | fix feed notification check * ViewModel - edit feed | compare Notification values * Deals - TimeUntilConverter | fix mishap when timespan is lower than a day (#277) * code base - debug setup | fix issue where the Discord auth wouldn't work (#279) * Deals - TimeUntilConverter| consider time zone (#280) * Data fetcher - Introduce a CheckFeasability() function (#282) * Deals page - cards | increase size of the discount badge (#284) * Feeds - delete | iOS fix crashes (#286) closes #285 * Android - Resources | update the accent colour (#287) * Imp: change inapp store reviews (#288) * Article page - | update store reviews criteria * acticle page - store review | change the threshold * format * update deps | Update MAUI controls and `Sentry` (#289) * Android - Status bar | update the colour (#291) * Article - page | reduce time limit until asking for review (#292) * feat: integrate deal reminders (#294) * notifications - channels | subscribe to `deal_reminder` * notification - deal reminder | handle navigation * fetcher - notification | ne setup * oooops * Notification - fecther | make sure we get the entity * Notification - deals | add the ability to schedule a notification for a deal * Settings - deals | add reminder option * model - deals | symplify `Navigate` * fix: MauiContext null issue (#295) * fix: notification entity setup (#296) * fix - notification setup| `SetupNotificationEntity` prevent nullable token * fix - notification setup | handle nullable result SetupNotificationEntity * App Shell - Notification | Change the way we are initially setting up the NE (#297) * Fix/ne issue (#298) * App Shell - Notification | Change the way we are initially setting up the NE * fix: fetcher - SetDealReminder | setup the Notification Entity if the id is empty * fnef * hotfix: I'm so stupid... * hotfix: handle notification entity rejection * hotfix: deadlock * downgrade Microsoft.Maui.Control to "9.0.30" (#300) * fix: feed page - feed rendering (#302) * downgrade Microsoft.Maui.Control to "9.0.30" * Feed page | remove spacing that prevents the feed list from scrolling proper * pages - Feed | fix empty list bug * dep - bump | MAUI.Controls * pages - feed | cleanup * Page - Feed | rebuild menu tab * pipeline: try xcode 16.4 🤞🏼 * pipeline: that was dev not pr... * Imp: remove deal access when offline (#306) * App Shell - offline mode | hide deal page when device offline * App Shell - offline | make sure deals reapear on resume * App Shell - offline | Refresh all the deals when coming back online * imp: change management of offline/online switch (#307) * Fetcher - remove the connection test before we try to determine if it's a connection related issue * News page - resume | reload * Deal - notification | prevent a crash when opening a reminder in fastboot (#308) * App Shell - fetching | reduce the amount of requests to get deals (#310) * Article page - menu | fix design issue (#312) * fix: change background colour partner badge (#314) * About page - partners | change bg colour * Deals page | partner bg * Chaneg certificate name * App Shell | make sure to refresh Deals when we open a notification (#316) * fix: badge not resetting (#317) * App - notification | Reset Badge * App Shell - notification | Set the badge count appropriately * feat: deals - DRM filtering (#318) * Fetcher -| setup call to get the platforms * Deal - filter | Create design of the popup * models - filter | update models for deal filters * Deal - filters | all set * Fetcher - Deals | filter from where we do the request * Deals - viewmodels | make sure to update the Platform selected state * Deals - filters | set null as a default state * Deal Filter - design | correct the DRM row (#319) * Deal page - Browse | Navigate to SystemPreferred browser (#321) * feat: setup device instance (#324) * App. - | setup instance * app | i don't know why I left a new line there * fix: main feed - unnoticed button issues (#325) * Main feed - view model | be explicit in the WeakReferenceMessenger send * News - page | make sure the button is always centered * Fix: main feed - refresh button animation (#326) * Main feed - view model | be explicit in the WeakReferenceMessenger send * News - page | make sure the button is always centered * make sure the button is always centered * fix: news page - refresh button animation * fix: deals - filter result tend to be all over the place (#327) * feat: deal share button (#329) * deal page - share | add a share button * deal page - share | update design around the share button * Deal page - navigation | add the navigation command on the timstamp card and the label * [iOS] #330 - news feed | prevent to trigger a refresh view when the scroll position is not all the way at the top (#331) * patch - UX iOS | fix input issue with the deal input (#333) * fix a merge confict * deal - clean up * Article page - deals | limit the mount of deals to load (#335) * fetcher - register hook | add instance (#336) * Imp: deal UX - improve navigation experience (#337) * Deal - navigate | use Favourite browser * Deal - push notification | change browser setting to External * Deal - navigation | setting `TitleMode` Browser setting is useless as we do it externally now * Deal - PN navigation | revert changes on `OnNotificationAction` * Deal - navigation | remove title mode * imp: Shell - | change the colours so it's more obvious when a tab is selected (#338) * Fetcher - SaveSession | Prevent null related exceptions (#339) * feat: introduce the template of gems (#340) * flyout - header | design gem counter * Gems top up page * eat shit apple... * App Store Shenanigans| Hide IAP from UI (#341) * feat: [iOS] gems management, purchase, listing (#343) * Gems - paywall | list all products * Forgot the revenuecat package * Gems - TopUp Page | Create the UI for the topup page * gems - ui | only allow topup on iOS * Gems - TopUp | handle payment processing * Gems - TopUp | improve paywall design * Gems - TopUp UI | improve colours * Gems - fetch | get gems * Article - hook | update registration * Deal - hook | Add hooks to deals * article - rewards | request gem rewards * Deal - navigation | request reward * Fetcher - Gems | manage user synchronization * Billing - | exclude revenuecat for Android during the build * App Shell - Flyout | Remove the gems from the header * CI/CD - iOS | include revenuecat key in the workflow * Deals - | display deal rewards * Config - | Reorganise environement settings * Fetcher - | get culture information * Gems - management | geo block the feature * converter - multipleToBool | clean up * d * App - Shell | utilise shell when calling the current page * Deal - Rewards | show a popup for it * App - instance | prevent instance ID from being setup twice * iOS - prebuild fix| i forgot a ; * fix: ios instance - resolve persistence (#344) * Instance id - iOS | sort this out with the vendor id * gem - rewards | fix * securestorgate * Gems - rewards popu preajustments * Meta - improve debuging experience * Shell - navigation | improve error handling (#345) * Shell - naivation | improve error handling * oops * fix: gems purchase refresh (#346) * gems - topup | fix fetching * Gem - Top Up | add confirmation popup * model - Gems Plan | symplify currency display * yea tha's better * fix: prevent useless calls to set deal reminders (#347) * fetcher - set deal reminder | prevent calls to set reminder when permissions not enabled * Fetcher - SetDealReminder | Check settings * feat: generate an api key (#349) * Debug - Constant | Fixing the issue with monitoring key * Fetcher - headers | sign a API key * ci/CD - constant | include API key * fix: api key - correct the API signature (#350) * Csign | correct the API signiture * Csign - GenerateApiKey Debug | correct label in console * feat: iOS - implement giveaways (#351) * Fetcher - Giveaway | get the giveaways * Giveaway page -| list all the current giveaway * Fetcher - Giveaway | Request to enter * Giveaway page | show when a giveaway is entered * popups | Create a twochoice popup * implement giveaway entry * giveaway - UX | improve entering experience * Giveaway - page | remove user giveaway * Fetcher - | add GetWonGiveaways() * Giveaways - wins | list all the wins * Giveaway - wins | claim key * Fetcher - giveaway | include dummies mode * fix: giveaway - solve UX issues (#352) * Giveaway - refresh on navigation * Giveaway - page | imprve scrolling experience * Converters | allow time until converter to expand beyond 30 days * Giveaway | add balance * Giveaway | create a dedicated popup for giveaway entries * Giveaway - Update balance after entering a ga * fix: giveaway UI (#353) * Giveaway - wins | recenter the key when shown * Giveaway - wins | remove the timespan * giveaway - header looks shit * fix: solve the gems top up UX (#354) * Gems - topup | fix the pop up confirmation shinnanigans * Gem - TopUp | tell users how to earn Gems * hotfix: fetcher - hook | use cSign for the apikey (#355) * fix: iOS - issues related to blank instance (#356) * Fetcher - get headers | make sure to reissue the instance id if null * Gems - | prevent nasty exceptions when GetGems() returns null * feat: Android: purchases - Gems (#358) * purchases - Gems | enable revenuecat for Android * Android - Gems | enable the balance for the gems * Android - billing | add `com.android.vending.BILLING` (#360) * feat: android - giveaways (#359) * Android - Giveway | Enable Giveaway list * Android - Giveway | missed a bit * Giveaway VM | indent * feat: Shell - add a donate tab (#361) * Shell - Menu | add a donate option * Shell - Menu | simplify support tab * pipeline: config - add_revenue_cat_android_conf (#362) * config - Android | update prebuild * App config - pipeline | Update the script to include the revenue cat android key * CD - android | fix `revenueCatApiKey_Android` casing (#363) * switch SentryDNS * Cd(fix): Android - prebuild script revenuecat key (#364) * CD - android | fix `revenueCatApiKey_Android` casing * fix- android prebuild | correct the Revenur cat part * cd - android | switch runner * cd - iOS | switch runner * cd- android | switch back * android - pre-build | missing ; * fix wrong variable (#365) * Chore(manifest): fix - android id declaration issue (#367) * Make sure we exclude `com.google.android.gms.permission.AD_ID` * dump `Kebechet.Maui.RevenueCat.InAppBilling` * App - Android OnStart | await when setingup an instance (#369) * fix: data fetcher - nullability issues (#370) * Data fetcher - | Standardize empty return values in Fetcher methods * Data Fetcher | Ensure null safety in Fetcher methods * Data Fetcher -| Refactor null check with null-conditional operator * Fix(android): giveaway claims not working (#371) * giveaway - android | Remove iOS-specific logic for fetching giveaway wins * Giveaway - android | Remove iOS-specific code from Giveaway model * Update RevenueCat package to version 5.3.2 (#373) * Update Sentry.MAUI (#374) * fix: connection failure of doom (#375) * Add ResetHandler to Fetcher for HTTP client setup * upgrade custard to allow customhandler * use xcode 26 * fix: crash on gems load (#377) * Shell | make GemEnable checks error proof * CD change xcode version * fix: revert XCODE_VERSION to 26.0 in dev-deploy.yml * fix: update macOS runner version to 14 for iOS publish workflow * fix: update Xcode setup action to version 1.6.0 * fix: update macOS runner version to 26 for iOS publish workflow * Update cd-ios.yml * cahnge mac runner * Switch mac runner again * force xcode to 26.0.1 * dev-deploy.yml force xcode 16.0.1 * Update prod-deploy.yml force xcode 16.0.1 * Update prod-deploy.ymlforce xcode 26.0.1 * Rotate Sentry DSN in MauiProgram.cs (#379) Updated Sentry DSN for production environment. * fix: app stuck on spashscreen on iOS 26.1 (#381) * Upgrade Maui Controls deps * upgrade to maui 10 * CommunityToolkit.Maui.Core -> 10.0.0 * Update .github/workflows/pr-deploy.yml to use .NET 10.0.100 and target net10.0 * Update XCODE_VERSION to 26.1.1 in PR deployment workflow * Add step to install provisioning profiles in iOS deployment workflow * Fix provisioning profile installation to handle multiple profiles * Add keychain unlock and signing identity verification steps in iOS deployment workflow * Update provisioning profile verification step to list profiles instead of checking signing identities * Replace listing of provisioning profiles with inspection of a specific profile * Refactor iOS build step to include codesigning provisioning and improve debug output * Fix formatting in iOS app compilation step for improved readability * Update codesign provisioning parameter to use profile paths instead of UUID * Replace debug dotnet version step with provisioning output debug step * Refactor provisioning profile handling to improve UUID extraction and streamline installation process * Comment out provisioning profile installation step for debugging purposes * Fix provisioning profile installation step to use profile paths instead of outputs * Comment out provisioning profile installation and UUID extraction steps for debugging * Refactor dotnet publish command to a single line for improved readability * Add step to retrieve first provisioning profile for iOS app compilation * Fix iOS app compilation by specifying the provisioning profile path directly * Fix iOS app compilation command by adding quotes around the provisioning profile path * Update iOS app compilation command to use CodesignKey instead of Provisioning Profile * Refactor iOS app compilation command for improved readability * We lost our fucking ways * Enhance iOS code signing process by configuring keychain settings and verifying certificates * Refine iOS keychain management in CI workflow by enhancing unlocking, search list configuration, and partition settings * Improve iOS CI workflow by refining keychain unlocking process, enhancing certificate verification, and restructuring the app compilation command for clarity * whatever that is * Refactor iOS CI workflow by removing redundant keychain configuration steps and streamlining the app compilation command * update to net 10 and xcode 26 (#382) * fix: post maui10 issues (#383) * upgrade popup iOS * remove stroke from popup * Replace Color with BackgroundColor in XAML files Updated multiple XAML files to replace the `Color="Transparent"` property with `BackgroundColor="Transparent"` for consistency and to use the correct property for setting background color. Also reformatted the `Image` element in `PurchaseGemsPopUp.xaml` for better alignment without functional changes. * Update Xcode version in dev-deploy workflow * Update XCODE_VERSION to 26.2 in prod-deploy.yml * Update Xcode version in PR deployment workflow * hotfix: clear post-testing issues (#386) * RemoveLoadingIndicator - prevent from throwing errors when the popup can't be found * chore(deps) - update dependancies * fix crash when region not found * fix: post maui10 - UI android (#387) * support for 16 KB Page Size Requirement * android - enforce statusbar colour * UI | News Page - apply a workaround for a MAUI 10 bug that prevents the tabbar colours to set proper * hotfix: fix the crash on Android (#389) * improve culture filtering * Handle error better within `SetCultureInfo()` * fetcher - HandleHttpException | ignore ssl errors * fetcher - GetMainFeedUpdate | handle update * misc - fix issue that prevent the articles already loaded to appear * Fetcher - GetHeaders | improve error handling * fetcher - format * fetcher | Optimisation of header use * fix deal tabbar colour (#390) * chore(cleanup): love, death & deprecated methods (#391) * update deprecated transitions * cleanup unused references * stuff stuff * cleanup * fix: bug putting feed into an endless loop reload (#392) * FeedViewModel -| flag data as loaded after calling `RefreshFirstFeed` * Feed - page & vm | overrall cleanup * Notification - article | force a nav to news page to make sure to presenve the navigation stack (#394) * fixed Rewards request flow (#395) * pr-deploy.yml - upgrade to 26.3 * dev-deploy.yml - update to 26.3 * prod-deploy.yml | update xcode to 26.3 * fix: various crashes when offline (#397) * vm - News FetchExistingArticles | handle exceptions * vm - News FetchNewerArticles| prevent crash on launch * vm - News FetchExistingArticles | prevent cast error when trying to show offline message * ATS exceptions for the api (#398) * chore(gen): cleanup MAUI setup (#400) * switch Sentry dsn * ios - chore | compatibility stuff * minimum ios to 15 * chore(ci): Update Xcode version to 26.4 (#401) * Update Xcode version to 26.4 in dev-deploy.yml * Update XCODE_VERSION to 26.4 in workflow * Update XCODE_VERSION from 26.3 to 26.4 * Update macOS version for iOS publish job * Update macOS version for iOS publish job * chore(obs): update dsn to the new Sentry project (#402) * chore(ci): install Android SDK and NDK in CI workflow (#404) * chore(ci): install Android SDK and NDK in CI workflow * chore(ci): update MAUI workload installation to include Android * chore(ci): enhance Android SDK and NDK installation in CI workflow * chore(ci): update Android SDK installation to include NDK components * chore(dep): update SharpCompress (#405) * Enhancement: new colour scheme (#407) * Validate new colopur scheme * feed colour off a bit * update the logo * change the app icon * remove commented former colour scheme * chore (android): Google Play compliance - 16kb page (#408) * transition the sqlite package * tidy up * fix: ios menu UI glitches (#409) * disable liquid (gl)ass * iOS - deal page | fix navbar glitch * chore(ci) workflow bump `XCODE_VERSION` to `26.5` * Update image source and clean up README Updated the image source in the README and removed a commented-out section. * chore(ci): Update XCODE_VERSION to 26.5 in workflows (#411) * Update XCODE_VERSION to 26.5 in dev-deploy.yml * Update XCODE_VERSION to 26.5 in prod-deploy.yml * chore(dep) update SourceGear.sqlite3 * blabla * fix: ios loading indicator background (#412) * changed the `<PropertyGroup>` condition in the project file to change the iOS target framework from `net9.0-ios` to `net10.0-ios` for debug config * news feed - insure background loading indicator * android: change notificattion colour
1 parent 4775fb2 commit 6ee3252

19 files changed

Lines changed: 247 additions & 238 deletions

File tree

.github/workflows/dev-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
env:
88
BUILD_VERSION: '1.6'
99
DOTNET_VERSION: 10.0.100
10-
XCODE_VERSION: 26.4
10+
XCODE_VERSION: 26.5
1111
DOTNET_VERSION_TARGETS: net10.0
1212
CSPROJ_TO_BUILD: ./App/GamHubApp.csproj
1313
PROJECT_FOLDER: App

.github/workflows/pr-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
env:
99
BUILD_VERSION: '1.5'
1010
DOTNET_VERSION: 10.0.100
11-
XCODE_VERSION: 26.4
11+
XCODE_VERSION: 26.5
1212
DOTNET_VERSION_TARGETS: net10.0
1313
CSPROJ_TO_BUILD: ./App/GamHubApp.csproj
1414
PROJECT_FOLDER: App

.github/workflows/prod-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
env:
88
BUILD_VERSION: '1.6'
99
DOTNET_VERSION: 10.0.100
10-
XCODE_VERSION: 26.4
10+
XCODE_VERSION: 26.5
1111
DOTNET_VERSION_TARGETS: net10.0
1212
CSPROJ_TO_BUILD: ./App/GamHubApp.csproj
1313
PROJECT_FOLDER: App

App/AppShell.xaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
xmlns:control="clr-namespace:GamHubApp.Controls"
77
Shell.TabBarBackgroundColor="{DynamicResource LightDark}"
88
Shell.TabBarUnselectedColor="{DynamicResource UnselectedTabFont}"
9-
Shell.TabBarTitleColor="{DynamicResource Primary}"
9+
Shell.TabBarTitleColor="{DynamicResource PrimaryAccent}"
1010
Shell.BackgroundColor="{DynamicResource LightDark}"
1111
FlyoutBackgroundColor="{DynamicResource LightDark}"
12-
Shell.ForegroundColor="{DynamicResource Primary}"
12+
Shell.ForegroundColor="{DynamicResource PrimaryAccent}"
1313
FlyoutWidth="270"
1414
xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
1515
xmlns:viewmodels="clr-namespace:GamHubApp.ViewModels"
@@ -26,7 +26,7 @@
2626
<Setter Property="HorizontalTextAlignment" Value="Center" />
2727
<Setter Property="HorizontalOptions" Value="Center" />
2828
<Setter Property="FontSize" Value="23" />
29-
<Setter Property="TextColor" Value="{DynamicResource Primary}" />
29+
<Setter Property="TextColor" Value="{DynamicResource VeryLightDark}" />
3030
<Setter Property="Grid.Column" Value="0" />
3131
</Style>
3232
<Style TargetType="Label"
@@ -108,7 +108,7 @@
108108
Text="{Binding Icon}"
109109
FontFamily="FaSolid"
110110
FontSize="23"
111-
TextColor="{DynamicResource Primary}"/>
111+
TextColor="{DynamicResource PrimaryAccent}"/>
112112
<!-- Title -->
113113
<Label Grid.Column="1"
114114
Text="{Binding Title}"
@@ -164,7 +164,7 @@
164164
</Label>
165165
<Border StrokeShape="RoundRectangle 0,8,8,8"
166166
Grid.Column="1"
167-
BackgroundColor="{DynamicResource PrimaryAccent}">
167+
BackgroundColor="{DynamicResource Primary}">
168168
<Label Grid.Column="0"
169169
Margin="5"
170170
FontSize="20"
@@ -354,7 +354,7 @@
354354
/>
355355
</Grid>
356356

357-
<Label Text="© 2025 Brice Friha"
357+
<Label Text="© 2026 Brice Friha"
358358
FontSize="12"
359359
Grid.Row="3"
360360
Margin="0,10,0,0"

App/Controls/BookmarkButton.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222
<Setter Property="FontFamily"
2323
Value="FaSolid" />
2424
<Setter Property="TextColor"
25-
Value="{StaticResource Primary}" />
25+
Value="{StaticResource PrimaryAccent}" />
2626
</DataTrigger>
2727
<DataTrigger TargetType="Button"
2828
Binding="{Binding IsSaved, Source={x:Reference thy}}"
2929
Value="false">
3030
<Setter Property="FontFamily"
3131
Value="FaRegular" />
3232
<Setter Property="TextColor"
33-
Value="{StaticResource Light}" />
33+
Value="{StaticResource VeryLightDark}" />
3434
</DataTrigger>
3535
</Button.Triggers>
3636
</Button>

App/GamHubApp.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug_Localhost|net8.0-maccatalyst|AnyCPU'">
3737
<DefineConstants>$(DefineConstants);Debug</DefineConstants>
3838
</PropertyGroup>
39-
<PropertyGroup Condition="'$(TargetFramework)'=='net9.0-ios' And '$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
39+
<PropertyGroup Condition="'$(TargetFramework)'=='net10.0-ios' And '$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
4040
<ProvisioningType>manual</ProvisioningType>
4141
<CodesignKey>Apple Development: Created via API (58ZF82AXS3)</CodesignKey>
4242
<UseInterpreter>true</UseInterpreter>
@@ -121,7 +121,10 @@
121121
<PackageReference Include="Refractored.MvvmHelpers" Version="1.6.2" />
122122
<PackageReference Include="Sentry.Maui" Version="5.16.0" />
123123
<PackageReference Include="SharpCompress" Version="0.48.0" />
124-
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
124+
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
125+
126+
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.10" />
127+
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.10" />
125128
<PackageReference Include="SQLiteNetExtensions" Version="2.1.0" />
126129
<PackageReference Include="Microsoft.Maui.Controls" Version="9.0.0" />
127130
<PackageReference Include="Vapolia.StrokedLabel" Version="1.0.2" />

App/Platforms/Android/Resources/values/colors.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
<color name="colorPrimary">#191414</color>
44
<color name="colorPrimaryDark">#333333</color>
55
<color name="colorAccent">#FF5733</color>
6-
<color name="notification_color">#4AC776</color>
6+
<color name="notification_color">#FFB400</color>
77
</resources>

App/Platforms/iOS/Info.plist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
<string>en-IE</string>
4040
<key>ITSAppUsesNonExemptEncryption</key>
4141
<false/>
42+
<key>UIDesignRequiresCompatibility</key>
43+
<true/>
4244
<key>UIBackgroundModes</key>
4345
<array>
4446
<string>fetch</string>

App/Resources/AppIcon/appicon.png

-7.84 KB
Loading

App/Resources/Images/ares.png

-108 KB
Loading

0 commit comments

Comments
 (0)