diff --git a/.env.development b/.env.development
index 7828fb02..209ff209 100755
--- a/.env.development
+++ b/.env.development
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"
diff --git a/.env.example.production b/.env.example.production
index 82168c27..5a7c847b 100755
--- a/.env.example.production
+++ b/.env.example.production
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet
diff --git a/.env.test.risosrv b/.env.test.risosrv
index 95d9de54..77d9b0b0 100755
--- a/.env.test.risosrv
+++ b/.env.test.risosrv
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet
diff --git a/_ALL_SITES/riso.app/.env.development b/_ALL_SITES/riso.app/.env.development
index 7828fb02..209ff209 100755
--- a/_ALL_SITES/riso.app/.env.development
+++ b/_ALL_SITES/riso.app/.env.development
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"
diff --git a/_ALL_SITES/riso.app/.env.production b/_ALL_SITES/riso.app/.env.production
index 42135f7f..be8c9880 100644
--- a/_ALL_SITES/riso.app/.env.production
+++ b/_ALL_SITES/riso.app/.env.production
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet
diff --git a/_ALL_SITES/terradellavisione.app/.env.development b/_ALL_SITES/terradellavisione.app/.env.development
index f53dfe18..10de50ba 100755
--- a/_ALL_SITES/terradellavisione.app/.env.development
+++ b/_ALL_SITES/terradellavisione.app/.env.development
@@ -1,4 +1,4 @@
-APP_VERSION="0.5.71"
+APP_VERSION="0.5.73"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="14"
DIRECTORY_LOCAL="newfreeplanet"
diff --git a/src/common/shared_vuejs.ts b/src/common/shared_vuejs.ts
index 2831907f..4e4cdf2c 100755
--- a/src/common/shared_vuejs.ts
+++ b/src/common/shared_vuejs.ts
@@ -55,6 +55,7 @@ export const shared_consts = {
REGISTRATION: 258,
BTN_LOGIN: 260,
FOOTER: 270,
+ PROFILETUTORIAL: 280,
},
QUERYTYPE_MYGROUP: 1,
@@ -1307,6 +1308,10 @@ export const shared_consts = {
value: 140,
label: 'Dashboard',
},
+ {
+ value: 280,
+ label: 'Tutorial',
+ },
],
TypesElemAdminTools: [
diff --git a/src/components/CMyElem/CMyElem.ts b/src/components/CMyElem/CMyElem.ts
index 6da3dbe6..b7d40a72 100755
--- a/src/components/CMyElem/CMyElem.ts
+++ b/src/components/CMyElem/CMyElem.ts
@@ -22,6 +22,7 @@ import { CMyEditor } from '@src/components/CMyEditor'
import { CMyFieldRec } from '@src/components/CMyFieldRec'
import { CSelectColor } from '@src/components/CSelectColor'
import { CMainView } from '@src/components/CMainView'
+import { CMyProfileTutorial } from '@src/components/CMyProfileTutorial'
import { CDashboard } from '@src/components/CDashboard'
import { CCheckAppRunning } from '@src/components/CCheckAppRunning'
import { CStatusReg } from '@src/components/CStatusReg'
@@ -48,6 +49,7 @@ export default defineComponent({
CSelectColor, CSelectFontSize, CImgPoster,
CCheckIfIsLogged, CStatusReg, CDashboard, CMainView, CNotifAtTop,
CPresentazione, CMyActivities,
+ CMyProfileTutorial,
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
},
emits: ['selElemClick'],
diff --git a/src/components/CMyElem/CMyElem.vue b/src/components/CMyElem/CMyElem.vue
index 91f32685..a3ee77e0 100755
--- a/src/components/CMyElem/CMyElem.vue
+++ b/src/components/CMyElem/CMyElem.vue
@@ -435,6 +435,10 @@
CMainView
+
CheckAppRunning
diff --git a/src/components/CMyProfileTutorial/CMyProfileTutorial.scss b/src/components/CMyProfileTutorial/CMyProfileTutorial.scss
new file mode 100755
index 00000000..b892863a
--- /dev/null
+++ b/src/components/CMyProfileTutorial/CMyProfileTutorial.scss
@@ -0,0 +1,4 @@
+.myflex{
+ display: flex;
+ flex: 1;
+}
diff --git a/src/components/CMyProfileTutorial/CMyProfileTutorial.ts b/src/components/CMyProfileTutorial/CMyProfileTutorial.ts
new file mode 100755
index 00000000..58c9bf4c
--- /dev/null
+++ b/src/components/CMyProfileTutorial/CMyProfileTutorial.ts
@@ -0,0 +1,120 @@
+import { defineComponent, onMounted, PropType, ref, watch, computed } from 'vue'
+import { useUserStore } from '@store/UserStore'
+import { ICircuit, IImgGallery, IUserFields, IUserProfile } from 'model'
+import { costanti } from '@costanti'
+import { shared_consts } from '@/common/shared_vuejs'
+import { tools } from '@store/Modules/tools'
+import { useQuasar } from 'quasar'
+import { CSendCoins } from '@/components/CSendCoins'
+import { CMyFieldRec } from '@/components/CMyFieldRec'
+import { CSaldo } from '@/components/CSaldo'
+import { CMySelectCity } from '@/components/CMySelectCity'
+import { CMySelect } from '@/components/CMySelect'
+import { CUserInfoAccount } from '@/components/CUserInfoAccount'
+import { useI18n } from '@/boot/i18n'
+import { useRoute, useRouter } from 'vue-router'
+import { useCircuitStore } from '@store/CircuitStore'
+
+export default defineComponent({
+ name: 'CMyProfileTutorial',
+ components: { CSendCoins, CSaldo, CUserInfoAccount,
+ CMySelectCity, CMyFieldRec, CMySelect },
+ emits: ['setCmd'],
+ props: {
+ mycontact: {
+ type: Object as PropType
,
+ required: false,
+ default: null,
+ },
+ myusername: {
+ type: String,
+ required: false,
+ default: null,
+ },
+ },
+
+ setup(props, { emit }) {
+
+ const userStore = useUserStore()
+ const circuitStore = useCircuitStore()
+ const $q = useQuasar()
+ const { t } = useI18n()
+ const $router = useRouter()
+ const $route = useRoute()
+
+ const showAccountInfo = ref(false)
+ const slide = ref('1')
+
+ const username = ref('')
+ const showsendCoinTo = ref(false)
+
+ const contact = ref(null)
+ const circuit = ref(null)
+
+ watch(() => props.mycontact, (newval, oldval) => {
+ console.log('watch: mycontact')
+ mounted()
+ })
+
+ function mounted() {
+ if (!props.mycontact) {
+ if (props.myusername) {
+ username.value = props.myusername
+ //++Todo: carica contact
+ contact.value = null
+ } else {
+ contact.value = userStore.my
+ }
+ } else {
+ if (props.mycontact) {
+ contact.value = props.mycontact
+ username.value = props.mycontact.username
+ }
+ }
+
+ // circuit.value = circuitStore.getCircuitByName(props.circuitname)
+ }
+
+ function getImgUser(profile: IUserFields) {
+ return userStore.getImgByProfile(profile)
+ }
+
+ function naviga(path: string) {
+ $router.push(path)
+ }
+
+ function setCmd($q: any, cmd: number, myusername: string, value: any, dest: string) {
+ emit('setCmd', $q, cmd, myusername, value, dest)
+ }
+
+ const checkifDisabled = computed(() => {
+ let ret = true
+ if (slide.value === '1') {
+ // Invitante + Email
+ } else if (slide.value === '2') {
+ // Username
+ } else if (slide.value === '3') {
+ // Password
+ }
+
+ return ret
+ })
+
+ onMounted(mounted)
+
+ return {
+ contact,
+ costanti,
+ checkifDisabled,
+ getImgUser,
+ naviga,
+ setCmd,
+ shared_consts,
+ tools,
+ showsendCoinTo,
+ circuit,
+ showAccountInfo,
+ slide,
+ }
+ },
+})
diff --git a/src/components/CMyProfileTutorial/CMyProfileTutorial.vue b/src/components/CMyProfileTutorial/CMyProfileTutorial.vue
new file mode 100755
index 00000000..0997da52
--- /dev/null
+++ b/src/components/CMyProfileTutorial/CMyProfileTutorial.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tools.getNomeUtenteByRecUser(contact) }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/CMyProfileTutorial/index.ts b/src/components/CMyProfileTutorial/index.ts
new file mode 100755
index 00000000..69800ba8
--- /dev/null
+++ b/src/components/CMyProfileTutorial/index.ts
@@ -0,0 +1 @@
+export { default as CMyProfileTutorial } from './CMyProfileTutorial.vue'
diff --git a/src/components/CMySelect/CMySelect.vue b/src/components/CMySelect/CMySelect.vue
index 81988a06..406307ff 100755
--- a/src/components/CMySelect/CMySelect.vue
+++ b/src/components/CMySelect/CMySelect.vue
@@ -25,8 +25,8 @@
:options="valori"
:option-value="optval"
options-selected-class="text-deep-blue"
- class="combowidth"
- style="min-width: 250px"
+ :class="myclass ? myclass : 'combowidth'"
+ style="min-width: 250px !important"
>
@@ -196,7 +196,7 @@
options-selected-class="text-deep-blue"
map-options
v-bind="$attrs"
- class="combowidth">
+ :class="myclass ? myclass : 'combowidth'">
diff --git a/src/components/CMySelectCity/CMySelectCity.scss b/src/components/CMySelectCity/CMySelectCity.scss
new file mode 100755
index 00000000..d51b8641
--- /dev/null
+++ b/src/components/CMySelectCity/CMySelectCity.scss
@@ -0,0 +1,9 @@
+.myflex{
+ display: flex;
+ flex: 1;
+}
+
+.hint{
+ color: gray;
+ font-style: italic;
+}
diff --git a/src/components/CMySelectCity/CMySelectCity.ts b/src/components/CMySelectCity/CMySelectCity.ts
new file mode 100755
index 00000000..687c726c
--- /dev/null
+++ b/src/components/CMySelectCity/CMySelectCity.ts
@@ -0,0 +1,124 @@
+import { computed, defineComponent, onMounted, PropType, ref, toRef, watch } from 'vue'
+import { useI18n } from '@src/boot/i18n'
+import { useUserStore } from '@store/UserStore'
+import { useGlobalStore } from '@store/globalStore'
+import { useQuasar } from 'quasar'
+import { CMySelect } from '@/components/CMySelect'
+
+import { costanti } from '@costanti'
+import { fieldsTable } from '@store/Modules/fieldsTable'
+import { shared_consts } from '@/common/shared_vuejs'
+import { tools } from '@store/Modules/tools'
+import MixinBase from '@/mixins/mixin-base'
+import { ISpecialField } from '@src/model'
+
+export default defineComponent({
+ name: 'CMySelectCity',
+ emits: ['update:modelValue'],
+ props: {
+ modelValue: [String, Number, Object],
+ label: {
+ type: String,
+ required: false,
+ default: undefined,
+ },
+ table: {
+ type: String,
+ required: false,
+ default: ''
+ },
+ myclass: {
+ type: String,
+ required: false,
+ default: ''
+ },
+ jointable: {
+ type: String,
+ required: false,
+ default: ''
+ },
+ db_field: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ db_type: {
+ type: Number,
+ required: false,
+ default: 0,
+ },
+ db_subfield: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ db_subsubfield: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ db_specialField: {
+ type: Object as PropType,
+ required: false,
+ default: null,
+ },
+ db_id: {
+ type: [String, Number],
+ required: false,
+ default: '',
+ },
+ db_rec: {
+ type: Object,
+ required: false,
+ default: null,
+ },
+ },
+ components: { CMySelect },
+ setup(props, { emit }) {
+ const $q = useQuasar()
+ const { t } = useI18n()
+ const userStore = useUserStore()
+ const globalStore = useGlobalStore()
+
+ const optFiltered = ref([])
+ const valori = ref([])
+
+ const { setValDb, getValDb } = MixinBase()
+
+ const myvalue = ref('')
+
+ watch(() => myvalue.value, (value: any, oldval: any) => {
+ update()
+ },
+ )
+
+ function mounted() {
+ myvalue.value = props.modelValue
+ update()
+ }
+
+ function update() {
+ //
+ emit('update:modelValue', myvalue.value)
+ }
+
+ function changevalRec(newval: any) {
+ if (props.db_type > 0)
+ setValDb($q, props.db_field, newval, props.db_type, false, props.table, props.db_subfield, props.db_id, 0, props.db_subsubfield, props.db_specialField)
+
+ }
+
+ onMounted(mounted)
+
+ return {
+ tools,
+ costanti,
+ globalStore,
+ shared_consts,
+ fieldsTable,
+ myvalue,
+ changevalRec,
+ }
+ }
+})
+
diff --git a/src/components/CMySelectCity/CMySelectCity.vue b/src/components/CMySelectCity/CMySelectCity.vue
new file mode 100755
index 00000000..efb9e7f8
--- /dev/null
+++ b/src/components/CMySelectCity/CMySelectCity.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/CMySelectCity/index.ts b/src/components/CMySelectCity/index.ts
new file mode 100755
index 00000000..443e5c88
--- /dev/null
+++ b/src/components/CMySelectCity/index.ts
@@ -0,0 +1 @@
+export {default as CMySelectCity} from './CMySelectCity.vue'
diff --git a/src/components/CMyUser/CMyUser.ts b/src/components/CMyUser/CMyUser.ts
index 6890602e..aee3c86a 100755
--- a/src/components/CMyUser/CMyUser.ts
+++ b/src/components/CMyUser/CMyUser.ts
@@ -72,10 +72,11 @@ export default defineComponent({
const $router = useRouter()
const $route = useRoute()
+ const showsendCoinTo = ref(false)
+
const showAccountInfo = ref(false)
const username = ref('')
- const showsendCoinTo = ref(false)
const contact = ref(null)
const circuit = ref(null)
@@ -86,17 +87,9 @@ export default defineComponent({
})
function mounted() {
- if (!props.mycontact) {
- if (props.myusername) {
- username.value = props.myusername
- //++Todo: carica contact
- contact.value = null
- }
- } else {
- if (props.mycontact) {
- contact.value = props.mycontact
- username.value = props.mycontact.username
- }
+ if (props.mycontact) {
+ contact.value = props.mycontact
+ username.value = props.mycontact.username
}
circuit.value = circuitStore.getCircuitByName(props.circuitname)
@@ -129,9 +122,9 @@ export default defineComponent({
shared_consts,
userStore,
tools,
- showsendCoinTo,
circuit,
showAccountInfo,
+ showsendCoinTo,
}
},
})
diff --git a/src/components/CSendCoins/CSendCoins.ts b/src/components/CSendCoins/CSendCoins.ts
index fece1869..cacb3226 100755
--- a/src/components/CSendCoins/CSendCoins.ts
+++ b/src/components/CSendCoins/CSendCoins.ts
@@ -106,7 +106,7 @@ export default defineComponent({
if (tipoConto.value === costanti.AccountType.COLLECTIVE_ACCOUNT) {
if (arrGroupsList.value.length >= 1)
- from_groupname.value = arrGroupsList.value[0]
+ from_groupname.value = arrGroupsList.value[0].value
}
aggiorna()
diff --git a/src/components/CSendCoins/CSendCoins.vue b/src/components/CSendCoins/CSendCoins.vue
index 112545b6..6d126a37 100755
--- a/src/components/CSendCoins/CSendCoins.vue
+++ b/src/components/CSendCoins/CSendCoins.vue
@@ -24,9 +24,7 @@
label="Circuito"
>
-
- Circuito: {{circuitname}}
-
+ Circuito: {{ circuitname }}
diff --git a/src/components/MyFooter/MyFooter.vue b/src/components/MyFooter/MyFooter.vue
index 21ca2e32..900edb33 100755
--- a/src/components/MyFooter/MyFooter.vue
+++ b/src/components/MyFooter/MyFooter.vue
@@ -36,7 +36,7 @@
class="mylabfooter"
:label="$t('tabdown.circuits')"
to="/circuits"
- icon="fas fa-coins"
+ icon="img: images/1ris_rosso_100.png"
/>
i RIS come moneta di scambio',
+ subtitle: 'Unisciti al circuito della tua provincia per utilizzare i RIS come strumento di scambio',
to: '/circuits',
table: 'circuits',
icon: 'fas fa-coins',
diff --git a/src/views/user/mycircuit/mycircuit.vue b/src/views/user/mycircuit/mycircuit.vue
index 7081fd9e..1033c7a2 100755
--- a/src/views/user/mycircuit/mycircuit.vue
+++ b/src/views/user/mycircuit/mycircuit.vue
@@ -79,14 +79,14 @@
>
{{
- $t('db.insertgoodorservices_to_start_circuit')
+ $t('db.insertgoodorservices_to_enter_circuit')
}}
@@ -98,9 +98,10 @@
>
@@ -112,7 +113,6 @@