Files
myprojplanet_vite/src/components/MyHeader/MyHeader.vue
Surya Paolo 57cfa5858b - newsletter: prende la lista utenti (flag news_on)
- Abilita a Tutti la Newsletter news_on
- isCommerciale
- JobsInProgress
- PCB: Corretto Totali che era a zero
2025-05-06 18:19:03 +02:00

249 lines
10 KiB
Vue
Executable File

<template>
<div>
<q-header v-if="site" reveal elevated :class="getClassColorHeader" :style="`color: ` + getColorText + `;`">
<q-toolbar color="primary" :glossy="!$q.platform.is.ios && !$q.platform.is.android" :inverted="$q.platform.is.ios"
class="toolbar">
<q-btn flat dense round @click="clickMenu3Orizz" aria-label="Menu">
<q-icon name="menu" />
</q-btn>
<div v-if="$q.platform.is.desktop">
<!--I'm only rendered on desktop!-->
</div>
<div v-if="$q.platform.is.mobile">
<!--I'm only rendered on mobile!-->
</div>
<div v-if="$q.platform.is.electron">
<!--I'm only rendered on Electron!-->
</div>
<q-btn size="md" id="newvers" v-if="isNewVersionAvailable() || data.updateExists" color="secondary" rounded
icon="refresh" class="btnNewVersShow" @click="RefreshApp()" :label="t('notification.newVersionAvailable')">
</q-btn>
<q-toolbar-title class="row items-center">
<q-avatar @click="toHome" class="imglink">
<img :src="imglogo()" height="27" alt="Immagine Logo" />
</q-avatar>
<div v-if="$q.screen.gt.xs" class="q-mx-sm titlesite">
{{ getappname() }}
</div>
</q-toolbar-title>
<!--
<div v-if="isAdmin">
<q-btn flat dense round aria-label="">
<q-icon :class="clCloudUpload" nametranslate="cloud_upload"></q-icon>
</q-btn>
<q-btn flat dense round aria-label="">
<q-icon :class="clCloudUp_Indexeddb" nametranslate="arrow_upward"></q-icon>
</q-btn>
</div>
-->
<div v-if="site.confpages && site.confpages.show_darkopt" class="text-h7">
<q-toggle :icon="'fas fa-moon'" v-model="dark"> </q-toggle>
</div>
<div v-if="
tools.isLogged() &&
(isAdmin() || tools.isEditor() || tools.isGrafico())
" class="text-h7">
<q-toggle :icon="'fas fa-pencil-alt'" v-model="editOn"> </q-toggle>
</div>
<q-btn v-if="!isonline() && site.confpages && site.confpages.showConnected" flat dense round
aria-label="Connection">
<q-icon :name="iconConn" :class="clIconConn"></q-icon>
<q-icon v-if="isUserNotAuth" name="device_unknown"></q-icon>
</q-btn>
<q-btn-dropdown stretch v-if="isfinishLoading && static_data.lang_available.length > 1" flat :label="langshort"
auto-close>
<q-list bordered>
<q-item clickable v-ripple v-for="langrec in static_data.lang_available" :key="langrec.value"
@click="lang = langrec.value">
<q-item-section avatar>
<img :src="langrec.image" class="flagimg" alt="flag" />
</q-item-section>
<q-item-section>
{{ langrec.label }}
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<div v-if="site.confpages && site.confpages.showMsgs">
<message-popover></message-popover>
</div>
<div v-if="site.confpages?.showCoins || site.confpages?.showRIS">
<coinsPopover v-model="rightCoinsOpen"></coinsPopover>
</div>
<div v-if="site.confpages && site.confpages.showNotif">
<notifPopover v-model="rightNotifOpen"></notifPopover>
</div>
<!--
<div class="right-itens">
<label>{{ t('msg.hello') }}</label> <span v-model="prova"></span> !
</div>-->
<!-- BUTTON USER BAR -->
<q-btn class="q-mx-xs" v-if="
site.confpages && site.confpages.enableEcommerce && tools.isLogged()
" round dense flat @click="rightCartOpen = !rightCartOpen" icon="fas fa-shopping-cart">
<q-badge v-if="getnumItemsCart() > 0" color="red" floating transparent>
{{ getnumItemsCart() }}
</q-badge>
</q-btn>
<q-btn class="q-mx-xs" v-if="
site.confpages &&
site.confpages.enableEcommerce &&
tools.isLogged() &&
getnumOrdersCart() > 0
" round dense flat to="/orderinfo" icon="fas fa-list-ol">
<q-badge v-if="getnumOrdersCart() > 0" color="blue" floating transparent>
{{ getnumOrdersCart() }}
</q-badge>
</q-btn>
<q-btn class="q-mx-xs" v-if="
site.confpages && site.confpages.showUserMenu && !tools.isLogged()
" dense flat round icon="fas fa-user" @click="rightDrawerOpen = !rightDrawerOpen">
</q-btn>
<q-avatar v-else-if="
site.confpages &&
site.confpages.showUserMenu &&
tools.isLogged() &&
getMyImg() &&
$q.screen.gt.sm
" size="36px" class="center_img cursor-pointer" @click="rightDrawerOpen = !rightDrawerOpen">
<q-img ratio="1" fit="cover" :src="getMyImg()" :alt="Username()" img-class="imgprofile_small"
stretch="false" />
</q-avatar>
<q-btn v-else-if="$q.screen.gt.xs" class="q-mx-xs iconprofile_small" round dense flat
@click="rightDrawerOpen = !rightDrawerOpen" :icon="getMyImgforIcon()" :color="getcolormenu()">
</q-btn>
</q-toolbar>
</q-header>
<q-drawer side="left" bordered :show-if-above="globalStore.leftDrawerOpen" :breakpoint="800"
v-model="leftDrawerOpen" :content-class="['bg-grey-1', 'q-pa-sm']" :content-style="{ padding: '0px' }">
<drawer :clBase="clBase"></drawer>
</q-drawer>
<!-- USER BAR -->
<q-drawer v-if="site.confpages && site.confpages.enableEcommerce" v-model="rightCartOpen" class="q-drawer-cart"
side="right" elevated>
<q-btn class="absolute-top-right" :style="`margin-right: 10px; color:` + getColorText + `;`" dense flat round
icon="close" @click="rightCartOpen = !rightCartOpen">
</q-btn>
<CSelectUserActive></CSelectUserActive>
<div v-if="tools.isLogged()" class="text-weight-bold text-cart">
{{ $t("ecomm.carrello_di", { user: products.userActive.username }) }}
</div>
<CMyCart v-if="isfinishLoading"></CMyCart>
</q-drawer>
<!-- USER BAR -->
<q-drawer v-if="site.confpages && site.confpages.showUserMenu" v-model="rightDrawerOpen" side="right" elevated>
<div id="profile">
<q-img class="absolute-top" src="/images/landing_first_section.png" style="height: 150px" alt="section page">
</q-img>
<div class="absolute-top bg-transparent text-black center_img" style="margin-top: 10px">
<div :class="`text-center q-ma-xs boldhigh text-` + getColorText + ` text-h7`
">
{{ t("header.area_personale") }}
</div>
<q-avatar size="80px" class="center_img q-ma-md">
<q-img fit="cover" :src="getMyImg()" :alt="Username()" img-class="imgprofile" height="80px" />
</q-avatar>
<!--<CMyAvatar :myimg="getMyImg()"></CMyAvatar>-->
<q-btn class="absolute-top-right" :style="`margin-right: 10px; color: ` + getColorText + `;`" dense flat round
icon="close" @click="rightDrawerOpen = !rightDrawerOpen">
</q-btn>
<div v-if="tools.isLogged()" class="text-weight-bold text-user">
{{ Username() }}<span v-if="myName()"> - {{ myName() }}</span>
<span v-if="mySurname()">&nbsp;{{ mySurname() }}</span>
</div>
<div class="row justify-evenly q-pa-xs-sm">
<div v-if="tools.isLogged() && isAdmin()" class="text-weight-bold text-user bg-red q-px-xs">
Admin
</div>
<div v-if="isSocio" class="text-weight-bold text-user q-px-xs">
Socio
</div>
<div v-if="isSocioResidente()" class="text-weight-bold text-user q-px-xs bg-amber">
Residente
</div>
<div v-if="isConsiglio()" class="text-weight-bold text-user q-px-xs bg-deep-orange-10">
Consiglio
</div>
<div v-if="tools.isManager()" class="text-weight-bold text-user bg-blue q-px-xs">
Segreteria
</div>
<div v-if="tools.isEditor()" class="text-weight-bold text-user bg-indigo q-px-xs">
Editore
</div>
<div v-if="tools.isCommerciale()" class="text-weight-bold text-user bg-brown q-px-xs">
Commerciale
</div>
<div v-if="isFacilitatore()" class="text-weight-bold text-user q-px-xs">
Facilitatore
</div>
<div v-if="isTratuttrici()" class="text-weight-bold text-user q-px-xs">
Editor
</div>
</div>
<div v-if="!tools.isLogged()" class="text-user text-italic bg-red">
{{ t("user.loggati") }}
</div>
<div v-if="tools.isLogged() && !tools.isVerified()" class="text-verified">
{{ t("components.authentication.email_verification.verify_email") }}
</div>
<div v-if="tools.isLogged()" class="text-verified">
<!-- <span class="text-white" v-if="Verificato()"> {{t('reg.verificato')}} </span> -->
<span class="text-user text-italic bg-red" v-if="!tools.Verificato()">
{{ t("reg.non_verificato") }}
</span>
</div>
<div v-if="tools.isLogged()" id="user-actions" class="column justify-center q-gutter-sm q-ma-sm center-150">
<q-btn rounded color="primary" icon="person" :to="`/my/` + getMyUsername()">{{ t("pages.profile") }}
</q-btn>
<q-btn rounded color="negative" icon="exit_to_app" @click="logoutHandler">{{ t("login.esci") }}</q-btn>
</div>
</div>
<div style="margin-top: 120px"></div>
<div v-show="!tools.isLogged()">
<div class="q-ma-md" style="">
<CSigninNoreg :showregbutt="site.confpages && site.confpages.showRegButton">
</CSigninNoreg>
</div>
</div>
</div>
<div v-if="tools.isLogged()" class="q-mt-lg"></div>
</q-drawer>
</div>
</template>
<script lang="ts" src="./MyHeader.ts">
</script>
<style lang="scss" scoped>
@import "./MyHeader.scss";
</style>