Altre modifiche...
This commit is contained in:
80
README.md
Executable file
80
README.md
Executable 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">
|
||||
|
||||
[](https://github.com/quasarframework/quasar)
|
||||
[](https://github.com/Microsoft/TypeScript)
|
||||
|
||||
<!--[](https://opensource.org/licenses/MIT) -->
|
||||
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](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
|
||||
@@ -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,
|
||||
}
|
||||
}],
|
||||
|
||||
@@ -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
27254
package-lock.json
generated
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
24
package.json
24
package.json
@@ -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"
|
||||
},
|
||||
|
||||
@@ -217,6 +217,7 @@ module.exports = function (ctx) {
|
||||
'QInnerLoading',
|
||||
'QSpinnerTail',
|
||||
'QSpinnerHourglass',
|
||||
'QSpinnerGears',
|
||||
'QDate',
|
||||
'QTime',
|
||||
'QSlideTransition',
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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à',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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é',
|
||||
|
||||
@@ -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à',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,12 +8,13 @@
|
||||
</span>
|
||||
|
||||
<div class="landing">
|
||||
<div style="height: 50px;">
|
||||
|
||||
<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,22 +36,24 @@
|
||||
|
||||
</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>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
<div v-if="!isLogged && static_data.functionality.ENABLE_REGISTRATION" align="center" style="margin:20px;">
|
||||
<q-btn rounded size="lg" color="primary" to="/signup">{{$t('reg.submit')}}
|
||||
</q-btn>
|
||||
</div>
|
||||
-->
|
||||
-->
|
||||
|
||||
</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>
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user