Skip to content

Commit 762eec7

Browse files
committed
improved my-view reload animation; added switch-language action
1 parent 6c1ea4d commit 762eec7

File tree

4 files changed

+51
-11
lines changed

4 files changed

+51
-11
lines changed

www/css/sepiaFW-style.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,6 +1624,10 @@ body {
16241624

16251625
#sepiaFW-my-view {
16261626
}
1627+
#sepiaFW-my-view.disabled {
1628+
pointer-events: none;
1629+
user-select: none;
1630+
}
16271631
#sepiaFW-my-view > .sepiaFW-cards-flexSize-container {
16281632
padding-bottom: 5px !important;
16291633
margin-bottom: 10px;

www/scripts/sepiaFW.local.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ function sepiaFW_build_strings(){
7272
StringsDE.reload = 'Neu laden';
7373
StringsDE.refreshUI = 'Interface neu laden';
7474
StringsDE.refreshUI_info = 'Um Änderungen, die hier gemacht wurden zu <u>sehen</u> muss das Interface neu geladen werden';
75+
StringsDE.lastUpdate = 'Zuletzt aktualisiert';
7576
StringsDE.recommendationsFor = 'Empfehlungen für';
7677
StringsDE.forNewcomers = 'Für Neuankömmlinge';
7778
StringsDE.myCustomButtons = 'Meine Aktionen';
@@ -164,6 +165,7 @@ function sepiaFW_build_strings(){
164165
StringsEN.reload = 'Reload';
165166
StringsEN.refreshUI = 'Refresh interface';
166167
StringsEN.refreshUI_info = 'To <u>see</u> changes you made here you need to refresh the interface';
168+
StringsEN.lastUpdate = 'Last update';
167169
StringsEN.recommendationsFor = 'Recommendations for';
168170
StringsEN.forNewcomers = 'For newcomers';
169171
StringsEN.myCustomButtons = 'My actions';

www/scripts/sepiaFW.speech.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -722,18 +722,31 @@ function sepiaFW_build_speech(){
722722
//TODO: implement
723723
}else{
724724
selectedVoice = newVoice;
725-
var selectedVoiceObjectArray = speechSynthesis.getVoices().filter(function(voice){
726-
return (voice && voice.name && (voice.name === selectedVoice));
727-
});
728-
if (selectedVoiceObjectArray.length == 0){
729-
selectedVoiceObject = {};
725+
if (selectedVoice){
726+
var selectedVoiceObjectArray = speechSynthesis.getVoices().filter(function(voice){
727+
return (voice && voice.name && (voice.name === selectedVoice));
728+
});
729+
if (selectedVoiceObjectArray.length == 0){
730+
selectedVoiceObject = {};
731+
}else{
732+
selectedVoiceObject = selectedVoiceObjectArray[0];
733+
}
730734
}else{
731-
selectedVoiceObject = selectedVoiceObjectArray[0];
735+
selectedVoiceObject = {};
732736
}
733737
SepiaFW.debug.log("TTS voice set: " + ((selectedVoiceObject.name)? selectedVoiceObject.name : "undefined"));
734738
}
735739
}
736740
}
741+
Speech.getActiveVoice = function(){
742+
return selectedVoice;
743+
}
744+
Speech.refreshVoice = function(){
745+
if (voices && voices.length > 0){
746+
selectedVoice = undefined;
747+
setVoiceOnce();
748+
}
749+
}
737750

738751
//speak an utterance
739752
Speech.speak = function(text, finishedCallback, errorCallback, startedCallback){
@@ -949,14 +962,14 @@ function sepiaFW_build_speech(){
949962
if (SepiaFW.ui.isEdge){
950963
if (SepiaFW.config.appLanguage === "de"){
951964
Speech.setVoice('Microsoft Katja Mobile - German (Germany)');
952-
}else{
965+
}else if(SepiaFW.config.appLanguage === "en"){
953966
Speech.setVoice('Microsoft Zira Mobile - English (United States)');
954967
}
955968

956969
}else if (SepiaFW.ui.isChromeDesktop){
957970
if (SepiaFW.config.appLanguage === "de"){
958971
Speech.setVoice('Google Deutsch');
959-
}else{
972+
}else if(SepiaFW.config.appLanguage === "en"){
960973
Speech.setVoice('Google UK English Female');
961974
}
962975
}

www/scripts/sepiaFW.ui.actions.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,15 +302,25 @@ function sepiaFW_build_ui_actions(){
302302
}
303303
SepiaFW.events.addOrRefreshTimeEvent(action.targetTimeUnix, eventType, action);
304304
}
305+
306+
//SWITCH LANGUAGE
307+
Actions.switchLanguage = function(action){
308+
if (action.language_code){
309+
SepiaFW.config.broadcastLanguage(action.language_code);
310+
}
311+
}
305312

306313
//EVENTS START
307314
Actions.buildMyEventsBox = function(action, parentBlock){
308315
//fadeout old
309316
var aButtonsAreaReplaced = document.getElementById('sepiaFW-myEvents-buttons');
310317
if (aButtonsAreaReplaced){
318+
//temporary disable interaction with my-view to prevent false click
319+
$('#sepiaFW-my-view').addClass('disabled');
320+
//remove
311321
aButtonsAreaReplaced.id = 'sepiaFW-myEvents-buttons-replaced';
312322
var oldEventsParent = $(aButtonsAreaReplaced).closest('.chatMsg');
313-
oldEventsParent.fadeOut(300, function(){
323+
oldEventsParent.hide(300, function(){
314324
oldEventsParent.remove();
315325
});
316326
}else{
@@ -328,13 +338,20 @@ function sepiaFW_build_ui_actions(){
328338
titleNote.innerHTML = SepiaFW.local.g('recommendationsFor') + " " + SepiaFW.account.getUserName() + ":";
329339
var dateNote = document.createElement('DIV');
330340
dateNote.className = 'sepiaFW-myEvents-dateHeader';
331-
dateNote.innerHTML = (new Date().toLocaleString());
341+
var d = new Date();
342+
dateNote.innerHTML = (SepiaFW.local.g('lastUpdate') + ": "
343+
+ d.toLocaleDateString() + " - " + d.toLocaleTimeString([], {hour: 'numeric', minute:'2-digit'}));
332344
$(aButtonsArea).prepend(dateNote);
333345
$(aButtonsArea).prepend(titleNote);
334346

335347
//show again on top
336348
$(parentBlock).append(aButtonsArea);
337-
$(aButtonsArea).fadeIn(500);
349+
setTimeout(function(){
350+
//show and enable everything again
351+
$(aButtonsArea).show(300, function(){
352+
$('#sepiaFW-my-view').removeClass('disabled');
353+
});
354+
}, 200);
338355

339356
return aButtonsArea;
340357
}
@@ -471,6 +488,10 @@ function sepiaFW_build_ui_actions(){
471488
}else{
472489
SepiaFW.debug.info('UNSUPPORTED ACTION (timeEvent): ' + JSON.stringify(actionInfo));
473490
}
491+
492+
//Language switcher
493+
}else if (type === 'switch_language'){
494+
Actions.switchLanguage(data.actionInfo[i]);
474495

475496
//UNKNOWN
476497
}else{

0 commit comments

Comments
 (0)