summaryrefslogtreecommitdiff
path: root/elm3/VNEdit/Titles.elm
diff options
context:
space:
mode:
Diffstat (limited to 'elm3/VNEdit/Titles.elm')
-rw-r--r--elm3/VNEdit/Titles.elm103
1 files changed, 0 insertions, 103 deletions
diff --git a/elm3/VNEdit/Titles.elm b/elm3/VNEdit/Titles.elm
deleted file mode 100644
index 9dad830d..00000000
--- a/elm3/VNEdit/Titles.elm
+++ /dev/null
@@ -1,103 +0,0 @@
-module VNEdit.Titles exposing (..)
-
-import Html exposing (..)
-import Html.Attributes exposing (..)
-import Dict
-import Lib.Html exposing (..)
-import Lib.Gen exposing (..)
-import Lib.Util exposing (..)
-
-
-type alias Model =
- { title : String
- , original : String
- , alias : String
- , aliasList : List String
- , aliasDuplicates : Bool
- , aliasBad : List String
- , aliasRel : Dict.Dict String Bool
- }
-
-
-init : VNEdit -> Model
-init d =
- { title = d.title
- , original = d.original
- , alias = d.alias
- , aliasList = splitLn d.alias
- , aliasDuplicates = False
- , aliasBad = []
- , aliasRel = Dict.fromList <| List.map (\e -> (e,True)) <| List.map .title d.releases ++ List.map .original d.releases
- }
-
-
-new : Model
-new =
- { title = ""
- , original = ""
- , alias = ""
- , aliasList = []
- , aliasDuplicates = False
- , aliasBad = []
- , aliasRel = Dict.empty
- }
-
-
-type Msg
- = Title String
- | Original String
- | Alias String
-
-
-update : Msg -> Model -> Model
-update msg model =
- case msg of
- Title s -> { model | title = s }
- Original s -> { model | original = s }
- Alias s ->
- let
- lst = splitLn s
- check a = a == model.title || a == model.original || Dict.member a model.aliasRel
- in
- { model
- | alias = s
- , aliasList = lst
- , aliasDuplicates = hasDuplicates lst
- , aliasBad = List.filter check lst
- }
-
-
-view : Model -> List (Html Msg)
-view model =
- [ cardRow "Title" Nothing <| formGroups
- [ [ label [for "title"] [text "Title (romaji)"]
- , inputText "title" model.title Title [required True, maxlength 250]
- ]
- , [ label [for "original"] [text "Original"]
- , inputText "original" model.original Original [maxlength 250]
- , div [class "form-group__help"] [text "The original title of this visual novel, leave blank if it already is in the Latin alphabet."]
- ]
- ]
- , cardRow "Aliases" Nothing <| formGroup
- [ inputTextArea "aliases" model.alias Alias
- [ rows 4, maxlength 500
- , classList [("is-invalid", model.aliasDuplicates || not (List.isEmpty model.aliasBad))]
- ]
- , if model.aliasDuplicates
- then div [class "invalid-feedback"]
- [ text "There are duplicate aliases." ]
- else text ""
- , if List.isEmpty model.aliasBad
- then text ""
- else div [class "invalid-feedback"]
- [ text
- <| "The following aliases are already listed elsewhere and should be removed: "
- ++ String.join ", " model.aliasBad
- ]
- , div [class "form-group__help"]
- [ text "List of alternative titles or abbreviations. One line for each alias. Can include both official (japanese/english) titles and unofficial titles used around net."
- , br [] []
- , text "Titles that are listed in the releases should not be added here!"
- ]
- ]
- ]