diff --git a/assets/fonts/Teko-Bold.json b/assets/fonts/Teko-Bold.json
new file mode 100644
index 0000000..93c041e
--- /dev/null
+++ b/assets/fonts/Teko-Bold.json
@@ -0,0 +1 @@
+{"pages":["Teko-Boldpng"],"chars":[{"id":124,"width":19,"height":53,"xoffset":0,"yoffset":-34.986000000000004,"xadvance":11.172,"chnl":15,"x":0,"y":0,"page":0},{"id":41,"width":22,"height":51,"xoffset":0,"yoffset":-33.768,"xadvance":14.154000000000002,"chnl":15,"x":0,"y":55,"page":0},{"id":40,"width":24,"height":51,"xoffset":0,"yoffset":-33.768,"xadvance":14.154000000000002,"chnl":15,"x":0,"y":108,"page":0},{"id":93,"width":22,"height":50,"xoffset":0,"yoffset":-33.222,"xadvance":13.314,"chnl":15,"x":0,"y":161,"page":0},{"id":125,"width":23,"height":50,"xoffset":0,"yoffset":-33.222,"xadvance":13.692,"chnl":15,"x":0,"y":213,"page":0},{"id":123,"width":23,"height":50,"xoffset":0,"yoffset":-33.222,"xadvance":13.692,"chnl":15,"x":0,"y":265,"page":0},{"id":91,"width":23,"height":50,"xoffset":0,"yoffset":-33.222,"xadvance":13.314,"chnl":15,"x":0,"y":317,"page":0},{"id":37,"width":47,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":37.716,"chnl":15,"x":0,"y":369,"page":0},{"id":87,"width":45,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":35.112,"chnl":15,"x":0,"y":408,"page":0},{"id":64,"width":44,"height":40,"xoffset":0,"yoffset":-25.956000000000003,"xadvance":36.246,"chnl":15,"x":0,"y":447,"page":0},{"id":36,"width":29,"height":44,"xoffset":0,"yoffset":-30.534000000000002,"xadvance":20.622,"chnl":15,"x":25,"y":317,"page":0},{"id":106,"width":20,"height":44,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":10.5,"chnl":15,"x":56,"y":317,"page":0},{"id":47,"width":29,"height":42,"xoffset":0,"yoffset":-29.484,"xadvance":17.262,"chnl":15,"x":78,"y":317,"page":0},{"id":92,"width":29,"height":42,"xoffset":0,"yoffset":-29.484,"xadvance":17.262,"chnl":15,"x":109,"y":317,"page":0},{"id":81,"width":32,"height":40,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.672,"chnl":15,"x":46,"y":447,"page":0},{"id":96,"width":25,"height":39,"xoffset":0,"yoffset":-28.644000000000002,"xadvance":21,"chnl":15,"x":80,"y":447,"page":0},{"id":109,"width":39,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":30.366000000000003,"chnl":15,"x":107,"y":447,"page":0},{"id":104,"width":29,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":20.328000000000003,"chnl":15,"x":140,"y":317,"page":0},{"id":94,"width":34,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":29.568,"chnl":15,"x":171,"y":317,"page":0},{"id":108,"width":19,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":10.5,"chnl":15,"x":207,"y":317,"page":0},{"id":38,"width":38,"height":38,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":26.25,"chnl":15,"x":228,"y":317,"page":0},{"id":107,"width":30,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":19.950000000000003,"chnl":15,"x":268,"y":317,"page":0},{"id":98,"width":29,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":20.118000000000002,"chnl":15,"x":300,"y":317,"page":0},{"id":119,"width":38,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":28.518,"chnl":15,"x":148,"y":447,"page":0},{"id":100,"width":28,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":20.118000000000002,"chnl":15,"x":331,"y":317,"page":0},{"id":105,"width":19,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":10.5,"chnl":15,"x":361,"y":317,"page":0},{"id":102,"width":23,"height":38,"xoffset":0,"yoffset":-28.098000000000003,"xadvance":13.188,"chnl":15,"x":382,"y":317,"page":0},{"id":63,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":19.698,"chnl":15,"x":47,"y":408,"page":0},{"id":79,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.672,"chnl":15,"x":78,"y":408,"page":0},{"id":65,"width":33,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":22.806,"chnl":15,"x":110,"y":408,"page":0},{"id":66,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.672,"chnl":15,"x":145,"y":408,"page":0},{"id":67,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.790000000000003,"chnl":15,"x":177,"y":408,"page":0},{"id":68,"width":31,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":22.218,"chnl":15,"x":209,"y":408,"page":0},{"id":69,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":18.858,"chnl":15,"x":242,"y":408,"page":0},{"id":34,"width":27,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":18.228,"chnl":15,"x":272,"y":408,"page":0},{"id":71,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.042,"chnl":15,"x":301,"y":408,"page":0},{"id":72,"width":31,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":23.1,"chnl":15,"x":333,"y":408,"page":0},{"id":73,"width":19,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":10.71,"chnl":15,"x":366,"y":408,"page":0},{"id":74,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":19.194000000000003,"chnl":15,"x":387,"y":408,"page":0},{"id":75,"width":32,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":22.26,"chnl":15,"x":417,"y":408,"page":0},{"id":76,"width":27,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":17.388,"chnl":15,"x":451,"y":408,"page":0},{"id":77,"width":36,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":28.14,"chnl":15,"x":49,"y":369,"page":0},{"id":78,"width":31,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":22.386000000000003,"chnl":15,"x":480,"y":408,"page":0},{"id":33,"width":20,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":12.474,"chnl":15,"x":87,"y":369,"page":0},{"id":80,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.168000000000003,"chnl":15,"x":109,"y":369,"page":0},{"id":42,"width":26,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":16.380000000000003,"chnl":15,"x":141,"y":369,"page":0},{"id":82,"width":32,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.588,"chnl":15,"x":169,"y":369,"page":0},{"id":83,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.622,"chnl":15,"x":203,"y":369,"page":0},{"id":84,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":18.144000000000002,"chnl":15,"x":234,"y":369,"page":0},{"id":85,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.924000000000003,"chnl":15,"x":264,"y":369,"page":0},{"id":86,"width":32,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":22.386000000000003,"chnl":15,"x":296,"y":369,"page":0},{"id":48,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.042,"chnl":15,"x":330,"y":369,"page":0},{"id":88,"width":32,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.882,"chnl":15,"x":361,"y":369,"page":0},{"id":89,"width":32,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.798000000000002,"chnl":15,"x":395,"y":369,"page":0},{"id":90,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":19.488,"chnl":15,"x":429,"y":369,"page":0},{"id":49,"width":22,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":13.566,"chnl":15,"x":460,"y":369,"page":0},{"id":50,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":19.698,"chnl":15,"x":484,"y":369,"page":0},{"id":51,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.034000000000002,"chnl":15,"x":407,"y":317,"page":0},{"id":52,"width":31,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":21.294,"chnl":15,"x":438,"y":317,"page":0},{"id":53,"width":30,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.916,"chnl":15,"x":471,"y":317,"page":0},{"id":54,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.748,"chnl":15,"x":25,"y":265,"page":0},{"id":55,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":17.724,"chnl":15,"x":56,"y":265,"page":0},{"id":56,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.916,"chnl":15,"x":86,"y":265,"page":0},{"id":57,"width":29,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":20.748,"chnl":15,"x":117,"y":265,"page":0},{"id":39,"width":19,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":10.206000000000001,"chnl":15,"x":148,"y":265,"page":0},{"id":59,"width":19,"height":37,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":10.584000000000001,"chnl":15,"x":169,"y":265,"page":0},{"id":35,"width":37,"height":37,"xoffset":0,"yoffset":-26.922,"xadvance":28.476000000000003,"chnl":15,"x":190,"y":265,"page":0},{"id":70,"width":28,"height":37,"xoffset":0,"yoffset":-26.964000000000002,"xadvance":18.48,"chnl":15,"x":229,"y":265,"page":0},{"id":113,"width":28,"height":36,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.118000000000002,"chnl":15,"x":259,"y":265,"page":0},{"id":112,"width":29,"height":36,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.118000000000002,"chnl":15,"x":289,"y":265,"page":0},{"id":121,"width":29,"height":36,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":19.488,"chnl":15,"x":320,"y":265,"page":0},{"id":103,"width":28,"height":36,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.118000000000002,"chnl":15,"x":351,"y":265,"page":0},{"id":126,"width":36,"height":26,"xoffset":0,"yoffset":-16.338,"xadvance":30.198,"chnl":15,"x":188,"y":447,"page":0},{"id":116,"width":22,"height":35,"xoffset":0,"yoffset":-25.074,"xadvance":12.726,"chnl":15,"x":381,"y":265,"page":0},{"id":43,"width":31,"height":33,"xoffset":0,"yoffset":-22.554000000000002,"xadvance":21.546000000000003,"chnl":15,"x":405,"y":265,"page":0},{"id":62,"width":31,"height":33,"xoffset":0,"yoffset":-22.512,"xadvance":22.386000000000003,"chnl":15,"x":438,"y":265,"page":0},{"id":60,"width":31,"height":33,"xoffset":0,"yoffset":-22.512,"xadvance":22.386000000000003,"chnl":15,"x":471,"y":265,"page":0},{"id":97,"width":28,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.118000000000002,"chnl":15,"x":25,"y":213,"page":0},{"id":110,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.328000000000003,"chnl":15,"x":55,"y":213,"page":0},{"id":111,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.202,"chnl":15,"x":86,"y":213,"page":0},{"id":61,"width":31,"height":31,"xoffset":0,"yoffset":-20.580000000000002,"xadvance":22.386000000000003,"chnl":15,"x":117,"y":213,"page":0},{"id":101,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":19.782,"chnl":15,"x":150,"y":213,"page":0},{"id":114,"width":24,"height":31,"xoffset":0,"yoffset":-21.168000000000003,"xadvance":14.07,"chnl":15,"x":181,"y":213,"page":0},{"id":115,"width":28,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":18.69,"chnl":15,"x":207,"y":213,"page":0},{"id":99,"width":28,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":18.942,"chnl":15,"x":237,"y":213,"page":0},{"id":117,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":20.328000000000003,"chnl":15,"x":267,"y":213,"page":0},{"id":118,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":19.278000000000002,"chnl":15,"x":298,"y":213,"page":0},{"id":58,"width":19,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":10.584000000000001,"chnl":15,"x":329,"y":213,"page":0},{"id":120,"width":29,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":18.774,"chnl":15,"x":350,"y":213,"page":0},{"id":122,"width":26,"height":31,"xoffset":0,"yoffset":-20.958000000000002,"xadvance":16.422,"chnl":15,"x":381,"y":213,"page":0},{"id":95,"width":30,"height":17,"xoffset":0,"yoffset":0,"xadvance":19.908,"chnl":15,"x":0,"y":489,"page":0},{"id":45,"width":24,"height":25,"xoffset":0,"yoffset":-15.120000000000001,"xadvance":14.406,"chnl":15,"x":226,"y":447,"page":0},{"id":44,"width":19,"height":23,"xoffset":0,"yoffset":-6.888000000000001,"xadvance":10.584000000000001,"chnl":15,"x":252,"y":447,"page":0},{"id":46,"width":19,"height":17,"xoffset":0,"yoffset":-6.888000000000001,"xadvance":10.584000000000001,"chnl":15,"x":32,"y":489,"page":0},{"id":32,"width":0,"height":0,"xoffset":0,"yoffset":0,"xadvance":8.4,"chnl":15,"x":0,"y":508,"page":0}],"info":{"face":"Teko Bold","size":42,"bold":0,"italic":0,"charset":[" ","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"],"unicode":1,"stretchH":100,"smooth":1,"aa":1,"padding":[0,0,0,0],"spacing":[2,2]},"common":{"lineHeight":60.18600000000001,"base":40.236000000000004,"scaleW":512,"scaleH":512,"pages":1,"packed":0,"alphaChnl":0,"redChnl":0,"greenChnl":0,"blueChnl":0},"kernings":[]}
\ No newline at end of file
diff --git a/assets/fonts/Teko-Bold.png b/assets/fonts/Teko-Bold.png
new file mode 100644
index 0000000..f4387c1
Binary files /dev/null and b/assets/fonts/Teko-Bold.png differ
diff --git a/assets/fonts/Teko-OFL.txt b/assets/fonts/Teko-OFL.txt
new file mode 100644
index 0000000..6dd8096
--- /dev/null
+++ b/assets/fonts/Teko-OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2014, Indian Type Foundry (info@indiantypefoundry.com).
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/package-lock.json b/package-lock.json
index 0be5eed..012b631 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -559,6 +559,14 @@
"source-map": "^0.5.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
@@ -3363,6 +3371,15 @@
"supports-color": "^2.0.0"
}
},
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
@@ -6646,6 +6663,15 @@
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
"dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
@@ -9304,6 +9330,14 @@
"use": "^3.1.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
@@ -9492,6 +9526,15 @@
"url-parse": "^1.1.1"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"faye-websocket": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
diff --git a/src/components/active-color.js b/src/components/active-color.js
index afcb265..7cd2453 100644
--- a/src/components/active-color.js
+++ b/src/components/active-color.js
@@ -6,7 +6,7 @@ AFRAME.registerComponent('active-color', {
schema: {
active: {default: false},
- color: {default: '#4BF'}
+ color: {default: '#ffffff'}
},
init: function () {
diff --git a/src/index.html b/src/index.html
index 6780514..802ddc3 100644
--- a/src/index.html
+++ b/src/index.html
@@ -10,6 +10,7 @@
bind__song="challengeId: challenge.id; isPlaying: !menu.active && !challenge.isLoading"
bind__song-preview-system="selectedChallengeId: menuSelectedChallenge.id"
console-shortcuts
+ proxy-event="event: menuchallengeselect; to: #searchResultsContainer, #menuDifficulties"
search>
@@ -17,10 +18,10 @@
-
-
-
+
+
+
@@ -30,7 +31,9 @@
-
+
+ position="0 0.644 0">
-
-
+
+
{% raw %}
@@ -23,30 +23,47 @@
bind__active-color="active: menuSelectedChallenge.id === '{{ item.id }}'"
bind__animation__mouseenter="enabled: menuSelectedChallenge.id !== '{{ item.id }}'"
bind__animation__mouseleave="enabled: menuSelectedChallenge.id !== '{{ item.id }}'"
- geometry="primitive: plane; width: 0.8; height: 0.1"
- material="shader: flat; color: #111"
- position="0 -0.13 -0.01"
+ geometry="primitive: plane; width: 1.1; height: 0.2"
+ material="shader: flat; color: #067197; transparent: true; opacity: 0.0"
+ position="0 -0.13 -0.002"
play-sound="event: mouseenter; sound: #hoverSound; volume: 0.03"
- animation__mouseenter="property: material.color; from: #111; to: #666; startEvents: mouseenter; pauseEvents: mouseleave; dur: 150"
- animation__mouseleave="property: material.color; from: #666; to: #111; startEvents: mouseleave; pauseEvents: mouseenter; dur: 150"
+ animation__mouseenter="property: material.opacity; from: 0.0; to: 1.0; startEvents: mouseenter; pauseEvents: mouseleave; dur: 150"
+ animation__mouseleave="property: material.opacity; from: 1.0; to: 0.0; startEvents: mouseleave; pauseEvents: mouseenter; dur: 150"
raycastable>
-
-
-
+
+
+
+
{% endraw %}
{% endmacro %}
-
+
-
+
+
+
+
+
+
{{ searchResults() }}
@@ -55,9 +72,13 @@
+ position="0.35 0.180 0"
+ animation__toleft="property: position; to: 0.195 0.18 0; dur: 200; easing: easeOutCubic; startEvents: menuchallengeselect"
+ animation__toright="property: position; to: 0.35 0.18 0; dur: 200; easing: easeOutCubic; startEvents: menuback"
+
+ >
{% raw %}
@@ -65,14 +86,14 @@
bind__active-color="active: menuSelectedChallenge.difficulty === '{{ difficulty }}'"
bind__animation__mouseenter="enabled: menuSelectedChallenge.difficulty !== '{{ difficulty }}'"
bind__animation__mouseleave="enabled: menuSelectedChallenge.difficulty !== '{{ difficulty }}'"
- geometry="primitive: plane; width: 0.3; height: 0.1"
- material="shader: flat; color: #111"
- position="-0.4 -0.005 0"
+ geometry="primitive: plane; width: 0.4; height: 0.2"
+ material="shader: flat; color: #067197; transparent: true; opacity: 0.0"
+ position="0 -0.005 0"
play-sound="event: mouseenter; sound: #hoverSound; volume: 0.03"
- animation__mouseenter="property: material.color; from: #111; to: #666; startEvents: mouseenter; pauseEvents: mouseleave; dur: 150"
- animation__mouseleave="property: material.color; from: #666; to: #111; startEvents: mouseleave; pauseEvents: mouseenter; dur: 150"
+ animation__mouseenter="property: material.opacity; to: 1.0; startEvents: mouseenter; pauseEvents: mouseleave; dur: 150"
+ animation__mouseleave="property: material.opacity; to: 0.0; startEvents: mouseleave; pauseEvents: mouseenter; dur: 150"
bind-toggle__raycastable="menu.active && !!menuSelectedChallenge.id && menuSelectedChallenge.difficulty !== '{{ difficulty }}'">
-
+
{% endraw %}
@@ -110,7 +131,7 @@
-
+