From e1dcf5c40b6aad54b34f80456d6dec8ec8bc38d0 Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Tue, 25 Jul 2023 23:01:03 +0200 Subject: [PATCH] Prevent new domain request until new subdomain is correct. --- src/App/DomainListInterface.purs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/App/DomainListInterface.purs b/src/App/DomainListInterface.purs index 745e873..92dbe21 100644 --- a/src/App/DomainListInterface.purs +++ b/src/App/DomainListInterface.purs @@ -262,11 +262,13 @@ handleAction = case _ of HandleNewDomainInput adduserinp -> do case adduserinp of - INP_newdomain v -> do + INP_newdomain v -> do H.modify_ _ { newDomainForm { new_domain = v } } - case runParser v DomainParser.domain of - Left error_string -> H.modify_ _ { newDomainForm { error_string = Just $ show error_string } } - Right _ -> H.modify_ _ { newDomainForm { error_string = Nothing } } + case v of + "" -> H.modify_ _ { newDomainForm { error_string = Nothing } } + otherwise -> case runParser v DomainParser.domain of + Left error_string -> H.modify_ _ { newDomainForm { error_string = Just $ show error_string } } + Right _ -> H.modify_ _ { newDomainForm { error_string = Nothing } } UpdateSelectedDomain domain -> H.modify_ _ { newDomainForm { selected_domain = domain } } EnterDomain domain -> do @@ -287,10 +289,12 @@ handleAction = case _ of { newDomainForm } <- H.get let new_domain = build_new_domain newDomainForm.new_domain newDomainForm.selected_domain - case new_domain of - "" -> + case newDomainForm.error_string, new_domain of + Just error_string, _ -> + H.raise $ Log $ UnableToSend $ "You didn't enter a valid new domain: " <> error_string + _, "" -> H.raise $ Log $ UnableToSend "You didn't enter the new domain!" - _ -> do + Nothing, _ -> do message <- H.liftEffect $ DNSManager.serialize $ DNSManager.MkNewDomain { domain: new_domain }