diff --git a/src/renderer/main.js b/src/renderer/main.js index 185cd90f..478f3121 100644 --- a/src/renderer/main.js +++ b/src/renderer/main.js @@ -6,7 +6,10 @@ import store from './store/index' // import 'material-design-icons/iconfont/material-icons.css' import { library } from '@fortawesome/fontawesome-svg-core' import { fas } from '@fortawesome/free-solid-svg-icons' -import { fab } from '@fortawesome/free-brands-svg-icons' +import { faGithub } from '@fortawesome/free-brands-svg-icons/faGithub' +import { faBitcoin } from '@fortawesome/free-brands-svg-icons/faBitcoin' +import { faMonero } from '@fortawesome/free-brands-svg-icons/faMonero' +import { faMastodon } from '@fortawesome/free-brands-svg-icons/faMastodon' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' import VueI18n from 'vue-i18n' import yaml from 'js-yaml' @@ -18,8 +21,7 @@ Vue.config.devtools = isDev Vue.config.performance = isDev Vue.config.productionTip = isDev -library.add(fas) -library.add(fab) +library.add(fas, faGithub, faBitcoin, faMonero, faMastodon) Vue.component('FontAwesomeIcon', FontAwesomeIcon) Vue.use(VueI18n) diff --git a/src/renderer/views/About/About.js b/src/renderer/views/About/About.js index a425ff92..70798a33 100644 --- a/src/renderer/views/About/About.js +++ b/src/renderer/views/About/About.js @@ -14,7 +14,79 @@ export default Vue.extend({ }, data: function () { return { - versionNumber: `v${version}` + versionNumber: `v${version}`, + chunks: [ + { + icon: ['fab', 'github'], + title: this.$t('About.Source code'), + content: `GitHub: FreeTubeApp/FreeTube${this.$t('About.Licensed under the AGPLv3')} ${this.$t('About.View License')}` + }, + { + icon: 'file-download', + title: this.$t('About.Downloads / Changelog'), + content: `${this.$t('About.GitHub releases')}` + }, + { + icon: 'question-circle', + title: this.$t('About.Help'), + content: `${this.$t('About.FreeTube Wiki')} / ${this.$t('About.FAQ')}` + }, + { + icon: 'exclamation-circle', + title: this.$t('About.Report a problem'), + content: `${this.$t('About.GitHub issues')}${this.$t('About.Please check for duplicates before posting')}` + }, + { + icon: 'globe', + title: this.$t('About.Website'), + content: 'https://freetubeapp.io/' + }, + { + icon: 'newspaper', + title: this.$t('About.Blog'), + content: 'https://freetube.writeas.com/' + }, + { + icon: 'envelope', + title: this.$t('About.Email'), + content: 'FreeTubeApp@protonmail.com' + }, + { + icon: ['fab', 'mastodon'], + title: this.$t('About.Mastodon'), + content: '@FreeTube@mastodon.technology' + }, + { + icon: 'comment-dots', + title: this.$t('About.Chat on Matrix'), + content: `#freetube:matrix.org${this.$t('About.Please read the')} ${this.$t('About.room rules')}` + }, + { + icon: 'language', + title: this.$t('About.Translate'), + content: 'https://hosted.weblate.org/engage/free-tube/' + }, + { + icon: 'users', + title: this.$t('About.Credits'), + content: `${this.$t('About.FreeTube is made possible by')} ${this.$t('About.these people and projects')}` + }, + { + icon: 'heart', + title: `${this.$t('About.Donate')} - Liberapay`, + content: 'https://liberapay.com/FreeTube' + }, + { + icon: ['fab', 'bitcoin'], + title: `${this.$t('About.Donate')} - BTC`, + content: '1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS' + }, + { + icon: ['fab', 'monero'], + title: `${this.$t('About.Donate')} - XMR`, + content: '48WyAPdjwc6VokeXACxSZCFeKEXBiYPV6GjfvBsfg4CrUJ95LLCQSfpM9pvNKy5GE5H4hNaw99P8RZyzmaU9kb1pD7kzhCB' + } + ] } }, computed: { diff --git a/src/renderer/views/About/About.sass b/src/renderer/views/About/About.sass new file mode 100644 index 00000000..d7c1c5e0 --- /dev/null +++ b/src/renderer/views/About/About.sass @@ -0,0 +1,50 @@ +.card + width: 85% + margin: 0 auto + margin-bottom: 60px + + @media only screen and (max-width: 680px) + width: 90% + +.brand + text-align: center + +.logo + width: 500px + max-width: 100% + +.version + font-size: 2em + +.about-chunks + max-width: 860px + margin: 80px auto + display: grid + grid-template-columns: 1fr 1fr + grid-gap: 16px + + @media only screen and (max-width: 650px) + grid-template-columns: 1fr + +.chunk + background-color: var(--bg-color) + margin: 0 + padding: 18px + border-radius: 8px + display: grid + grid-template: "icon title" auto "icon content" 1fr / auto 1fr + justify-content: start + align-items: start + grid-gap: 6px 14px + word-break: break-word + box-shadow: 0px 1px 4px -1px rgba(0, 0, 0, 0.5) + + @each $area in icon title content + .#{$area} + grid-area: $area + + .icon + font-size: 24px + + .title + margin: 0 diff --git a/src/renderer/views/About/About.vue b/src/renderer/views/About/About.vue index 14ce38eb..22210be3 100644 --- a/src/renderer/views/About/About.vue +++ b/src/renderer/views/About/About.vue @@ -1,118 +1,40 @@ - - - {{ $t("About.About") }} - - + - {{ versionNumber }} {{ $t("About.Beta") }} + {{ $t("About.About") }} - - {{ $t("About.License") }}: - AGPLv3 - - - - - {{ $t("About.Contact") }} - - - - FreeTubeApp@protonmail.com - - - - @FreeTube@mastodon.technology - - - - #freetube:matrix.org ({{ $t("About.Channel Rules") }}) - - - - - {{ $t("About.Help") }} - - - - - - - - {{ $t("About.Useful Links") }} - - - - - - - - - - - {{ $t("About.Donate") }} - - - - Liberapay - - - - BTC: 1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS - - - - XMR: 48WyAPdjwc6VokeXACxSZCFeKEXBiYPV6GjfvBsfg4CrUJ95LLCQSfpM9pvNKy5GE5H4hNaw99P8RZyzmaU9kb1pD7kzhCB - + + + + {{ versionNumber }} {{ $t("About.Beta") }} + + + + + + + {{ chunk.title }} + + + + - + diff --git a/static/locales/en-US.yaml b/static/locales/en-US.yaml index 14a916d3..d7e278b6 100644 --- a/static/locales/en-US.yaml +++ b/static/locales/en-US.yaml @@ -272,23 +272,30 @@ Settings: About: #On About page About: About - Contact: Contact - Help: Help - Useful Links: Useful Links - Donate: Donate Beta: Beta - License: License - Email: Email - Channel Rules: Channel Rules - Report an Issue: Report an Issue - Wiki: Wiki + Source code: Source code + Licensed under the AGPLv3: Licensed under the AGPLv3 + View License: View License + Downloads / Changelog: Downloads / Changelog + GitHub releases: GitHub releases + Help: Help + FreeTube Wiki: FreeTube Wiki FAQ: FAQ - Credits: Credits - Blog: Blog - Release Notes: Release Notes - Source Code: Source Code + Report a problem: Report a problem + GitHub issues: GitHub issues + Please check for duplicates before posting: Please check for duplicates before posting Website: Website - Translate via Weblate: Translate via Weblate + Blog: Blog + Email: Email + Mastodon: Mastodon + Chat on Matrix: Chat on Matrix + Please read the: Please read the + room rules: room rules + Translate: Translate + Credits: Credits + FreeTube is made possible by: FreeTube is made possible by + these people and projects: these people and projects + Donate: Donate Profile: Profile Select: Profile Select