From f4a629d8b9ce4f78439b97f20a623ce800cde337 Mon Sep 17 00:00:00 2001 From: Adam Procter <adamprocter@researchnot.es> Date: Fri, 11 Dec 2020 17:54:41 +0000 Subject: [PATCH] added colour picker icon & added legacy background added some code to fill in background of older microcosms where nodes had no color --- CHANGELOG.md | 8 +++ app/package.json | 2 +- app/src/components/NodesLayer.vue | 39 ++++++++++--- app/src/components/OtherNodeslayer.vue | 4 ++ app/src/components/SvgButton3.vue | 80 ++++++++++++++++++++++++++ 5 files changed, 125 insertions(+), 8 deletions(-) create mode 100644 app/src/components/SvgButton3.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index a413a51..2f2998d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 0.1.42 + +_11th December 2020_ + +### Added + +- You can now colour code your nodes. + # 0.1.41 _11th December 2020_ diff --git a/app/package.json b/app/package.json index b40e166..58423f4 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "nodenogg.in", - "version": "0.1.41", + "version": "0.1.42", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/app/src/components/NodesLayer.vue b/app/src/components/NodesLayer.vue index 12276ad..28ada3a 100644 --- a/app/src/components/NodesLayer.vue +++ b/app/src/components/NodesLayer.vue @@ -133,14 +133,24 @@ buttonClass="nodes" @click.prevent="readFlag(nodes.node_id, nodes.read_mode)" /> + <v-swatches + v-model="color" + @input="chooseColor(color, nodes.node_id)" + :swatches="swatches" + :shapes="shapes" + show-border + show-fallback + fallback-input-type="color" + > + <SvgButton3 + buttonClass="nodes" + @click.prevent + slot="trigger" + /> + </v-swatches> </div> </template> - <v-swatches - v-model="color" - @input="chooseColor(color, nodes.node_id)" - show-fallback - fallback-input-type="color" - ></v-swatches> + <div class="allemoji"> <div class="eachemoji" @@ -165,8 +175,10 @@ import { mapState } from 'vuex' import marked from 'marked' import SvgButton from '@/components/SvgButton' import SvgButton2 from '@/components/SvgButton2' +import SvgButton3 from '@/components/SvgButton3' import draggable from '@/experimental/Draggable' import VSwatches from 'vue-swatches' +import 'vue-swatches/dist/vue-swatches.css' var readmode @@ -177,6 +189,15 @@ export default { return { border: '2px dashed black', color: '#9bc2d8', + shapes: 'circles', + + // swatches: [{ color: '#F493A7', showBorder: true }], + swatches: [ + ['#EB5757', '#F2994A', '#F2C94C'], + ['#219653', '#27AE60', '#6FCF97'], + ['#2F80ED', '#2D9CDB', '#56CCF2'], + ['#9B51E0', '#BB6BD9', '#E9B7FC'], + ], pickupz: 1, localreadmode: false, @@ -218,7 +239,10 @@ export default { nodes_filtered: function () { return this.myNodes.filter((nodes) => { - console.log(nodes) + // backwards compatablity fix + if (nodes.color == undefined || '') { + nodes.color = '#A4C2D6' + } return nodes.deleted == false }) }, @@ -422,6 +446,7 @@ export default { draggable, SvgButton, SvgButton2, + SvgButton3, VSwatches, }, } diff --git a/app/src/components/OtherNodeslayer.vue b/app/src/components/OtherNodeslayer.vue index 1cc8900..a9b2599 100644 --- a/app/src/components/OtherNodeslayer.vue +++ b/app/src/components/OtherNodeslayer.vue @@ -262,6 +262,10 @@ export default { othernodes_filtered: function () { return this.otherNodes.filter((nodes) => { + // backwards compatablity fix + if (nodes.color == undefined || '') { + nodes.color = '#A4C2D6' + } return nodes.deleted == false }) }, diff --git a/app/src/components/SvgButton3.vue b/app/src/components/SvgButton3.vue new file mode 100644 index 0000000..2274cc0 --- /dev/null +++ b/app/src/components/SvgButton3.vue @@ -0,0 +1,80 @@ +<template> + <div> + <button v-on="$listeners" class="button" :class="buttonClass"> + <svg xmlns="http://www.w3.org/2000/svg" width="50" viewBox="0 0 194 178"> + <g transform="translate(-1340.934 -573.185)"> + <g transform="translate(16 57)"> + <path + class="a" + d="M1370.346,606.448C1250.818,701.656,1237.2,715.157,1237.2,715.157l-12.18,28.185,32.968-8.841,132.15-102.707Z" + transform="translate(103 -49)" + /> + <path + class="a" + d="M0,0H47a8,8,0,0,1,8,8V35a0,0,0,0,1,0,0H0a0,0,0,0,1,0,0V0A0,0,0,0,1,0,0Z" + transform="translate(1484.229 527.185) rotate(50)" + /> + </g> + <path + class="b" + d="M1278.245,681.651c-43.206,34.469-41.047,33.506-41.047,33.506l-12.18,28.185,32.968-8.841,57.042-46.029Z" + transform="translate(122 -12)" + /> + <path + class="c" + d="M1370.346,606.448C1250.818,701.656,1237.2,715.157,1237.2,715.157l36.986-31.527,41.706,6.236,42.508-33.315,31.739-24.758Z" + transform="translate(122 -12)" + /> + <path + class="d" + d="M1370.346,606.448C1250.818,701.656,1237.2,715.157,1237.2,715.157l-12.18,28.185,32.968-8.841,132.15-102.707Z" + transform="translate(122 -12)" + /> + <path + d="M10,0H46a9,9,0,0,1,9,9V35a0,0,0,0,1,0,0H0a0,0,0,0,1,0,0V10A10,10,0,0,1,10,0Z" + transform="translate(1498.229 573.185) rotate(50)" + /> + </g> + </svg> + </button> + </div> +</template> + +<script> +export default { + props: { + buttonClass: { + type: String, + }, + }, +} +</script> + +<style lang="css" scoped> +button { + background-color: #6fcf97; + touch-action: manipulation; + border: none; + outline: none; + cursor: pointer; +} + +button.nodes { + background-color: rgba(255, 255, 255, 0); +} + +.a { + fill: #4f4f4f; +} +.b { + fill: #2d9cdb; +} +.c { + fill: #fff; +} +.d { + fill: none; + stroke: #000; + stroke-width: 7px; +} +</style> -- GitLab