From 6f1f962c0a1c527e70112181e73215cdbedb34f6 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 13 Apr 2023 14:27:06 +0200 Subject: [PATCH] aggiunto "Seen" --- src/common/shared_vuejs.ts | 1 + src/components/CFinder/CFinder.ts | 4 +++ .../CMyCardService/CMyCardService.ts | 8 +++++ .../CMyCardService/CMyCardService.vue | 34 ++++++++++++++++++ src/components/CMyRecCard/CMyRecCard.vue | 12 ++++++- src/components/CSkill/CSkill.ts | 6 ++++ src/model/UserStore.ts | 6 ++++ src/statics/lang/it.js | 1 + src/store/Modules/costanti.ts | 1 + src/store/UserStore.ts | 36 ++++++++++++++++++- 10 files changed, 107 insertions(+), 2 deletions(-) diff --git a/src/common/shared_vuejs.ts b/src/common/shared_vuejs.ts index e886a6a7..b84fe9ca 100755 --- a/src/common/shared_vuejs.ts +++ b/src/common/shared_vuejs.ts @@ -1613,6 +1613,7 @@ export const shared_consts = { 'profile.username_telegram': 1, 'profile.favorite': 1, 'profile.bookmark': 1, + 'profile.seen': 1, reported: 1, date_report: 1, username_who_report: 1, diff --git a/src/components/CFinder/CFinder.ts b/src/components/CFinder/CFinder.ts index 0bf0a9c8..79782cc6 100755 --- a/src/components/CFinder/CFinder.ts +++ b/src/components/CFinder/CFinder.ts @@ -1161,6 +1161,7 @@ export default defineComponent({ 'profile.username_telegram': 1, 'profile.favorite': 1, 'profile.bookmark': 1, + 'profile.seen': 1, idCity: 1, pub_to_share: 1, numLevel: 1, @@ -1232,6 +1233,7 @@ export default defineComponent({ 'profile.username_telegram': 1, 'profile.favorite': 1, 'profile.bookmark': 1, + 'profile.seen': 1, idCity: 1, pub_to_share: 1, dateTimeStart: 1, @@ -1311,6 +1313,7 @@ export default defineComponent({ 'profile.username_telegram': 1, 'profile.favorite': 1, 'profile.bookmark': 1, + 'profile.seen': 1, photos: 1, idCity: 1, pub_to_share: 1, @@ -1360,6 +1363,7 @@ export default defineComponent({ 'profile.username_telegram': 1, 'profile.favorite': 1, 'profile.bookmark': 1, + 'profile.seen': 1, idCity: 1, pub_to_share: 1, numLevel: 1, diff --git a/src/components/CMyCardService/CMyCardService.ts b/src/components/CMyCardService/CMyCardService.ts index bbfd9a7f..5d30871f 100644 --- a/src/components/CMyCardService/CMyCardService.ts +++ b/src/components/CMyCardService/CMyCardService.ts @@ -89,6 +89,9 @@ export default defineComponent({ myrec.value = props.prop_myrec } + if (myrec.value) + clicca(costanti.TIPOFAVBOOK.SEEN, true, myrec.value._id) + col.value = fieldsTable.getArrColsByTable(props.table) } @@ -148,6 +151,11 @@ export default defineComponent({ userStore.setBookmark($q, t, myrec.value._id, props.table, myrec.value); } mylist = myrec.value.mybook + } else if (tipo === costanti.TIPOFAVBOOK.SEEN) { + if (myset) { + userStore.setSeen($q, t, myrec.value._id, props.table, myrec.value); + } + mylist = myrec.value.myseen } if (!myset && mylist && mylist.length > 0) { diff --git a/src/components/CMyCardService/CMyCardService.vue b/src/components/CMyCardService/CMyCardService.vue index 5584ff14..502b3f8a 100644 --- a/src/components/CMyCardService/CMyCardService.vue +++ b/src/components/CMyCardService/CMyCardService.vue @@ -10,6 +10,22 @@ +
+ + + +
+ + + + + + {{ $t('cmd.seen', {num: myrec.myseen ? myrec.myseen.length : 0}) }} + +
- ({{ myrec.myfav.length }} + ( + {{ myrec.myseen.length }} + + +   + {{ myrec.myfav.length }} ((rec.id === id) && (rec.tab === tab))) + return myseen + }, + isBookmarked(id: string, table: string) { const tab = tools.getNumTabByTable(table) const mybookmark = this.my.profile.bookmark.find((rec: IBookmark) => ((rec.id === id) && (rec.tab === tab))) @@ -1718,5 +1729,28 @@ export const useUserStore = defineStore('UserStore', { }, + async setSeen($q: any, t: any, id: any, table: string, myrec: any) { + let value = false + + const tab = tools.getNumTabByTable(table) + + value = this.isSeen(id, table) ? false : true + + return await Api.SendReq('/users/cmd', 'POST', { cmd: CMD_USER.SET_SEEN, id, tab, value }) + .then((res) => { + if (res && res.data.state === 1) { + if (!myrec.myseen) + myrec.myseen = [] + this.my.profile.seen.push({ id, tab }) + if (myrec) + myrec.myseen.push({ username: this.my.username }) + } + }).catch((error) => { + console.error('error', error) + return {} + }) + + }, + }, })