From c35a55babd9aa6e1ad8797f3d54deec2f78ff78a Mon Sep 17 00:00:00 2001 From: Vika Date: Wed, 28 Sep 2022 23:13:02 +0300 Subject: Switch to TypeScript This neccesitates installing TypeScript to build Kittybox, but thankfully Nix actually takes care of that. Build Kittybox with Nix and you won't have problems. Also now I can safely do stuff. --- kittybox-rs/src/frontend/onboarding.js | 87 ---------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 kittybox-rs/src/frontend/onboarding.js (limited to 'kittybox-rs/src/frontend/onboarding.js') diff --git a/kittybox-rs/src/frontend/onboarding.js b/kittybox-rs/src/frontend/onboarding.js deleted file mode 100644 index c5a1481..0000000 --- a/kittybox-rs/src/frontend/onboarding.js +++ /dev/null @@ -1,87 +0,0 @@ -const firstOnboardingCard = "intro"; - -function switchOnboardingCard(card) { - Array.from(document.querySelectorAll("form.onboarding > fieldset")).map(node => { - if (node.id == card) { - node.style.display = "block"; - } else { - node.style.display = "none"; - } - }); - - Array.from(document.querySelectorAll("form.onboarding > ul#progressbar > li")).map(node => { - if (node.id == card) { - node.classList.add("active") - } else { - node.classList.remove("active") - } - }) -}; - -window.kittybox_onboarding = { - switchOnboardingCard -}; - -document.querySelector("form.onboarding > ul#progressbar").style.display = ""; -switchOnboardingCard(firstOnboardingCard); - -function switchCardOnClick(event) { - switchOnboardingCard(event.target.dataset.card) -} - -function multiInputAddMore(event) { - let parent = event.target.parentElement; - let template = event.target.parentElement.querySelector("template").content.cloneNode(true); - parent.prepend(template); -} - -Array.from(document.querySelectorAll("form.onboarding > fieldset button.switch_card")).map(button => { - button.addEventListener("click", switchCardOnClick) -}) - -Array.from(document.querySelectorAll("form.onboarding > fieldset div.multi_input > button.add_more")).map(button => { - button.addEventListener("click", multiInputAddMore) - multiInputAddMore({ target: button }); -}) - -const form = document.querySelector("form.onboarding"); -console.log(form); -form.onsubmit = async (event) => { - console.log(event); - event.preventDefault(); - const form = event.target; - const json = { - user: { - type: ["h-card"], - properties: { - name: [form.querySelector("#hcard_name").value], - pronoun: Array.from(form.querySelectorAll("#hcard_pronouns")).map(input => input.value).filter(i => i != ""), - url: Array.from(form.querySelectorAll("#hcard_url")).map(input => input.value).filter(i => i != ""), - note: [form.querySelector("#hcard_note").value] - } - }, - first_post: { - type: ["h-entry"], - properties: { - content: [form.querySelector("#first_post_content").value] - } - }, - blog_name: form.querySelector("#blog_name").value, - feeds: Array.from(form.querySelectorAll(".multi_input#custom_feeds > fieldset.feed")).map(form => { - return { - name: form.querySelector("#feed_name").value, - slug: form.querySelector("#feed_slug").value - } - }).filter(feed => feed.name == "" || feed.slug == "") - }; - - await fetch("/.kittybox/onboarding", { - method: "POST", - body: JSON.stringify(json), - headers: { "Content-Type": "application/json" } - }).then(response => { - if (response.status == 201) { - window.location.href = window.location.href; - } - }) -} -- cgit 1.4.1