From 297c8f2b672f8d610b8baaae88aaf111ac36afaf Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Mon, 23 Sep 2019 11:14:54 +0200 Subject: [PATCH] Resolve "[Epic] New landing page" --- changes/changelog.d/872.feature | 1 + changes/notes.rst | 33 ++ front/src/App.vue | 24 +- front/src/assets/network.png | Bin 0 -> 120672 bytes front/src/components/About.vue | 342 ++++++++++++++--- front/src/components/Home.vue | 383 ++++++++++++++------ front/src/components/audio/album/Widget.vue | 3 +- front/src/components/auth/Login.vue | 122 ------- front/src/components/auth/LoginForm.vue | 118 ++++++ front/src/components/auth/Signup.vue | 146 -------- front/src/components/auth/SignupForm.vue | 138 +++++++ front/src/components/instance/Stats.vue | 101 ------ front/src/router/index.js | 20 +- front/src/store/instance.js | 6 +- front/src/style/_main.scss | 3 + front/src/style/themes/_dark.scss | 13 +- front/src/views/auth/Login.vue | 40 ++ front/src/views/auth/Signup.vue | 48 +++ 18 files changed, 987 insertions(+), 554 deletions(-) create mode 100644 changes/changelog.d/872.feature create mode 100644 front/src/assets/network.png delete mode 100644 front/src/components/auth/Login.vue create mode 100644 front/src/components/auth/LoginForm.vue delete mode 100644 front/src/components/auth/Signup.vue create mode 100644 front/src/components/auth/SignupForm.vue delete mode 100644 front/src/components/instance/Stats.vue create mode 100644 front/src/views/auth/Login.vue create mode 100644 front/src/views/auth/Signup.vue diff --git a/changes/changelog.d/872.feature b/changes/changelog.d/872.feature new file mode 100644 index 000000000..083601ecf --- /dev/null +++ b/changes/changelog.d/872.feature @@ -0,0 +1 @@ +Redesign of the landing and about pages (#872) diff --git a/changes/notes.rst b/changes/notes.rst index 442fc0528..51c53e857 100644 --- a/changes/notes.rst +++ b/changes/notes.rst @@ -62,6 +62,39 @@ For more information about this feature, please check out our documentation: - `User documentation <https://docs.funkwhale.audio/users/account.html>`_ +Landing and about page redesign [Manual action suggested] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In this release, we've completely redesigned the landing and about page, by making it more useful and adapted to your pod +configuration. Among other things, the landing page will now include: + +- your pod and an excerpt from your pod's description +- your pod banner image, if any +- your contact email, if any +- the login form +- the signup form (if registrations are open on your pod) +- some basic statistics about your pod +- a widget including recently uploaded albums, if anonymous access is enabled + +The landing page will still include some information about Funkwhale, but in a less intrusive and proeminent way than before. + +Additionally, the about page now includes: + +- your pod name, description, rules and terms +- your pod banner image, if any +- your contact email, if any +- comprehensive statistics about your pod +- some info about your pod configuration, such as registration and federation status or the default upload quota for new users + +With this redesign, we've added a handful of additional pod settings: + +- Pod banner image +- Contact email +- Rules +- Terms of service + +We recommend taking a few moments to fill these accordingly to your needs, by visiting ``/manage/settings``. + Allow-list to restrict federation to trusted domains ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/front/src/App.vue b/front/src/App.vue index 9881554f9..5be97dfb5 100644 --- a/front/src/App.vue +++ b/front/src/App.vue @@ -62,13 +62,12 @@ export default { data () { return { bridge: null, - nodeinfo: null, instanceUrl: null, showShortcutsModal: false, showSetInstanceModal: false, } }, - created () { + async created () { this.openWebsocket() let self = this if (!this.$store.state.ui.selectedLanguage) { @@ -78,7 +77,12 @@ export default { // used to redraw ago dates every minute self.$store.commit('ui/computeLastDate') }, 1000 * 60) - if (!this.$store.state.instance.instanceUrl) { + const urlParams = new URLSearchParams(window.location.search); + const serverUrl = urlParams.get('_server') + if (serverUrl) { + this.$store.commit('instance/instanceUrl', serverUrl) + } + else if (!this.$store.state.instance.instanceUrl) { // we have several way to guess the API server url. By order of precedence: // 1. use the url provided in settings.json, if any // 2. use the url specified when building via VUE_APP_INSTANCE_URL @@ -89,9 +93,9 @@ export default { // needed to trigger initialization of axios this.$store.commit('instance/instanceUrl', this.$store.state.instance.instanceUrl) } + await this.fetchNodeInfo() this.$store.dispatch('auth/check') this.$store.dispatch('instance/fetchSettings') - this.fetchNodeInfo() this.$store.commit('ui/addWebsocketEventHandler', { eventName: 'inbox.item_added', id: 'sidebarCount', @@ -152,14 +156,11 @@ export default { this.$store.commit('ui/incrementNotifications', {type: 'pendingReviewEdits', value: event.pending_review_count}) }, incrementPendingReviewReportsCountInSidebar (event) { - console.log('HELLO', event) this.$store.commit('ui/incrementNotifications', {type: 'pendingReviewReports', value: event.unresolved_count}) }, - fetchNodeInfo () { - let self = this - axios.get('instance/nodeinfo/2.0/').then(response => { - self.nodeinfo = response.data - }) + async fetchNodeInfo () { + let response = await axios.get('instance/nodeinfo/2.0/') + this.$store.commit('instance/nodeinfo', response.data) }, autodetectLanguage () { let userLanguage = navigator.language || navigator.userLanguage @@ -235,7 +236,8 @@ export default { }, computed: { ...mapState({ - messages: state => state.ui.messages + messages: state => state.ui.messages, + nodeinfo: state => state.instance.nodeinfo, }), ...mapGetters({ currentTrack: 'queue/currentTrack' diff --git a/front/src/assets/network.png b/front/src/assets/network.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d5f4ddd465afcb18acd5d7359c4b788b706d9a GIT binary patch literal 120672 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�<<LbLX2^kEGLL7^!o{( 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 T4=0~9%;&a=rE#T^TlD_{7V_Sd literal 0 HcmV?d00001 diff --git a/front/src/components/About.vue b/front/src/components/About.vue index 87f741aa8..3c84b48f9 100644 --- a/front/src/components/About.vue +++ b/front/src/components/About.vue @@ -1,38 +1,197 @@ <template> - <main class="main pusher" v-title="labels.title"> - <section class="ui vertical center aligned stripe segment"> - <div class="ui text container"> - <h1 class="ui huge header"> - <span v-translate="{instance: instance.name.value}" translate-context="Content/About/Title/Short, Noun" v-if="instance.name.value" :translate-params="{instance: instance.name.value}"> - About %{ instance } - </span> - <translate translate-context="Content/About/Title" v-else>About this instance</translate> + <main class="main pusher"> + <section :class="['ui', 'head', {'with-background': banner}, 'vertical', 'center', 'aligned', 'stripe', 'segment']" :style="headerStyle"> + <div class="segment-content"> + <h1 class="ui center aligned large header"> + <translate translate-context="Content/Home/Header" + :translate-params="{podName: podName}"> + About %{ podName } + </translate> + <div v-if="shortDescription" class="sub header"> + {{ shortDescription }} + </div> </h1> - <stats></stats> </div> </section> <section class="ui vertical stripe segment"> - <div - class="ui middle aligned stackable text container"> - <p - v-if="!instance.short_description.value && !instance.long_description.value"><translate translate-context="Content/About/Paragraph">Unfortunately, the owners of this instance did not yet take the time to complete this page.</translate></p> - <router-link - class="ui button" - v-if="$store.state.auth.availablePermissions['settings']" - :to="{path: '/manage/settings', hash: 'instance'}"> - <i class="pencil icon"></i><translate translate-context="Content/Settings/Button.Label/Verb">Edit instance info</translate> - </router-link> - <div class="ui hidden divider"></div> - </div> - <div - v-if="instance.short_description.value" - class="ui middle aligned stackable text container"> - <p>{{ instance.short_description.value }}</p> - </div> - <div - v-if="markdown && instance.long_description.value" - class="ui middle aligned stackable text container" - v-html="markdown.makeHtml(instance.long_description.value)"> + <div class="ui container"> + <div class="ui mobile reversed stackable grid"> + <div class="ten wide column"> + <div class="ui text container"> + <h3 class="ui header" id="description"> + <translate translate-context="Content/About/Header">About this pod</translate> + </h3> + <div v-html="markdown.makeHtml(longDescription)" v-if="longDescription"></div> + <p v-else> + <translate translate-context="Content/Home/Paragraph">No description available.</translate> + </p> + <h3 class="ui header" id="rules"> + <translate translate-context="Content/About/Header">Rules</translate> + </h3> + <div v-html="markdown.makeHtml(rules)" v-if="rules"></div> + <p v-else> + <translate translate-context="Content/Home/Paragraph">No rules available.</translate> + </p> + <h3 class="ui header" id="terms"> + <translate translate-context="Content/About/Header">Terms and privacy policy</translate> + </h3> + <div v-html="markdown.makeHtml(terms)" v-if="terms"></div> + <p v-else> + <translate translate-context="Content/Home/Paragraph">No terms available.</translate> + </p> + </div> + </div> + <div class="six wide column"> + <div class="ui raised segment"> + <h3 class="ui header"> + <translate translate-context="Content/About/Header">Contents</translate> + </h3> + <div class="ui list"> + <div class="ui item"> + <a href="#description"> + <translate translate-context="Content/About/Header">About this pod</translate> + </a> + </div> + <div class="ui item"> + <a href="#rules"> + <translate translate-context="Content/About/Header">Rules</translate> + </a> + </div> + <div class="ui item"> + <a href="#terms"> + <translate translate-context="Content/About/Header">Terms and privacy policy</translate> + </a> + </div> + </div> + <template v-if="contactEmail"> + <h3 class="header"> + <translate translate-context="Content/Home/Header/Name">Contact</translate> + </h3> + <a :href="`mailto:${contactEmail}`">{{ contactEmail }}</a> + </template> + <h3 class="header"> + <translate translate-context="Content/About/Header/Name">Pod configuration</translate> + </h3> + <table class="ui very basic table"> + <tbody> + <tr v-if="version"> + <td> + <translate translate-context="*/*/*">Funkwhale version</translate> + </td> + <td> + {{ version }} + </td> + </tr> + <tr> + <td> + <translate translate-context="*/*/*">Registrations</translate> + </td> + <td v-if="openRegistrations"> + <i class="check icon"></i> + <translate translate-context="*/*/*/State of registrations">Open</translate> + </td> + <td v-else> + <i class="x icon"></i> + <translate translate-context="*/*/*/State of registrations">Closed</translate> + </td> + </tr> + <tr> + <td> + <translate translate-context="*/*/*">Upload quota</translate> + </td> + <td v-if="defaultUploadQuota"> + {{ defaultUploadQuota * 1000 * 1000 | humanSize }} + </td> + <td v-else> + <translate translate-context="*/*/*">N/A</translate> + </td> + </tr> + <tr> + <td> + <translate translate-context="*/*/*">Federation</translate> + </td> + <td v-if="federationEnabled"> + <i class="check icon"></i> + <translate translate-context="*/*/*/State of feature">Enabled</translate> + </td> + <td v-else> + <i class="x icon"></i> + <translate translate-context="*/*/*/State of feature">Disabled</translate> + </td> + </tr> + <tr> + <td> + <translate translate-context="*/*/*">Anonymous access</translate> + </td> + <td v-if="anonymousCanListen"> + <i class="check icon"></i> + <translate translate-context="*/*/*/State of feature">Enabled</translate> + </td> + <td v-else> + <i class="x icon"></i> + <translate translate-context="*/*/*/State of feature">Disabled</translate> + </td> + </tr> + <tr> + <td> + <translate translate-context="*/*/*">Allow-list</translate> + </td> + <td v-if="allowListEnabled"> + <i class="check icon"></i> + <translate translate-context="*/*/*/State of feature">Enabled</translate> + </td> + <td v-else> + <i class="x icon"></i> + <translate translate-context="*/*/*/State of feature">Disabled</translate> + </td> + </tr> + <tr v-if="allowListDomains"> + <td> + <translate translate-context="*/*/*">Allowed domains</translate> + </td> + <td> + <translate :translate-n="allowListDomains.length" translate-plural="%{ count } allowed domains" :translate-params="{count: allowListDomains.length}" translate-context="*/*/*">%{ count } allowed domains</translate> + <br> + <a @click.prevent="showAllowedDomains = !showAllowedDomains"> + <translate v-if="showAllowedDomains" key="1" translate-context="*/*/*/Verb">Hide</translate> + <translate v-else key="2" translate-context="*/*/*/Verb">Show</translate> + </a> + <ul class="ui list" v-if="showAllowedDomains"> + <li v-for="domain in allowListDomains" :key="domain"> + <a :href="`https://${domain}`" target="_blank" rel="noopener">{{ domain }}</a> + </li> + </ul> + </td> + </tr> + </tbody> + </table> + + <template v-if="stats"> + <h3 class="header"> + <translate translate-context="Content/Home/Header">Statistics</translate> + </h3> + <p> + <i class="user grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.users.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.users" translate-plural="%{ count } active users">%{ count } active user</translate> + </p> + <p> + <i class="music grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: parseInt(stats.hours).toLocaleString($store.state.ui.momentLocale)}" :translate-n="parseInt(stats.hours)" translate-plural="%{ count } hours of music">%{ count } hour of music</translate> + </p> + <p v-if="stats.artists"> + <i class="users grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.artists.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.artists" translate-plural="%{ count } artists">%{ count } artists</translate> + </p> + <p v-if="stats.albums"> + <i class="headphones grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.albums.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.albums" translate-plural="%{ count } albums">%{ count } albums</translate> + </p> + <p v-if="stats.tracks"> + <i class="file grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.tracks.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.tracks" translate-plural="%{ count } tracks">%{ count } tracks</translate> + </p> + <p v-if="stats.listenings"> + <i class="play grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.listenings.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.listenings" translate-plural="%{ count } listenings">%{ count } listenings</translate> + </p> + </template> + </div> + </div> + </div> </div> </section> </main> @@ -40,37 +199,122 @@ <script> import { mapState } from "vuex" -import Stats from "@/components/instance/Stats" +import _ from '@/lodash' +import showdown from 'showdown' export default { - components: { - Stats - }, data () { return { - markdown: null + markdown: new showdown.Converter(), + showAllowedDomains: false, } }, - created () { - this.$store.dispatch("instance/fetchSettings") - let self = this - import('showdown').then(module => { - self.markdown = new module.default.Converter() - }) - }, computed: { - ...mapState({ - instance: state => state.instance.settings.instance + + ...mapState({ + nodeinfo: state => state.instance.nodeinfo, }), - labels() { - return { - title: this.$pgettext('Content/About/Title', "About this instance") + podName() { + return _.get(this.nodeinfo, 'metadata.nodeName') || "Funkwhale" + }, + banner () { + return _.get(this.nodeinfo, 'metadata.banner') + }, + shortDescription () { + return _.get(this.nodeinfo, 'metadata.shortDescription') + }, + longDescription () { + return _.get(this.nodeinfo, 'metadata.longDescription') + }, + rules () { + return _.get(this.nodeinfo, 'metadata.rules') + }, + terms () { + return _.get(this.nodeinfo, 'metadata.terms') + }, + stats () { + let data = { + users: _.get(this.nodeinfo, 'usage.users.activeMonth', null), + hours: _.get(this.nodeinfo, 'metadata.library.music.hours', null), + artists: _.get(this.nodeinfo, 'metadata.library.artists.total', null), + albums: _.get(this.nodeinfo, 'metadata.library.albums.total', null), + tracks: _.get(this.nodeinfo, 'metadata.library.tracks.total', null), + listenings: _.get(this.nodeinfo, 'metadata.usage.listenings.total', null), } - } + if (data.users === null || data.artists === null) { + return + } + return data + }, + contactEmail () { + return _.get(this.nodeinfo, 'metadata.contactEmail') + }, + anonymousCanListen () { + return _.get(this.nodeinfo, 'metadata.library.anonymousCanListen') + }, + allowListEnabled () { + return _.get(this.nodeinfo, 'metadata.allowList.enabled') + }, + allowListDomains () { + return _.get(this.nodeinfo, 'metadata.allowList.domains') + }, + version () { + return _.get(this.nodeinfo, 'software.version') + }, + openRegistrations () { + return _.get(this.nodeinfo, 'openRegistrations') + }, + defaultUploadQuota () { + return _.get(this.nodeinfo, 'metadata.defaultUploadQuota') + }, + federationEnabled () { + return _.get(this.nodeinfo, 'metadata.library.federationEnabled') + }, + headerStyle() { + if (!this.banner) { + return "" + } + return ( + "background-image: url(" + + this.$store.getters["instance/absoluteUrl"](this.banner) + + ")" + ) + }, } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> -<style scoped> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped lang="scss"> + +.ui.list .list.icon { + padding: 0; +} + +h1.header, h1 .sub.header { + text-shadow: 0 2px 0 rgba(0,0,0,.8); + color: #fff !important; +} +h1.ui.header { + font-size: 3em; +} +h1.ui.header .sub.header { + font-size: 0.8em; +} +.main.pusher { + margin-top: 0; + min-height: 10em; +} +section.segment.head { + padding: 8em 3em; + background: linear-gradient(90deg, rgba(40,88,125,1) 0%, rgba(64,130,180,1) 100%); + background-repeat: no-repeat; + background-size: cover; +} +#pod { + font-size: 110%; + display: block; +} </style> diff --git a/front/src/components/Home.vue b/front/src/components/Home.vue index 976262cfa..4b291d839 100644 --- a/front/src/components/Home.vue +++ b/front/src/components/Home.vue @@ -1,152 +1,276 @@ <template> <main class="main pusher" v-title="labels.title"> - <section class="ui vertical center aligned stripe segment"> - <div class="ui text container"> - <h1 class="ui huge header"> - <translate translate-context="Content/Home/Title/Verb">Welcome to Funkwhale</translate> + <section :class="['ui', 'head', {'with-background': banner}, 'vertical', 'center', 'aligned', 'stripe', 'segment']" :style="headerStyle"> + <div class="segment-content"> + <h1 class="ui center aligned large header"> + <translate translate-context="Content/Home/Header" + :translate-params="{podName: podName}"> + Welcome to %{ podName }! + </translate> + <div v-if="shortDescription" class="sub header"> + {{ shortDescription }} + </div> </h1> - <p><translate translate-context="Content/Home/Title">We think listening to music should be simple.</translate></p> - <router-link class="ui icon button" to="/about"> - <i class="info icon"></i> - <translate translate-context="Content/Home/Button.Label/Verb">Learn more about this instance</translate> - </router-link> - <router-link class="ui icon teal button" to="/library"> - <translate translate-context="Content/Home/Button.Label/Verb">Get me to the library</translate> - <i class="right arrow icon"></i> - </router-link> </div> </section> <section class="ui vertical stripe segment"> - <div class="ui middle aligned stackable text container"> - <div class="ui grid"> - <div class="row"> - <div class="eight wide left floated column"> - <h2 class="ui header"> - <translate translate-context="Content/Home/Title">Why funkwhale?</translate> - </h2> - <p><translate translate-context="Content/Home/Paragraph">That's simple: we loved Grooveshark and we want to build something even better.</translate></p> - </div> - <div class="four wide left floated column"> - <img class="ui medium image" src="../assets/logo/logo.png" /> + <div class="ui stackable grid"> + <div class="ten wide column"> + <h3 class="header"> + <translate translate-context="Content/Home/Header">About this Funkwhale pod</translate> + </h3> + <div class="ui raised segment" id="pod"> + <div class="ui stackable grid"> + <div class="eight wide column"> + <p v-if="!truncatedDescription"> + <translate translate-context="Content/Home/Paragraph">No description available.</translate> + </p> + <template v-if="truncatedDescription || rules"> + <div v-if="truncatedDescription" v-html="truncatedDescription"></div> + <div v-if="truncatedDescription" class="ui hidden divider"></div> + <div class="ui relaxed list"> + <div class="item" v-if="truncatedDescription"> + <i class="arrow right grey icon"></i> + <div class="content"> + <router-link class="ui link" :to="{name: 'about'}"> + <translate translate-context="Content/Home/Link">Learn more</translate> + </router-link> + </div> + </div> + <div class="item" v-if="rules"> + <i class="book open grey icon"></i> + <div class="content"> + <router-link class="ui link" v-if="rules" :to="{name: 'about', hash: '#rules'}"> + <translate translate-context="Content/Home/Link">Server rules</translate> + </router-link> + </div> + </div> + </div> + </template> + </div> + <div class="eight wide column"> + <template v-if="stats"> + <h3 class="sub header"> + <translate translate-context="Content/Home/Header">Statistics</translate> + </h3> + <p> + <i class="user grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: stats.users.toLocaleString($store.state.ui.momentLocale) }" :translate-n="stats.users" translate-plural="%{ count } active users">%{ count } active user</translate> + </p> + <p> + <i class="music grey icon"></i><translate translate-context="Content/Home/Stat" :translate-params="{count: parseInt(stats.hours).toLocaleString($store.state.ui.momentLocale)}" :translate-n="parseInt(stats.hours)" translate-plural="%{ count } hours of music">%{ count } hour of music</translate> + </p> + + </template> + <template v-if="contactEmail"> + <h3 class="sub header"> + <translate translate-context="Content/Home/Header/Name">Contact</translate> + </h3> + <i class="at grey icon"></i> + <a :href="`mailto:${contactEmail}`">{{ contactEmail }}</a> + </template> + + </div> </div> </div> </div> - </div> - <div class="ui middle aligned stackable text container"> - <div class="ui hidden divider"></div> - <h2 class="ui header"> - <translate translate-context="Content/Home/Title">Unlimited music</translate> - </h2> - <p><translate translate-context="Content/Home/Paragraph">Funkwhale is designed to make it easy to listen to music you like, or to discover new artists.</translate></p> - <div class="ui list"> - <div class="item"> - <i class="sound icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item/Verb">Click once, listen for hours using built-in radios</translate> - </div> - </div> - <div class="item"> - <i class="heart icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item/Verb">Keep track of your favorite songs</translate> - </div> - </div> - <div class="item"> - <i class="list icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">Playlists? We've got them</translate> - </div> - </div> + + <div class="six wide column"> + <img class="ui image" src="../assets/network.png" /> </div> </div> - <div class="ui middle aligned stackable text container"> - <div class="ui hidden divider"></div> - <h2 class="ui header"> - <translate translate-context="Content/Home/Title">A clean library</translate> - </h2> - <p><translate translate-context="Content/Home/Paragraph">Funkwhale takes care of handling your music</translate>.</p> - <div class="ui list"> - <div class="item"> - <i class="tag icon"></i> - <div class="content" v-html="musicbrainzItem"></div> - </div> - <div class="item"> - <i class="plus icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">Covers, lyrics... our goal is to have them all ;)</translate> - </div> - </div> + <div class="ui hidden divider"></div> + <div class="ui hidden divider"></div> + <div class="ui stackable grid"> + <div class="four wide column"> + <h3 class="header"> + <translate translate-context="Content/Home/Header">About Funkwhale</translate> + </h3> + <p v-translate translate-context="Content/Home/Paragraph">This pod runs Funkwhale, a community-driven project that lets you listen and share music and audio within a decentralized, open network.</p> + <p v-translate translate-context="Content/Home/Paragraph">Funkwhale is free and developped by a friendly community of volunteers.</p> + <a target="_blank" rel="noopener" href="https://funkwhale.audio"> + <i class="external alternate icon"></i> + <translate translate-context="Content/Home/Link">Visit funkwhale.audio</translate> + </a> </div> - </div> - <div class="ui middle aligned stackable text container"> - <div class="ui hidden divider"></div> - <h2 class="ui header"> - <translate translate-context="Content/Home/Title">Easy to use</translate> - </h2> - <p><translate translate-context="Content/Home/Paragraph">Funkwhale is dead simple to use.</translate></p> - <div class="ui list"> - <div class="item"> - <i class="book icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">No add-ons, no plugins... you only need a web library</translate> - </div> - </div> - <div class="item"> - <i class="wizard icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">Access your music from a clean interface that focuses on what really matters</translate> - </div> + <div class="four wide column"> + <h3 class="header"> + <translate translate-context="Head/Login/Title">Log In</translate> + </h3> + <login-form button-classes="basic green" :show-signup="false"></login-form> + <div class="ui hidden clearing divider"></div> + </div> + <div class="four wide column"> + <h3 class="header"> + <translate translate-context="*/Signup/Title">Sign up</translate> + </h3> + <template v-if="openRegistrations"> + <p> + <translate translate-context="Content/Home/Paragraph">Sign up now to keep a track of your favorites, create playlists, discover new content and much more!</translate> + </p> + <p v-if="defaultUploadQuota"> + <translate translate-context="Content/Home/Paragraph" :translate-params="{quota: humanSize(defaultUploadQuota * 1000 * 1000)}">Users on this pod also get %{ quota } of free storage to upload their own content!</translate> + </p> + <signup-form button-classes="basic green" :show-login="false"></signup-form> + </template> + <div v-else> + <p translate-context="Content/Home/Paragraph">Registrations are closed on this pod. You can signup on another pod using the link below.</p> + <a target="_blank" rel="noopener" href="https://funkwhale.audio/#get-started"> + <i class="external alternate icon"></i> + <translate translate-context="Content/Home/Link">Find another pod</translate> + </a> </div> </div> - </div> - <div class="ui middle aligned stackable text container"> - <div class="ui hidden divider"></div> - <h2 class="ui header"> - <translate translate-context="Content/Home/Title">Your music, your way</translate> - </h2> - <p><translate translate-context="Content/Home/Paragraph">Funkwhale is free and gives you control over your music.</translate></p> - <div class="ui list"> - <div class="item"> - <i class="smile icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">The platform is free and open-source, you can install it and modify it without worries</translate> + + <div class="four wide column"> + <h3 class="header"> + <translate translate-context="Content/Home/Header">Useful links</translate> + </h3> + <div class="ui relaxed list"> + <div class="item"> + <i class="headphones icon"></i> + <div class="content"> + <router-link v-if="anonymousCanListen" class="header" to="/library"> + <translate translate-context="Content/Home/Link">Browse public content</translate> + </router-link> + <div class="description"> + <translate translate-context="Content/Home/Link">Listen to public albums and playlists shared on this pod</translate> + </div> + </div> </div> - </div> - <div class="item"> - <i class="protect icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">We do not track you or bother you with ads</translate> + <div class="item"> + <i class="mobile alternate icon"></i> + <div class="content"> + <a class="header" href="https://funkwhale.audio/apps" target="_blank" rel="noopener"> + <translate translate-context="Content/Home/Link">Mobile apps</translate> + </a> + <div class="description"> + <translate translate-context="Content/Home/Link">Use Funkwhale on other devices with our apps</translate> + </div> + </div> </div> - </div> - <div class="item"> - <i class="users icon"></i> - <div class="content"> - <translate translate-context="Content/Home/List item">You can invite friends and family to your instance so they can enjoy your music</translate> + <div class="item"> + <i class="book icon"></i> + <div class="content"> + <a class="header" href="https://docs.funkwhale.audio/users/index.html" target="_blank" rel="noopener"> + <translate translate-context="Content/Home/Link">User guides</translate> + </a> + <div class="description"> + <translate translate-context="Content/Home/Link">Discover everything you need to know about Funkwhale and its features</translate> + </div> + </div> </div> </div> </div> </div> </section> + <section v-if="anonymousCanListen" class="ui vertical stripe segment"> + <album-widget :filters="{playable: true, ordering: '-creation_date'}" :limit="10"> + <template slot="title"><translate translate-context="Content/Home/Title">Recently added albums</translate></template> + <router-link to="/library"> + <translate translate-context="Content/Home/Link">View more…</translate> + <div class="ui hidden divider"></div> + </router-link> + </album-widget> + </section> </main> </template> <script> +import $ from 'jquery' +import _ from '@/lodash' +import {mapState} from 'vuex' +import showdown from 'showdown' +import AlbumWidget from "@/components/audio/album/Widget" +import LoginForm from "@/components/auth/LoginForm" +import SignupForm from "@/components/auth/SignupForm" +import {humanSize } from '@/filters' + export default { - data() { + components: { + AlbumWidget, + LoginForm, + SignupForm, + }, + data () { return { - musicbrainzUrl: "https://musicbrainz.org/" + markdown: new showdown.Converter(), + excerptLength: 2, // html nodes, + humanSize } }, computed: { + ...mapState({ + nodeinfo: state => state.instance.nodeinfo, + }), labels() { return { title: this.$pgettext('Head/Home/Title', "Welcome") } }, - musicbrainzItem () { - let msg = this.$pgettext('Content/Home/List item/Verb', 'Get quality metadata about your music thanks to <a href="%{ url }" target="_blank">MusicBrainz</a>') - return this.$gettextInterpolate(msg, {url: this.musicbrainzUrl}) - } + podName() { + return _.get(this.nodeinfo, 'metadata.nodeName') || "Funkwhale" + }, + banner () { + return _.get(this.nodeinfo, 'metadata.banner') + }, + shortDescription () { + return _.get(this.nodeinfo, 'metadata.shortDescription') + }, + longDescription () { + return _.get(this.nodeinfo, 'metadata.longDescription') + }, + rules () { + return _.get(this.nodeinfo, 'metadata.rules') + }, + truncatedDescription () { + if (!this.longDescription) { + return + } + let doc = this.markdown.makeHtml(this.longDescription) + let nodes = $.parseHTML(doc) + let excerptParts = [] + let handled = 0 + nodes.forEach((n) => { + let content = n.innerHTML || n.nodeValue + if (handled < this.excerptLength && content.trim()) { + excerptParts.push(n) + handled += 1 + } + }) + return excerptParts.map((p) => { return p.outerHTML }).join('') + }, + stats () { + let data = { + users: _.get(this.nodeinfo, 'usage.users.activeMonth', null), + hours: _.get(this.nodeinfo, 'metadata.library.music.hours', null), + } + if (data.users === null || data.artists === null) { + return + } + return data + }, + contactEmail () { + return _.get(this.nodeinfo, 'metadata.contactEmail') + }, + defaultUploadQuota () { + return _.get(this.nodeinfo, 'metadata.defaultUploadQuota') + }, + anonymousCanListen () { + return _.get(this.nodeinfo, 'metadata.library.anonymousCanListen') + }, + openRegistrations () { + return _.get(this.nodeinfo, 'openRegistrations') + }, + headerStyle() { + if (!this.banner) { + return "" + } + return ( + "background-image: url(" + + this.$store.getters["instance/absoluteUrl"](this.banner) + + ")" + ) + }, }, watch: { '$store.state.auth.authenticated': { @@ -164,11 +288,34 @@ export default { </script> <!-- Add "scoped" attribute to limit CSS to this component only --> -<style scoped> -.stripe p { - font-size: 120%; -} +<style scoped lang="scss"> + .ui.list .list.icon { padding: 0; } + +h1.header, h1 .sub.header { + text-shadow: 0 2px 0 rgba(0,0,0,.8); + color: #fff !important; +} +h1.ui.header { + font-size: 3em; +} +h1.ui.header .sub.header { + font-size: 0.8em; +} +.main.pusher { + margin-top: 0; + min-height: 10em; +} +section.segment.head { + padding: 8em 3em; + background: linear-gradient(90deg, rgba(40,88,125,1) 0%, rgba(64,130,180,1) 100%); + background-repeat: no-repeat; + background-size: cover; +} +#pod { + font-size: 110%; + display: block; +} </style> diff --git a/front/src/components/audio/album/Widget.vue b/front/src/components/audio/album/Widget.vue index 609ef6ebc..c9e395f3c 100644 --- a/front/src/components/audio/album/Widget.vue +++ b/front/src/components/audio/album/Widget.vue @@ -4,6 +4,7 @@ <slot name="title"></slot> <span v-if="showCount" class="ui tiny circular label">{{ count }}</span> </h3> + <slot></slot> <button v-if="controls" :disabled="!previousPage" @click="fetchData(previousPage)" :class="['ui', {disabled: !previousPage}, 'circular', 'icon', 'basic', 'button']"><i :class="['ui', 'angle left', 'icon']"></i></button> <button v-if="controls" :disabled="!nextPage" @click="fetchData(nextPage)" :class="['ui', {disabled: !nextPage}, 'circular', 'icon', 'basic', 'button']"><i :class="['ui', 'angle right', 'icon']"></i></button> <button v-if="controls" @click="fetchData('albums/')" :class="['ui', 'circular', 'icon', 'basic', 'button']"><i :class="['ui', 'refresh', 'icon']"></i></button> @@ -48,6 +49,7 @@ export default { filters: {type: Object, required: true}, controls: {type: Boolean, default: true}, showCount: {type: Boolean, default: false}, + limit: {type: Number, default: 12}, }, components: { PlayButton @@ -55,7 +57,6 @@ export default { data () { return { albums: [], - limit: 12, count: 0, isLoading: false, errors: null, diff --git a/front/src/components/auth/Login.vue b/front/src/components/auth/Login.vue deleted file mode 100644 index 0fb391654..000000000 --- a/front/src/components/auth/Login.vue +++ /dev/null @@ -1,122 +0,0 @@ -<template> - <main class="main pusher" v-title="labels.title"> - <section class="ui vertical stripe segment"> - <div class="ui small text container"> - <h2><translate translate-context="Content/Login/Title/Verb">Log in to your Funkwhale account</translate></h2> - <form class="ui form" @submit.prevent="submit()"> - <div v-if="error" class="ui negative message"> - <div class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></div> - <ul class="list"> - <li v-if="error == 'invalid_credentials'"><translate translate-context="Content/Login/Error message.List item/Call to action">Please double-check your username/password couple is correct</translate></li> - <li v-else>{{ error }}</li> - </ul> - </div> - <div class="field"> - <label> - <translate translate-context="Content/Login/Input.Label/Noun">Username or email</translate> | - <router-link :to="{path: '/signup'}"> - <translate translate-context="*/Signup/Link/Verb">Create an account</translate> - </router-link> - </label> - <input - ref="username" - tabindex="1" - required - name="username" - type="text" - autofocus - :placeholder="labels.usernamePlaceholder" - v-model="credentials.username" - > - </div> - <div class="field"> - <label> - <translate translate-context="Content/*/Input.Label">Password</translate> | - <router-link :to="{name: 'auth.password-reset', query: {email: credentials.username}}"> - <translate translate-context="*/Login/*/Verb">Reset your password</translate> - </router-link> - </label> - <password-input :index="2" required v-model="credentials.password" /> - - </div> - <button tabindex="3" :class="['ui', {'loading': isLoading}, 'right', 'floated', 'green', 'button']" type="submit"> - <translate translate-context="*/Login/*/Verb">Login</translate> - </button> - </form> - </div> - </section> - </main> -</template> - -<script> -import PasswordInput from "@/components/forms/PasswordInput" - -export default { - props: { - next: { type: String, default: "/library" } - }, - components: { - PasswordInput - }, - data() { - return { - // We need to initialize the component with any - // properties that will be used in it - credentials: { - username: "", - password: "" - }, - error: "", - isLoading: false - } - }, - created () { - if (this.$store.state.auth.authenticated) { - this.$router.push(this.next) - } - }, - mounted() { - this.$refs.username.focus() - }, - computed: { - labels() { - let usernamePlaceholder = this.$pgettext('Content/Login/Input.Placeholder', "Enter your username or email") - let title = this.$pgettext('Head/Login/Title', "Log In") - return { - usernamePlaceholder, - title - } - } - }, - methods: { - submit() { - var self = this - self.isLoading = true - this.error = "" - var credentials = { - username: this.credentials.username, - password: this.credentials.password - } - this.$store - .dispatch("auth/login", { - credentials, - next: this.next, - onError: error => { - if (error.response.status === 400) { - self.error = "invalid_credentials" - } else { - self.error = error.backendErrors[0] - } - } - }) - .then(e => { - self.isLoading = false - }) - } - } -} -</script> - -<!-- Add "scoped" attribute to limit CSS to this component only --> -<style scoped> -</style> diff --git a/front/src/components/auth/LoginForm.vue b/front/src/components/auth/LoginForm.vue new file mode 100644 index 000000000..75ecf96f1 --- /dev/null +++ b/front/src/components/auth/LoginForm.vue @@ -0,0 +1,118 @@ +<template> + <form class="ui form" @submit.prevent="submit()"> + <div v-if="error" class="ui negative message"> + <div class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></div> + <ul class="list"> + <li v-if="error == 'invalid_credentials'"><translate translate-context="Content/Login/Error message.List item/Call to action">Please double-check your username/password couple is correct</translate></li> + <li v-else>{{ error }}</li> + </ul> + </div> + <div class="field"> + <label> + <translate translate-context="Content/Login/Input.Label/Noun">Username or email</translate> + <template v-if="showSignup"> + | + <router-link :to="{path: '/signup'}"> + <translate translate-context="*/Signup/Link/Verb">Create an account</translate> + </router-link> + </template> + </label> + <input + ref="username" + tabindex="1" + required + name="username" + type="text" + autofocus + :placeholder="labels.usernamePlaceholder" + v-model="credentials.username" + > + </div> + <div class="field"> + <label> + <translate translate-context="Content/*/Input.Label">Password</translate> | + <router-link :to="{name: 'auth.password-reset', query: {email: credentials.username}}"> + <translate translate-context="*/Login/*/Verb">Reset your password</translate> + </router-link> + </label> + <password-input :index="2" required v-model="credentials.password" /> + + </div> + <button tabindex="3" :class="['ui', {'loading': isLoading}, 'right', 'floated', buttonClasses, 'button']" type="submit"> + <translate translate-context="*/Login/*/Verb">Login</translate> + </button> + </form> +</template> + +<script> +import PasswordInput from "@/components/forms/PasswordInput" + +export default { + props: { + next: { type: String, default: "/library" }, + buttonClasses: { type: String, default: "green" }, + showSignup: { type: Boolean, default: true}, + }, + components: { + PasswordInput + }, + data() { + return { + // We need to initialize the component with any + // properties that will be used in it + credentials: { + username: "", + password: "" + }, + error: "", + isLoading: false + } + }, + created () { + if (this.$store.state.auth.authenticated) { + this.$router.push(this.next) + } + }, + mounted() { + this.$refs.username.focus() + }, + computed: { + labels() { + let usernamePlaceholder = this.$pgettext('Content/Login/Input.Placeholder', "Enter your username or email") + return { + usernamePlaceholder, + } + } + }, + methods: { + submit() { + var self = this + self.isLoading = true + this.error = "" + var credentials = { + username: this.credentials.username, + password: this.credentials.password + } + this.$store + .dispatch("auth/login", { + credentials, + next: this.next, + onError: error => { + if (error.response.status === 400) { + self.error = "invalid_credentials" + } else { + self.error = error.backendErrors[0] + } + } + }) + .then(e => { + self.isLoading = false + }) + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped> +</style> diff --git a/front/src/components/auth/Signup.vue b/front/src/components/auth/Signup.vue deleted file mode 100644 index c84a5095b..000000000 --- a/front/src/components/auth/Signup.vue +++ /dev/null @@ -1,146 +0,0 @@ -<template> - <main class="main pusher" v-title="labels.title"> - <section class="ui vertical stripe segment"> - <div class="ui small text container"> - <h2><translate translate-context="Content/Signup/Title">Create a funkwhale account</translate></h2> - <form - :class="['ui', {'loading': isLoadingInstanceSetting}, 'form']" - @submit.prevent="submit()"> - <p class="ui message" v-if="!$store.state.instance.settings.users.registration_enabled.value"> - <translate translate-context="Content/Signup/Form/Paragraph">Public registrations are not possible on this instance. You will need an invitation code to sign up.</translate> - </p> - - <div v-if="errors.length > 0" class="ui negative message"> - <div class="header"><translate translate-context="Content/Signup/Form/Paragraph">Your account cannot be created.</translate></div> - <ul class="list"> - <li v-for="error in errors">{{ error }}</li> - </ul> - </div> - <div class="field"> - <label><translate translate-context="Content/*/*">Username</translate></label> - <input - ref="username" - name="username" - required - type="text" - autofocus - :placeholder="labels.usernamePlaceholder" - v-model="username"> - </div> - <div class="field"> - <label><translate translate-context="Content/*/*/Noun">Email</translate></label> - <input - ref="email" - name="email" - required - type="email" - :placeholder="labels.emailPlaceholder" - v-model="email"> - </div> - <div class="field"> - <label><translate translate-context="Content/*/Input.Label">Password</translate></label> - <password-input v-model="password" /> - </div> - <div class="field" v-if="!$store.state.instance.settings.users.registration_enabled.value"> - <label><translate translate-context="Content/*/Input.Label">Invitation code</translate></label> - <input - required - type="text" - name="invitation" - :placeholder="labels.placeholder" - v-model="invitation"> - </div> - <button :class="['ui', 'green', {'loading': isLoading}, 'button']" type="submit"> - <translate translate-context="Content/Signup/Button.Label">Create my account</translate> - </button> - </form> - </div> - </section> - </main> -</template> - -<script> -import axios from "axios" -import logger from "@/logging" - -import PasswordInput from "@/components/forms/PasswordInput" - -export default { - props: { - defaultInvitation: { type: String, required: false, default: null }, - next: { type: String, default: "/" } - }, - components: { - PasswordInput - }, - data() { - return { - username: "", - email: "", - password: "", - isLoadingInstanceSetting: true, - errors: [], - isLoading: false, - invitation: this.defaultInvitation - } - }, - created() { - let self = this - this.$store.dispatch("instance/fetchSettings", { - callback: function() { - self.isLoadingInstanceSetting = false - } - }) - }, - computed: { - labels() { - let title = this.$pgettext("*/Signup/Title", "Sign Up") - let placeholder = this.$pgettext( - "Content/Signup/Form/Placeholder", - "Enter your invitation code (case insensitive)" - ) - let usernamePlaceholder = this.$pgettext("Content/Signup/Form/Placeholder", "Enter your username") - let emailPlaceholder = this.$pgettext("Content/Signup/Form/Placeholder", "Enter your email") - return { - title, - usernamePlaceholder, - emailPlaceholder, - placeholder - } - } - }, - methods: { - submit() { - var self = this - self.isLoading = true - this.errors = [] - var payload = { - username: this.username, - password1: this.password, - password2: this.password, - email: this.email, - invitation: this.invitation - } - return axios.post("auth/registration/", payload).then( - response => { - logger.default.info("Successfully created account") - self.$router.push({ - name: "profile", - params: { - username: this.username - } - }) - }, - error => { - self.errors = error.backendErrors - self.isLoading = false - } - ) - } - } -} -</script> - -<!-- Add "scoped" attribute to limit CSS to this component only --> -<style scoped> -</style> diff --git a/front/src/components/auth/SignupForm.vue b/front/src/components/auth/SignupForm.vue new file mode 100644 index 000000000..46752f840 --- /dev/null +++ b/front/src/components/auth/SignupForm.vue @@ -0,0 +1,138 @@ +<template> + <form + :class="['ui', {'loading': isLoadingInstanceSetting}, 'form']" + @submit.prevent="submit()"> + <p class="ui message" v-if="!$store.state.instance.settings.users.registration_enabled.value"> + <translate translate-context="Content/Signup/Form/Paragraph">Public registrations are not possible on this instance. You will need an invitation code to sign up.</translate> + </p> + + <div v-if="errors.length > 0" class="ui negative message"> + <div class="header"><translate translate-context="Content/Signup/Form/Paragraph">Your account cannot be created.</translate></div> + <ul class="list"> + <li v-for="error in errors">{{ error }}</li> + </ul> + </div> + <div class="field"> + <label><translate translate-context="Content/*/*">Username</translate></label> + <input + ref="username" + name="username" + required + type="text" + autofocus + :placeholder="labels.usernamePlaceholder" + v-model="username"> + </div> + <div class="field"> + <label><translate translate-context="Content/*/*/Noun">Email</translate></label> + <input + ref="email" + name="email" + required + type="email" + :placeholder="labels.emailPlaceholder" + v-model="email"> + </div> + <div class="field"> + <label><translate translate-context="Content/*/Input.Label">Password</translate></label> + <password-input v-model="password" /> + </div> + <div class="field" v-if="!$store.state.instance.settings.users.registration_enabled.value"> + <label><translate translate-context="Content/*/Input.Label">Invitation code</translate></label> + <input + required + type="text" + name="invitation" + :placeholder="labels.placeholder" + v-model="invitation"> + </div> + <button :class="['ui', buttonClasses, {'loading': isLoading}, ' right floated button']" type="submit"> + <translate translate-context="Content/Signup/Button.Label">Create my account</translate> + </button> + </form> +</template> + +<script> +import axios from "axios" +import logger from "@/logging" + +import PasswordInput from "@/components/forms/PasswordInput" + +export default { + props: { + defaultInvitation: { type: String, required: false, default: null }, + next: { type: String, default: "/" }, + buttonClasses: { type: String, default: "green" }, + }, + components: { + PasswordInput + }, + data() { + return { + username: "", + email: "", + password: "", + isLoadingInstanceSetting: true, + errors: [], + isLoading: false, + invitation: this.defaultInvitation + } + }, + created() { + let self = this + this.$store.dispatch("instance/fetchSettings", { + callback: function() { + self.isLoadingInstanceSetting = false + } + }) + }, + computed: { + labels() { + let placeholder = this.$pgettext( + "Content/Signup/Form/Placeholder", + "Enter your invitation code (case insensitive)" + ) + let usernamePlaceholder = this.$pgettext("Content/Signup/Form/Placeholder", "Enter your username") + let emailPlaceholder = this.$pgettext("Content/Signup/Form/Placeholder", "Enter your email") + return { + usernamePlaceholder, + emailPlaceholder, + placeholder + } + } + }, + methods: { + submit() { + var self = this + self.isLoading = true + this.errors = [] + var payload = { + username: this.username, + password1: this.password, + password2: this.password, + email: this.email, + invitation: this.invitation + } + return axios.post("auth/registration/", payload).then( + response => { + logger.default.info("Successfully created account") + self.$router.push({ + name: "profile", + params: { + username: this.username + } + }) + }, + error => { + self.errors = error.backendErrors + self.isLoading = false + } + ) + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped> +</style> diff --git a/front/src/components/instance/Stats.vue b/front/src/components/instance/Stats.vue deleted file mode 100644 index 85ce14fa0..000000000 --- a/front/src/components/instance/Stats.vue +++ /dev/null @@ -1,101 +0,0 @@ -<template> - <div> - <div v-if="stats && stats.trackFavorites !== undefined" class="ui stackable two column grid"> - <div class="column"> - <h3 class="ui left aligned header"> - <translate translate-context="Content/About/Title/Noun">User activity</translate> - </h3> - <div v-if="stats" class="ui mini horizontal statistics"> - <div class="statistic"> - <div class="value"> - <i class="green user icon"></i> - {{ stats.users.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="Content/About/Paragraph/Unit">users</translate></div> - </div> - <div class="statistic"> - <div class="value"> - <i class="orange sound icon"></i> {{ stats.listenings.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="Content/About/Paragraph/Unit">tracks listened</translate></div> - </div> - <div class="statistic"> - <div class="value"> - <i class="pink heart icon"></i> {{ stats.trackFavorites.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="Content/About/Paragraph/Unit">Tracks favorited</translate></div> - </div> - </div> - </div> - <div class="column"> - <h3 class="ui left aligned header"><translate translate-context="*/*/*">Library</translate></h3> - <div class="ui mini horizontal statistics"> - <div class="statistic"> - <div class="value"> - {{ stats.musicDuration.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="Content/About/Paragraph/Unit">Hours of music</translate></div> - </div> - <div class="statistic"> - <div class="value"> - {{ stats.artists.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="*/*/*/Noun">Artists</translate></div> - </div> - <div class="statistic"> - <div class="value"> - {{ stats.albums.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="*/*/*">Albums</translate></div> - </div> - <div class="statistic"> - <div class="value"> - {{ stats.tracks.toLocaleString($store.state.ui.momentLocale) }} - </div> - <div class="label"><translate translate-context="*/*/*/Noun">Tracks</translate></div> - </div> - </div> - </div> - </div> - </div> -</template> - -<script> -import _ from '@/lodash' -import axios from 'axios' -import logger from '@/logging' - -export default { - data () { - return { - stats: null - } - }, - created () { - this.fetchData() - }, - methods: { - fetchData () { - var self = this - this.isLoading = true - logger.default.debug('Fetching instance stats...') - axios.get('instance/nodeinfo/2.0/').then((response) => { - let d = response.data - self.stats = {} - self.stats.users = _.get(d, 'usage.users.total') - self.stats.listenings = _.get(d, 'metadata.usage.listenings.total') - self.stats.trackFavorites = _.get(d, 'metadata.usage.favorites.tracks.total') - self.stats.musicDuration = Math.round(_.get(d, 'metadata.library.music.hours')) - self.stats.artists = _.get(d, 'metadata.library.artists.total') - self.stats.albums = _.get(d, 'metadata.library.albums.total') - self.stats.tracks = _.get(d, 'metadata.library.tracks.total') - self.isLoading = false - }) - }, - } -} -</script> - -<!-- Add "scoped" attribute to limit CSS to this component only --> -<style scoped> -</style> diff --git a/front/src/router/index.js b/front/src/router/index.js index 0aedb20e3..d8bd0001f 100644 --- a/front/src/router/index.js +++ b/front/src/router/index.js @@ -8,6 +8,17 @@ export default new Router({ mode: "history", linkActiveClass: "active", base: process.env.VUE_APP_ROUTER_BASE_URL || "/", + scrollBehavior(to, from, savedPosition) { + return new Promise(resolve => { + setTimeout(() => { + if (to.hash) { + resolve({ selector: to.hash }); + } + let pos = savedPosition || { x: 0, y: 0 }; + resolve(pos); + }, 100); + }); + }, routes: [ { path: "/", @@ -18,7 +29,10 @@ export default new Router({ { path: "/front", name: "front", - redirect: "/" + redirect: to => { + const { hash, params, query } = to + return { name: 'index', hash, query } + } }, { path: "/about", @@ -30,7 +44,7 @@ export default new Router({ path: "/login", name: "login", component: () => - import(/* webpackChunkName: "core" */ "@/components/auth/Login"), + import(/* webpackChunkName: "core" */ "@/views/auth/Login"), props: route => ({ next: route.query.next || "/library" }) }, { @@ -87,7 +101,7 @@ export default new Router({ path: "/signup", name: "signup", component: () => - import(/* webpackChunkName: "core" */ "@/components/auth/Signup"), + import(/* webpackChunkName: "core" */ "@/views/auth/Signup"), props: route => ({ defaultInvitation: route.query.invitation }) diff --git a/front/src/store/instance.js b/front/src/store/instance.js index 6af36e809..efe407364 100644 --- a/front/src/store/instance.js +++ b/front/src/store/instance.js @@ -17,6 +17,7 @@ export default { instanceUrl: process.env.VUE_APP_INSTANCE_URL, events: [], knownInstances: [], + nodeinfo: null, settings: { instance: { name: { @@ -41,7 +42,7 @@ export default { enabled: { value: true } - } + }, } }, mutations: { @@ -57,6 +58,9 @@ export default { events: (state, value) => { state.events = value }, + nodeinfo: (state, value) => { + state.nodeinfo = value + }, frontSettings: (state, value) => { state.frontSettings = value }, diff --git a/front/src/style/_main.scss b/front/src/style/_main.scss index 76a4b2357..b98584f7d 100644 --- a/front/src/style/_main.scss +++ b/front/src/style/_main.scss @@ -388,6 +388,9 @@ input + .help { padding-left: 0; padding-right: 0; } +.column .ui.text.container { + max-width: 100% !important; +} @import "./themes/_light.scss"; @import "./themes/_dark.scss"; diff --git a/front/src/style/themes/_dark.scss b/front/src/style/themes/_dark.scss index 56bd244ee..a34b60cb5 100644 --- a/front/src/style/themes/_dark.scss +++ b/front/src/style/themes/_dark.scss @@ -123,6 +123,9 @@ $link-color: rgb(255, 144, 0); .ui.segment:not(.basic) { background-color: $light-background-color; } + .link { + color: $link-color; + } .ui.list, .ui.dropdown { .item, @@ -136,6 +139,9 @@ $link-color: rgb(255, 144, 0); color: $background-color; } } + .segment .ui.list .item { + background-color: transparent; + } .ui.divided.items > .item:not(:first-child) { border-top: 1px solid $border-color; } @@ -251,9 +257,12 @@ $link-color: rgb(255, 144, 0); } } } + .ui.list > .item .description { + color: $text-color; + } .ui.link.list.list a.item:hover, - .ui.link.list.list .item a:not(.ui):not(.button):hover { - color: $link-color; + .ui.link.list.list .item a:not(.ui):not(.button):hover, .ui.list > .item a.header { + color: $link-color !important; } [data-tooltip]::after { background-color: $light-background-color; diff --git a/front/src/views/auth/Login.vue b/front/src/views/auth/Login.vue new file mode 100644 index 000000000..22285bc9c --- /dev/null +++ b/front/src/views/auth/Login.vue @@ -0,0 +1,40 @@ +<template> + <main class="main pusher" v-title="labels.title"> + <section class="ui vertical stripe segment"> + <div class="ui small text container"> + <h2><translate translate-context="Content/Login/Title/Verb">Log in to your Funkwhale account</translate></h2> + <login-form :next="next"></login-form> + </div> + </section> + </main> +</template> + +<script> +import LoginForm from "@/components/auth/LoginForm" + +export default { + props: { + next: { type: String, default: "/library" } + }, + components: { + LoginForm + }, + created () { + if (this.$store.state.auth.authenticated) { + this.$router.push(this.next) + } + }, + computed: { + labels() { + let title = this.$pgettext('Head/Login/Title', "Log In") + return { + title + } + } + } +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped> +</style> diff --git a/front/src/views/auth/Signup.vue b/front/src/views/auth/Signup.vue new file mode 100644 index 000000000..37b918c72 --- /dev/null +++ b/front/src/views/auth/Signup.vue @@ -0,0 +1,48 @@ +<template> + <main class="main pusher" v-title="labels.title"> + <section class="ui vertical stripe segment"> + <div class="ui small text container"> + <h2><translate translate-context="Content/Signup/Title">Create a funkwhale account</translate></h2> + <signup-form :default-invitation="defaultInvitation" :next="next"></signup-form> + </div> + </section> + </main> +</template> + +<script> + +import SignupForm from "@/components/auth/SignupForm" + +export default { + props: { + defaultInvitation: { type: String, required: false, default: null }, + next: { type: String, default: "/" } + }, + components: { + SignupForm + }, + data() { + return { + username: "", + email: "", + password: "", + isLoadingInstanceSetting: true, + errors: [], + isLoading: false, + invitation: this.defaultInvitation + } + }, + computed: { + labels() { + let title = this.$pgettext("*/Signup/Title", "Sign Up") + return { + title + } + } + }, +} +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped> +</style> -- GitLab