aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/src/main-personal-info.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings/src/main-personal-info.js')
-rw-r--r--apps/settings/src/main-personal-info.js85
1 files changed, 49 insertions, 36 deletions
diff --git a/apps/settings/src/main-personal-info.js b/apps/settings/src/main-personal-info.js
index 7694fa4ff6d..5ccfc9848c0 100644
--- a/apps/settings/src/main-personal-info.js
+++ b/apps/settings/src/main-personal-info.js
@@ -1,63 +1,76 @@
/**
- * @copyright 2021, Christopher Ng <chrng8@gmail.com>
- *
- * @author Christopher Ng <chrng8@gmail.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/>.
- *
+ * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
import Vue from 'vue'
-import { getRequestToken } from '@nextcloud/auth'
+import { getCSPNonce } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import { translate as t } from '@nextcloud/l10n'
-import '@nextcloud/dialogs/styles/toast.scss'
-import logger from './logger'
+import AvatarSection from './components/PersonalInfo/AvatarSection.vue'
+import BiographySection from './components/PersonalInfo/BiographySection.vue'
+import BirthdaySection from './components/PersonalInfo/BirthdaySection.vue'
+import DetailsSection from './components/PersonalInfo/DetailsSection.vue'
+import DisplayNameSection from './components/PersonalInfo/DisplayNameSection.vue'
+import EmailSection from './components/PersonalInfo/EmailSection/EmailSection.vue'
+import FediverseSection from './components/PersonalInfo/FediverseSection.vue'
+import FirstDayOfWeekSection from './components/PersonalInfo/FirstDayOfWeekSection.vue'
+import HeadlineSection from './components/PersonalInfo/HeadlineSection.vue'
+import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'
+import LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'
+import LocationSection from './components/PersonalInfo/LocationSection.vue'
+import OrganisationSection from './components/PersonalInfo/OrganisationSection.vue'
+import PhoneSection from './components/PersonalInfo/PhoneSection.vue'
+import ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'
+import ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue'
+import PronounsSection from './components/PersonalInfo/PronounsSection.vue'
+import RoleSection from './components/PersonalInfo/RoleSection.vue'
+import TwitterSection from './components/PersonalInfo/TwitterSection.vue'
+import BlueskySection from './components/PersonalInfo/BlueskySection.vue'
+import WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'
-import DisplayNameSection from './components/PersonalInfo/DisplayNameSection/DisplayNameSection'
-import EmailSection from './components/PersonalInfo/EmailSection/EmailSection'
-import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection'
-import ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection'
-import OrganisationSection from './components/PersonalInfo/OrganisationSection/OrganisationSection'
-import RoleSection from './components/PersonalInfo/RoleSection/RoleSection'
-import HeadlineSection from './components/PersonalInfo/HeadlineSection/HeadlineSection'
-import BiographySection from './components/PersonalInfo/BiographySection/BiographySection'
-import ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection'
-
-__webpack_nonce__ = btoa(getRequestToken())
+__webpack_nonce__ = getCSPNonce()
const profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)
Vue.mixin({
- props: {
- logger,
- },
methods: {
t,
},
})
+const AvatarView = Vue.extend(AvatarSection)
+const BirthdayView = Vue.extend(BirthdaySection)
+const DetailsView = Vue.extend(DetailsSection)
const DisplayNameView = Vue.extend(DisplayNameSection)
const EmailView = Vue.extend(EmailSection)
+const FediverseView = Vue.extend(FediverseSection)
+const FirstDayOfWeekView = Vue.extend(FirstDayOfWeekSection)
const LanguageView = Vue.extend(LanguageSection)
+const LocaleView = Vue.extend(LocaleSection)
+const LocationView = Vue.extend(LocationSection)
+const PhoneView = Vue.extend(PhoneSection)
+const PronounsView = Vue.extend(PronounsSection)
+const TwitterView = Vue.extend(TwitterSection)
+const BlueskyView = Vue.extend(BlueskySection)
+const WebsiteView = Vue.extend(WebsiteSection)
+new AvatarView().$mount('#vue-avatar-section')
+new DetailsView().$mount('#vue-details-section')
new DisplayNameView().$mount('#vue-displayname-section')
new EmailView().$mount('#vue-email-section')
+new PhoneView().$mount('#vue-phone-section')
+new LocationView().$mount('#vue-location-section')
+new WebsiteView().$mount('#vue-website-section')
+new TwitterView().$mount('#vue-twitter-section')
+new BlueskyView().$mount('#vue-bluesky-section')
+new FediverseView().$mount('#vue-fediverse-section')
new LanguageView().$mount('#vue-language-section')
+new LocaleView().$mount('#vue-locale-section')
+new FirstDayOfWeekView().$mount('#vue-fdow-section')
+new BirthdayView().$mount('#vue-birthday-section')
+new PronounsView().$mount('#vue-pronouns-section')
if (profileEnabledGlobally) {
const ProfileView = Vue.extend(ProfileSection)