diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-09-30 08:57:29 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-09-30 08:57:29 +0200 |
commit | 8ec08695eade13b053caa6bd103065a056cdf179 (patch) | |
tree | 9ce23ab688b4a469ecf40d4b1c31a848ed7dca64 /backend | |
download | mavigator-8ec08695eade13b053caa6bd103065a056cdf179.tar.gz mavigator-8ec08695eade13b053caa6bd103065a056cdf179.tar.bz2 mavigator-8ec08695eade13b053caa6bd103065a056cdf179.zip |
initial commit
Diffstat (limited to 'backend')
21 files changed, 3653 insertions, 0 deletions
diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 0000000..ed1de16 --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,25 @@ +# sbt +.cache +.history/ +.lib/ +dist/* +target/ +lib_managed/ +src_managed/ +project/boot/ +project/plugins/project/ + +# scala-ide specific +/.settings +/.scala_dependencies +/.project +/.classpath +/.cache +/.history + +# general files +/*.jar +*.swp +*.class +*.log +*~
\ No newline at end of file diff --git a/backend/app/controllers/Application.scala b/backend/app/controllers/Application.scala new file mode 100644 index 0000000..6cd886f --- /dev/null +++ b/backend/app/controllers/Application.scala @@ -0,0 +1,12 @@ +package controllers + +import play.api._ +import play.api.mvc._ + +object Application extends Controller { + + def index() = Action { + Ok(views.html.index()) + } + +}
\ No newline at end of file diff --git a/backend/app/views/index.scala.html b/backend/app/views/index.scala.html new file mode 100644 index 0000000..f1da555 --- /dev/null +++ b/backend/app/views/index.scala.html @@ -0,0 +1,16 @@ +@main(""){ + <span id='ct' ></span> + + <object id="attitude" type="image/svg+xml" data="@routes.Assets.at("images/instruments/attitude.svg")" width="300px" height="300px">Cannot load or display SVG image.</object> + + <object id="heading" type="image/svg+xml" data="@routes.Assets.at("images/instruments/heading.svg")" width="200px" height="200px">Cannot load or display SVG image.</object> + + <script type="text/javascript"> + + window.onload = function () { + var frontend = new Frontend('#attitude', '#heading') + frontend.main() + } + </script> +} + diff --git a/backend/app/views/main.scala.html b/backend/app/views/main.scala.html new file mode 100644 index 0000000..4005beb --- /dev/null +++ b/backend/app/views/main.scala.html @@ -0,0 +1,55 @@ +@(title: String)(content: Html) + +<!DOCTYPE html> + +<html> +<head> + <title>@title</title> + <link rel="stylesheet" media="screen" href="@routes.Assets.at("lib/bootstrap/css/bootstrap.css")"> + <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> + <script type="text/javascript" src="@routes.Assets.at("lib/vfd-frontend-fastopt.js")"></script> + <script type="text/javascript" src="@routes.Assets.at("lib/jquery/jquery.js")"></script> + <script type="text/javascript" src="@routes.Assets.at("lib/bootstrap/js/bootstrap.min.js")"></script> +</head> +<body> + <header> + <nav class="navbar navbar-inverse navbar-static-top" role="navigation"> + <div class="container-fluid"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-main-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="@routes.Application.index"> + <img style="max-height: 32px;" src="@routes.Assets.at("images/logo.svg")" alt="logo"> + Virtual Flight Deck + </a> + </div> + + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="navbar-main-collapse"> + <ul class="nav navbar-nav"> + </ul> + <ul class="nav navbar-nav navbar-right"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">options<b class="caret"></b></a> + <ul class="dropdown-menu"> + <li> + <form method="POST" action=""> + <button type="submit" style="width: 100%;" class="btn btn-default">Sign Out</button> + </form> + </li> + </ul> + </li> + </ul> + </div><!-- /.navbar-collapse --> + </div><!-- /.container-fluid --> + </nav> + </header> + @content + +</body> +</html>
\ No newline at end of file diff --git a/backend/conf/application.conf b/backend/conf/application.conf new file mode 100644 index 0000000..ba58ed1 --- /dev/null +++ b/backend/conf/application.conf @@ -0,0 +1,62 @@ +# This is the main configuration file for the application. +# ~~~~~ + +# Secret key +# ~~~~~ +# The secret key is used to secure cryptographics functions. +# +# This must be changed for production, but we recommend not changing it in this file. +# +# See http://www.playframework.com/documentation/latest/ApplicationSecret for more details. +application.secret="[8DUF73Kj;0t:Y09:Miqn]BRQiHp0R2FRm^jwVD8y>z/kw=ALX[Q8abEYio;n0>a" + +# The application languages +# ~~~~~ +application.langs="en" + +# Global object class +# ~~~~~ +# Define the Global object class for this application. +# Default to Global in the root package. +# application.global=Global + +# Router +# ~~~~~ +# Define the Router object to use for this application. +# This router will be looked up first when the application is starting up, +# so make sure this is the entry point. +# Furthermore, it's assumed your route file is named properly. +# So for an application router like `my.application.Router`, +# you may need to define a router file `conf/my.application.routes`. +# Default to Routes in the root package (and conf/routes) +# application.router=my.application.Routes + +# Database configuration +# ~~~~~ +# You can declare as many datasources as you want. +# By convention, the default datasource is named `default` +# +# db.default.driver=org.h2.Driver +# db.default.url="jdbc:h2:mem:play" +# db.default.user=sa +# db.default.password="" + +# Evolutions +# ~~~~~ +# You can disable evolutions if needed +# evolutionplugin=disabled + +# Logger +# ~~~~~ +# You can also configure logback (http://logback.qos.ch/), +# by providing an application-logger.xml file in the conf directory. + +# Root logger: +logger.root=ERROR + +# Logger used by the framework: +logger.play=INFO + +# Logger provided to your application: +logger.application=DEBUG + diff --git a/backend/conf/routes b/backend/conf/routes new file mode 100644 index 0000000..20fd042 --- /dev/null +++ b/backend/conf/routes @@ -0,0 +1,9 @@ +# Routes +# This file defines all application routes (Higher priority routes first) +# ~~~~ + +# Home page +GET / controllers.Application.index + +# Map static resources from the /public folder to the /assets URL path +GET /assets/*file controllers.Assets.at(path="/public", file) diff --git a/backend/public/fonts/DIGITAL.TXT b/backend/public/fonts/DIGITAL.TXT new file mode 100644 index 0000000..484dd47 --- /dev/null +++ b/backend/public/fonts/DIGITAL.TXT @@ -0,0 +1,40 @@ +DS-Font's TrueType Fonts
+Font name: DS-Digital (Normal, Bold, Italic, Bold Italic), Version 1.0
+Author: Dusit Supasawat
+Web Site: http://ds-font.hypermart.net
+Contact me: Dusit Supasawat, 325/38 Suksawat32 Ratburana Bangkok Thailand 10140
+Email address: dusit@mailcity.com
+
+Thanks for trying! We hope you really enjoy this my typeface. This font is
+distributed as shareware. You can use this font for a long time as you want.
+After all, when you think this font can be usefulness for you. You can send
+me some money, that would be way cool.
+
+I'm only asking $20 US shareware fee per this typeface for personal use.
+And $45 US is the usual amount per this typeface for commercial use.
+
+Distribution: You are free to distribute this archive so long as this text
+file is distributed with the archive, the font file have not been modified,
+and it is understood that the font's copyright remains with the original
+author (Dusit Supasawat).
+
+To register send your payment to:
+
+Dusit Supasawat
+325/38 Suksawat32 Ratburana
+Bangkok Thailand 10140
+
+And fill out something as this order form, and send it in with your payment.
+
+Font name:_________________________________________
+Your information
+Name:______________________________________________
+Address:___________________________________________
+City, State : _____________________________________
+Zip Code:__________________________________________
+Country:___________________________________________
+E-MAIL address:____________________________________
+
+
+You will receive fonts which you order by Email after registration. These fonts
+will be generated for you by specify your name in font information.
\ No newline at end of file diff --git a/backend/public/fonts/DS-DIGIB.TTF b/backend/public/fonts/DS-DIGIB.TTF Binary files differnew file mode 100644 index 0000000..064ad47 --- /dev/null +++ b/backend/public/fonts/DS-DIGIB.TTF diff --git a/backend/public/fonts/DS-DIGII.TTF b/backend/public/fonts/DS-DIGII.TTF Binary files differnew file mode 100644 index 0000000..2aae3d8 --- /dev/null +++ b/backend/public/fonts/DS-DIGII.TTF diff --git a/backend/public/fonts/DS-DIGIT.TTF b/backend/public/fonts/DS-DIGIT.TTF Binary files differnew file mode 100644 index 0000000..65642f9 --- /dev/null +++ b/backend/public/fonts/DS-DIGIT.TTF diff --git a/backend/public/fonts/ds-digi.ttf b/backend/public/fonts/ds-digi.ttf Binary files differnew file mode 100644 index 0000000..0925877 --- /dev/null +++ b/backend/public/fonts/ds-digi.ttf diff --git a/backend/public/images/instruments/attitude.svg b/backend/public/images/instruments/attitude.svg new file mode 100644 index 0000000..7f0452c --- /dev/null +++ b/backend/public/images/instruments/attitude.svg @@ -0,0 +1,538 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="110" + height="110" + id="svg2" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="attitude.svg" + viewBox="-55 -55 110 110"> + <defs + id="defs4"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3341"> + <path + sodipodi:type="arc" + style="fill:#00ff00;fill-opacity:1;stroke:none" + id="path3343" + sodipodi:cx="55" + sodipodi:cy="55" + sodipodi:rx="50" + sodipodi:ry="50" + d="M 105,55 A 50,50 0 1 1 5,55 50,50 0 1 1 105,55 z" + transform="translate(-55,-55)" /> + </clipPath> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="5.6568542" + inkscape:cx="116.6015" + inkscape:cy="56.323079" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + showborder="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1029" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-grids="true"> + <inkscape:grid + type="xygrid" + id="grid2985" + units="px" + empspacing="5" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + spacingy="1px" + spacingx="1px" + originx="50px" + originy="50px" + dotted="false" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="roll" + clip-path="url(#clipPath3341)"> + <g + id="pitch"> + <rect + style="fill:#2eccfa;fill-opacity:1;stroke:none" + id="rect3861" + width="100" + height="100" + x="-50" + y="-100" /> + <rect + style="fill:#61380b;fill-opacity:1;stroke:none" + id="rect3863" + width="100" + height="100" + x="-50" + y="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3866" + width="0.5" + height="100" + x="-0.25" + y="-50" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="1174.9999" /> + <rect + inkscape:transform-center-x="352.49997" + transform="matrix(0,-1,1,0,0,0)" + y="-15" + x="9.75" + height="30" + width="0.5" + id="rect3872" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3874" + width="0.5" + height="30" + x="19.75" + y="-15" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="352.49997" /> + <rect + inkscape:transform-center-x="352.49997" + transform="matrix(0,-1,1,0,0,0)" + y="-15" + x="29.75" + height="30" + width="0.5" + id="rect3876" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3878" + width="0.5" + height="30" + x="-20.25" + y="-15" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="352.49997" /> + <rect + inkscape:transform-center-x="352.49997" + transform="matrix(0,-1,1,0,0,0)" + y="-15" + x="-30.25" + height="30" + width="0.5" + id="rect3880" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + inkscape:transform-center-x="352.49997" + transform="matrix(0,-1,1,0,0,0)" + y="-15" + x="-10.25" + height="30" + width="0.5" + id="rect3882" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3884" + width="0.5" + height="20" + x="4.75" + y="-10" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="234.99998" /> + <rect + inkscape:transform-center-x="234.99998" + transform="matrix(0,-1,1,0,0,0)" + y="-10" + x="14.75" + height="20" + width="0.5" + id="rect3886" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3888" + width="0.5" + height="20" + x="24.75" + y="-10" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="234.99998" /> + <rect + inkscape:transform-center-x="234.99998" + transform="matrix(0,-1,1,0,0,0)" + y="-10" + x="-5.25" + height="20" + width="0.5" + id="rect3890" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3892" + width="0.5" + height="20" + x="-15.25" + y="-10" + transform="matrix(0,-1,1,0,0,0)" + inkscape:transform-center-x="234.99998" /> + <rect + inkscape:transform-center-x="234.99998" + transform="matrix(0,-1,1,0,0,0)" + y="-10" + x="-25.25" + height="20" + width="0.5" + id="rect3894" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <text + sodipodi:linespacing="125%" + id="text3896" + y="11.698608" + x="15.550568" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="11.698608" + x="15.550568" + id="tspan3898" + sodipodi:role="line">10</tspan></text> + <text + xml:space="preserve" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="15.550568" + y="-18.301392" + id="text3920" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3922" + x="15.550568" + y="-18.301392">20</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3924" + y="-28.301392" + x="15.550568" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="-28.301392" + x="15.550568" + id="tspan3926" + sodipodi:role="line">30</tspan></text> + <text + xml:space="preserve" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="15.550568" + y="21.698608" + id="text3928" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3930" + x="15.550568" + y="21.698608">20</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3932" + y="31.698608" + x="15.550568" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="31.698608" + x="15.550568" + id="tspan3934" + sodipodi:role="line">30</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3936" + y="-8.3013916" + x="15.550568" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="-8.3013916" + x="15.550568" + id="tspan3938" + sodipodi:role="line">10</tspan></text> + <text + xml:space="preserve" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-21.544434" + y="-8.3013916" + id="text3940" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3942" + x="-21.544434" + y="-8.3013916">10</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3956" + y="11.698608" + x="-21.544434" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="11.698608" + x="-21.544434" + id="tspan3958" + sodipodi:role="line">10</tspan></text> + <text + xml:space="preserve" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-21.544434" + y="21.698608" + id="text3960" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3962" + x="-21.544434" + y="21.698608">20</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3964" + y="31.698608" + x="-21.544434" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="31.698608" + x="-21.544434" + id="tspan3966" + sodipodi:role="line">30</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3968" + y="-18.301392" + x="-21.544434" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="-18.301392" + x="-21.544434" + id="tspan3970" + sodipodi:role="line">20</tspan></text> + <text + xml:space="preserve" + style="font-size:5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-21.544434" + y="-28.301392" + id="text3972" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3974" + x="-21.544434" + y="-28.301392">30</tspan></text> + </g> + <path + sodipodi:type="star" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="path3769" + sodipodi:sides="3" + sodipodi:cx="-59" + sodipodi:cy="60" + sodipodi:r1="3.6055512" + sodipodi:r2="1.8027756" + sodipodi:arg1="1.0471976" + sodipodi:arg2="2.0943952" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="M -57.197225,63.122499 -59.901388,61.561249 -62.605551,60 l 2.704163,-1.56125 2.704164,-1.561249 0,3.122499 z" + transform="matrix(-1.6169678e-4,-0.93374506,0.83266641,-1.8132539e-4,-49.96923,-103.39675)" + inkscape:transform-center-y="0.50505596" /> + <rect + transform="matrix(0.93969262,-0.34202014,0.34202014,0.93969262,0,0)" + y="-47.848526" + x="-0.28910306" + height="3" + width="0.5" + id="rect3832" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-43.610196" + inkscape:transform-center-x="16.138873" /> + <rect + transform="matrix(0.98480775,-0.17364818,0.17364818,0.98480775,0,0)" + y="-47.887447" + x="-0.26598009" + height="3" + width="0.5" + id="rect3830" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-45.750151" + inkscape:transform-center-x="8.3208343" /> + <rect + inkscape:transform-center-x="-46.999996" + transform="matrix(0,1,-1,0,0,0)" + y="-48.999996" + x="-0.17979249" + height="4" + width="0.5" + id="rect3816" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + transform="matrix(0.98480775,0.17364818,-0.17364818,0.98480775,0,0)" + y="-47.974239" + x="-0.24160324" + height="3" + width="0.5" + id="rect3828" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-45.836941" + inkscape:transform-center-x="-7.8284371" /> + <rect + transform="matrix(0.93969262,0.34202014,-0.34202014,0.93969262,0,0)" + y="-48.019543" + x="-0.24104837" + height="3" + width="0.5" + id="rect3826" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-43.781215" + inkscape:transform-center-x="-15.669033" /> + <rect + inkscape:transform-center-x="-40.703191" + transform="matrix(0.5,0.8660254,-0.8660254,0.5,0,0)" + y="-48.964905" + x="-0.18920913" + height="4" + width="0.5" + id="rect3814" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-23.500008" /> + <rect + inkscape:transform-center-x="-23.500002" + transform="matrix(0.8660254,0.5,-0.5,0.8660254,0,0)" + y="-48.939209" + x="-0.21489985" + height="4" + width="0.5" + id="rect3812" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-40.703202" /> + <rect + inkscape:transform-center-x="23.500002" + transform="matrix(0.8660254,-0.5,0.5,0.8660254,0,0)" + y="-48.939209" + x="-0.28510073" + height="4" + width="0.5" + id="rect3810" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-40.703202" /> + <rect + inkscape:transform-center-x="46.999996" + transform="matrix(0,-1,1,0,0,0)" + y="-48.999996" + x="-0.32020748" + height="4" + width="0.5" + id="rect3808" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + inkscape:transform-center-x="40.703191" + transform="matrix(0.5,-0.8660254,0.8660254,0.5,0,0)" + y="-48.964901" + x="-0.3107909" + height="4" + width="0.5" + id="rect3804" + style="fill:#ffffff;fill-opacity:1;stroke:none" + inkscape:transform-center-y="-23.500008" /> + <path + transform="matrix(1.1232449,0,0,1.1232449,0,-112.25429)" + d="m 40,100 a 40,40 0 1 1 -80,0 40,40 0 1 1 80,0 z" + sodipodi:ry="40" + sodipodi:rx="40" + sodipodi:cy="100" + sodipodi:cx="0" + id="path3985" + style="fill:none;stroke:#ffffff;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + </g> + <g + id="fixed"> + <path + id="path3976" + d="m 0,-55 c -30.37566,0 -55,24.62432 -55,55.00002 0,30.3756 24.62434,55 55,55 30.37566,0 55,-24.6244 55,-55 C 55,-30.37568 30.37566,-55 0,-55 z m 0,5.00002 c 27.61424,0 50,22.3857 50,50 0,27.6142 -22.38576,50 -50,50 -27.61424,0 -50,-22.3858 -50,-50 0,-27.6143 22.38576,-50 50,-50 z" + style="fill:#1a1a1a;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + inkscape:transform-center-y="-0.52004486" + transform="matrix(-1.6169678e-4,0.96137262,0.83266641,1.8669043e-4,-49.96923,16.02602)" + d="M -57.197225,63.122499 -59.901388,61.561249 -62.605551,60 l 2.704163,-1.56125 2.704164,-1.561249 0,3.122499 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="2.0943952" + sodipodi:arg1="1.0471976" + sodipodi:r2="1.8027756" + sodipodi:r1="3.6055512" + sodipodi:cy="60" + sodipodi:cx="-59" + sodipodi:sides="3" + id="path3778" + style="fill:none;stroke:#ff6600;stroke-opacity:1" + sodipodi:type="star" /> + <rect + y="-0.5" + x="-20" + height="1" + width="15" + id="rect3990" + style="fill:#ff6600;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ff6600;fill-opacity:1;stroke:none" + id="rect3992" + width="15" + height="1" + x="5" + y="-0.5" /> + <path + id="path3996" + d="m 0,-4.99998 c -2.76142,0 -5,2.2386 -5,5 0,2.7614 2.23858,5 5,5 2.76142,0 5,-2.2386 5,-5 0,-2.7614 -2.23858,-5 -5,-5 z m 0,1 c 2.20914,0 4,1.7908 4,4 0,2.2091 -1.79086,4 -4,4 -2.20914,0 -4,-1.7909 -4,-4 0,-2.2092 1.79086,-4 4,-4 z" + style="fill:#ff6600;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + transform="matrix(0.5,0,0,0.5,0,-49.99998)" + d="m 1,100 c 0,0.55228 -0.44771525,1 -1,1 -0.55228475,0 -1,-0.44772 -1,-1 0,-0.552285 0.44771525,-1 1,-1 0.55228475,0 1,0.447715 1,1 z" + sodipodi:ry="1" + sodipodi:rx="1" + sodipodi:cy="100" + sodipodi:cx="0" + id="path4001" + style="fill:#ff6600;fill-opacity:1;stroke:none" + sodipodi:type="arc" /> + </g> + </g> +</svg> diff --git a/backend/public/images/instruments/heading.svg b/backend/public/images/instruments/heading.svg new file mode 100644 index 0000000..83cf17b --- /dev/null +++ b/backend/public/images/instruments/heading.svg @@ -0,0 +1,1034 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="110" + height="110" + id="svg2987" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="heading.svg" + viewBox="-55 -55 110 110"> + <defs + id="defs2989" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#ffffff" + borderopacity="0.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="0" + inkscape:zoom="2.8" + inkscape:cx="80.925724" + inkscape:cy="121.2003" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="1920" + inkscape:window-height="1029" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-grids="false"> + <inkscape:grid + type="xygrid" + id="grid2997" + units="px" + empspacing="5" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + spacingx="1px" + spacingy="1px" /> + </sodipodi:namedview> + <metadata + id="metadata2992"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="fill:#1a1a1a;fill-opacity:1;stroke:none" + id="path2999" + sodipodi:cx="660" + sodipodi:cy="592.36218" + sodipodi:rx="380" + sodipodi:ry="380" + d="m 1040,592.36218 a 380,380 0 1 1 -760,0 380,380 0 1 1 760,0 z" + transform="matrix(0.14473684,0,0,0.14473684,-95.526315,-85.73663)" /> + <g + id="heading"> + <path + sodipodi:type="arc" + style="fill:#333333;fill-opacity:1;stroke:none" + id="path3016" + sodipodi:cx="660" + sodipodi:cy="592.36218" + sodipodi:rx="380" + sodipodi:ry="380" + d="m 1040,592.36218 a 380,380 0 1 1 -760,0 380,380 0 1 1 760,0 z" + transform="matrix(0.13157895,0,0,0.13157895,-86.842106,-77.942392)" /> + <text + inkscape:transform-center-x="0.13476562" + inkscape:transform-center-y="-45.863281" + sodipodi:linespacing="125%" + id="text3025" + y="-43" + x="0.025250001" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve"><tspan + y="-43" + x="0.025250001" + id="tspan3027" + sodipodi:role="line">N</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect3089" + width="0.5" + height="7" + x="-0.25" + y="-42" + inkscape:transform-center-x="0.25" + inkscape:transform-center-y="-38.5" /> + <rect + inkscape:transform-center-x="-3.2247624" + transform="matrix(0.9961947,0.08715574,-0.08715574,0.9961947,0,0)" + inkscape:transform-center-y="-36.859204" + y="-39" + x="-0.25" + height="4" + width="0.5" + id="rect4329" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + inkscape:transform-center-x="-6.6854549" + transform="matrix(0.98480775,0.17364818,-0.17364818,0.98480775,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4401" + width="0.5" + height="7" + x="-0.25" + y="-42" + inkscape:transform-center-y="-37.915098" /> + <rect + inkscape:transform-center-y="-36.178166" + y="-42" + x="-0.25000006" + height="7" + width="0.5" + id="rect4403" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.93969262,0.34202015,-0.34202015,0.93969262,0,0)" + inkscape:transform-center-x="-13.167776" /> + <rect + inkscape:transform-center-x="-19.250001" + transform="matrix(0.8660254,0.50000001,-0.50000001,0.8660254,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4405" + width="0.5" + height="7" + x="-0.25000003" + y="-42" + inkscape:transform-center-y="-33.341978" /> + <rect + inkscape:transform-center-y="-29.492711" + y="-42" + x="-0.24999996" + height="7" + width="0.5" + id="rect4407" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.76604444,0.64278762,-0.64278762,0.76604444,0,0)" + inkscape:transform-center-x="-24.747324" /> + <rect + inkscape:transform-center-x="-29.492712" + transform="matrix(0.6427876,0.76604445,-0.76604445,0.6427876,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4409" + width="0.5" + height="7" + x="-0.24999987" + y="-42" + inkscape:transform-center-y="-24.747323" /> + <rect + inkscape:transform-center-y="-19.25" + y="-42" + x="-0.24999973" + height="7" + width="0.5" + id="rect4411" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.49999999,0.86602541,-0.86602541,0.49999999,0,0)" + inkscape:transform-center-x="-33.341979" /> + <rect + inkscape:transform-center-x="-36.178167" + transform="matrix(0.34202013,0.93969262,-0.93969262,0.34202013,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4413" + width="0.5" + height="7" + x="-0.2499996" + y="-42" + inkscape:transform-center-y="-13.167775" /> + <rect + inkscape:transform-center-y="-6.6854543" + y="-42" + x="-0.24999942" + height="7" + width="0.5" + id="rect4415" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.17364817,0.98480776,-0.98480776,0.17364817,0,0)" + inkscape:transform-center-x="-37.9151" /> + <rect + inkscape:transform-center-x="-38.500001" + transform="matrix(0,1,-1,0,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4417" + width="0.5" + height="7" + x="-0.24999921" + y="-42" /> + <rect + inkscape:transform-center-y="6.6854551" + y="-42" + x="-0.24999905" + height="7" + width="0.5" + id="rect4419" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.17364818,0.98480775,-0.98480775,-0.17364818,0,0)" + inkscape:transform-center-x="-37.915099" /> + <rect + inkscape:transform-center-x="-36.178166" + transform="matrix(-0.34202015,0.93969262,-0.93969262,-0.34202015,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4421" + width="0.5" + height="7" + x="-0.24999894" + y="-42" + inkscape:transform-center-y="13.167776" /> + <rect + inkscape:transform-center-y="19.250001" + y="-42" + x="-0.24999893" + height="7" + width="0.5" + id="rect4423" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.50000001,0.8660254,-0.8660254,-0.50000001,0,0)" + inkscape:transform-center-x="-33.341978" /> + <rect + inkscape:transform-center-x="-29.492711" + transform="matrix(-0.64278762,0.76604444,-0.76604444,-0.64278762,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4425" + width="0.5" + height="7" + x="-0.24999887" + y="-42" + inkscape:transform-center-y="24.747324" /> + <rect + inkscape:transform-center-y="29.492712" + y="-42" + x="-0.24999881" + height="7" + width="0.5" + id="rect4427" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.76604445,0.6427876,-0.6427876,-0.76604445,0,0)" + inkscape:transform-center-x="-24.747322" /> + <rect + inkscape:transform-center-x="-19.249999" + transform="matrix(-0.86602541,0.49999999,-0.49999999,-0.86602541,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4429" + width="0.5" + height="7" + x="-0.24999879" + y="-42" + inkscape:transform-center-y="33.341979" /> + <rect + inkscape:transform-center-y="36.178166" + y="-42" + x="-0.24999875" + height="7" + width="0.5" + id="rect4431" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.93969262,0.34202013,-0.34202013,-0.93969262,0,0)" + inkscape:transform-center-x="-13.167774" /> + <rect + inkscape:transform-center-x="-6.6854535" + transform="matrix(-0.98480776,0.17364817,-0.17364817,-0.98480776,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4433" + width="0.5" + height="7" + x="-0.24999879" + y="-42" + inkscape:transform-center-y="37.915099" /> + <rect + inkscape:transform-center-y="38.5" + y="-42" + x="-0.24999879" + height="7" + width="0.5" + id="rect4435" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="scale(-1,-1)" /> + <rect + inkscape:transform-center-x="6.6854549" + transform="matrix(-0.98480775,-0.17364818,0.17364818,-0.98480775,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4437" + width="0.5" + height="7" + x="-0.24999881" + y="-42" + inkscape:transform-center-y="37.915098" /> + <rect + inkscape:transform-center-y="36.178165" + y="-42" + x="-0.2499989" + height="7" + width="0.5" + id="rect4439" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.93969262,-0.34202015,0.34202015,-0.93969262,0,0)" + inkscape:transform-center-x="13.167776" /> + <rect + inkscape:transform-center-x="19.25" + transform="matrix(-0.8660254,-0.50000001,0.50000001,-0.8660254,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4441" + width="0.5" + height="7" + x="-0.24999903" + y="-42" + inkscape:transform-center-y="33.341977" /> + <rect + inkscape:transform-center-y="29.49271" + y="-42" + x="-0.24999921" + height="7" + width="0.5" + id="rect4443" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.76604444,-0.64278762,0.64278762,-0.76604444,0,0)" + inkscape:transform-center-x="24.747323" /> + <rect + inkscape:transform-center-x="29.492711" + transform="matrix(-0.6427876,-0.76604445,0.76604445,-0.6427876,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4445" + width="0.5" + height="7" + x="-0.24999939" + y="-42" + inkscape:transform-center-y="24.747322" /> + <rect + inkscape:transform-center-y="19.249999" + y="-42" + x="-0.24999951" + height="7" + width="0.5" + id="rect4447" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.49999999,-0.86602541,0.86602541,-0.49999999,0,0)" + inkscape:transform-center-x="33.341978" /> + <rect + inkscape:transform-center-x="36.178165" + transform="matrix(-0.34202013,-0.93969262,0.93969262,-0.34202013,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4449" + width="0.5" + height="7" + x="-0.24999961" + y="-42" + inkscape:transform-center-y="13.167774" /> + <rect + inkscape:transform-center-y="6.6854537" + y="-42" + x="-0.24999981" + height="7" + width="0.5" + id="rect4451" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(-0.17364817,-0.98480776,0.98480776,-0.17364817,0,0)" + inkscape:transform-center-x="37.915098" /> + <rect + inkscape:transform-center-x="38.499999" + transform="matrix(0,-1,1,0,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4453" + width="0.5" + height="7" + x="-0.24999996" + y="-42" /> + <rect + inkscape:transform-center-y="-6.6854548" + y="-42" + x="-0.25000012" + height="7" + width="0.5" + id="rect4455" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.17364818,-0.98480775,0.98480775,0.17364818,0,0)" + inkscape:transform-center-x="37.915097" /> + <rect + inkscape:transform-center-x="36.178165" + transform="matrix(0.34202015,-0.93969262,0.93969262,0.34202015,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4457" + width="0.5" + height="7" + x="-0.25000036" + y="-42" + inkscape:transform-center-y="-13.167775" /> + <rect + inkscape:transform-center-y="-19.249999" + y="-42" + x="-0.25000054" + height="7" + width="0.5" + id="rect4459" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.50000001,-0.8660254,0.8660254,0.50000001,0,0)" + inkscape:transform-center-x="33.341977" /> + <rect + inkscape:transform-center-x="29.49271" + transform="matrix(0.64278762,-0.76604444,0.76604444,0.64278762,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4461" + width="0.5" + height="7" + x="-0.2500008" + y="-42" + inkscape:transform-center-y="-24.747322" /> + <rect + inkscape:transform-center-y="-29.49271" + y="-42" + x="-0.25000107" + height="7" + width="0.5" + id="rect4463" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.76604445,-0.6427876,0.6427876,0.76604445,0,0)" + inkscape:transform-center-x="24.747322" /> + <rect + inkscape:transform-center-x="19.249999" + transform="matrix(0.86602541,-0.49999999,0.49999999,0.86602541,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4465" + width="0.5" + height="7" + x="-0.25000131" + y="-42" + inkscape:transform-center-y="-33.341977" /> + <rect + inkscape:transform-center-y="-36.178165" + y="-42" + x="-0.25000155" + height="7" + width="0.5" + id="rect4467" + style="fill:#ffffff;fill-opacity:1;stroke:none" + transform="matrix(0.93969262,-0.34202013,0.34202013,0.93969262,0,0)" + inkscape:transform-center-x="13.167775" /> + <rect + inkscape:transform-center-x="6.6854547" + transform="matrix(0.98480776,-0.17364817,0.17364817,0.98480776,0,0)" + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4469" + width="0.5" + height="7" + x="-0.25000167" + y="-42" + inkscape:transform-center-y="-37.915098" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4473" + width="0.5" + height="4" + x="-0.24999999" + y="-39" + inkscape:transform-center-y="-35.739256" + transform="matrix(0.96592583,0.25881904,-0.25881904,0.96592583,0,0)" + inkscape:transform-center-x="-9.5763045" /> + <rect + inkscape:transform-center-x="-15.636876" + transform="matrix(0.90630779,0.42261826,-0.42261826,0.90630779,0,0)" + inkscape:transform-center-y="-33.533388" + y="-39" + x="-0.24999994" + height="4" + width="0.5" + id="rect4475" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4477" + width="0.5" + height="4" + x="-0.24999994" + y="-39" + inkscape:transform-center-y="-30.308626" + transform="matrix(0.81915205,0.57357643,-0.57357643,0.81915205,0,0)" + inkscape:transform-center-x="-21.222328" /> + <rect + inkscape:transform-center-x="-26.162951" + transform="matrix(0.70710679,0.70710678,-0.70710678,0.70710679,0,0)" + inkscape:transform-center-y="-26.162951" + y="-39" + x="-0.24999991" + height="4" + width="0.5" + id="rect4479" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4481" + width="0.5" + height="4" + x="-0.24999993" + y="-39" + inkscape:transform-center-y="-21.222328" + transform="matrix(0.57357644,0.81915204,-0.81915204,0.57357644,0,0)" + inkscape:transform-center-x="-30.308626" /> + <rect + inkscape:transform-center-x="-33.533388" + transform="matrix(0.42261827,0.90630778,-0.90630778,0.42261827,0,0)" + inkscape:transform-center-y="-15.636876" + y="-39" + x="-0.24999987" + height="4" + width="0.5" + id="rect4483" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4485" + width="0.5" + height="4" + x="-0.24999985" + y="-39" + inkscape:transform-center-y="-9.5763052" + transform="matrix(0.25881906,0.96592582,-0.96592582,0.25881906,0,0)" + inkscape:transform-center-x="-35.739255" /> + <rect + inkscape:transform-center-x="-36.859204" + transform="matrix(0.08715576,0.9961947,-0.9961947,0.08715576,0,0)" + inkscape:transform-center-y="-3.2247632" + y="-39" + x="-0.24999991" + height="4" + width="0.5" + id="rect4487" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4489" + width="0.5" + height="4" + x="-0.2499999" + y="-39" + inkscape:transform-center-y="3.2247619" + transform="matrix(-0.08715573,0.9961947,-0.9961947,-0.08715573,0,0)" + inkscape:transform-center-x="-36.859204" /> + <rect + inkscape:transform-center-x="-35.739256" + transform="matrix(-0.25881903,0.96592583,-0.96592583,-0.25881903,0,0)" + inkscape:transform-center-y="9.576304" + y="-39" + x="-0.24999988" + height="4" + width="0.5" + id="rect4491" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4493" + width="0.5" + height="4" + x="-0.24999984" + y="-39" + inkscape:transform-center-y="15.636875" + transform="matrix(-0.42261825,0.90630779,-0.90630779,-0.42261825,0,0)" + inkscape:transform-center-x="-33.533388" /> + <rect + inkscape:transform-center-x="-30.308626" + transform="matrix(-0.57357643,0.81915205,-0.81915205,-0.57357643,0,0)" + inkscape:transform-center-y="21.222328" + y="-39" + x="-0.2499999" + height="4" + width="0.5" + id="rect4495" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4497" + width="0.5" + height="4" + x="-0.24999987" + y="-39" + inkscape:transform-center-y="26.162951" + transform="matrix(-0.70710678,0.70710679,-0.70710679,-0.70710678,0,0)" + inkscape:transform-center-x="-26.162951" /> + <rect + inkscape:transform-center-x="-21.222328" + transform="matrix(-0.81915204,0.57357644,-0.57357644,-0.81915204,0,0)" + inkscape:transform-center-y="30.308626" + y="-39" + x="-0.24999988" + height="4" + width="0.5" + id="rect4499" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4501" + width="0.5" + height="4" + x="-0.24999982" + y="-39" + inkscape:transform-center-y="33.533388" + transform="matrix(-0.90630778,0.42261827,-0.42261827,-0.90630778,0,0)" + inkscape:transform-center-x="-15.636876" /> + <rect + inkscape:transform-center-x="-9.5763052" + transform="matrix(-0.96592582,0.25881906,-0.25881906,-0.96592582,0,0)" + inkscape:transform-center-y="35.739255" + y="-39" + x="-0.24999981" + height="4" + width="0.5" + id="rect4503" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4505" + width="0.5" + height="4" + x="-0.24999987" + y="-39" + inkscape:transform-center-y="36.859204" + transform="matrix(-0.9961947,0.08715576,-0.08715576,-0.9961947,0,0)" + inkscape:transform-center-x="-3.2247632" /> + <rect + inkscape:transform-center-x="3.2247619" + transform="matrix(-0.9961947,-0.08715573,0.08715573,-0.9961947,0,0)" + inkscape:transform-center-y="36.859204" + y="-39" + x="-0.24999985" + height="4" + width="0.5" + id="rect4507" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4509" + width="0.5" + height="4" + x="-0.24999984" + y="-39" + inkscape:transform-center-y="35.739256" + transform="matrix(-0.96592583,-0.25881903,0.25881903,-0.96592583,0,0)" + inkscape:transform-center-x="9.576304" /> + <rect + inkscape:transform-center-x="15.636875" + transform="matrix(-0.90630779,-0.42261825,0.42261825,-0.90630779,0,0)" + inkscape:transform-center-y="33.533388" + y="-39" + x="-0.24999979" + height="4" + width="0.5" + id="rect4511" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4513" + width="0.5" + height="4" + x="-0.24999985" + y="-39" + inkscape:transform-center-y="30.308626" + transform="matrix(-0.81915205,-0.57357643,0.57357643,-0.81915205,0,0)" + inkscape:transform-center-x="21.222328" /> + <rect + inkscape:transform-center-x="26.162951" + transform="matrix(-0.70710679,-0.70710678,0.70710678,-0.70710679,0,0)" + inkscape:transform-center-y="26.162951" + y="-39" + x="-0.24999982" + height="4" + width="0.5" + id="rect4515" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4517" + width="0.5" + height="4" + x="-0.24999984" + y="-39" + inkscape:transform-center-y="21.222328" + transform="matrix(-0.57357644,-0.81915204,0.81915204,-0.57357644,0,0)" + inkscape:transform-center-x="30.308626" /> + <rect + inkscape:transform-center-x="33.533388" + transform="matrix(-0.42261827,-0.90630778,0.90630778,-0.42261827,0,0)" + inkscape:transform-center-y="15.636876" + y="-39" + x="-0.24999979" + height="4" + width="0.5" + id="rect4519" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4521" + width="0.5" + height="4" + x="-0.24999978" + y="-39" + inkscape:transform-center-y="9.5763052" + transform="matrix(-0.25881906,-0.96592582,0.96592582,-0.25881906,0,0)" + inkscape:transform-center-x="35.739255" /> + <rect + inkscape:transform-center-x="36.859204" + transform="matrix(-0.08715576,-0.9961947,0.9961947,-0.08715576,0,0)" + inkscape:transform-center-y="3.2247632" + y="-39" + x="-0.24999984" + height="4" + width="0.5" + id="rect4523" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4525" + width="0.5" + height="4" + x="-0.24999982" + y="-39" + inkscape:transform-center-y="-3.2247619" + transform="matrix(0.08715573,-0.9961947,0.9961947,0.08715573,0,0)" + inkscape:transform-center-x="36.859204" /> + <rect + inkscape:transform-center-x="35.739256" + transform="matrix(0.25881903,-0.96592583,0.96592583,0.25881903,0,0)" + inkscape:transform-center-y="-9.576304" + y="-39" + x="-0.24999981" + height="4" + width="0.5" + id="rect4527" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4529" + width="0.5" + height="4" + x="-0.24999976" + y="-39" + inkscape:transform-center-y="-15.636875" + transform="matrix(0.42261825,-0.90630779,0.90630779,0.42261825,0,0)" + inkscape:transform-center-x="33.533388" /> + <rect + inkscape:transform-center-x="30.308626" + transform="matrix(0.57357643,-0.81915205,0.81915205,0.57357643,0,0)" + inkscape:transform-center-y="-21.222328" + y="-39" + x="-0.24999982" + height="4" + width="0.5" + id="rect4531" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4533" + width="0.5" + height="4" + x="-0.24999979" + y="-39" + inkscape:transform-center-y="-26.162951" + transform="matrix(0.70710678,-0.70710679,0.70710679,0.70710678,0,0)" + inkscape:transform-center-x="26.162951" /> + <rect + inkscape:transform-center-x="21.222328" + transform="matrix(0.81915204,-0.57357644,0.57357644,0.81915204,0,0)" + inkscape:transform-center-y="-30.308626" + y="-39" + x="-0.24999981" + height="4" + width="0.5" + id="rect4535" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4537" + width="0.5" + height="4" + x="-0.24999976" + y="-39" + inkscape:transform-center-y="-33.533388" + transform="matrix(0.90630778,-0.42261827,0.42261827,0.90630778,0,0)" + inkscape:transform-center-x="15.636876" /> + <rect + inkscape:transform-center-x="9.5763052" + transform="matrix(0.96592582,-0.25881906,0.25881906,0.96592582,0,0)" + inkscape:transform-center-y="-35.739255" + y="-39" + x="-0.24999975" + height="4" + width="0.5" + id="rect4539" + style="fill:#ffffff;fill-opacity:1;stroke:none" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none" + id="rect4541" + width="0.5" + height="4" + x="-0.24999981" + y="-39" + inkscape:transform-center-y="-36.859204" + transform="matrix(0.9961947,-0.08715576,0.08715576,0.9961947,0,0)" + inkscape:transform-center-x="3.2247632" /> + <text + transform="matrix(0.8660254,0.5,-0.5,0.8660254,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="0.0072135464" + y="-43.067314" + id="text4549" + sodipodi:linespacing="125%" + inkscape:transform-center-y="-39.786151" + inkscape:transform-center-x="-22.814931"><tspan + sodipodi:role="line" + id="tspan4551" + x="0.0072135464" + y="-43.067314">3</tspan></text> + <text + inkscape:transform-center-x="-39.651384" + inkscape:transform-center-y="-23.048351" + sodipodi:linespacing="125%" + id="text4553" + y="-43.116589" + x="-0.042062506" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve" + transform="matrix(0.5,0.8660254,-0.8660254,0.5,0,0)"><tspan + y="-43.116589" + x="-0.042062506" + id="tspan4555" + sodipodi:role="line">6</tspan></text> + <text + transform="matrix(0,1,-1,0,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-0.10937481" + y="-43.134624" + id="text4557" + sodipodi:linespacing="125%" + inkscape:transform-center-y="-0.13476539" + inkscape:transform-center-x="-45.863281"><tspan + sodipodi:role="line" + id="tspan4559" + x="-0.10937481" + y="-43.134624">E</tspan></text> + <text + inkscape:transform-center-x="-39.786149" + inkscape:transform-center-y="22.81493" + sodipodi:linespacing="125%" + id="text4561" + y="-43.116589" + x="-0.17668717" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve" + transform="matrix(-0.5,0.8660254,-0.8660254,-0.5,0,0)"><tspan + y="-43.116589" + x="-0.17668717" + id="tspan4563" + sodipodi:role="line">12</tspan></text> + <text + transform="matrix(-0.8660254,0.5,-0.5,-0.8660254,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-0.22596352" + y="-43.067314" + id="text4565" + sodipodi:linespacing="125%" + inkscape:transform-center-y="39.651385" + inkscape:transform-center-x="-23.048352"><tspan + sodipodi:role="line" + id="tspan4567" + x="-0.22596352" + y="-43.067314">15</tspan></text> + <text + inkscape:transform-center-x="-0.13476577" + inkscape:transform-center-y="45.863281" + sodipodi:linespacing="125%" + id="text4569" + y="-43" + x="-0.24399991" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve" + transform="scale(-1,-1)"><tspan + y="-43" + x="-0.24399991" + id="tspan4571" + sodipodi:role="line">S</tspan></text> + <text + transform="matrix(-0.8660254,-0.5,0.5,-0.8660254,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-0.22596374" + y="-42.932686" + id="text4573" + sodipodi:linespacing="125%" + inkscape:transform-center-y="39.786148" + inkscape:transform-center-x="22.814929"><tspan + sodipodi:role="line" + id="tspan4575" + x="-0.22596374" + y="-42.932686">21</tspan></text> + <text + inkscape:transform-center-x="39.651383" + inkscape:transform-center-y="23.048351" + sodipodi:linespacing="125%" + id="text4577" + y="-42.883411" + x="-0.17668764" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve" + transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,0,0)"><tspan + y="-42.883411" + x="-0.17668764" + id="tspan4579" + sodipodi:role="line">24</tspan></text> + <text + transform="matrix(0,-1,1,0,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="-0.10937551" + y="-42.865376" + id="text4581" + sodipodi:linespacing="125%" + inkscape:transform-center-y="0.13476589" + inkscape:transform-center-x="45.863281"><tspan + sodipodi:role="line" + id="tspan4583" + x="-0.10937551" + y="-42.865376">W</tspan></text> + <text + inkscape:transform-center-x="39.786149" + inkscape:transform-center-y="-22.81493" + sodipodi:linespacing="125%" + id="text4585" + y="-42.883411" + x="-0.042063359" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + xml:space="preserve" + transform="matrix(0.5,-0.8660254,0.8660254,0.5,0,0)"><tspan + y="-42.883411" + x="-0.042063359" + id="tspan4587" + sodipodi:role="line">30</tspan></text> + <text + transform="matrix(0.8660254,-0.5,0.5,0.8660254,0,0)" + xml:space="preserve" + style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial" + x="0.0072127138" + y="-42.932686" + id="text4589" + sodipodi:linespacing="125%" + inkscape:transform-center-y="-39.651382" + inkscape:transform-center-x="23.04835"><tspan + sodipodi:role="line" + id="tspan4591" + x="0.0072127138" + y="-42.932686">33</tspan></text> + </g> + <g + id="fixed"> + <path + sodipodi:type="arc" + style="fill:#4d4d4d;fill-opacity:1;stroke:none" + id="path3018" + sodipodi:cx="660" + sodipodi:cy="592.36218" + sodipodi:rx="380" + sodipodi:ry="380" + d="m 1040,592.36218 a 380,380 0 1 1 -760,0 380,380 0 1 1 760,0 z" + transform="matrix(0.09210526,0,0,0.09210526,-60.789473,-54.559673)" /> + <path + id="path3085" + d="m -15,-20 c -2.761424,0 -5,2.238576 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.761424 -2.238576,-5 -5,-5 z m 0,0.5 c 2.485281,0 4.5,2.014719 4.5,4.5 0,2.485281 -2.014719,4.5 -4.5,4.5 -2.485281,0 -4.5,-2.014719 -4.5,-4.5 0,-2.485281 2.014719,-4.5 4.5,-4.5 z" + style="fill:#ff6600;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + style="fill:#ff6600;fill-opacity:1;stroke:none" + d="m 15,-20 c -2.761424,0 -5,2.238576 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.761424 -2.238576,-5 -5,-5 z m 0,0.5 c 2.485281,0 4.5,2.014719 4.5,4.5 0,2.485281 -2.014719,4.5 -4.5,4.5 -2.485281,0 -4.5,-2.014719 -4.5,-4.5 0,-2.485281 2.014719,-4.5 4.5,-4.5 z" + id="path3093" /> + <path + id="path3095" + d="m 15,10 c -2.761424,0 -5,2.238576 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.761424 -2.238576,-5 -5,-5 z m 0,0.5 c 2.485281,0 4.5,2.014719 4.5,4.5 0,2.485281 -2.014719,4.5 -4.5,4.5 -2.485281,0 -4.5,-2.014719 -4.5,-4.5 0,-2.485281 2.014719,-4.5 4.5,-4.5 z" + style="fill:#ff6600;fill-opacity:1;stroke:none" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + style="fill:#ff6600;fill-opacity:1;stroke:none" + d="m -15,10 c -2.761424,0 -5,2.238576 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.761424 -2.238576,-5 -5,-5 z m 0,0.5 c 2.485281,0 4.5,2.014719 4.5,4.5 0,2.485281 -2.014719,4.5 -4.5,4.5 -2.485281,0 -4.5,-2.014719 -4.5,-4.5 0,-2.485281 2.014719,-4.5 4.5,-4.5 z" + id="path3097" /> + <path + inkscape:connector-curvature="0" + id="path3099" + d="M -11.558058,11.558058 11.558058,-11.558058" + style="fill:none;stroke:#ff6600;stroke-width:0.49999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + inkscape:connector-curvature="0" + id="path3101" + d="M -11.558058,-11.558058 11.558058,11.558058" + style="fill:none;stroke:#ff6600;stroke-width:0.49999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + inkscape:transform-center-y="-0.52004486" + transform="matrix(-1.6169678e-4,0.96137262,0.83266641,1.8669043e-4,-49.964312,26.269061)" + d="M -57.197225,63.122499 -59.901388,61.561249 -62.605551,60 l 2.704163,-1.56125 2.704164,-1.561249 0,3.122499 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="2.0943952" + sodipodi:arg1="1.0471976" + sodipodi:r2="1.8027756" + sodipodi:r1="3.6055512" + sodipodi:cy="60" + sodipodi:cx="-59" + sodipodi:sides="3" + id="path3778" + style="fill:none;stroke:#ff6600;stroke-width:0.55884141;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="star" /> + </g> + </g> +</svg> diff --git a/backend/public/images/leds/green-off.svg b/backend/public/images/leds/green-off.svg new file mode 100644 index 0000000..1c227fd --- /dev/null +++ b/backend/public/images/leds/green-off.svg @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="red-off.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.25" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="4.4967747" + inkscape:cy="30.440278" + inkscape:current-layer="layer2" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline" + sodipodi:insensitive="true"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/leds/green-on.svg b/backend/public/images/leds/green-on.svg new file mode 100644 index 0000000..c358e3a --- /dev/null +++ b/backend/public/images/leds/green-on.svg @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="green-other.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.5" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientTransform="matrix(1.8217016,0,0,1.8217016,-39.564835,-34.392156)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="25.192171" + inkscape:cy="36.435594" + inkscape:current-layer="layer3" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#07ff00;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/leds/none.svg b/backend/public/images/leds/none.svg new file mode 100644 index 0000000..85bc475 --- /dev/null +++ b/backend/public/images/leds/none.svg @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="green-other-off.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.5" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientTransform="matrix(1.7287032,0,0,1.7287032,-35.086972,-30.499726)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="24.862874" + inkscape:cy="36.435594" + inkscape:current-layer="layer2" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline" + sodipodi:insensitive="true"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/leds/red-off.svg b/backend/public/images/leds/red-off.svg new file mode 100644 index 0000000..ecd3ca5 --- /dev/null +++ b/backend/public/images/leds/red-off.svg @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="red-other.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.5" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientTransform="matrix(1.7287032,0,0,1.7287032,-35.086972,-30.499726)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="24.862874" + inkscape:cy="36.435594" + inkscape:current-layer="layer2" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline" + sodipodi:insensitive="true"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/leds/red-on.svg b/backend/public/images/leds/red-on.svg new file mode 100644 index 0000000..e7fffea --- /dev/null +++ b/backend/public/images/leds/red-on.svg @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="red-other.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.5" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientTransform="matrix(1.7287032,0,0,1.7287032,-35.086972,-30.499726)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="24.862874" + inkscape:cy="36.435594" + inkscape:current-layer="layer2" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline" + sodipodi:insensitive="true"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/leds/yellow-on.svg b/backend/public/images/leds/yellow-on.svg new file mode 100644 index 0000000..3b271b0 --- /dev/null +++ b/backend/public/images/leds/yellow-on.svg @@ -0,0 +1,284 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64px" + height="64px" + id="svg2985" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="red-other.svg"> + <defs + id="defs2987"> + <linearGradient + id="linearGradient3803" + inkscape:collect="always"> + <stop + id="stop3805" + offset="0" + style="stop-color:#cfcfcf;stop-opacity:0.51141554" /> + <stop + id="stop3807" + offset="1" + style="stop-color:#ffffff;stop-opacity:0.04109589" /> + </linearGradient> + <linearGradient + id="linearGradient3891"> + <stop + style="stop-color:#ffffff;stop-opacity:0.26940638" + offset="0" + id="stop3893" /> + <stop + style="stop-color:#ffffff;stop-opacity:0.15525115" + offset="1" + id="stop3895" /> + </linearGradient> + <linearGradient + id="linearGradient3883"> + <stop + style="stop-color:#000000;stop-opacity:0.02283105" + offset="0" + id="stop3885" /> + <stop + style="stop-color:#000000;stop-opacity:1" + offset="1" + id="stop3887" /> + </linearGradient> + <linearGradient + id="linearGradient3849"> + <stop + id="stop3851" + offset="0" + style="stop-color:#00ac00;stop-opacity:1" /> + <stop + id="stop3853" + offset="1" + style="stop-color:#8cff00;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3807"> + <stop + style="stop-color:#000000;stop-opacity:0" + offset="0" + id="stop3809" /> + <stop + style="stop-color:#000000;stop-opacity:0.5" + offset="1" + id="stop3811" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3787"> + <stop + style="stop-color:#b3b3b3;stop-opacity:1;" + offset="0" + id="stop3789" /> + <stop + style="stop-color:#cccccc;stop-opacity:1" + offset="1" + id="stop3791" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient3777"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop3779" /> + <stop + style="stop-color:#b3b3b3;stop-opacity:1" + offset="1" + id="stop3781" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3777" + id="linearGradient3783" + x1="16.608555" + y1="18.651081" + x2="75.365089" + y2="69.463295" + gradientUnits="userSpaceOnUse" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3787" + id="radialGradient3793" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0026007,0.01478583,-0.01619592,1.0982174,0.55265642,-4.8228038)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3891" + id="linearGradient3901" + x1="10.083722" + y1="34.833542" + x2="44.591557" + y2="14.1497" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" /> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3807" + id="radialGradient3794" + gradientUnits="userSpaceOnUse" + cx="48.149883" + cy="41.854801" + fx="48.149883" + fy="41.854801" + r="27.765808" + gradientTransform="matrix(1.7287032,0,0,1.7287032,-35.086972,-30.499726)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3803" + id="linearGradient3801" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1088977,0,0,1.1088977,-3.2150185,-2.383994)" + x1="-11.46802" + y1="62.658627" + x2="53.882328" + y2="18.582912" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="13.34375" + inkscape:cx="16.019783" + inkscape:cy="36.435594" + inkscape:current-layer="layer2" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1024" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="background" + inkscape:groupmode="layer" + style="display:inline" + sodipodi:insensitive="true"> + <path + sodipodi:type="arc" + style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path2993" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" /> + <path + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3771" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + transform="matrix(-1.1268556,0,0,1.1268556,86.070613,-15.351671)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3785" + style="fill:url(#radialGradient3793);fill-opacity:1;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3783)" + id="path3775" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0565207,0,0,1.0565207,82.725544,-12.366264)" /> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3795" + style="fill:#46ff00;fill-opacity:0;fill-rule:nonzero;stroke:none" + sodipodi:type="arc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="color" + style="display:inline"> + <path + sodipodi:type="arc" + style="fill:#ffd42a;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + id="path3773" + sodipodi:cx="48.149883" + sodipodi:cy="41.854801" + sodipodi:rx="27.765808" + sodipodi:ry="27.765808" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="reflection" + style="display:inline" + sodipodi:insensitive="true"> + <path + transform="matrix(-1.0445488,0,0,1.0445488,82.149098,-11.865182)" + d="m 75.915691,41.854801 a 27.765808,27.765808 0 1 1 -55.531616,0 27.765808,27.765808 0 1 1 55.531616,0 z" + sodipodi:ry="27.765808" + sodipodi:rx="27.765808" + sodipodi:cy="41.854801" + sodipodi:cx="48.149883" + id="path3805" + style="fill:url(#radialGradient3794);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + sodipodi:type="arc" /> + <path + style="fill:url(#linearGradient3801);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 13.661019,17.992002 c -2.716552,0 -5.3380492,0.375822 -7.8315903,1.074244 -1.8971123,3.856752 -2.9801626,8.198554 -2.9801626,12.786977 0,16.017772 12.9868349,29.004607 29.0046069,29.004607 2.703688,0 5.313926,-0.382194 7.796937,-1.074245 1.910078,-3.867248 3.014816,-8.21652 3.014816,-12.82163 0,-16.017772 -12.986835,-28.969953 -29.004607,-28.969953 z" + id="path3815" + inkscape:connector-curvature="0" /> + <path + style="fill:url(#linearGradient3901);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" + d="m 31.853873,2.8486171 c -4.086863,0 -7.978121,0.8657411 -11.504814,2.3910608 2.453382,-0.6830778 5.034928,-1.0742447 7.692978,-1.0742447 16.52263,0 29.905586,14.0815598 29.905586,31.4303198 0,5.007819 -1.133611,9.729358 -3.118775,13.930528 3.772658,-4.895422 6.029632,-11.014661 6.029632,-17.673058 0,-16.017771 -12.986835,-29.0046059 -29.004607,-29.0046059 z" + id="path3857" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/images/logo.svg b/backend/public/images/logo.svg new file mode 100644 index 0000000..eb38e8f --- /dev/null +++ b/backend/public/images/logo.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64" + height="64" + id="svg2985" + version="1.1" + inkscape:version="0.48.5 r10040" + sodipodi:docname="logo.svg" + viewBox="0 0 64 64"> + <defs + id="defs2987" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="11" + inkscape:cx="11.178414" + inkscape:cy="36.371776" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:document-units="px" + inkscape:grid-bbox="true" + inkscape:window-width="1920" + inkscape:window-height="1029" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer"> + <rect + style="fill:#222222;fill-opacity:1;stroke:none" + id="rect3798" + width="64" + height="64" + x="0" + y="-2.6645353e-15" /> + <path + style="fill:#f9f9f9;fill-opacity:1;stroke:#f9f9f9" + d="m 15.863636,5.6278409 c -5.595824,0 -10.144886,4.5490621 -10.144886,10.1448861 0,5.595824 4.549062,10.144886 10.144886,10.144886 5.595824,0 10.144886,-4.549062 10.144886,-10.144886 0,-5.595824 -4.549062,-10.1448861 -10.144886,-10.1448861 z m 0,1.7765239 c 4.619372,0 8.368362,3.7489902 8.368362,8.3683622 0,4.619372 -3.74899,8.368362 -8.368362,8.368362 -4.619372,0 -8.3683621,-3.74899 -8.3683621,-8.368362 0,-4.619372 3.7489901,-8.3683622 8.3683621,-8.3683622 z" + id="path2993" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path3008" + d="m 47.863636,5.6278409 c -5.595824,0 -10.144886,4.5490621 -10.144886,10.1448861 0,5.595824 4.549062,10.144886 10.144886,10.144886 5.595824,0 10.144886,-4.549062 10.144886,-10.144886 0,-5.595824 -4.549062,-10.1448861 -10.144886,-10.1448861 z m 0,1.7765239 c 4.619372,0 8.368362,3.7489902 8.368362,8.3683622 0,4.619372 -3.74899,8.368362 -8.368362,8.368362 -4.619372,0 -8.368362,-3.74899 -8.368362,-8.368362 0,-4.619372 3.74899,-8.3683622 8.368362,-8.3683622 z" + style="fill:#f9f9f9;fill-opacity:1;stroke:#f9f9f9" /> + <path + style="fill:#f9f9f9;fill-opacity:1;stroke:#f9f9f9" + d="m 47.863636,37.627841 c -5.595824,0 -10.144886,4.549062 -10.144886,10.144886 0,5.595824 4.549062,10.144886 10.144886,10.144886 5.595824,0 10.144886,-4.549062 10.144886,-10.144886 0,-5.595824 -4.549062,-10.144886 -10.144886,-10.144886 z m 0,1.776524 c 4.619372,0 8.368362,3.74899 8.368362,8.368362 0,4.619372 -3.74899,8.368362 -8.368362,8.368362 -4.619372,0 -8.368362,-3.74899 -8.368362,-8.368362 0,-4.619372 3.74899,-8.368362 8.368362,-8.368362 z" + id="path3010" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path3012" + d="m 15.863636,37.627841 c -5.595824,0 -10.1448856,4.549062 -10.1448856,10.144886 0,5.595824 4.5490616,10.144886 10.1448856,10.144886 5.595824,0 10.144886,-4.549062 10.144886,-10.144886 0,-5.595824 -4.549062,-10.144886 -10.144886,-10.144886 z m 0,1.776524 c 4.619372,0 8.368362,3.74899 8.368362,8.368362 0,4.619372 -3.74899,8.368362 -8.368362,8.368362 -4.619372,0 -8.3683616,-3.74899 -8.3683616,-8.368362 0,-4.619372 3.7489896,-8.368362 8.3683616,-8.368362 z" + style="fill:#f9f9f9;fill-opacity:1;stroke:#f9f9f9" /> + <path + style="fill:#f9f9f9;stroke:#f9f9f9;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="M 22.454545,22.090909 41.363636,41" + id="path3014" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#f9f9f9;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 22.090909,41.090909 19,-19" + id="path3016" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/backend/public/stylesheets/main.css b/backend/public/stylesheets/main.css new file mode 100644 index 0000000..24fb7bc --- /dev/null +++ b/backend/public/stylesheets/main.css @@ -0,0 +1,66 @@ +@font-face { + font-family: ds-digi; + src: url('../fonts/ds-digi.ttf') +} + +nav.side { + position: absolute; + left: 0; + width: 15%; + height: 100%; + background: #FFFFCC; + border: 1px solid #969696; + box-sizing: border-box; + -moz-box-sizing:border-box; +} + +.status-table { + border-collapse: collapse; + background: #e5e5e5; + border: 1px solid #969696; + margin-right: 10px; +} + +.status-table td { + padding: 10px; +} + + +.status { + font-size: 25px; + font-family: ds-digi; +} + +.status.error { + color: #ff0000; +} + +.status.critical { + animation-name: blinker; + animation-duration: 1s; + animation-timing-function: linear; + animation-iteration-count: infinite; + + -webkit-animation-name: blinker; + -webkit-animation-duration: 1s; + -webkit-animation-timing-function: linear; + -webkit-animation-iteration-count: infinite; +} + +@-moz-keyframes blinker { /* Decimal not necessary, 0 and 1 is enough */ + 0% { opacity: 1.0; } + 50% { opacity: 0.0; } + 100% { opacity: 1.0; } +} + +@-webkit-keyframes blinker { + 0% { opacity: 1.0; } + 50% { opacity: 0.0; } + 100% { opacity: 1.0; } +} + +@keyframes blinker { + 0% { opacity: 1.0; } + 50% { opacity: 0.0; } + 100% { opacity: 1.0; } +}
\ No newline at end of file |