diff --git a/src/client/app.vue b/src/client/app.vue
index c2e60c9bbe..615f6b9cd3 100644
--- a/src/client/app.vue
+++ b/src/client/app.vue
@@ -293,7 +293,7 @@ export default Vue.extend({
const ro = new ResizeObserver((entries, observer) => {
adjustTitlePosition();
});
-
+
ro.observe(this.$refs.contents);
window.addEventListener('resize', adjustTitlePosition);
@@ -556,6 +556,7 @@ export default Vue.extend({
'calendar',
'rss',
'trends',
+ 'clock'
];
this.$root.menu({
diff --git a/src/client/components/analog-clock.vue b/src/client/components/analog-clock.vue
new file mode 100644
index 0000000000..a107362240
--- /dev/null
+++ b/src/client/components/analog-clock.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
diff --git a/src/client/widgets/clock.vue b/src/client/widgets/clock.vue
new file mode 100644
index 0000000000..bd521813b7
--- /dev/null
+++ b/src/client/widgets/clock.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
diff --git a/src/client/widgets/index.ts b/src/client/widgets/index.ts
index 4743be0763..d6af41e2f8 100644
--- a/src/client/widgets/index.ts
+++ b/src/client/widgets/index.ts
@@ -6,3 +6,4 @@ Vue.component('mkw-timeline', () => import('./timeline.vue').then(m => m.default
Vue.component('mkw-calendar', () => import('./calendar.vue').then(m => m.default));
Vue.component('mkw-rss', () => import('./rss.vue').then(m => m.default));
Vue.component('mkw-trends', () => import('./trends.vue').then(m => m.default));
+Vue.component('mkw-clock', () => import('./clock.vue').then(m => m.default));