first try for frontend build

master
jem 3 years ago
parent a900551a58
commit 43d90ea8eb

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<title>c4k-mastodon-bot</title>
<title>c4k-keycloak</title>
<link href="https://domaindrivenarchitecture.org/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="https://domaindrivenarchitecture.org/css/fonts/fontawesome/fontawesome.css" rel="stylesheet" type="text/css" />
<link href="https://domaindrivenarchitecture.org/css/custom.css" rel="stylesheet" type="text/css" />
@ -12,64 +12,28 @@
<body>
<div class="container jumbotron">
<form class="needs-validation" id="form">
<label for="config" class="form-label">Your config.edn:</label>
<textarea name="config" id="config" class="form-control" rows="15">
{:transform [{:source {:source-type :twitter
;; optional, defaults to false
:include-replies? false
;; optional, defaults to false
:include-rts? false
;; Replace Twitter links by Nitter
:nitter-urls? false
;; accounts you wish to mirror
:accounts ["arstechnica" "WIRED"]}
:target {:target-type :mastodon
;; optional flag specifying wether the name of the account
;; will be appended in the post, defaults to false
:append-screen-name? false
;; optional visibility flag: direct, private, unlisted, public
;; defaults to public
:visibility "unlisted"
;; optional boolean to mark content as sensitive. Defaults to true.
:sensitive? true
;; optional boolean defaults to false
;; only sources containing media will be posted when set to true
:media-only? true
;; optional limit for the post length. Defaults to 300.
:max-post-length 300
;; optional signature for posts. Defaults to "not present".
:signature "#newsbot"}
}]
:auth {}}}
</textarea>
<div class="invalid-feedback"><pre id="config-validation"></pre></div>
<br><br>
<label for="config" class="form-label">Your fqdn:</label>
<textarea name="fqdn" id="fqdn" class="form-control" rows="1">
your.domain.com
</textarea>
<div class="invalid-feedback"><pre id="config-validation"></pre></div>
<br><br>
<label for="auth" class="form-label">Your auth.edn:</label>
<textarea name="auth" id="auth" class="form-control" rows="15">
{:auth {;; add Twitter config to mirror Twitter accounts
:twitter {:consumer_key "XXXX"
:consumer_secret "XXXX"
:access_token_key "XXXX"
:access_token_secret "XXXX"}
:mastodon {:access_token "XXXX"
;; account number you see when you log in and go to your profile
;; e.g: https://mastodon.social/web/accounts/294795
:account-id "XXXX"
:api_url "https://botsin.space/api/v1/"}
:tumblr {:consumer_key "XXXX"
:consumer_secret "XXXX"
:token "XXXX"
:token_secret "XXXX"}}}
<textarea name="auth" id="auth" class="form-control" rows="5">
{:keycloak-admin-user "testuser"
:keycloak-admin-password "testpassword"
:postgres-db-user "keycloakuser"
:postgres-db-password "testdbpassword"}
</textarea>
<div class="invalid-feedback"><pre id="auth-validation"></pre></div>
<br><br>
<button type="button" id="generate-button" class="btn btn-primary">
Generate c4k yaml
</button></form><br><br>
<div id="c4k-mastodon-bot-output">
<div id="c4k-keycloak-output">
<label for="output" class="form-label">Your c4k deployment.yaml:</label>
<textarea name="output" id="output" class="form-control" rows="15">
<textarea name="output" id="output" class="form-control" rows="25">
</textarea>
</div>

@ -9,9 +9,9 @@
(print "debug " sth)
sth)
(defn config []
(defn fqdn []
(-> js/document
(.getElementById "config")))
(.getElementById "fqdn")))
(defn auth []
(-> js/document
@ -22,8 +22,9 @@
(.getElementById "form")))
(defn config-from-document []
(-> (config)
(.-value)))
{:fqdn
(-> (fqdn)
(.-value))})
(defn auth-from-document []
(-> (auth)
@ -42,7 +43,7 @@
(.getElementById "config-validation")
(.-innerHTML)
(set! validation-result))
(-> (config)
(-> (fqdn)
(.setCustomValidity validation-result))
validation-result)
@ -87,7 +88,7 @@
(set-validated!)
(-> (core/generate (config-from-document) (auth-from-document))
(set-output!)))))
(-> (config)
(-> (fqdn)
(.addEventListener "blur"
#(do (validate-config!)
(validate-auth!)

Loading…
Cancel
Save