Skip to content

Commit

Permalink
Add web time
Browse files Browse the repository at this point in the history
  • Loading branch information
javalikescript committed May 12, 2024
1 parent a1bbee7 commit 1ed97ae
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
7 changes: 7 additions & 0 deletions extensions/web-time/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "Web Time",
"description": "Display date and time",
"dependencies": ["web-base"],
"version": "1.0",
"script": "../web-base/web-ext.lua"
}
47 changes: 47 additions & 0 deletions extensions/web-time/web-time.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
define(['./web-time.xml'], function(timeTemplate) {

var timeVue = new Vue({
template: timeTemplate,
data: {
date: '',
time: '',
timer: null
},
methods: {
onShow: function() {
var self = this;
var date = new Date();
self.refresh(date);
var ms = 1000 - (date.getTime() % 1000);
setTimeout(function() {
self.refresh(new Date());
self.registerTimer(1000);
}, ms);
},
onHide: function() {
this.clearTimer();
},
refresh: function(date) {
//console.info('refresh at ' + date.toISOString());
this.date = date.toLocaleDateString(undefined, {dateStyle: 'full'});
this.time = date.toLocaleTimeString(undefined, {timeStyle: 'short'});
},
registerTimer: function(ms) {
var self = this;
this.clearTimer();
this.timer = setInterval(function() {
self.refresh(new Date());
}, ms || 60000);
},
clearTimer: function() {
if (this.timer !== null) {
clearInterval(this.timer);
this.timer = null;
}
}
}
});

addPageComponent(timeVue, 'fa-clock');

});
8 changes: 8 additions & 0 deletions extensions/web-time/web-time.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<app-page id="time" title="Time">
<page-article>
<div style="text-align: center; padding-top: 1rem; -webkit-box-reflect: below 2px linear-gradient(transparent, rgba(255, 255, 255, 0.05));">
<p style="font-size: 2rem;">{{ date }}</p>
<p style="font-size: 4rem; font-weight: bold;">{{ time }}</p>
</div>
</page-article>
</app-page>

0 comments on commit 1ed97ae

Please sign in to comment.