From 56ffc0005f465bc3d16e292cac12acdc8507f924 Mon Sep 17 00:00:00 2001 From: John McCabe Date: Sat, 16 Jul 2016 08:42:03 +0000 Subject: [PATCH 1/7] use flexbox styling and enable full screen mobile web app --- index.html | 68 ++++++++++++--------------------------- public/pipower.css | 80 ++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 92 insertions(+), 56 deletions(-) diff --git a/index.html b/index.html index 77ed309..8a0c0d1 100644 --- a/index.html +++ b/index.html @@ -1,54 +1,28 @@ - -Pi-power - socket control - - - - + + + Pi-power - control + + + + + + - -

Pi power web control

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Socket 1OnOff
Socket 2OnOff
Socket 3OnOff
Socket 4OnOff
All socketsOnOff
- - -

Cmd status : ...

- -
- - - + diff --git a/public/pipower.css b/public/pipower.css index 5ce39c5..88b507a 100644 --- a/public/pipower.css +++ b/public/pipower.css @@ -1,15 +1,77 @@ +html, body { + height: 100%; + background-color: darkslategrey !important; + font-family: 'Open Sans', sans-serif; +} +.flex-container { + padding: 0; + margin: 0; + height: 100%; + list-style: none; + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-flex-flow: row wrap; + align-content: stretch; + align-items: stretch; + justify-content: space-around; +} -div#centre { - position:relative; - margin-left:auto; - margin-right:auto; - top: 20px; - width: 400px; - background-color: #CCCCCC; +.flex-item-on { + background: mediumseagreen; + width: 50%; + box-sizing: border-box; + margin-top: 8px; + color: white; + font-weight: bold; + font-size: 3em; + text-align: center; + flex-grow: 1; + flex-shrink: 1; + flex-basis: auto; + display: flex; + justify-content: center; + flex-direction: column; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; } -.imgonbutton, .imgoffbutton { - cursor: pointer; +.flex-item-off { + background: tomato; + width: 50%; + box-sizing: border-box; + margin-top: 8px; + color: white; + font-weight: bold; + font-size: 3em; + text-align: center; + flex-grow: 1; + flex-shrink: 1; + flex-basis: auto; + display: flex; + justify-content: center; + flex-direction: column; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; } +.flex-item-header { + background: darkslategrey; + width: 100%; + box-sizing: border-box; + color: white; + font-weight: bold; + font-size: 3em; + text-align: center; + flex-grow: 1; + flex-shrink: 1; + flex-basis: auto; + display: flex; + justify-content: center; + flex-direction: column; +} \ No newline at end of file From 60c612d5ef50118e363cda229fce7b879f0724ba Mon Sep 17 00:00:00 2001 From: John McCabe Date: Sat, 16 Jul 2016 09:49:16 +0100 Subject: [PATCH 2/7] add buttons 3 and 4 back --- index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.html b/index.html index 8a0c0d1..33ccc52 100644 --- a/index.html +++ b/index.html @@ -21,6 +21,10 @@
  • One
  • Two
  • Two
  • +
  • Three
  • +
  • Three
  • +
  • Four
  • +
  • Four
  • All
  • All
  • From 9c2ed05104373359edf7d1ba42fcfc49df4681a1 Mon Sep 17 00:00:00 2001 From: John McCabe Date: Sat, 16 Jul 2016 09:46:22 +0000 Subject: [PATCH 3/7] delete button images --- public/offbutton.png | Bin 2576 -> 0 bytes public/onbutton.png | Bin 2507 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 public/offbutton.png delete mode 100644 public/onbutton.png diff --git a/public/offbutton.png b/public/offbutton.png deleted file mode 100644 index 0162298064c65037336776d96ac00c33c8afafed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2576 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 Date: Sat, 16 Jul 2016 09:47:11 +0000 Subject: [PATCH 4/7] make app installable from chrome on android --- index.html | 2 +- public/icon.png | Bin 0 -> 43715 bytes public/manifest.json | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 public/icon.png create mode 100644 public/manifest.json diff --git a/index.html b/index.html index 33ccc52..a3d1594 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + Pi-power - control diff --git a/public/icon.png b/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc932a33146614b59f04d9a623249efa1db2b20 GIT binary patch literal 43715 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 Date: Sat, 16 Jul 2016 17:03:05 +0000 Subject: [PATCH 5/7] override user agent margin --- public/pipower.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/pipower.css b/public/pipower.css index 88b507a..c988328 100644 --- a/public/pipower.css +++ b/public/pipower.css @@ -1,6 +1,7 @@ html, body { height: 100%; + margin: 0; background-color: darkslategrey !important; font-family: 'Open Sans', sans-serif; } @@ -74,4 +75,4 @@ html, body { display: flex; justify-content: center; flex-direction: column; -} \ No newline at end of file +} From 4dc79b664136563d7a4bb99c59cbeaa7b10831c2 Mon Sep 17 00:00:00 2001 From: John McCabe Date: Sat, 16 Jul 2016 17:14:19 +0000 Subject: [PATCH 6/7] set fake button border --- public/pipower.css | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/public/pipower.css b/public/pipower.css index c988328..0b13687 100644 --- a/public/pipower.css +++ b/public/pipower.css @@ -23,10 +23,8 @@ html, body { } .flex-item-on { - background: mediumseagreen; width: 50%; box-sizing: border-box; - margin-top: 8px; color: white; font-weight: bold; font-size: 3em; @@ -40,13 +38,16 @@ html, body { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; + padding-left: 4px; + padding-right: 2px; + padding-bottom: 4px; + background-image: linear-gradient(mediumseagreen, mediumseagreen), linear-gradient(darkslategrey, darkslategrey); + background-clip: content-box, padding-box; } .flex-item-off { - background: tomato; width: 50%; box-sizing: border-box; - margin-top: 8px; color: white; font-weight: bold; font-size: 3em; @@ -60,6 +61,12 @@ html, body { -webkit-align-self: stretch; -ms-flex-item-align: stretch; align-self: stretch; + padding-left: 2px; + padding-right: 4px; + padding-bottom: 4px; + padding-top: 0px; + background-image: linear-gradient(tomato, tomato), linear-gradient(darkslategrey, darkslategrey); + background-clip: content-box, padding-box; } .flex-item-header { background: darkslategrey; From 757d69605c39ab50cf91c1e937016c52703c1ca2 Mon Sep 17 00:00:00 2001 From: John McCabe Date: Sat, 16 Jul 2016 21:43:28 +0000 Subject: [PATCH 7/7] switch to viewport sized typography --- public/pipower.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/pipower.css b/public/pipower.css index 0b13687..85e1090 100644 --- a/public/pipower.css +++ b/public/pipower.css @@ -26,8 +26,8 @@ html, body { width: 50%; box-sizing: border-box; color: white; + font-size: 7vw; font-weight: bold; - font-size: 3em; text-align: center; flex-grow: 1; flex-shrink: 1; @@ -49,8 +49,8 @@ html, body { width: 50%; box-sizing: border-box; color: white; + font-size: 7vw; font-weight: bold; - font-size: 3em; text-align: center; flex-grow: 1; flex-shrink: 1; @@ -73,8 +73,8 @@ html, body { width: 100%; box-sizing: border-box; color: white; + font-size: 7vw; font-weight: bold; - font-size: 3em; text-align: center; flex-grow: 1; flex-shrink: 1;