Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Candle - the privacy friendly smart home committed Apr 30, 2022
1 parent c92a87b commit 2e11ef3
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 31 deletions.
28 changes: 24 additions & 4 deletions css/extension.css
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,12 @@

.extension-candleappstore-selected-settings{
font-style:italic;
margin-bottom:4rem;
}

.extension-candleappstore-selected-settings:not(:empty)::before{
content:"This addon has the following settings: ";
display:inline-block;
display:block;
margin-right:1rem;
font-weight: normal;
font-style:normal;
Expand Down Expand Up @@ -244,7 +245,7 @@

.extension-candleappstore-item-delete-button:hover{
opacity:1;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
/*box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);*/
}


Expand Down Expand Up @@ -278,7 +279,7 @@

.extension-candleappstore-item:hover{
/*box-shadow: inset 0rem -1rem white;*/
box-shadow: inset 0rem 0rem 100rem rgba(0,0,0,.5);
box-shadow: inset 0rem 0rem 100rem rgba(0,0,0,.3);
}

#extension-candleappstore-list .extension-candleappstore-item:first-of-type{
Expand Down Expand Up @@ -314,6 +315,10 @@
opacity:.9;
}

.extension-candleappstore-basic-name > span:first-letter{
text-transform: capitalize;
}

.extension-candleappstore-basic-version{
margin-left:1rem;
opacity:.5;
Expand Down Expand Up @@ -618,7 +623,8 @@ body:not(.developer) #extension-candleappstore-show-advanced-settings-button + d
cursor:pointer;
}
.extension-candleappstore-button:hover{
box-shadow:1px 1px black;
/*box-shadow:1px 1px black;*/
opacity:1;
}

#extension-candleappstore-selected.installed .extension-candleappstore-install-button{
Expand Down Expand Up @@ -1059,6 +1065,10 @@ body:not(.developer) #extension-candleappstore-show-advanced-settings-button + d
margin: 4rem auto;
}

.kiosk .extension-candleappstore-centered-page{
margin-bottom:50vh;
}

.extension-candleappstore-centered-error{
text-align:center;
}
Expand Down Expand Up @@ -1312,6 +1322,12 @@ body:not(.developer) #extension-candleappstore-show-advanced-settings-button + d
display:none;
}

#extension-candleappstore-screenshots img{
margin:2rem 0;
}
#extension-candleappstore-screenshots img + img{
margin-top:1rem;
}

/*
.extension-candleappstore-domains h4{
Expand Down Expand Up @@ -1992,6 +2008,10 @@ body:not(.developer) #extension-candleappstore-show-advanced-settings-button + d
#extension-candleappstore-list .extension-candleappstore-item:first-of-type{
background-image: url(../images/background3.png)!important;
}

#extension-candleappstore-selected-main{
padding:4rem;
}
}

@media screen and (min-width: 1525px) {
Expand Down
71 changes: 54 additions & 17 deletions js/extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

this.debug = false;
this.developer = false;
this.exhibit_mode = false;

this.apps_overview = {};
this.installed = []; // has data about folders in the addons folder. Comes from app store addon, and is then updated if addons are installed or uninstalled.
this.cloud_app_data = []; // list of available apps, comes from the web via app store addon. #TODO: buffer this data locally to protect privacy
Expand Down Expand Up @@ -51,6 +53,8 @@
//console.log("local storage JWT: ", localStorage.getItem('jwt'));


document.getElementById('add-adapters-hint-anchor').href = '/candleappstore';

//
// PRE-INIT
//
Expand Down Expand Up @@ -92,7 +96,16 @@
}
document.body.classList.add('developer');
}
this.developer = body.developer;
if(document.body.classList.contains('developer')){
this.developer = true;
console.log("early init: developer = true");
}
}

if(typeof body.exhibit_mode != 'undefined'){
if(body.exhibit_mode){
this.exhibit_mode = true;
}
}

if(typeof body.disable_uninstall != 'undefined'){
Expand All @@ -101,7 +114,6 @@
}
}



})
.catch((e) => {
Expand Down Expand Up @@ -714,6 +726,7 @@
document.getElementById("extension-candleappstore-developer-addon-install-button").addEventListener('click', (event) => {
console.log("manual addon install button clicked");

if(this.exhibit_mode){return;}

const addon_id = document.getElementById('extension-candleappstore-developer-addon-id').value;
const url = document.getElementById('extension-candleappstore-developer-addon-url').value;
Expand Down Expand Up @@ -818,6 +831,8 @@
review_save_button.addEventListener('click', (event) => {
//console.log("review save button clicked");

if(this.exhibit_mode){return;}

review_response.innerHTML = "";
auth_response.innerHTML = "";

Expand Down Expand Up @@ -1017,7 +1032,11 @@
//document.getElementById('developer-settings-link').style.display = 'block';
document.body.classList.add('developer');
}
this.developer = body.developer;
if(document.body.classList.contains('developer')){
this.developer = true;
console.log("developer = true");
}

}


Expand Down Expand Up @@ -1751,7 +1770,9 @@
event.stopImmediatePropagation();
//if (event.target.tagName.toLowerCase() === 'label') {
//console.log( addon_id );




const this_addon_id = event.target.getAttribute('data-addon_id')

var should_enable = null;
Expand All @@ -1766,6 +1787,9 @@
}

if(should_enable != null){
if(this.developer == false){
document.getElementById('connectivity-scrim').classList.remove('hidden');
}
//console.log("SWITCHING ADDON: " + this_addon_id + ", TO NEW STATE: " + should_enable);
event.target.innerText = "....";
window.API.setAddonSetting( this_addon_id, should_enable)
Expand All @@ -1774,8 +1798,8 @@
//console.log(result);

if(typeof result.enabled != 'undefined'){
console.log('addon has been switched to: ', result.enabled);
console.log("event.target.dataset.extension: ", event.target.dataset.extension);
//console.log('addon has been switched to: ', result.enabled);
//console.log("event.target.dataset.extension: ", event.target.dataset.extension);
}

//console.log("ui_extension = " + ui_extension);
Expand All @@ -1790,11 +1814,11 @@
}

//if(result['enabled']){
document.getElementById('connectivity-scrim').classList.remove('hidden');
if(this.developer == false){
setTimeout(function(){
window.location.reload(true); // harsh, but no UI's without backends this way.
}, 2000);
}
//}


Expand Down Expand Up @@ -1851,10 +1875,12 @@
else{
event.target.innerText = "Stop";
}
document.getElementById('connectivity-scrim').classList.add('hidden');
//pre.innerText = e.toString();
});
}
else{
//document.getElementById('connectivity-scrim').classList.add('hidden');
alert("There is something wrong with this app. You could try re-installing it.");
}

Expand Down Expand Up @@ -2075,19 +2101,19 @@
// Check if all addon directories are output in the list
var not_shown_addons_list = [];
if(page == 'installed'){
console.log("shown_as_installed_list: ", shown_as_installed_list);
console.log("installed dirs: ", this.installed);
//console.log("shown_as_installed_list: ", shown_as_installed_list);
//console.log("installed dirs: ", this.installed);
for(var p = 0; p < this.installed.length; p++){

if(shown_as_installed_list.indexOf( this.installed[p] ) == -1){
console.log("Spotted an addon that was not shown in the installed list, but should have been: ", this.installed[p]);
console.log("Candle App store: warning, spotted an addon that was not shown in the installed list, but should have been: ", this.installed[p]);
not_shown_addons_list.push( this.installed[p] );
}
}
}

if(not_shown_addons_list.length > 0){
console.log("not_shown_addons_list: ", not_shown_addons_list);
//console.log("not_shown_addons_list: ", not_shown_addons_list);
/*
this.get_installed_addons_data()
.then((result) => {
Expand Down Expand Up @@ -2367,15 +2393,15 @@
screenshot1.onload = function() {
this.style.opacity = 1;
};
screenshot1.src = 'https://www.candlesmarthome.com/appstore/images/' + String(addon_id) + '/screenshot.png';
screenshot1.src = 'https://www.candlesmarthome.com/appstore/images/' + String(addon_id) + '/screenshot.jpg';
target_element.appendChild(screenshot1);

var screenshot2 = document.createElement('img');
screenshot2.style.opacity = 0
screenshot2.onload = function() {
this.style.opacity = 1;
};
screenshot2.src = 'https://www.candlesmarthome.com/appstore/images/' + String(addon_id) + '/screenshot.jpg';
screenshot2.src = 'https://www.candlesmarthome.com/appstore/images/' + String(addon_id) + '/screenshot.png';
target_element.appendChild(screenshot2);

//document.getElementById('extension-candleappstore-screenshots').appendChild(img);
Expand Down Expand Up @@ -2476,7 +2502,11 @@
b.addEventListener('click', (event) => {
//console.log("install button clicked");
//console.log(event);

event.stopImmediatePropagation();

if(this.exhibit_mode){return;}

event.target.style.display = 'none';

//selected.style.display = 'none';
Expand Down Expand Up @@ -2550,7 +2580,9 @@
//console.log(event);
event.stopImmediatePropagation();
//console.log( data['versions'][v]["addon_id"] );


if(this.exhibit_mode){return;}

const addon_id = data['versions'][v]["addon_id"];


Expand Down Expand Up @@ -3526,7 +3558,9 @@
//console.log("settings save button clicked");
//console.log(event);
event.stopImmediatePropagation();


if(this.exhibit_mode){return;}

//const addon_id = data[i]["addon_id"];

// extract new settings
Expand Down Expand Up @@ -3584,7 +3618,10 @@
//console.log(new_data);

settings_container.classList.add("extension-candleappstore-busy");
document.getElementById('connectivity-scrim').classList.remove('hidden');
if(this.developer == false){
document.getElementById('connectivity-scrim').classList.remove('hidden');
}


//window.API.setAddonConfig( addon_id, JSON.stringify(new_data) )
window.API.setAddonConfig( addon_id, new_data )
Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
}
},
"short_name": "candleapps",
"version": "0.4.8",
"version": "0.4.9",
"web_accessible_resources": [
"css/*.css",
"images/*.svg",
Expand Down
10 changes: 6 additions & 4 deletions pkg/candleappstore_adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ def __init__(self, verbose=True):
print("Starting Candleappstore addon")
#print(str( os.path.join(os.path.dirname(os.path.abspath(__file__)), 'lib') ))
self.pairing = False
self.ready = False
self.DEBUG = False
self.DEV = False
self.addon_name = 'candleappstore'
Expand All @@ -93,6 +94,10 @@ def __init__(self, verbose=True):
self.running = True
self.app_store_url = 'https://www.candlesmarthome.com/appstore/'

self.exhibit_mode = False
if os.path.isfile('/boot/exhibit_mode.txt'):
self.exhibit_mode = True

# Uninstall
self.keep_data_on_uninstall = False
self.disable_uninstall = False
Expand Down Expand Up @@ -191,9 +196,6 @@ def __init__(self, verbose=True):
#self.ssid = self.candleappstore_name + " " + self.persistent_data['unique_id'] + "_nomap"
#print("ssid = " + str(self.ssid))




#
# Create UI
#
Expand All @@ -209,7 +211,7 @@ def __init__(self, verbose=True):

print("end of candle app store adapter init")


self.ready = True


#
Expand Down
2 changes: 1 addition & 1 deletion pkg/candleappstore_api_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ def handle_request(self, request):
return APIResponse(
status=200,
content_type='application/json',
content=json.dumps({'state' : True, 'message' : 'initialisation complete', 'addons': self.adapter.persistent_data['addons'], 'app_store_url':self.adapter.app_store_url, 'installed':installed_addons, 'permissions':self.adapter.persistent_data['permissions'], 'developer':self.adapter.developer, 'disable_uninstall':self.adapter.disable_uninstall, 'debug':self.adapter.DEBUG}),
content=json.dumps({'state' : True, 'message' : 'initialisation complete', 'addons': self.adapter.persistent_data['addons'], 'app_store_url':self.adapter.app_store_url, 'installed':installed_addons, 'permissions':self.adapter.persistent_data['permissions'], 'developer':self.adapter.developer, 'disable_uninstall':self.adapter.disable_uninstall, 'exhibit_mode':self.adapter.exhibit_mode, 'debug':self.adapter.DEBUG}),
)


Expand Down
8 changes: 4 additions & 4 deletions views/content.html
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ <h4>Manual addon installation</h4>
</div>

<div id="extension-candleappstore-developer-busy-installing-app" style="display:none">
<div class="extension-privacy-manager-spinner">
<div class="extension-candleappstore-spinner">
<div></div><div></div><div></div><div></div>
</div>
</div>
Expand Down Expand Up @@ -207,7 +207,7 @@ <h3 id="extension-candleappstore-show-advanced-settings-button">Advanced setting


<div id="extension-candleappstore-busy-loading-app">
<div class="extension-privacy-manager-spinner">
<div class="extension-candleappstore-spinner">
<div></div><div></div><div></div><div></div>
</div>
</div>
Expand Down Expand Up @@ -384,13 +384,13 @@ <h3 id="extension-candleappstore-selected-reviews-title">Reviews</h3>

<div id="extension-candleappstore-busy-installing">
<h1 style="text-align:center">Installing</h1>
<div class="extension-privacy-manager-spinner">
<div class="extension-candleappstore-spinner">
<div></div><div></div><div></div><div></div>
</div>
</div>
<div id="extension-candleappstore-busy-uninstalling">
<h1 style="text-align:center">Uninstalling</h1>
<div class="extension-privacy-manager-spinner">
<div class="extension-candleappstore-spinner">
<div></div><div></div><div></div><div></div>
</div>
</div>
Expand Down

0 comments on commit 2e11ef3

Please sign in to comment.