diff --git a/client/components/CookbookForm.js b/client/components/CookbookForm.js index 4d939fc..6ed804a 100644 --- a/client/components/CookbookForm.js +++ b/client/components/CookbookForm.js @@ -1,17 +1,17 @@ export default { name: "CookbookForm", setup() { - const { ref } = Vue; + const { ref, computed } = Vue; - const title = ref("SI18.5 - Diffractive Cookbook"); - const description = ref("Compiling and sharing methods for diffractive reading."); - const nature = ref("Methods"); - const logs = ref([ - "Do the assignment proposed by Femke", - "While doing the assignment, make sure to track your method with the help of the following form", - "This method will be used by others and applied on different resources", - ]); - const who = ref("Grr, Kamo, Kimberley"); + const title = ref(""); + const description = ref(""); + const nature = ref(""); + const logs = ref([""]); + const who = ref(""); + + const disabled = computed(() => { + return [title, description, nature, logs, who].some((input) => input.value == ""); + }); const submit = function () { fetch("https://hub.xpub.nl/soupboat/cookbook/", { @@ -27,7 +27,7 @@ export default { }); }; - return { title, description, nature, logs, who, submit }; + return { title, description, nature, logs, who, disabled, submit }; }, template: `
@@ -58,7 +58,7 @@ export default {
- +
diff --git a/client/components/CookbookRecipes.js b/client/components/CookbookRecipes.js new file mode 100644 index 0000000..e6ee3d2 --- /dev/null +++ b/client/components/CookbookRecipes.js @@ -0,0 +1,38 @@ +export default { + setup() { + const { ref, computed } = Vue; + + const recipes = ref(null); + + fetch("https://hub.xpub.nl/soupboat/cookbook/get") + .then((res) => res.json()) + .then((data) => (recipes.value = data)); + + const style = function (index) { + return { + transform: `translate(${index * 10}px, ${index * 10}px)`, + }; + }; + + const browse = function () { + let recipe = recipes.value.pop(); + recipes.value.unshift(recipe); + }; + + return { recipes, style, browse }; + }, + + template: ` +
+
+

{{recipe.title}}

+

{{recipe.description}}

+
{{recipe.nature}}
+
    +
  1. {{log}}
  2. +
+

{{recipe.who}}

+
+
+ `, +}; diff --git a/client/index.html b/client/index.html index 2c9970e..32a207b 100644 --- a/client/index.html +++ b/client/index.html @@ -12,18 +12,15 @@
Archive +
diff --git a/client/style.css b/client/style.css index 105474c..6010eb5 100644 --- a/client/style.css +++ b/client/style.css @@ -12,11 +12,17 @@ body { #app { width: 100%; + display: flex; + flex-wrap: wrap; +} + +#app > * { + flex-shrink: 0; } section.recipe { - display: block; - margin: 48px auto; + display: inline-block; + margin: 48px; padding: 32px; width: 50ch; border-radius: 0.5rem; @@ -42,6 +48,10 @@ button { font-size: 1rem; } +button { + cursor: pointer; +} + button.add { display: block; width: 48px; @@ -52,6 +62,12 @@ button.add { border-radius: 50%; } +button:disabled { + border: 1px dashed currentColor; + cursor: default; + opacity: 0.5; +} + textarea + textarea { margin-top: 16px; } @@ -76,3 +92,18 @@ label { padding: 0 0.5em; text-decoration: none; } + +.cookbook { + display: inline-block; + position: relative; + min-width: 50ch; + height: 100%; +} + +.cookbook .recipe { + position: absolute; + top: 0; + left: 0; + background-color: #e6b0aa; + cursor: pointer; +}