Skip to content

Commit

Permalink
feat: update default trims when updating product category
Browse files Browse the repository at this point in the history
  • Loading branch information
n1k0 committed Jan 27, 2025
1 parent 9fdcfeb commit 0276e60
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
17 changes: 13 additions & 4 deletions src/Data/Textile/Query.elm
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,8 @@ handleUpcycling query =
query


isAdvancedQuery : Query -> Bool
isAdvancedQuery query =
isAdvancedQuery : List Product -> Query -> Bool
isAdvancedQuery products query =
List.any identity
[ query.dyeingMedium /= Nothing
, query.fabricProcess /= Nothing
Expand All @@ -277,15 +277,19 @@ isAdvancedQuery query =
, query.materials |> List.any (.spinning >> (/=) Nothing)
, query.physicalDurability /= Nothing
, query.surfaceMass /= Nothing
, products
|> Product.findById query.product
|> Result.map (.trims >> (/=) query.trims)
|> Result.withDefault False
, not query.upcycled && List.length query.disabledSteps > 0
, query.yarnSize /= Nothing
]


{-| Resets a query to use only regulatory-level fields.
-}
regulatory : Query -> Query
regulatory query =
regulatory : List Product -> Query -> Query
regulatory products query =
{ query
| disabledSteps = []
, dyeingMedium = Nothing
Expand All @@ -296,6 +300,11 @@ regulatory query =
, materials = query.materials |> List.map (\m -> { m | spinning = Nothing })
, physicalDurability = Nothing
, surfaceMass = Nothing
, trims =
products
|> Product.findById query.product
|> Result.map .trims
|> Result.withDefault []
, yarnSize = Nothing
}

Expand Down
8 changes: 4 additions & 4 deletions src/Page/Textile.elm
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ init trigram maybeUrlQuery session =
, impact = Definition.get trigram session.db.definitions
, modal = NoModal
, activeTab =
if Query.isAdvancedQuery initialQuery then
if Query.isAdvancedQuery session.db.textile.products initialQuery then
ExploratoryTab

else
Expand Down Expand Up @@ -238,7 +238,7 @@ initFromExample session uuid =
, impact = Definition.get Definition.Ecs session.db.definitions
, modal = NoModal
, activeTab =
if Query.isAdvancedQuery exampleQuery then
if Query.isAdvancedQuery session.db.textile.products exampleQuery then
ExploratoryTab

else
Expand Down Expand Up @@ -310,7 +310,7 @@ update ({ queries, navKey } as session) msg model =

( ConfirmSwitchToRegulatory, _ ) ->
( { model | modal = NoModal, activeTab = RegulatoryTab }, session, Cmd.none )
|> updateQuery (Query.regulatory query)
|> updateQuery (Query.regulatory session.db.textile.products query)

( CopyToClipBoard shareableLink, _ ) ->
( model, session, Ports.copyToClipboard shareableLink )
Expand Down Expand Up @@ -539,7 +539,7 @@ update ({ queries, navKey } as session) msg model =
)

( SwitchTab RegulatoryTab, _ ) ->
if Query.isAdvancedQuery query then
if Query.isAdvancedQuery session.db.textile.products query then
( { model | modal = ConfirmSwitchToRegulatoryModal }, session, Cmd.none )

else
Expand Down

0 comments on commit 0276e60

Please sign in to comment.