Altre modifiche...

This commit is contained in:
Paolo Arena
2020-05-04 19:33:15 +02:00
parent 38daf60dfc
commit 4dc599859e
20 changed files with 15792 additions and 28094 deletions

80
README.md Executable file
View File

@@ -0,0 +1,80 @@
<div>
# AYNI
Circolar Economy !<br>
</div>
<div>
This app was made mixing all this languages and tools:<br>
<ul>
<li>Quasar Framework</li>
<li>Vue.js</li>
<li>Typescript</li>
<li>Progressive Web App (PWA) amazing native-looking apps</li>
</ul>
Thanks to the Quasar Framework and TypeScript !
</div>
<br>
<br>
<div align="center">
[![Made with Quasar](https://img.shields.io/badge/made%20with-Quasar-blue.svg?style=for-the-badge)](https://github.com/quasarframework/quasar)
[![Uses TypeScript](https://img.shields.io/badge/uses-TypeScript-3F51B5.svg?style=for-the-badge)](https://github.com/Microsoft/TypeScript)
<!--[![License MIT](https://img.shields.io/github/license/paoloar77/freeplanet-blue.svg?style=for-the-badge)](https://opensource.org/licenses/MIT) -->
</div>
<div align="center">
[![js-standard-style](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)
</div>
## Features ⚡️
- [TypeScript](https://github.com/Microsoft/TypeScript) ✔
- Internationalization (I18n) ✔
## Built-in Tools 🔨
- [TSlint](https://github.com/palantir/tslint) TypeScript Linter configured with the [Standard](https://github.com/standard/standard) JavaScript Code Style
## Installation 🔧
**System prerequisites :**
- Node.js 8.9.0
## Usage
```bash
$ npm run dev # Start a SPA
```
## Building
You can build your application for production using :
```bash
$ npm run build # Build
```
## References
* **Quasar TypeScript (Kevin Marrec proj)** : [GitHub](https://github.com/kevinmarrec/quasar-typescript)
* **Quasar 0.17.15** : [Website](https://quasar-framework.org) | [Documentation](https://quasar-framework.org/guide) | [Github](https://github.com/quasarframework/quasar)
* **Vue I18n 8.1.0** : [Website](https://kazupon.github.io/vue-i18n) | [Documentation](https://kazupon.github.io/vue-i18n/guide/started.html) | [Github](https://github.com/kazupon/vue-i18n)
## License
[MIT](https://opensource.org/licenses/MIT)
Copyright (c) 2020-present, Paolo Arena
* Quasar TypeScript Example:
https://github.com/kevinmarrec/quasar-typescript
Copyright (c) 2018, Kevin Marrec

View File

@@ -7,8 +7,8 @@ const autoprefixer = require('autoprefixer');
const cssNext = require('postcss-cssnext');
const postcssImport = require('postcss-import');
const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer
// const PrerenderSPAPlugin = require('prerender-spa-plugin')
// const Renderer = PrerenderSPAPlugin.PuppeteerRenderer
const baseConfig = {
entry: {
@@ -62,7 +62,7 @@ const baseConfig = {
scss: ['vue-style-loader', 'css-loader','sass-loader', {
loader: 'sass-resources-loader',
options: {
resources: helpers.root('src/styles/variables.scss'),
resources: helpers.root('src/statics/variables.scss'),
esModule: true,
}
}],

View File

@@ -1,3 +1,10 @@
npm VERSIONE 8.9.0
nvm use default 8.9.0
npm install
npm run build
<div v-if="$q.screen.gt.xs">
.....
</div>

27254
package-lock.json generated Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@
"",
""
],
"author": "FreePlanet",
"author": "Paolo Arena",
"license": "MIT",
"scripts": {
"lint": "tslint --project tsconfig.json",
@@ -20,18 +20,18 @@
"build": "quasar build",
"buildpwa": "quasar build -m pwa",
"build:clean": "quasar clean",
"serve": "quasar serve ./dist/spa",
"serve": "quasar serve ./dist/pwa",
"serve:coverage": "quasar serve test/coverage/lcov-report/ --cache 0 --port 8788",
"deploy": "deploy.sh",
"test": "NODE_ENV=test DEBUG=v8:* quasar build",
"deploy_server_test_pwa": "NODE_ENV=test quasar build -m pwa",
"deploy_server_test": "NODE_ENV=test quasar build -m pwa",
"generate-sw": "workbox generateSW workbox-config.js"
},
"dependencies": {
"@babel/plugin-transform-runtime": "^7.4.0",
"@babel/runtime": "^7.0.0",
"@quasar/babel-preset-app": "^1.1.9",
"@quasar/extras": "^1.5.2",
"@quasar/babel-preset-app": "^1.1.8",
"@quasar/extras": "1.5.0",
"@types/googlemaps": "^3.38.0",
"@types/lodash": "^4.14.142",
"@types/vuelidate": "^0.7.0",
@@ -54,8 +54,8 @@
"npm": "^6.10.0",
"nprogress": "^0.2.0",
"prerender-spa-plugin": "^3.4.0",
"quasar": "^1.9.3",
"quasar-extras": "^2.0.8",
"quasar": "1.8.2",
"quasar-extras": "2.0.8",
"register-service-worker": "^1.0.0",
"vee-validate": "^2.1.2",
"vue": "^2.6.10",
@@ -93,10 +93,10 @@
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/plugin-syntax-import-meta": "^7.2.0",
"@babel/preset-env": "^7.4.2",
"@quasar/app": "^1.5.8",
"@quasar/quasar-app-extension-qcalendar": "^1.4.0",
"@quasar/app": "1.5.2",
"@quasar/quasar-app-extension-qcalendar": "^1.3.14",
"@quasar/quasar-app-extension-qmediaplayer": "^1.0.17",
"@quasar/quasar-app-extension-qscroller": "^1.0.8",
"@quasar/quasar-app-extension-qscroller": "1.0.5",
"@quasar/quasar-app-extension-typescript": "^1.0.0-alpha.11",
"@types/dotenv": "^4.0.3",
"@types/jest": "^23.1.4",
@@ -117,7 +117,7 @@
"babel-loader": "8.0.0-beta.2",
"babel-plugin-transform-imports": "1.5.1",
"eslint": "^5.5.0",
"file-loader": "^3.0.1",
"file-loader": "3.0.1",
"html-webpack-plugin": "^2.8.1",
"http-proxy-middleware": "^0.19.1",
"jest": "^24.5.0",
@@ -143,7 +143,7 @@
"workbox-cli": "^3.6.3"
},
"engines": {
"node": ">= 10.16.0",
"node": ">= 8.9.0",
"npm": ">= 5.6.0",
"yarn": ">= 1.15.2"
},

View File

@@ -217,6 +217,7 @@ module.exports = function (ctx) {
'QInnerLoading',
'QSpinnerTail',
'QSpinnerHourglass',
'QSpinnerGears',
'QDate',
'QTime',
'QSlideTransition',

View File

@@ -35,12 +35,7 @@ export default class App extends Vue {
console.info('SESSIONE IN TEST ! (TEST)')
console.info(process.env)
}
console.info('NodeEnv', process.env.NODE_ENV)
if (process.env.PROD) {
console.info('SESSIONE IN PRODUZIONE!')
// console.info(process.env)
}
console.info('Vers:', process.env.APP_VERSION)
// Make autologin only if some routing
@@ -54,7 +49,7 @@ export default class App extends Vue {
})
if (chiamaautologin) {
console.log('CHIAMA autologin_FromLocalStorage')
// console.log('CHIAMA autologin_FromLocalStorage')
await UserStore.actions.autologin_FromLocalStorage()
.then((loadstorage) => {
if (loadstorage) {

View File

@@ -41,6 +41,7 @@ const msg_website_de = {
dbop: 'Operazioni',
statusreg: {
reg: 'Partecipanti',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Ultime Registrazioni:',
nationality: 'Nazionalità',

View File

@@ -33,6 +33,7 @@ const msg_website_enUs = {
Test2: 'Test2',
statusreg: {
reg: 'Participants',
passeggeri: 'Passengers Ships',
giainlista: 'Already in the List',
newreg: 'New registrations:',
nationality: 'Nationality',

View File

@@ -33,6 +33,7 @@ const msg_website_es = {
Test2: 'Test2',
statusreg: {
reg: 'Participantes',
passeggeri: 'Barcos de pasajeros',
giainlista: 'Gia in Lista',
newreg: 'Nuevas inscripciones :',
nationality: 'Nacionalidad',

View File

@@ -36,6 +36,7 @@ const msg_website_fr = {
Test2: 'Test2',
statusreg: {
reg: 'Participants',
passeggeri: 'Navires à passagers',
giainlista: 'Gia in Lista',
newreg: 'Nouvelles inscriptions:',
nationality: 'Nationalité',

View File

@@ -41,6 +41,7 @@ const msg_website_it = {
dbop: 'Operazioni',
statusreg: {
reg: 'Partecipanti',
passeggeri: 'Passeggeri Navi',
giainlista: 'Gia in Lista',
newreg: 'Ultime Registrazioni:',
nationality: 'Nazionalità',

View File

@@ -33,6 +33,7 @@ const msg_website_pt = {
Test2: 'Test2',
statusreg: {
reg: 'Participantes',
passeggeri: 'Navios de Passageiros',
giainlista: 'Já na lista',
newreg: 'Últimas Inscrições:',
nationality: 'Nacionalidade',

View File

@@ -29,6 +29,7 @@ const msg_website_si = {
eventodef: 'Dogodek:',
statusreg: {
reg: 'Udeleženci',
passeggeri: 'Potniki Ladjic',
giainlista: 'Že na seznamu',
newreg: 'Zadnje Registracije:',
nationality: 'Nacionalnost',

View File

@@ -136,7 +136,8 @@ const routes_manager: IListRoutes[] = [
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true
onlyManager: true,
onlyTutor: true
},
{
active: true,
@@ -207,7 +208,7 @@ const routes_manager: IListRoutes[] = [
level_parent: 0,
level_child: 0.5,
onlyAdmin: true,
onlyManager: true
onlyManager: true,
},
{
active: true,
@@ -220,7 +221,8 @@ const routes_manager: IListRoutes[] = [
submenu: true,
level_parent: 0,
level_child: 0.5,
onlyManager: true
onlyManager: true,
onlyTraduttrici: true
},
{
active: true,

View File

@@ -19,11 +19,11 @@ p {
margin-left: auto;
margin-right: auto;
max-height: 250px;
max-width: 250px;
max-height: 200px;
max-width: 200px;
@media (max-width: 718px) {
max-height: 180px;
max-width: 180px;
max-height: 100px;
max-width: 100px;
}
}

View File

@@ -8,12 +8,13 @@
</span>
<div class="landing">
<div style="height: 50px;">
&nbsp;
<div v-if="!isLogged">
<div style="height: 15px;">
</div>
<div class="text-center">
<q-img src="statics/images/background.jpg" class="logo"></q-img>
</div>
</div>
<!--
<div class="row justify-center">
@@ -35,7 +36,8 @@
</div>
<div v-else>
<div v-if="!isLogged && static_data.functionality.ENABLE_REGISTRATION" align="center" style="margin:20px;">
<div v-if="!isLogged && static_data.functionality.ENABLE_REGISTRATION" align="center"
style="margin:20px;">
<q-btn rounded size="lg" color="primary" @click="openrighttoolbar">{{$t('login.enter')}}
</q-btn>
</div>
@@ -50,7 +52,8 @@
</div>
<div v-if="false">
<CTitleBanner v-if="false" class="q-pa-xs" :title="$t('text.how')" bgcolor="bg-primary" clcolor="text-white"
<CTitleBanner v-if="false" class="q-pa-xs" :title="$t('text.how')" bgcolor="bg-primary"
clcolor="text-white"
mystyle=" " myclass="myshad" canopen="true">
<CImgText src="">
<q-icon name="fas fa-gift" size="lg" inverted color="primary"></q-icon>
@@ -108,7 +111,8 @@
<q-icon :name="rec.myicon" size="56px"></q-icon>
<q-icon v-if="rec.myicon2" :name="rec.myicon2" size="56px"></q-icon>
<q-icon v-if="rec.myicon3" :name="rec.myicon3" size="56px"></q-icon>
<q-img v-if="rec.myimg" :src="rec.myimg" style="height: 56px; width: 56px;"></q-img>
<q-img v-if="rec.myimg" :src="rec.myimg"
style="height: 56px; width: 56px;"></q-img>
</div>
<div class="q-mt-md text-center step-text" v-html="gettitle_advise(rec)">
</div>
@@ -157,7 +161,8 @@
</q-carousel-control>
</template>
<q-carousel-slide v-if="getvideonum_mp4 > 0" v-for="index in getvideonum_mp4" :name="`mp4_`+index"
<q-carousel-slide v-if="getvideonum_mp4 > 0" v-for="index in getvideonum_mp4"
:name="`mp4_`+index"
:key="index">
<div v-if="tools.getvideourl(index, false)"
@@ -187,7 +192,8 @@
class="row justify-evenly items-center q-gutter-sm ">
<div class="text-center">
<div class="subtitle_small text-blue" v-html="tools.getvideotitle(index, true)"></div>
<div class="subtitle_small text-blue"
v-html="tools.getvideotitle(index, true)"></div>
<div class="">
<iframe
:width="tools.getwidthscale(mythis, getValDb('YT_W', false), 800)"
@@ -213,11 +219,14 @@
<CTitleBanner class="q-pa-xs" :title="$t('text.what')" bgcolor="bg-secondary" clcolor="text-white"
mystyle=" " canopen="true">
<div class="q-mx-md cltexth4">
1) Voglia di giocare, e desiderio di Donare 33 per aiutare un'altra persona a realizzare i propri
1) Voglia di giocare, e desiderio di Donare 33 per aiutare un'altra persona a realizzare i
propri
sogni.<br><br>
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat, dove ogni
2) L'impegno di seguire delle indicazioni nei tempi stabiliti all' interno di una chat, dove
ogni
passaggio è spiegato e guidato.<br><br>
3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema, impegnandoti così a
3) Parlare e condividere ai tuoi amici un messaggio dove spieghi questo sistema,
impegnandoti così a
trovare
2 persone interessate ad entrare.
</div>

View File

@@ -17,9 +17,9 @@ Vue.use(VueRouter)
*/
let TIMER = null
let TIMER_RITORNA = ''
let URL_RITORNA = ''
let TIMER_STATE = 0
let TIMER_RESTORE = ''
let URL_RESTORE = ''
const Router = new VueRouter({
scrollBehavior: () => ({ x: 0, y: 0 } as PositionResult),
@@ -78,6 +78,8 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
}
if (eseguicheck) {
// Qui arrivano gli URL che non sono della lista ROUTE.
// quindi ad esempio http://localhost:8085/signup/paoloar77
if (!TIMER && to.path !== '/') {
// console.log('TIMER')
@@ -85,7 +87,7 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// console.log('SETINTERVAL')
if (GlobalStore.state.finishLoading) {
if (!!TIMER) {
// console.log('TIMER_STATE', TIMER_STATE, 'TIMER_RITORNA', TIMER_RITORNA)
// console.log('TIMER_STATE', TIMER_STATE, 'URL_RITORNA', URL_RITORNA)
if (TIMER_STATE === 2) {
clearInterval(TIMER)
TIMER = null
@@ -93,14 +95,15 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
// next('/prova')
// return
}
if (TIMER_RITORNA !== '') {
next(TIMER_RITORNA)
// se mi ero salvato un url per doverci ritornare, allora puntalo a questo:
if (URL_RITORNA !== '') {
// next(URL_RITORNA)
TIMER_STATE = 2
return
} else {
if (TIMER_STATE === 0) {
TIMER_RESTORE = to.path
next('/')
URL_RESTORE = to.path
// next('/')
TIMER_STATE = 1
return
}
@@ -115,9 +118,9 @@ Router.beforeEach(async (to: IMyRoute, from: IMyRoute, next) => {
if (GlobalStore.state.finishLoading) {
if (!!TIMER) {
// console.log('TIMER_STATE', TIMER_STATE, 'to.path', to.path)
if (TIMER_RITORNA === '' && TIMER_RESTORE !== '') {
TIMER_RITORNA = TIMER_RESTORE
// onsole.log('TIMER_RITORNA', TIMER_RITORNA)
if (URL_RITORNA === '' && URL_RESTORE !== '') {
URL_RITORNA = URL_RESTORE
// onsole.log('URL_RITORNA', URL_RITORNA)
}
}
}

16516
yarn.lock

File diff suppressed because it is too large Load Diff