redo the front page, notice that the web app is deprecated, adding android privacy policy

This commit is contained in:
Egor 2018-04-16 21:28:38 -07:00
parent 0643f0c207
commit 8cab2afdae
18 changed files with 1048 additions and 320 deletions

View file

@ -13,6 +13,7 @@ module.exports = {
},
globals: {
chrome: false,
introJs: false
introJs: false,
cieToRgb: false
}
};

View file

@ -0,0 +1,152 @@
<div class="privacy-policy">
<h2>Android Privacy Policy</h2>
<p>
Nidratech Ltd. built the "Huegasm for Philips Hue Lights" app as an Ad Supported app with a paid option to remove ads.
This SERVICE is provided by Nidratech Ltd. at no cost and is intended for use as is.
</p>
<p>
This page is used to inform website visitors regarding our policies with the collection, use, and
disclosure of Personal Information if anyone decided to use our Service.
</p>
<p>
If you choose to use our Service, then you agree to the collection and use of information in relation
to this policy. The Personal Information that we collect is used for providing and improving the
Service. We will not use or share your information with anyone except as described in this Privacy Policy.
</p>
<p>
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible
at http://www.huegasm.com unless otherwise defined in this Privacy Policy.
</p>
<p>
<strong>Information Collection and Use</strong>
</p>
<p>
For a better experience, while using our Service, we may require you to enable the "Microphone" permission on your
Android advice. The microphone audio input is used strictly for beat detection analysis. We do not utilize
this permission to collect any of your personally identifiable information and no recordings are ever stored nor
uploaded to a remote server.
</p>
<p>
The app does not use third party services, outside of the ones operated by Android, that may collect information used to identify you.
</p>
<div>
<p>
Link to privacy policy of third party service providers used by the app
</p>
<ul>
<li><a href="https://www.google.com/policies/privacy/" target="_blank">Google Play Services</a></li>
</ul>
</div>
<p>
<strong>Log Data</strong>
</p>
<p>
We want to inform you that whenever you use our Service, in a case of an
error in the app we collect data and information (through third party products) on your phone
called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address,
device name, operating system version, the configuration of the app when utilizing our Service,
the time and date of your use of the Service, and other statistics.
</p>
<p>
<strong>Cookies</strong>
</p>
<p>
Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These
are sent to your browser from the websites that you visit and are stored on your device's internal memory.
</p>
<p>
This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries
that use “cookies” to collect information and improve their services. You have the option to either
accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to
refuse our cookies, you may not be able to use some portions of this Service.
</p>
<p>
<strong>Service Providers</strong>
</p>
<p>
We may employ third-party companies and individuals due to the following reasons:
</p>
<ul>
<li>To facilitate our Service;</li>
<li>To provide the Service on our behalf;</li>
<li>To perform Service-related services; or</li>
<li>To assist us in analyzing how our Service is used.</li>
</ul>
<p>
We want to inform users of this Service that these third parties have access to your
Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they
are obligated not to disclose or use the information for any other purpose.
</p>
<p>
<strong>Security</strong>
</p>
<p>
We value your trust in providing us your Personal Information, thus we are striving
to use commercially acceptable means of protecting it. But remember that no method of transmission over
the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee
its absolute security.
</p>
<p>
<strong>Links to Other Sites</strong>
</p>
<p>
This Service may contain links to other sites. If you click on a third-party link, you will be directed
to that site. Note that these external sites are not operated by us. Therefore, we strongly
advise you to review the Privacy Policy of these websites. We have no control over
and assume no responsibility for the content, privacy policies, or practices of any third-party sites
or services.
</p>
<p>
<strong>Childrens Privacy</strong>
</p>
<p>
These Services do not address anyone under the age of 13. We do not knowingly collect
personally identifiable information from children under 13. In the case we discover that a child
under 13 has provided us with personal information, we immediately delete this from
our servers. If you are a parent or guardian and you are aware that your child has provided us with personal
information, please contact us so that we will be able to do necessary actions.
</p>
<p>
<strong>Changes to This Privacy Policy</strong>
</p>
<p>
We may update our Privacy Policy from time to time. Thus, you are advised to review
this page periodically for any changes. We will notify you of any changes by posting
the new Privacy Policy on this page. These changes are effective immediately after they are posted on
this page.
</p>
<p>
<strong>Contact Us</strong>
</p>
<p>
If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at <a href="mailto:huegasm.app@gmail.com">huegasm.app@gmail.com</a>.
</p>
</div>

View file

@ -1,17 +1 @@
{{huegasm-app toggleLightsIcons="toggleLightsIcons" toggleDimmer="toggleDimmer" dimmerOn=dimmerOn lightsIconsOn=lightsIconsOn
storage=storage}}
{{huegasm-footer storage=storage}}
{{!--<div style="bottom: 0; z-index: 100; height: 8rem; width: 100%;">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- huegasm.com responsive -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-6497494912844567"
data-ad-slot="3096623136"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>--}}
{{outlet}}

View file

@ -8,22 +8,14 @@
<div class="ready-block">
<div id="intro-background">
<div id="intro-wrapper">
<p id="intro">
Your lights meet your music
</p>
<p id="intro-paragraph">
Huegasm is a free web application for managing and synchronizing your <a target="_blank" href="http://www2.meethue.com">Philips Hue lights</a> with the beat of your music.
Please be aware that this web application is no longer maintained, while we shift focus to our browser and mobile apps.
</p>
</div>
</div>
<p>Click <a href="#" {{action "isReady"}}>START</a> to get started using Huegasm.</p>
<div class="relative">
{{paper-button raised=true primary=true warn=true onClick=(action "isReady") class="go-button center-block" label="START"}}
<a href="https://www.youtube.com/watch?v=zi9J6Qg-MPw" class="video-icon" target="_blank">
{{paper-icon "ondemand video" size=28}}
</a>
</div>
</div>
{{/if}}

View file

@ -1,16 +1,15 @@
<a href="https://chrome.google.com/webstore/detail/huegasm-for-philips-hue-l/mbjanbdhcpohhfecjgbdpcfhnnbofooj" target="_blank"
rel="noopener noreferrer" class="hidden-xs">
<img src="assets/images/chrome-store-badge.png" alt="Available in the Chrome Web Store">
<a href="https://chrome.google.com/webstore/detail/huegasm-for-philips-hue-l/mbjanbdhcpohhfecjgbdpcfhnnbofooj" target="_blank" rel="noopener noreferrer" class="hidden-xs">
<img src="assets/images/chrome-store-badge.png" alt="Available in the Chrome Web Store">
</a>
<div id="footer-text">
© {{year}}
Forged from 🔥 © {{year}}
<a href="http://www.nidratech.com/" target="_blank" rel="noopener noreferrer">
Nidratech Ltd
</a>
<a href="https://www.nidratech.com/" target="_blank" rel="noopener noreferrer">
Nidratech Ltd
</a>
</div>
<a href="https://play.google.com/store/apps/details?id=com.hoboman313.huegasm" target="_blank" rel="noopener noreferrer">
<img src="assets/images/google-play-badge.png" alt="Get it on the Google Play Store">
<img src="assets/images/android-play-badge.png" alt="Get it on the Google Play Store">
</a>

View file

@ -0,0 +1,9 @@
import Ember from 'ember';
const { computed, Controller } = Ember;
export default Controller.extend({
year: computed(function() {
return new Date().getFullYear();
})
});

View file

@ -0,0 +1,4 @@
import Route from '@ember/routing/route';
export default Route.extend({
});

View file

@ -0,0 +1,50 @@
<div id="huegasm">
<div class="ready-block">
<div id="intro-background">
<div id="intro-wrapper">
<p id="intro">Your lights meet your music</p>
<p id="intro-paragraph">
Huegasm is a free
<a href="https://chrome.google.com/webstore/detail/huegasm-for-philips-hue-l/mbjanbdhcpohhfecjgbdpcfhnnbofooj" target="_blank" rel="noopener noreferrer">
Chrome</a>,
<a href="https://play.google.com/store/apps/details?id=com.hoboman313.huegasm" target="_blank" rel="noopener noreferrer">
Android</a> and soon iOS app for managing and synchronizing your
<a target="_blank" href="http://www2.meethue.com">Philips Hue lights</a> with the beat of your music.
</p>
<div class="embed-container-wrapper">
<div class="embed-container">
<iframe width="560" height="315" src="https://www.youtube.com/embed/zi9J6Qg-MPw" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="available-on-container">
<p class="available-on">Available on:</p>
<div class="available-on-list">
<a href="https://chrome.google.com/webstore/detail/huegasm-for-philips-hue-l/mbjanbdhcpohhfecjgbdpcfhnnbofooj" target="_blank" rel="noopener noreferrer">
<img src="assets/images/chrome-store-badge.png" alt="Available in the Chrome Web Store"></a>
<a href="https://play.google.com/store/apps/details?id=com.hoboman313.huegasm" target="_blank" rel="noopener noreferrer">
<img src="assets/images/android-play-badge.png" alt="Get it on the Google Play Store"></a>
{{#link-to "web-app" class="btn btn-default" role="button"}}
Web (legacy)
{{/link-to}}
</div>
</div>
</div>
</div>
</div>
</div>
<footer id="footer" class="show">
<div id="footer-text">
Forged from 🔥 © {{year}}
<a href="https://www.nidratech.com/" target="_blank" rel="noopener noreferrer">
Nidratech Ltd
</a>
</div>
</footer>

View file

@ -6,10 +6,10 @@ export default Controller.extend({
dimmerOn: false,
lightsIconsOn: true,
init(){
init() {
this._super(...arguments);
let storage = new window.Locally.Store({compress: true}),
let storage = new window.Locally.Store({ compress: true }),
dimmerOn = storage.get('huegasm.dimmerOn'),
lightsIconsOn = storage.get('huegasm.lightsIconsOn');
this.set('storage', storage);
@ -31,7 +31,7 @@ export default Controller.extend({
this.get('storage').set('huegasm.lightsIconsOn', lightsIconsOn);
},
toggleDimmer(){
toggleDimmer() {
this.toggleProperty('dimmerOn');
let dimmerOn = this.get('dimmerOn');

View file

@ -0,0 +1,4 @@
{{huegasm-app toggleLightsIcons="toggleLightsIcons" toggleDimmer="toggleDimmer" dimmerOn=dimmerOn lightsIconsOn=lightsIconsOn
storage=storage}}
{{huegasm-footer storage=storage}}

View file

@ -7,6 +7,8 @@ const Router = Ember.Router.extend({
});
Router.map(function() {
this.route('android-privacy-policy');
this.route('web-app');
});
export default Router;

View file

@ -7,6 +7,7 @@
@import 'common';
@import 'dimmer';
@import 'fancy-speaker';
@import 'index';
@import 'introjs';
@import 'hue-controls';
@import 'light-group';
@ -19,7 +20,8 @@ body > .ember-view {
flex-direction: column;
}
body, button {
body,
button {
font-family: 'Raleway', sans-serif;
}
@ -48,7 +50,7 @@ body, button {
padding: 0 15px;
}
@media(min-width:767px) {
@media (min-width: 767px) {
#footer {
padding: 0 9%;
}
@ -76,35 +78,16 @@ button.md-warn {
display: flex !important;
}
#intro-background {
min-height: 50vh;
min-height: 200px;
padding: 0 0 10px;
#intro-wrapper {
width: 80%;
padding: 0 10px 10px;
border-radius: 5px;
margin: auto;
}
}
.privacy-policy {
padding: 1%;
.video-icon {
position: absolute;
md-icon {
transition: all .1s linear;
color: rgba($blackish, 0.4) !important;
&:hover {
color: rgba($blackish, 0.7) !important;
}
h2 {
margin-top: 0;
}
}
// fancy webkit scrollbars
@media(min-width:767px) {
#intro {
padding: 1vh 0 3vh;
}
@media (min-width: 767px) {
::-webkit-scrollbar {
-webkit-appearance: none;
}
@ -118,14 +101,13 @@ button.md-warn {
}
::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, .5);
background-color: rgba(0, 0, 0, 0.5);
border-radius: 10px;
border: 2px solid #ffffff;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-track {
background-color: #ffffff;
}
}

View file

@ -10,29 +10,22 @@
text-align: left;
}
#bridge-input md-input-container{
#bridge-input md-input-container {
max-width: 200px;
margin: 30px auto 20px;
}
#intro {
font-size: 32px;
}
#intro-paragraph {
margin-bottom: 20px;
margin-bottom: 5vh;
font-size: 18px;
}
#bridge-finder, .ready-block {
#bridge-finder,
.ready-block {
text-align: center;
font-size: 16px;
}
.ready-block {
margin-bottom: 10vh;
}
#bridge-finder {
min-height: 500px;
flex-direction: column;
@ -44,34 +37,37 @@
}
.embed-container {
position:relative;
padding-bottom:56.25%;
padding-top:30px;
height:0;
overflow:hidden;
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.embed-container iframe, .embed-container object, .embed-container embed {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
.embed-container iframe,
.embed-container object,
.embed-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.go-button {
margin: 20px 0;
margin: 0 0 20px;
border-radius: 100% !important;
width: 100px;
height: 100px;
font-size: 28px;
transition: all .1s linear;
transition: all 0.1s linear;
&:hover {
background-color: darken(#f44336, 7%) !important;
}
}
@media(max-width:768px) {
@media (max-width: 768px) {
.ready-block {
margin-bottom: 10px;
}

70
web/app/styles/index.scss Normal file
View file

@ -0,0 +1,70 @@
#intro {
font-size: 32px;
margin-top: 4vh;
&-background {
margin-bottom: 5vh;
}
&-wrapper {
width: 80%;
padding: 0 1vw;
border-radius: 5px;
margin: auto;
}
}
.available-on {
&-container {
text-align: left;
margin-top: 1vh;
}
&-list a {
margin-right: 2vw;
}
}
.embed-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
&-wrapper {
max-width: 500px;
margin: auto;
}
iframe,
object,
embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
@media (min-width: 767px) {
#intro {
padding: 1vh 0 3vh;
}
.available-on-container {
margin-left: 40px;
}
}
@media (max-width: 768px) {
.available-on-container {
margin-top: 2vh;
}
.available-on-list a {
display: block;
margin-top: 2vh;
}
}

View file

@ -1,5 +0,0 @@
{{!-- The following component displays Ember's default welcome message. --}}
{{welcome-page}}
{{!-- Feel free to remove this! --}}
{{outlet}}

View file

@ -9,7 +9,7 @@
"test": "tests"
},
"scripts": {
"start": "ember server",
"start": "ember server --port=4201",
"build": "ember build --env=production",
"deploy": "ember deploy production"
},
@ -19,7 +19,7 @@
"author": "Nidratech Ltd.",
"devDependencies": {
"broccoli-asset-rev": "^2.2.0",
"ember-cli": "^2.14.0",
"ember-cli": "~2.18.0",
"ember-cli-app-version": "^3.0.0",
"ember-cli-babel": "^6.0.0",
"ember-cli-dependency-checker": "^2.0.0",
@ -44,7 +44,7 @@
"ember-notify": "^5.0.4",
"ember-paper": "^1.0.0-alpha.19",
"ember-resolver": "^4.0.0",
"ember-source": "^2.11.0",
"ember-source": "~2.18.0",
"ember-truth-helpers": "^2.0.0",
"loader.js": "^4.0.7"
}

View file

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because it is too large Load diff