Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
129c440
Migrate Grand.Web storefront from Vue 2/BootstrapVue/Bootstrap 4 to V…
KrzysztofPajak Jul 29, 2026
6a9f311
Fix Vue3 select-validation race, category toolbar layout, and checkou…
KrzysztofPajak Jul 29, 2026
4b7b17b
Fix dark mode theming gaps and BS4->BS5 selector regressions
KrzysztofPajak Jul 29, 2026
bc5b81b
Fix mobile header layout, blog stacking, and empty mobile filters panel
KrzysztofPajak Jul 29, 2026
a3a8076
Migrate Theme.Modern to Vue 3/Bootstrap 5 and fix cart/sidebar reacti…
KrzysztofPajak Jul 29, 2026
e883ad9
Update nuget
KrzysztofPajak Jul 29, 2026
bf4320c
Fix mobile footer overlap and stray empty Filters button in Theme.Modern
KrzysztofPajak Jul 29, 2026
50a4915
Hide the mobile currency/language selector strip instead of un-fixing it
KrzysztofPajak Jul 29, 2026
4c19508
Stack footer columns full-width on mobile so their content is centered
KrzysztofPajak Jul 29, 2026
da4246c
Remove max-width/max-height constraints on the navbar logo image
KrzysztofPajak Jul 29, 2026
43f92c9
Nuget
KrzysztofPajak Jul 30, 2026
2b851f4
Further changes
KrzysztofPajak Jul 30, 2026
1ed4c3e
commit
KrzysztofPajak Jul 31, 2026
c978d19
Guard the cart drawer body on the drawer model, not just the item count
KrzysztofPajak Jul 31, 2026
ee6c406
Dispatch cart actions from data attributes instead of inline onclick
KrzysztofPajak Jul 31, 2026
97e8285
Build catalog action URLs in the handler instead of in the views
KrzysztofPajak Jul 31, 2026
64387bd
Drop the ShowQty branches that no longer choose anything
KrzysztofPajak Jul 31, 2026
d7dcf86
Render server-side star ratings through one overridable partial
KrzysztofPajak Jul 31, 2026
4f21898
Replace the vue-cli build with Vite and generate the theme stylesheets
KrzysztofPajak Jul 31, 2026
ca9dd32
Resolve the colour scheme in <head>, follow the OS, and give Modern d…
KrzysztofPajak Jul 31, 2026
676618a
Drive Theme.Modern's colours from Bootstrap variables instead of fixe…
KrzysztofPajak Jul 31, 2026
0d5d1a8
Make form fields readable in dark mode
KrzysztofPajak Jul 31, 2026
b51c723
Keep the Checkout heading on screen when a step opens
KrzysztofPajak Jul 31, 2026
b0b25b6
Delete the unreferenced minified theme scripts
KrzysztofPajak Jul 31, 2026
bb1007b
Give LinkTagHelper the version stamping it was already being asked for
KrzysztofPajak Jul 31, 2026
40cc74a
Make order status badges legible
KrzysztofPajak Jul 31, 2026
d153537
Let day reservations be booked outside UTC
KrzysztofPajak Aug 1, 2026
4490ec3
Give the auction countdown its layout and units back
KrzysztofPajak Aug 1, 2026
c24ae7a
commit
KrzysztofPajak Aug 1, 2026
f536eb1
commit
KrzysztofPajak Aug 2, 2026
ebcaa32
commit
KrzysztofPajak Aug 2, 2026
78bd8cb
Render the first page of catalog listings on the server
KrzysztofPajak Aug 2, 2026
366b385
Compress responses and stop the script bundle blocking the parser
KrzysztofPajak Aug 2, 2026
ffecf65
Defer public.checkout.js too, so the checkout page renders again
KrzysztofPajak Aug 2, 2026
65ec94d
Update readme
KrzysztofPajak Aug 2, 2026
f4f0ce9
Fix tests
KrzysztofPajak Aug 2, 2026
41f7d02
Stop hiding the storefront behind the loader, and add landmarks
KrzysztofPajak Aug 2, 2026
345549b
Merge develop into feature/vue3-bootstrap5-migration
Copilot Aug 2, 2026
bb00724
Merge branch 'feature/vue3-bootstrap5-migration' of https://github.co…
KrzysztofPajak Aug 2, 2026
2fb402f
Update azure pipeline
KrzysztofPajak Aug 2, 2026
07ad308
Add JSON-LD structured data for products and site
KrzysztofPajak Aug 2, 2026
d2dfefb
Update azure pipeline
KrzysztofPajak Aug 2, 2026
6720291
Update azure-pipeline
KrzysztofPajak Aug 2, 2026
e784636
Update azure-pipeline
KrzysztofPajak Aug 2, 2026
67a8385
Update
KrzysztofPajak Aug 2, 2026
e070971
Update readme
KrzysztofPajak Aug 2, 2026
afdf664
Update azurfe pipeline
KrzysztofPajak Aug 3, 2026
64fd5ca
Keep Vue out of database-authored content with v-pre
KrzysztofPajak Aug 4, 2026
6bdf733
Replace the single Vue root with per-region islands
KrzysztofPajak Aug 5, 2026
5b140dc
Subdivide <main> so a broken block stops at that block
KrzysztofPajak Aug 5, 2026
38808d6
Restore the catalog filters: island the two-column sidebar
KrzysztofPajak Aug 5, 2026
62efc68
Reconnect the quick view's shown hook to the shell
KrzysztofPajak Aug 5, 2026
18f402f
Stop stretching checkboxes with form-control
KrzysztofPajak Aug 5, 2026
f2ba3ef
Drop the dead branches of the Vue 2 compat facade
KrzysztofPajak Aug 5, 2026
9eb7023
Split the compat facade: islands are architecture, not legacy
KrzysztofPajak Aug 5, 2026
87a7302
Let an island name the view-models it renders against
KrzysztofPajak Aug 5, 2026
8f79cb8
Declare the search, reviews, ask-question and wishlist view-models
KrzysztofPajak Aug 5, 2026
cc19042
Declare specificationAttributes, and fix a gap the first scan missed
KrzysztofPajak Aug 5, 2026
ea44889
Declare the merchandise-return view-model
KrzysztofPajak Aug 5, 2026
13ceb5c
Give voice navigation an island - it was rendering nothing
KrzysztofPajak Aug 5, 2026
287db8e
Give the vendor rating summary an island - it was rendering nothing
KrzysztofPajak Aug 5, 2026
65197e2
Declare the catalog view-model on Grand.Web's listings
KrzysztofPajak Aug 5, 2026
c0f433a
Declare the catalog view-model on Theme.Modern's listings
KrzysztofPajak Aug 5, 2026
7276256
Fix reservation date picking inside quick view
KrzysztofPajak Aug 5, 2026
630e378
Declare the vmorder view-model on cart and checkout
KrzysztofPajak Aug 5, 2026
4d7b65b
Open the popups displayPopup renders - they had been invisible
KrzysztofPajak Aug 5, 2026
8647420
Give four Grand.Web pages the island they never got
KrzysztofPajak Aug 5, 2026
7c8a388
Declare the remaining view-models on their islands
KrzysztofPajak Aug 5, 2026
2410de8
Stop validating the email field when it cannot be edited
KrzysztofPajak Aug 5, 2026
8877e12
Stop the email rule rejecting top-level domains over four letters
KrzysztofPajak Aug 5, 2026
4be1b8f
Declare vendorreviews on the two islands that were still missing it
KrzysztofPajak Aug 5, 2026
4fe6cfa
Take Grand.Web off the window fall-through, and make the rest report …
KrzysztofPajak Aug 5, 2026
f4561d9
Declare Theme.Modern's view-models, working from the fall-through war…
KrzysztofPajak Aug 5, 2026
29b13b1
Delete the window fall-through
KrzysztofPajak Aug 5, 2026
6d782ab
Fix two traps in the validation shim
KrzysztofPajak Aug 5, 2026
eefccce
Put the window fall-through back, and fix what removing it broke
KrzysztofPajak Aug 5, 2026
2e4219a
Stop islanding the address form - it silenced the whole observer
KrzysztofPajak Aug 5, 2026
9840dc4
Open the review tab before its modal, or the page just greys out
KrzysztofPajak Aug 5, 2026
b5fa89c
Give the customer reviews page an island - 39 ratings rendered nothing
KrzysztofPajak Aug 5, 2026
380c49b
Give Modern's reviews page the same island - my first check was too s…
KrzysztofPajak Aug 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
*.verified.txt text eol=lf working-tree-encoding=UTF-8

###############################################################################
# Set default behavior for command prompt diff.
Expand Down
2 changes: 1 addition & 1 deletion .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
sonar.coverage.exclusions="**" `
sonar.cpd.exclusions="**"
sonar.language=cs
sonar.exclusions=**/*.js,**/*.css,**/*.html,**/*.ts
sonar.exclusions=**/*.js,**/*.css,**/*.chtml,**/*.ts
87 changes: 44 additions & 43 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,47 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.5.0" />
<PackageVersion Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.6.0" />
<PackageVersion Include="ExcelMapper" Version="6.0.641" />
<PackageVersion Include="MessagePack" Version="2.5.302" />
<PackageVersion Include="MessagePack" Version="3.1.8" />
<PackageVersion Include="Microsoft.AspNetCore.Http" Version="2.3.11" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.9" />
<PackageVersion Include="Microsoft.FeatureManagement.AspNetCore" Version="4.5.0" />
<PackageVersion Include="Scalar.AspNetCore" Version="2.16.3" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.10" />
<PackageVersion Include="Microsoft.FeatureManagement.AspNetCore" Version="4.6.0" />
<PackageVersion Include="Microsoft.OpenApi" Version="2.11.0" />
<PackageVersion Include="Scalar.AspNetCore" Version="2.16.16" />
<PackageVersion Include="Scryber.Core" Version="9.5.0" />
<PackageVersion Include="Scryber.Core.OpenType" Version="9.2.0" />
<PackageVersion Include="MailKit" Version="4.17.0" />
<PackageVersion Include="AWSSDK.Core" Version="4.0.9.2" />
<PackageVersion Include="AWSSDK.S3" Version="4.0.24.4" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.29.0" />
<PackageVersion Include="AWSSDK.Core" Version="4.0.100.9" />
<PackageVersion Include="AWSSDK.S3" Version="4.0.101.5" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.29.1" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.12" />
<PackageVersion Include="SkiaSharp" Version="3.119.4" />
<PackageVersion Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="3.119.4" />
<PackageVersion Include="SkiaSharp" Version="4.150.1" />
<PackageVersion Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="4.150.1" />
<PackageVersion Include="LiteDB" Version="5.0.21" />
<PackageVersion Include="MongoDB.Bson" Version="3.9.0" />
<PackageVersion Include="MongoDB.Driver" Version="3.9.0" />
<PackageVersion Include="MongoDB.Bson" Version="3.10.0" />
<PackageVersion Include="MongoDB.Driver" Version="3.10.0" />
<PackageVersion Include="DotLiquid" Version="2.3.197" />
<PackageVersion Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
<PackageVersion Include="GoogleAuthenticator" Version="3.2.0" />
<PackageVersion Include="Microsoft.Azure.AppConfiguration.AspNetCore" Version="8.5.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.9" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.9" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.9" />
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="10.0.9" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="5.3.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="10.0.10" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.6.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="5.6.0" />
<PackageVersion Include="MediatR" Version="12.5.0" />
<PackageVersion Include="Scrutor" Version="7.0.0" />
<PackageVersion Include="StackExchange.Redis" Version="2.13.17" />
<PackageVersion Include="StackExchange.Redis" Version="3.0.17" />
<PackageVersion Include="FluentValidation" Version="12.1.1" />
<PackageVersion Include="Microsoft.AspNetCore.JsonPatch.SystemTextJson" Version="10.0.9" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Facebook" Version="10.0.9" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Google" Version="10.0.9" />
<PackageVersion Include="Microsoft.AspNetCore.JsonPatch.SystemTextJson" Version="10.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Facebook" Version="10.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Google" Version="10.0.10" />
<PackageVersion Include="Braintree" Version="5.39.0" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="10.0.9" />
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.7.2" />
<PackageVersion Include="System.Security.Cryptography.Xml" Version="10.0.9" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="10.0.10" />
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.7.3" />
<PackageVersion Include="System.Security.Cryptography.Xml" Version="10.0.10" />
<PackageVersion Include="System.Xml.XPath.XmlDocument" Version="4.7.0" />
<PackageVersion Include="Stripe.net" Version="51.1.0" />
<PackageVersion Include="elFinder.Net.AspNetCore" Version="1.5.0" />
Expand All @@ -52,32 +53,32 @@
<PackageVersion Include="Azure.Extensions.AspNetCore.DataProtection.Keys" Version="1.6.3" />
<PackageVersion Include="Azure.Identity" Version="1.21.0" />
<PackageVersion Include="Flurl.Http" Version="4.0.2" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.9" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="10.0.10" />
<PackageVersion Include="NetEscapades.AspNetCore.SecurityHeaders" Version="1.3.1" />
<PackageVersion Include="Wangkanai.Detection" Version="8.20.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="10.0.9" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.6.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="10.0.10" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="MSTest.TestAdapter" Version="4.2.3" />
<PackageVersion Include="MSTest.TestFramework" Version="4.2.3" />
<PackageVersion Include="MSTest.TestAdapter" Version="4.3.3" />
<PackageVersion Include="MSTest.TestFramework" Version="4.3.3" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="NUnit" Version="4.6.1" />
<PackageVersion Include="Verify.MSTest" Version="31.19.1" />
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.4.3" />
<PackageVersion Include="Aspire.Hosting.MongoDB" Version="13.4.3" />
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.4.3" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.7.0" />
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.7.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.16.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.16.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.2" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.15.1" />
<PackageVersion Include="Verify.MSTest" Version="31.27.0" />
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.4.6" />
<PackageVersion Include="Aspire.Hosting.MongoDB" Version="13.4.6" />
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.4.6" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.8.0" />
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.8.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.17.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.17.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.17.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.17.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.17.0" />
<PackageVersion Include="Aspire.Dashboard.Sdk.$(NETCoreSdkRuntimeIdentifier)" Version="9.0.0" />
<PackageVersion Include="Aspire.Hosting.Orchestration.$(NETCoreSdkRuntimeIdentifier)" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<PackageVersion Update="Aspire.Dashboard.Sdk.win-x64" Version="13.4.3" />
<PackageVersion Update="Aspire.Hosting.Orchestration.win-x64" Version="13.4.3" />
<PackageVersion Update="Aspire.Dashboard.Sdk.win-x64" Version="13.4.6" />
<PackageVersion Update="Aspire.Hosting.Orchestration.win-x64" Version="13.4.6" />
</ItemGroup>
</Project>
Loading
Loading