fix(WP-0017/E5): Layer 3 error fixes — round 3 (24 files)

Int16→Int in score/stars functions; uuid-based readMay→UUID.fromText;
autoRefresh do-notation fix; id→\x->x ambiguity in HubRoutingRules;
MarketplaceDashboard replaced raw SQL with IHP query builder; optional
hub selector in TypeRegistry views via CanSelect (Text, Maybe Id) instance
added to Web.View.Prelude; import consolidations to Web.View.Prelude.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-12 13:11:32 +00:00
parent 3737845e02
commit 2c22766cd6
24 changed files with 81 additions and 110 deletions

View File

@@ -1,9 +1,6 @@
module Web.View.TypeRegistries.AnnotationCategories where
import Web.Types
import Generated.Types
import IHP.Prelude
import IHP.ViewPrelude
import Web.View.Prelude
import Web.Routes ()
data AnnotationCategoriesView = AnnotationCategoriesView { entries :: ![AnnotationCategoryRegistry], hubs :: ![Hub] }
@@ -126,7 +123,7 @@ typeForm entry hubs isNew = [hsx|
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Owner Hub <span class="text-gray-400 text-xs">(blank = framework-level)</span></label>
{selectField #ownerHubId hubs}
{selectField #ownerHubId (("" :: Text, Nothing) : map (\h -> (h.name, Just h.id)) hubs)}
</div>
</div>
<div class="mt-6">

View File

@@ -1,9 +1,6 @@
module Web.View.TypeRegistries.EventTypes where
import Web.Types
import Generated.Types
import IHP.Prelude
import IHP.ViewPrelude
import Web.View.Prelude
import Web.Routes ()
data EventTypesView = EventTypesView { entries :: ![EventTypeRegistry], hubs :: ![Hub] }
@@ -126,7 +123,7 @@ typeForm entry hubs isNew = [hsx|
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Owner Hub <span class="text-gray-400 text-xs">(blank = framework-level)</span></label>
{selectField #ownerHubId hubs}
{selectField #ownerHubId (("" :: Text, Nothing) : map (\h -> (h.name, Just h.id)) hubs)}
</div>
</div>
<div class="mt-6">

View File

@@ -1,9 +1,6 @@
module Web.View.TypeRegistries.PolicyScopes where
import Web.Types
import Generated.Types
import IHP.Prelude
import IHP.ViewPrelude
import Web.View.Prelude
import Web.Routes ()
data PolicyScopesView = PolicyScopesView { entries :: ![PolicyScopeRegistry], hubs :: ![Hub] }
@@ -126,7 +123,7 @@ typeForm entry hubs isNew = [hsx|
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Owner Hub <span class="text-gray-400 text-xs">(blank = framework-level)</span></label>
{selectField #ownerHubId hubs}
{selectField #ownerHubId (("" :: Text, Nothing) : map (\h -> (h.name, Just h.id)) hubs)}
</div>
</div>
<div class="mt-6">

View File

@@ -1,9 +1,6 @@
module Web.View.TypeRegistries.WidgetTypes where
import Web.Types
import Generated.Types
import IHP.Prelude
import IHP.ViewPrelude
import Web.View.Prelude
import Web.Routes ()
data WidgetTypesView = WidgetTypesView { entries :: ![WidgetTypeRegistry], hubs :: ![Hub] }
@@ -127,7 +124,7 @@ typeForm entry hubs isNew = [hsx|
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Owner Hub <span class="text-gray-400 text-xs">(leave blank for framework-level)</span></label>
{selectField #ownerHubId hubs}
{selectField #ownerHubId (("" :: Text, Nothing) : map (\h -> (h.name, Just h.id)) hubs)}
</div>
</div>
<div class="mt-6">