Fix UI and icon display (#101)
This commit is contained in:
parent
b7c9069030
commit
4c3f8a0c73
4 changed files with 32 additions and 30 deletions
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
"start_url": "../#",
|
||||
"name": "EV Charge Controller",
|
||||
"short_name": "EV Charge Controller",
|
||||
"icons": [
|
||||
{
|
||||
"src": "ico/android-chrome-192x192.png",
|
||||
"src": "android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "ico/android-chrome-512x512.png",
|
||||
"src": "android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<div id="app">
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||
<a class="navbar-brand" href="https://github.com/andig/evcc"><i class="text-primary far fa-leaf mr-2"></i>evcc</a>
|
||||
<a class="navbar-brand" href="https://github.com/andig/evcc"><i class="text-primary fas fa-leaf mr-2"></i>evcc</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup"
|
||||
aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
<div id="error">
|
||||
<div class="toast" data-delay="2000" style="position: absolute; top: 4rem; right: 0.5rem;">
|
||||
<div class="toast-header">
|
||||
<strong class="mr-auto"><i class="text-danger far fa-exclamation-triangle"></i> Error</strong>
|
||||
<strong class="mr-auto"><i class="text-danger fas fa-exclamation-triangle"></i> Error</strong>
|
||||
<small v-if="error.status">HTTP {{error.status}}</small>
|
||||
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
<h2 class="card-title pricing-card-title">
|
||||
{{fmt(state.chargePower)}} <small class="text-muted">{{fmtUnit(state.chargePower)}}W</small>
|
||||
</h2>
|
||||
<p>Ladeleistung <i class="text-primary far fa-leaf" v-if="state.chargePower"></i></p>
|
||||
<p>Ladeleistung <i class="text-primary fas fa-leaf" v-if="state.chargePower"></i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -170,10 +170,10 @@
|
|||
<h2 class="card-title pricing-card-title">{{fmt(state.gridPower)}} <small
|
||||
class="text-muted">{{fmtUnit(state.gridPower)}}W</small></h2>
|
||||
<p v-if="state.gridPower > 0">
|
||||
Bezug <i class="text-primary far fa-arrow-down"></i>
|
||||
Bezug <i class="text-primary fas fa-arrow-down"></i>
|
||||
</p>
|
||||
<p v-else>
|
||||
Einspeisung <i class="text-primary far fa-arrow-up"></i>
|
||||
Einspeisung <i class="text-primary fas fa-arrow-up"></i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -190,7 +190,7 @@
|
|||
<h2 class="card-title pricing-card-title">
|
||||
{{fmt(state.pvPower)}} <small class="text-muted">{{fmtUnit(state.pvPower)}}W</small>
|
||||
</h2>
|
||||
<p>Erzeugung <i class="text-primary far fas fa-sun" v-if="false"></i></p>
|
||||
<p>Erzeugung <i class="text-primary fas fas fa-sun" v-if="false"></i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3755,13 +3755,13 @@ Kq6S803nwUo2EKLdPwodVV3hH1vUzfKv3f5FuNzf8Of8ePMi/DsAAP//p/PiLcUMAAA=
|
|||
"/ico/site.webmanifest": {
|
||||
name: "site.webmanifest",
|
||||
local: "../assets/ico/site.webmanifest",
|
||||
size: 472,
|
||||
size: 486,
|
||||
modtime: 1566640112,
|
||||
compressed: `
|
||||
H4sIAAAAAAAC/5SQwUoDMRCG7/sUQ7y2ll3oob0WX8GLSBmTcTeYzCyTCK2l7y5JYwVBsXOa8H/5+JlT
|
||||
BwBgGCOZLZiHR9hNqCPBTjirhEBqFhcmTaJ5/x/SW+FktvBUn2VO1+2iUlsc3soK2al4t7STSqRlvxkO
|
||||
/Wa4n3lstu9P/oOK1TTmZ56Pc23mI460KoJrfl7c3mTdD4d1/3eTxtzSpG7P7VB5okh7K0G08Hevdb7O
|
||||
+IL2bVR5Z/cr4nyaAx5LkjKywyBMpjt3nwEAAP//6sLjlNgBAAA=
|
||||
H4sIAAAAAAAC/5SQwWrDMAyGz8tTGPXapiTQQ3ste4VdxgiarSVmjhRkF9qVvvtw5nYw2Fh1UvJ//vjR
|
||||
uXqAmFBTd9AAOwN1vV7AsjLGGGAcKf97fDL7AbUnsxdOKiGQXpk4iKbuP6S3whF25nn+zHO+bV8qtdmB
|
||||
7FS8W9lBZaRVs22PzbatJ+6L6fuB/6BshML8zNNpmlv5EXtaZ8Etvyzva7Fp2uOm+btFYe5pMW8v5UBp
|
||||
oJE6K0E084u3ea7ne0X73qsc2P2KOB+ngKecxITsMAgTVJfqMwAA//+21HeD5gEAAA==
|
||||
`,
|
||||
},
|
||||
|
||||
|
|
@ -3782,7 +3782,7 @@ IxaH+C1l8NJOMnDtp/P05Kv/+eoWzkyKBS0GbHbiVMmVBuWfzdacjYSYEjjgbHfKhftr8GSoYZDAMsui
|
|||
0F+74U8wRi/PzxHGvR28zpnWYSql0UaRasapmGVaB42RLHB1CTB0RM+2kMKQFWjJ4SbGdv5v21naVfiQ
|
||||
RlplcfCTDn/6ew3qEh/NjmeHM80od0J/0kEShZ50iquSVQXqTqS9mmktcgYTTO1av1lTqa9ZJ7HPbuB9
|
||||
V8Mfz6/hXdZwp6Uua8BK1mZSsyj0STlKZX6Z7O1FOV0imrsU4h0lyBJljGgdB4IsU6KQ/8GwrojIMSva
|
||||
AUaL0qC08BeOG6GIbHPjVBGRt1FSGlPp0zAsqCnrdJZJHrqUGlrUBUlEW2YDa4MrRTlRl2hBFFoQzIAs
|
||||
AUaL0qC08BeOG6GIbHPjVBGRt1FSGlPp0zAsqCnrdJZJHrqUGlrUBUlEW2YDa4MrRTlRl2hBNFoQzIAs
|
||||
EFd4bhWiDVBJM21aGyPFztxGFoXN603q8TQByokhzbM4yCRjpNLQDtuaYEPDi3hNlt8wc0bURV0FbiaE
|
||||
iKLExqGtGt1cW4SexBsM8jhYEGYncKOMpBbmb9301pS0cJHd2M/6syLXKOLzl3VnRUSjeOi1au6sOxvW
|
||||
VrHWXb2i1t8Tq+4WMBDS8Aqy7B4jFHl4YRfTPSGmBridzT+oUnwYICPjIAySH0gOIgoHjANxFvlRhBQR
|
||||
|
|
@ -3805,19 +3805,19 @@ ez2rn1XtuAWU5kOv7lpip/X2VfW4a2Qv8QFaSGHwCmwrj4VUnLAg+ZYYA4pCFJbHA+l9PZyczDefW1PN
|
|||
twhcU4baAtYPbTEh9P595wp//LvZtP38cIPAawN5kPzXTuvuV1rOt+4r1xVc1doQkXcFfqTUeL91A2Z+
|
||||
3xD5kTCWyvWvhZAFN194lGQOIm/kCtSXNwLFMf1Z0GnGH+8OIwZUm1oU6PajsO3cMpjR710/EhKnKsXv
|
||||
HqCvwVw9GTqHgLQ+2IHjFnjRXcA5FNJBc4zHkfMdD0rQwU7EfAtX9W2AJUrJFc7lSnh0bkVCNZp4uIP1
|
||||
f6+o0BVQfXts+Knq6uaJPkZEVMv/xIOLB9uZ/dq5ulo+IE/3THfM0a/UFdTFrSDUFoi6Fi1e/AuAe+fl
|
||||
IRyHRlRydW3LiVosoRYkk8BQcmU35fPr0CAZfo560/lLNXjR4//+l5TOIqd38n0vtDVXebKNg+YEa1DX
|
||||
pBCQOectQaW16LebW8ddn/Oc6PLFaGPxoDB/Whv+H7hN9Ecy4bh/yV8JUMVlHxnXtCs93Y/lKBp+C4a0
|
||||
DVROalAf05TfNa9ptkzVDn652fymLPQn0O7E5gqoeXQjvdKGcmLgHkbqrfWgbbx/v3aPY+Tr3h5MH3ju
|
||||
vLa7x4uE5DswhDKNclBdzsT7qNnpYHeG/Bd3nqwuhrP4E+NmsSfdOW2K53adx9OTtRNEYXkyLhMjKI39
|
||||
3WDyaBpGZzIHxk73pjx6i6hJDI2TvpbZ2+6Fy9aIe5s2cXR0UxW41wp3lf2eVOSKml9+No+s8EtSkYya
|
||||
yy2d28HNBl24pPxw1bfS0J2h1G/FHwNJb0qi+8L3GIat7Ay6t6m/32yqJ4aR17TmOisJsxv8p1Ba0Kw0
|
||||
iPKKAQdhKOye8n+QSmdUzFzJ1UZJ/pj6cCpe1kqBMOiTOLa5EhZU+H5+l2KzQd88sW/PyPqpDEHWtxmi
|
||||
o/hgQzwsYTRF7LESxru2Sj5q/DT7+uRf//zHE2PpNZirq8fXcPDW5+l1dMflj6+jb0I/kpY3vV5aSGlA
|
||||
dfFhQ6MNEp7jE3vDcxsvzX0qVQ4KG1nd6zuHftN/wz5iyyLXnYJ8nsnq8gWaH8wPdr9Nukljr2ffiduH
|
||||
i1pktk9F/hMx97HeF18ifwSmwNRKoL82wsPw9q/8GtL3nRbu2OcUBaPP9YL9jqb9JmdIdt6MbVNSXgyJ
|
||||
/sCLnefui5YtEv8RzBaVfTCksYu3FA3BZn9LYf/hoBv624s9hDZTm5ruA+Gq2v00OAr9t7pR6P/P4t8B
|
||||
AAD//805aVt4MQAA
|
||||
f6+o0BVQfXts+Knq6uaJPkZEVMv/xIOLB9uZ/dq5ulo+IE/3THfM0a/UFdTFrSB0QNS1aPHiXwDcOy8P
|
||||
4Tg0opKra1tO1GIJtSCZBIaSK7spn1+HBsnwc9Sbzl+qwYse//e/pHQWOb2T73uhrbnKk20cNCdYg7om
|
||||
hYDMOW8JKq1Fv93cOu76nOdEly9GG4sHhfnT2vD/wG2iP5IJx/1L/kqAKi77yLimXenpfixH0fBbMKRt
|
||||
oHJSg/qYpvyueU2zZap28MvN5jdloT+Bdic2V0DNoxvplTaUEwP3MFJvrQdt4/37tXscI1/39mD6wHPn
|
||||
td09XiQk34EhlGmUg+pyJt5HzU4HuzPkv7jzZHUxnMWfGDeLPenOaVM8t+s8np6snSAKy5NxmRhBaezv
|
||||
BpNH0zA6kzkwdro35dFbRE1iaJz0tczedi9ctkbc27SJo6ObqsC9Vrir7PekIlfU/PKzeWSFX5KKZNRc
|
||||
buncDm426MIl5YervpWG7gylfiv+GEh6UxLdF77HMGxlZ9C9Tf39ZlM9MYy8pjXXWUmY3eA/hdKCZqVB
|
||||
lFcMOAhDYfeU/4NUOqNi5kquNkryx9SHU/GyVgqEQZ/Esc2VsKDC9/O7FJsN+uaJfXtG1k9lCLK+zRAd
|
||||
xQcb4mEJoylij5Uw3rVV8lHjp9nXJ//65z+eGEuvwVxdPb6Gg7c+T6+jOy5/fB19E/qRtLzp9dJCSgOq
|
||||
iw8bGm2Q8Byf2Bue23hp7lOpclDYyOpe3zn0m/4b9hFbFrnuFOTzTFaXL9D8YH6w+23STRp7PftO3D5c
|
||||
1CKzfSryn4i5j/W++BL5IzAFplYC/bURHoa3f+XXkL7vtHDHPqcoGH2uF+x3NO03OUOy82Zsm5LyYkj0
|
||||
B17sPHdftGyR+I9gtqjsgyGNXbylaAg2+1sK+w8H3dDfXuwhtJna1HQfCFfV7qfBUei/1Y1C/38W/w4A
|
||||
AP//MWVC4HgxAAA=
|
||||
`,
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -85,12 +85,13 @@ func NewSocketHub() *SocketHub {
|
|||
func (h *SocketHub) encode(v core.Param) ([]byte, error) {
|
||||
var s string
|
||||
switch val := v.Val.(type) {
|
||||
case string:
|
||||
case time.Duration:
|
||||
// must be before stringer to convert to seconds instead of string
|
||||
s = fmt.Sprintf("{\"%s\": %d}", v.Key, int64(val.Seconds()))
|
||||
case fmt.Stringer, string:
|
||||
s = fmt.Sprintf("{\"%s\": \"%s\"}", v.Key, val)
|
||||
case float64:
|
||||
s = fmt.Sprintf("{\"%s\": %.3f}", v.Key, val)
|
||||
case time.Duration:
|
||||
s = fmt.Sprintf("{\"%s\": %d}", v.Key, int64(val.Seconds()))
|
||||
default:
|
||||
s = fmt.Sprintf("{\"%s\": %v}", v.Key, val)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue