Compare commits

..

4 Commits

Author SHA1 Message Date
Max Bradbury cbe3a33311 error/success handling (user feedback) 2020-08-23 16:36:27 +01:00
Max Bradbury 3903e4e6be no favicon (avoid 404) 2020-08-23 12:36:46 +01:00
Max Bradbury 0e0c4a4a73 tidy up build script 2020-08-23 12:36:00 +01:00
Max Bradbury eff32a6540 package info and version bump 2020-08-23 12:19:44 +01:00
6 changed files with 37 additions and 6 deletions

View File

@ -1,8 +1,11 @@
[package] [package]
name = "bitsy-merge" name = "mixsy"
version = "0.71.0" description = "combine Bitsy games"
version = "0.72.0"
authors = ["Max Bradbury <max@tinybird.info>"] authors = ["Max Bradbury <max@tinybird.info>"]
edition = "2018" edition = "2018"
license = "MIT"
repository = "https://tinybird.dev/max/mixsy"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,5 +1,6 @@
#!/bin/sh #!/usr/bin/env bash
cargo build
pug index.pug pug index.pug
set -ex set -ex
wasm-pack build --target web wasm-pack build --target web

View File

@ -8,12 +8,24 @@ async function run() {
const output = document.getElementById('c'); const output = document.getElementById('c');
const merge_button = document.getElementById('merge'); const merge_button = document.getElementById('merge');
function handleResult(inputElement, message) {
console.log(message);
let messageBox = inputElement.nextSibling;
messageBox.innerText = message;
messageBox.style.display = "block"
setTimeout(() => {messageBox.style.display = "none"}, 4000);
}
main.addEventListener('change', () => { main.addEventListener('change', () => {
console.debug(load_main(main.value)); if (main.value) {
handleResult(main, load_main(main.value));
}
}); });
additional.addEventListener('change', () => { additional.addEventListener('change', () => {
console.debug(load_additional(additional.value)); if (additional.value) {
handleResult(additional, load_additional(additional.value));
}
}); });
function mix() { function mix() {

View File

@ -3,6 +3,8 @@ html(lang="en-gb")
head head
meta(content="text/html;charset=utf-8" http-equiv="Content-Type") meta(content="text/html;charset=utf-8" http-equiv="Content-Type")
title mixsy title mixsy
//- no favicon!! taken from: https://k1ss.org/blog/20191004a
<link href=data:, rel=icon>
style style
include style.css include style.css
body body
@ -13,9 +15,11 @@ html(lang="en-gb")
#main.square.left #main.square.left
h2 main h2 main
textarea#a(placeholder="Paste your main game data here...") textarea#a(placeholder="Paste your main game data here...")
p.result
#additional.square.left #additional.square.left
h2 additional h2 additional
textarea#b(placeholder="Paste additional game data here...") textarea#b(placeholder="Paste additional game data here...")
p.result
.row.middle .row.middle
img.centre(src="merge.png" alt="") img.centre(src="merge.png" alt="")
button#merge.centre mix! button#merge.centre mix!

View File

@ -41,6 +41,11 @@ pub fn load_additional(game_data: String) -> String {
#[wasm_bindgen] #[wasm_bindgen]
pub fn merge() -> String { pub fn merge() -> String {
let state = STATE.lock().unwrap(); let state = STATE.lock().unwrap();
if state.main.is_none() || state.additional.is_none() {
return "".to_string();
}
let mut main = state.main.clone().unwrap(); let mut main = state.main.clone().unwrap();
let additional = state.additional.clone().unwrap(); let additional = state.additional.clone().unwrap();
main.merge(additional); main.merge(additional);

View File

@ -72,6 +72,12 @@ textarea {
float: left; float: left;
} }
.result {
position: relative;
background: var(--bg);
color: var(--inverse);
}
.row { .row {
width: 100%; width: 100%;
height: calc(82vmin / 3); height: calc(82vmin / 3);
@ -81,4 +87,4 @@ textarea {
width: 50vmin; width: 50vmin;
height: 100%; height: 100%;
padding: 0.5em; padding: 0.5em;
} }