summaryrefslogtreecommitdiffstats
path: root/src/dashboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/dashboard.js')
-rw-r--r--src/dashboard.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/dashboard.js b/src/dashboard.js
new file mode 100644
index 00000000..40c8dee4
--- /dev/null
+++ b/src/dashboard.js
@@ -0,0 +1,53 @@
+/**
+ * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @author John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+import { generateFilePath } from '@nextcloud/router'
+import { getRequestToken } from '@nextcloud/auth'
+import { translate, translatePlural } from '@nextcloud/l10n'
+import Vue from 'vue'
+
+import store from './store/index.js'
+import DashboardOnThisDay from './components/Dashboard/DashboardOnThisDay.vue'
+
+// CSP config for webpack dynamic chunk loading
+// eslint-disable-next-line
+__webpack_nonce__ = btoa(getRequestToken())
+
+// Correct the root of the app for chunk loading
+// OC.linkTo matches the apps folders
+// OC.generateUrl ensure the index.php (or not)
+// We do not want the index.php since we're loading files
+// eslint-disable-next-line
+__webpack_public_path__ = generateFilePath('photos', '', 'js/')
+
+Vue.prototype.t = translate
+Vue.prototype.n = translatePlural
+
+window.addEventListener('DOMContentLoaded', () => {
+ OCA.Dashboard.register('photos.onthisday', (el) => {
+ global.PhotosOnThisDay = new Vue({
+ el,
+ store,
+ render: h => h(DashboardOnThisDay),
+ })
+ })
+})