Istruzioni per installare l'APP: Android, iOS

This commit is contained in:
Surya Paolo
2023-01-25 20:52:47 +01:00
parent e58f7249a6
commit 23fd5fc5ef
20 changed files with 131 additions and 38 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.60"
APP_VERSION="0.5.61"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.60"
APP_VERSION="0.5.61"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.60"
APP_VERSION="0.5.61"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.60"
APP_VERSION="0.5.61"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="0.5.60"
APP_VERSION="0.5.61"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="14"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -123,15 +123,7 @@
"crypto": false
},
"browserslist": [
"last 30 Chrome versions",
"last 30 Firefox versions",
"last 4 Edge versions",
"last 30 Safari versions",
"last 30 Android versions",
"last 30 ChromeAndroid versions",
"last 30 FirefoxAndroid versions",
"last 18 iOS versions",
"last 11 Opera versions"
"defaults"
],
"engines": {
"node": ">= 16.14.0",

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -293,7 +293,7 @@ module.exports = configure((ctx) => ({
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxOptions: {}, // only for GenerateSW
extendGenerateSWOptions (cfg) {
extendGenerateSWOptions(cfg) {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
@@ -310,9 +310,11 @@ module.exports = configure((ctx) => ({
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
display: 'standalone',
orientation: 'portrait',
background_color: '#ffffff',
background_color: '#fff',
theme_color: '#027be3',
start_url: '/',
scope: "/",
id: "/?homescreen=1",
start_url: "/?homescreen=1",
icons: [
{
src: 'images/riso-android-icon-512x512.png',
@@ -360,6 +362,10 @@ module.exports = configure((ctx) => ({
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://test.riso.app/manifest.json"
}]
},
},

View File

@@ -28,6 +28,7 @@ export default {
const $q = useQuasar()
const userStore = useUserStore()
const $router = useRouter()
const $route = useRoute()
const globalStore = useGlobalStore()
const { t } = useI18n();
@@ -82,6 +83,8 @@ export default {
console.log('app mounted')
darkcookie.value = tools.getCookie('darkmode', false, false, false) === '-1'
globalStore.homescreen = $route.query.homescreen ? $route.query.homescreen : ''
scroll()
}

View File

@@ -24,6 +24,11 @@ export default defineComponent({
const finishLoading = computed(() => globalStore.finishLoading)
const deferredPrompt = computed(() => globalStore.deferredPrompt)
const homescreen = computed(() => globalStore.homescreen)
const viewiOS = ref(false)
const viewAndroid = ref(false)
function installApp() {
if (globalStore.deferredPrompt) {
@@ -56,6 +61,9 @@ export default defineComponent({
installApp,
isAppRunning,
deferredPrompt,
viewiOS,
viewAndroid,
homescreen,
}
}
})

View File

@@ -1,12 +1,15 @@
<template>
<div v-if="tools.isDebugOn()" class="bg-red text-white">
<span> isAppRunning: {{isAppRunning}} - </span>
<span> deferredPrompt: {{deferredPrompt}} - </span>
<span> finishLoading: {{finishLoading}} - </span>
<span> isAppRunning: {{ isAppRunning }} - </span>
<span> deferredPrompt: {{ deferredPrompt }} - </span>
<span> homescreen: {{ homescreen }} </span>
</div>
<div v-if="finishLoading && !isAppRunning && deferredPrompt" class="row justify-center">
<div v-if="finishLoading" class="row justify-center">
<div v-if="!isAppRunning" class="q-ma-sm">
<!-- App not running -->
<q-btn
v-if="deferredPrompt"
glossy
size="xl"
label="Installa App"
@@ -14,7 +17,80 @@
icon="fas fa-mobile-alt"
color="green"
text-color="white"
/>
></q-btn>
<div v-else>
<div v-if="$q.platform.is.ios && $q.platform.is.safari">
<q-btn
glossy
size="xl"
label="Installa App su iOS"
@click="viewiOS = !viewiOS"
icon="fab fa-apple"
color="green"
text-color="white"
></q-btn>
<q-slide-transition>
<!-- Mostra spiegazione per iOS -->
<div v-if="viewiOS">
<q-img
src="images/install_app_on_ios_1.png"
fit="contain"
style="min-width: 350px"
class="q-my-sm"
></q-img
><br />
<q-img
src="images/install_app_on_ios_1b.jpg"
class="q-mb-md"
></q-img
><br />
<q-img
src="images/install_app_on_ios_2.jpg"
fit="contain"
></q-img>
</div>
</q-slide-transition>
</div>
<div v-if="$q.platform.is.android">
<q-btn
glossy
size="lg"
label="Installa App su Android"
@click="viewAndroid = !viewAndroid"
icon="fab fa-android"
color="green"
text-color="white"
></q-btn>
<q-slide-transition>
<!-- Mostra spiegazione per Android -->
<div v-if="viewAndroid">
<div class="q-ma-sm text-h6"> 1) Cliccare sui 3 puntini verticali<br>
2) Cliccare su 'Installa App' o 'Schermata Home'
</div>
<q-img
src="images/install_app_on_android_1.jpg"
fit="contain"
style="min-width: 350px"
class="q-my-sm"
></q-img
><br />
<q-img
src="images/install_app_on_android_2.jpg"
fit="contain"
style="min-width: 350px"
class="q-my-sm"
></q-img
><br />
</div>
</q-slide-transition>
</div>
</div>
</div>
</div>
<!--<div class="row justify-center">
<CBigBtn

View File

@@ -76,8 +76,14 @@ export default defineComponent({
// if (tools.isDebug()) return 'bg-info'
if (globalStore.site && globalStore.site.confpages?.col_toolbar)
return 'bg-' + globalStore.site.confpages?.col_toolbar
else
else {
if (globalStore.homescreen) {
return 'bg-blue'
} else {
return 'bg-light-blue'
}
}
})
const getColorText = computed(() => {

View File

@@ -459,8 +459,9 @@ export interface IGlobalState {
editOn?: boolean,
myselector: ISelector,
addNewRecord: string,
isAppRunning: boolean
deferredPrompt: any
isAppRunning: boolean,
deferredPrompt: any,
homescreen: any,
}
export interface IMenuList {

View File

@@ -618,7 +618,7 @@ const msg_it = {
code_resetpwd_error: 'Il codice inserito non è corretto.',
duplicate_email: 'l\'Email è già stata registrata',
invalid_email: 'l\'Email non è valida',
invalid_email_micro: 'Questa tipo di email non è funzionante sui nostri server. Si consiglia di usare Gmail o altra casella.',
invalid_email_micro: 'Questa tipo di email non è funzionante sui nostri server. Si consiglia di usare Gmail o un\'altra email.',
user_already_exist: 'La registrazione con questi dati (nome, cognome e cellulare) è stata già effettuata. Per accedere al sito, cliccare sul bottone LOGIN dalla HomePage.',
user_extralist_not_found: 'Utente in archivio non trovato, inserire il Nome, Cognome e numero di cellulare comunicato nella lista nel 2019. Se questa è una nuova registrazione, dovete registrarvi tramite il LINK di chi vi sta invitando.',
user_aportador_not_valid: 'Il link di registrazione non sembra risultare valido.',

View File

@@ -7554,8 +7554,8 @@ export const tools = {
},
checkApp() {
console.log('checkApp')
const globalStore = useGlobalStore()
console.log('checkApp (homescreen=', globalStore.homescreen)
try {
let displayMode = 'browser'
@@ -7569,7 +7569,7 @@ export const tools = {
// prova altro 2
console.log('displayMode = ', displayMode)
globalStore.isAppRunning = displayMode === 'standalone'
globalStore.isAppRunning = displayMode === 'standalone' || globalStore.homescreen
} catch (e) {
console.log('error navigator.standalone ?!')
}

View File

@@ -186,6 +186,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
addNewRecord: '',
isAppRunning: false,
deferredPrompt: null,
homescreen: '',
}),
getters: {