when wrong channel is selected (via url) show error (#178)

This commit is contained in:
Rok Garbas 2020-09-03 21:03:17 +02:00 committed by GitHub
parent c12f4dfb6c
commit 2a441c95d9
Failed to generate hash of commit
2 changed files with 46 additions and 25 deletions

View file

@ -117,7 +117,11 @@ submitQuery :
submitQuery old ( new, cmd ) =
let
triggerSearch _ newModel msg makeRequest =
if newModel.query /= Nothing && newModel.query /= Just "" then
if
(newModel.query /= Nothing)
&& (newModel.query /= Just "")
&& List.member newModel.channel Search.channels
then
( new
, Cmd.batch
[ cmd

View file

@ -6,6 +6,7 @@ module Search exposing
, SearchResult
, Sort(..)
, channelDetailsFromId
, channels
, decodeResult
, fromSortId
, init
@ -463,31 +464,47 @@ view path title model viewSuccess outMsg =
[ form [ onSubmit (outMsg QueryInputSubmit) ]
[ p
[]
[ strong []
[ text "Channel: " ]
, div
[ class "btn-group"
, attribute "data-toggle" "buttons-radio"
]
(List.filterMap
(\channel_id ->
channelDetailsFromId channel_id
|> Maybe.map
(\channel ->
button
[ type_ "button"
, classList
[ ( "btn", True )
, ( "active", channel.id == model.channel )
]
, onClick <| outMsg (ChannelChange channel.id)
]
[ text channel.title ]
)
([]
|> List.append
(if List.member model.channel channels then
[]
else
[ p [ class "alert alert-error" ]
[ h4 [] [ text "Wrong channel selected!" ]
, text <| "Please select one of the channels above!"
]
]
)
channels
)
]
|> List.append
[ p []
[ strong []
[ text "Channel: " ]
, div
[ class "btn-group"
, attribute "data-toggle" "buttons-radio"
]
(List.filterMap
(\channel_id ->
channelDetailsFromId channel_id
|> Maybe.map
(\channel ->
button
[ type_ "button"
, classList
[ ( "btn", True )
, ( "active", channel.id == model.channel )
]
, onClick <| outMsg (ChannelChange channel.id)
]
[ text channel.title ]
)
)
channels
)
]
]
)
, p
[ class "input-append"
]