diff --git a/quasar.conf.js b/quasar.conf.js index efab0d7..306ab82 100644 --- a/quasar.conf.js +++ b/quasar.conf.js @@ -65,7 +65,7 @@ module.exports = function (ctx) { store: 'src/store/index.ts' }, // app plugins (/src/plugins) - boot: ['vue-i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'], + boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'], css: [ 'app.styl' ], diff --git a/src/App.ts b/src/App.ts index 479254e..3f5965b 100644 --- a/src/App.ts +++ b/src/App.ts @@ -27,12 +27,10 @@ export default class App extends Vue { public meta() { return { - keywords: { name: 'keywords', content: 'WebSite' }, - // meta tags - meta: { - keywords: { name: 'keywords', content: 'MyKeywords' }, - mykey: { name: 'mykey', content: 'Key 1' } - } + title: this.$t('msg.myAppName'), + keywords: [{ name: 'keywords', content: 'associazione shen, centro olistico lugo' }, + { name: 'description', content: this.$t('msg.myAppDescription') }] + // equiv: { 'http-equiv': 'Content-Type', 'content': 'text/html; charset=UTF-8' } } } diff --git a/src/boot/vue-meta.ts b/src/boot/vue-meta.ts new file mode 100644 index 0000000..b0c7933 --- /dev/null +++ b/src/boot/vue-meta.ts @@ -0,0 +1,6 @@ +import Component from 'vue-class-component' + +// Register the meta hook +Component.registerHooks([ + 'meta' +]) diff --git a/src/common/pattern.ts b/src/common/pattern.ts index 7c3f49a..55653a5 100644 --- a/src/common/pattern.ts +++ b/src/common/pattern.ts @@ -4,16 +4,16 @@ export class Patterns { /** * Alphanumeric, spaces and dashes allowed. Min 2 characters length. */ - public static DisplayName: RegExp = /^[0-9a-zA-Z\s\-]{2,}/i; + public static DisplayName: RegExp = /^[0-9a-zA-Z\s\-]{2,}/i /** - * Same pattern used by JQuery userName validation + * Same pattern used by JQuery userName validation */ - public static Email: RegExp = /^((“[\w-\s]+”)|([\w-]+(?:\.[\w-]+)*)|(“[\w-\s]+”)([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}[0-9];{1,2})\]?$)/i; + public static Email: RegExp = /^((“[\w-\s]+”)|([\w-]+(?:\.[\w-]+)*)|(“[\w-\s]+”)([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}[0-9];{1,2})\]?$)/i /** * 6 to 20 characters string with at least one digit, one upper case letter, one lower case letter and one special symbol */ - public static Password: RegExp = /^((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})/i; + public static Password: RegExp = /^((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!\-]).{6,20})/i -} \ No newline at end of file +} diff --git a/src/components/CImgText/CImgText.scss b/src/components/CImgText/CImgText.scss index 3cee8a0..6164b55 100644 --- a/src/components/CImgText/CImgText.scss +++ b/src/components/CImgText/CImgText.scss @@ -31,32 +31,8 @@ } } -@media (max-width: 1600px) { - .myclimg { - max-height: 550px !important; - width: 100%; - } -} - -@media (max-width: 1000px) { - .myclimg { - max-height: 450px !important; - width: 100%; - } -} - -@media (max-width: 800px) { - .myclimg { - max-height: 400px !important; - width: 100%; - } -} - @media (max-width: 400px) { - .myclimg { - // height: inherit !important; - } // PER VERSIONE MOBILE .landing > section.padding_testo { diff --git a/src/components/CImgTitle/CImgTitle.scss b/src/components/CImgTitle/CImgTitle.scss index 9aed146..49c484c 100644 --- a/src/components/CImgTitle/CImgTitle.scss +++ b/src/components/CImgTitle/CImgTitle.scss @@ -31,30 +31,6 @@ } } -@media (max-width: 2500px) { - .myclimg { - height: 550px !important; - } -} - -@media (max-width: 1600px) { - .myclimg { - height: 550px !important; - } -} - -@media (max-width: 1000px) { - .myclimg { - height: 450px !important; - } -} - -@media (max-width: 800px) { - .myclimg { - height: 400px !important; - } -} - @media (max-width: 718px) { // PER VERSIONE MOBILE diff --git a/src/components/logo/logo.ts b/src/components/logo/logo.ts index 750f71a..f0aa558 100644 --- a/src/components/logo/logo.ts +++ b/src/components/logo/logo.ts @@ -12,6 +12,6 @@ export default class Logo extends Vue { } get logoalt() { - return process.env.APP_NAME + return this.$t('msg.myAppName') } } diff --git a/src/db/i18n_website.js b/src/db/i18n_website.js index d37277f..3d305ae 100644 --- a/src/db/i18n_website.js +++ b/src/db/i18n_website.js @@ -23,6 +23,7 @@ const msg_website = { msg: { hello: 'Buongiorno', myAppName: 'FreePlanet', + myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito e senza Pubblicità', underconstruction: 'App in costruzione...', myDescriz: '', sottoTitoloApp: 'Il primo Vero Social', @@ -144,6 +145,7 @@ const msg_website = { msg: { hello: 'Buenos Días', myAppName: 'FreePlanet', + myAppDescription: 'El primer Verdadero Social Libre, justo y Solidario Donde vive Conciencia y Ayuda comunitaria, Gratis y sin publicidad', underconstruction: 'App en construcción...', myDescriz: '', sottoTitoloApp: 'El primer Verdadero Social', @@ -266,6 +268,7 @@ const msg_website = { msg: { hello: 'Hello!', myAppName: 'FreePlanet', + myAppDescription: 'The first Real Social Free, Fair and Equitable Where the conscience and community help live. Free and without advertising', underconstruction: 'App in construction...', myDescriz: '', sottoTitoloApp: 'The first Real Social', diff --git a/src/index.template.html b/src/index.template.html index 2dcfdeb..0ea2927 100644 --- a/src/index.template.html +++ b/src/index.template.html @@ -1,8 +1,6 @@
-