Fix (fe): fixing issue #18, adding h1 title to pages

This commit is contained in:
Marco Cavalli 2025-07-22 15:50:08 +02:00
parent 3fe6ec2901
commit ae049b7966
11 changed files with 271 additions and 244 deletions

View file

@ -17,6 +17,10 @@
body { body {
background-color: #F4F4EC; background-color: #F4F4EC;
color: #141414; color: #141414;
font-family: "Atkinson Hyperlegible"; font-family: "Atkinson Hyperlegible", sans-serif;
}
h1 {
font-size:2.5rem;
font-weight: bold;
} }

View file

@ -92,49 +92,52 @@ watch(search, (newValue, oldValue) => {
</script> </script>
<template> <template>
<Table <div>
:headers="visibleHeaders" <h1>Archivio</h1>
v-model:selected="selected" <Table
v-model:search="search" :headers="visibleHeaders"
:list-data="listData" v-model:selected="selected"
:items="items" v-model:search="search"
:loading="loading" :list-data="listData"
:get-items="getItems" :items="items"
:is-draggable="isDraggable" :loading="loading"
:actions="true" :get-items="getItems"
:item-value="'track_title'" :is-draggable="isDraggable"
:show-select="true" :actions="true"
@update-table="getItems" :item-value="'track_title'"
@update-search="updateSearch" :show-select="true"
@delete-item="cancel" @update-table="getItems"
@edit-item="edit" @update-search="updateSearch"
> @delete-item="cancel"
<template v-slot:header-buttons> @edit-item="edit"
<v-btn color="primary" @click="openDialog('upload')"> >
Upload <template v-slot:header-buttons>
</v-btn> <v-btn color="primary" @click="openDialog('upload')">
</template> Upload
<template v-slot:dialog> </v-btn>
<v-dialog v-model="dialog.open"> </template>
<FileUpload <template v-slot:dialog>
v-if="dialog.type === 'upload'" <v-dialog v-model="dialog.open">
@close-dialog="closeDialog" <FileUpload
/> v-if="dialog.type === 'upload'"
<FileEdit @close-dialog="closeDialog"
v-else-if="dialog.type === 'edit'" />
:item="itemEdited" <FileEdit
@edit-item="saveItem" v-else-if="dialog.type === 'edit'"
/> :item="itemEdited"
<ConfirmDelete @edit-item="saveItem"
v-else-if="dialog.type === 'delete'" />
:title="dialog.title" <ConfirmDelete
:text="dialog.text" v-else-if="dialog.type === 'delete'"
:bulk="bulk" :title="dialog.title"
@confirm="confirmDelete" :text="dialog.text"
/> :bulk="bulk"
</v-dialog> @confirm="confirmDelete"
</template> />
</Table> </v-dialog>
</template>
</Table>
</div>
</template> </template>
<style scoped> <style scoped>

View file

@ -92,6 +92,7 @@ onDeactivated(() => {
<template> <template>
<div> <div>
<h1>Dashboard {{ (showCreateEditMode) ? ' - Crea/Modifica trasmissione' : (showInstanceCreateEditMode) ? ' - Modifica puntata' : ''}}</h1>
<template v-if="showCreateEditMode || showInstanceCreateEditMode"> <template v-if="showCreateEditMode || showInstanceCreateEditMode">
<ShowForm v-if="showCreateEditMode" :showId="showSelected" @go-back="goBack"/> <ShowForm v-if="showCreateEditMode" :showId="showSelected" @go-back="goBack"/>
<ShowInstanceForm v-if="showInstanceCreateEditMode" :showInstance="selectedShowInstance" <ShowInstanceForm v-if="showInstanceCreateEditMode" :showInstance="selectedShowInstance"

View file

@ -98,46 +98,49 @@ watch(search, (newValue, oldValue) => {
</script> </script>
<template> <template>
<PlaylistEditor <div>
v-if="itemEdited.id !== null && !dialog.open" <h1>Playlist {{ (showTypeStore.type === 'spot') ? 'pubblicitarie' : '' }}</h1>
:item="itemEdited" <PlaylistEditor
@go-back="resetItemEdited" v-if="itemEdited.id !== null && !dialog.open"
@save-item="save" :item="itemEdited"
/> @go-back="resetItemEdited"
<Table @save-item="save"
v-else />
:headers="headers" <Table
v-model:selected="selected" v-else
v-model:search="search" :headers="headers"
:list-data="listData" v-model:selected="selected"
:items="items" v-model:search="search"
:loading="loading" :list-data="listData"
:get-items="getItems" :items="items"
:actions="true" :loading="loading"
:show-select="true" :get-items="getItems"
@update-table="getItems" :actions="true"
@update-search="updateSearch" :show-select="true"
@delete-item="cancel" @update-table="getItems"
@edit-item="edit" @update-search="updateSearch"
> @delete-item="cancel"
<template v-slot:header-buttons> @edit-item="edit"
<v-btn color="primary" @click="edit(0)"> >
Crea una nuova Playlist <template v-slot:header-buttons>
</v-btn> <v-btn color="primary" @click="edit(0)">
</template> Crea una nuova Playlist
<template v-slot:dialog> </v-btn>
<v-dialog v-model="dialog.open"> </template>
<ConfirmDelete <template v-slot:dialog>
v-if="dialog.type === 'delete'" <v-dialog v-model="dialog.open">
:title="dialog.title" <ConfirmDelete
:text="dialog.text" v-if="dialog.type === 'delete'"
:bulk="bulk" :title="dialog.title"
@confirm="confirmDelete" :text="dialog.text"
@after-leave="closeDialog" :bulk="bulk"
/> @confirm="confirmDelete"
</v-dialog> @after-leave="closeDialog"
</template> />
</Table> </v-dialog>
</template>
</Table>
</div>
</template> </template>
<style scoped> <style scoped>

View file

@ -116,51 +116,54 @@ const resetItemEdited = () => {
</script> </script>
<template> <template>
<PodcastEditor <div>
v-if="podcastStore.currentPodcast.url != '' && podcastStore.currentPodcast.url != null" <h1>Podcast</h1>
@go-back="resetItemEdited" <PodcastEditor
/> v-if="podcastStore.currentPodcast.url != '' && podcastStore.currentPodcast.url != null"
<Table @go-back="resetItemEdited"
v-else />
:headers="headers" <Table
v-model:selected="selected" v-else
v-model:search="search" :headers="headers"
:list-data="listData" v-model:selected="selected"
:items="items" v-model:search="search"
:loading="loading" :list-data="listData"
:get-items="getItems" :items="items"
:actions="true" :loading="loading"
:show-select="true" :get-items="getItems"
@update-table="getItems" :actions="true"
@update-search="updateSearch" :show-select="true"
@delete-item="cancel" @update-table="getItems"
@edit-item="edit" @update-search="updateSearch"
> @delete-item="cancel"
<template v-slot:header-buttons> @edit-item="edit"
<v-btn color="primary" @click="add"> >
Aggiungi podcast <template v-slot:header-buttons>
</v-btn> <v-btn color="primary" @click="add">
</template> Aggiungi podcast
<template v-slot:dialog> </v-btn>
<v-dialog v-model="dialog.open"> </template>
<ConfirmDelete <template v-slot:dialog>
:title="dialog.title" <v-dialog v-model="dialog.open">
:text="dialog.text" <ConfirmDelete
:bulk="bulk" :title="dialog.title"
@confirm="confirm" :text="dialog.text"
@after-leave="closeDialog" :bulk="bulk"
:loading="dialogLoading" @confirm="confirm"
:hide_confirm="dialog.type === 'info' ? true : false" @after-leave="closeDialog"
> :loading="dialogLoading"
<VTextField :hide_confirm="dialog.type === 'info' ? true : false"
label="Feed RSS" >
v-if="dialog.type === 'add'" <VTextField
v-model="url" label="Feed RSS"
/> v-if="dialog.type === 'add'"
</ConfirmDelete> v-model="url"
</v-dialog> />
</template> </ConfirmDelete>
</Table> </v-dialog>
</template>
</Table>
</div>
</template> </template>
<style scoped> <style scoped>

View file

@ -93,39 +93,44 @@ watch(search, (newValue, oldValue) => {
</script> </script>
<template> <template>
<ShowForm v-if="showCreateEditMode" :showId="showSelected" :showType="showTypeStore.currentType" @go-back="goBack"/> <div>
<Table <h1>
v-else {{ (showTypeStore.currentType === 'show') ? 'Trasmissioni' : 'Blocchi pubblicitari' }}
:headers="headers" </h1>
v-model:selected="selected" <ShowForm v-if="showCreateEditMode" :showId="showSelected" :showType="showTypeStore.currentType" @go-back="goBack"/>
v-model:search="search" <Table
:list-data="listData" v-else
:items="items" :headers="headers"
:loading="loading" v-model:selected="selected"
:get-items="getItems" v-model:search="search"
:actions="true" :list-data="listData"
:show-select="true" :items="items"
@update-table="getItems" :loading="loading"
@update-search="updateSearch" :get-items="getItems"
@delete-item="cancel" :actions="true"
@edit-item="edit" :show-select="true"
> @update-table="getItems"
<template v-slot:header-buttons> @update-search="updateSearch"
<v-btn color="primary" @click="create"> @delete-item="cancel"
<span>Crea un nuovo {{ showTypeStore.currentType }} </span> @edit-item="edit"
</v-btn> >
</template> <template v-slot:header-buttons>
<template v-slot:dialog> <v-btn color="primary" @click="create">
<v-dialog v-model="dialog.open"> <span> {{ (showTypeStore.currentType === 'show') ? 'Crea una nuova trasmissione' : 'Crea un nuovo blocco pubblicitario' }} </span>
<ConfirmDelete </v-btn>
v-if="dialog.type === 'delete'" </template>
:title="dialog.title" <template v-slot:dialog>
:text="dialog.text" <v-dialog v-model="dialog.open">
:bulk="bulk.state" <ConfirmDelete
@confirm="confirmDelete" v-if="dialog.type === 'delete'"
@after-leave="closeDialog" :title="dialog.title"
/> :text="dialog.text"
</v-dialog> :bulk="bulk.state"
</template> @confirm="confirmDelete"
</Table> @after-leave="closeDialog"
/>
</v-dialog>
</template>
</Table>
</div>
</template> </template>

View file

@ -121,47 +121,50 @@ watch(search, (newValue, oldValue) => {
</script> </script>
<template> <template>
<SmartBlockEditor <div>
v-if="itemEdited.id !== null && !dialog.open" <h1>Blocchi dinamici {{ (showTypeStore.type === 'spot') ? 'pubblicitari' : '' }}</h1>
:item="smartBlockStore.currentSmartBlock" <SmartBlockEditor
@go-back="resetItemEdited" v-if="itemEdited.id !== null && !dialog.open"
@save-item="saveItem" :item="smartBlockStore.currentSmartBlock"
/> @go-back="resetItemEdited"
<Table @save-item="saveItem"
v-else />
:headers="visibleHeaders" <Table
v-model:selected="selected" v-else
v-model:search="search" :headers="visibleHeaders"
:list-data="listData" v-model:selected="selected"
:items="items" v-model:search="search"
:loading="loading" :list-data="listData"
:get-items="getItems" :items="items"
:actions="true" :loading="loading"
:show-select="true" :get-items="getItems"
:is-draggable="isDraggable" :actions="true"
@update-table="getItems" :show-select="true"
@update-search="updateSearch" :is-draggable="isDraggable"
@delete-item="cancel" @update-table="getItems"
@edit-item="edit" @update-search="updateSearch"
> @delete-item="cancel"
<template v-slot:header-buttons> @edit-item="edit"
<v-btn color="primary" @click="edit(0)"> >
Crea un nuovo blocco dinamico <template v-slot:header-buttons>
</v-btn> <v-btn color="primary" @click="edit(0)">
</template> Crea un nuovo blocco dinamico
<template v-slot:dialog> </v-btn>
<v-dialog v-model="dialog.open"> </template>
<ConfirmDelete <template v-slot:dialog>
v-if="dialog.type === 'delete'" <v-dialog v-model="dialog.open">
:title="dialog.title" <ConfirmDelete
:text="dialog.text" v-if="dialog.type === 'delete'"
:bulk="bulk" :title="dialog.title"
@confirm="confirmDelete" :text="dialog.text"
@after-leave="closeDialog" :bulk="bulk"
/> @confirm="confirmDelete"
</v-dialog> @after-leave="closeDialog"
</template> />
</Table> </v-dialog>
</template>
</Table>
</div>
</template> </template>
<style scoped> <style scoped>

View file

@ -111,40 +111,43 @@ const goBack = () => {
</script> </script>
<template> <template>
<WebstreamForm v-if="webstreamCreateEditMode" :webstreamId="webstreamSelected" @go-back="goBack"/> <div>
<Table <h1>Webstream</h1>
v-else <WebstreamForm v-if="webstreamCreateEditMode" :webstreamId="webstreamSelected" @go-back="goBack"/>
:headers="visibleHeaders" <Table
v-model:selected="selected" v-else
v-model:search="search" :headers="visibleHeaders"
:list-data="listData" v-model:selected="selected"
:items="items" v-model:search="search"
:loading="loading" :list-data="listData"
:get-items="getItems" :items="items"
:actions="true" :loading="loading"
:show-select="true" :get-items="getItems"
:is-draggable="isDraggable" :actions="true"
@update-table="getItems" :show-select="true"
@update-search="updateSearch" :is-draggable="isDraggable"
@delete-item="cancel" @update-table="getItems"
@edit-item="edit" @update-search="updateSearch"
> @delete-item="cancel"
<template v-slot:header-buttons> @edit-item="edit"
<v-btn color="primary" @click="create"> >
Crea un nuovo webstream <template v-slot:header-buttons>
</v-btn> <v-btn color="primary" @click="create">
</template> Crea un nuovo webstream
<template v-slot:dialog> </v-btn>
<v-dialog v-model="dialog.open"> </template>
<ConfirmDelete <template v-slot:dialog>
v-if="dialog.type === 'delete'" <v-dialog v-model="dialog.open">
:title="dialog.title" <ConfirmDelete
:text="dialog.text" v-if="dialog.type === 'delete'"
:bulk="bulk.state" :title="dialog.title"
@confirm="confirmDelete" :text="dialog.text"
@after-leave="closeDialog" :bulk="bulk.state"
/> @confirm="confirmDelete"
</v-dialog> @after-leave="closeDialog"
</template> />
</Table> </v-dialog>
</template>
</Table>
</div>
</template> </template>

View file

@ -47,19 +47,19 @@ const routes: Array<RouteRecordRaw> = [
}, },
{ {
path: 'spot', path: 'spot',
name: 'Spot', name: 'Blocchi pubblicitari',
component: () => import('@/components/content/Show.vue'), component: () => import('@/components/content/Show.vue'),
meta: {showType: 'spots'} meta: {showType: 'spots'}
}, },
{ {
path: 'spot-playlist', path: 'spot-playlist',
name: 'Spot playlist', name: 'Playlist pubblicitarie',
component: () => import('@/components/content/Playlist.vue'), component: () => import('@/components/content/Playlist.vue'),
meta: {showType: 'spots'} meta: {showType: 'spots'}
}, },
{ {
path: 'spot-blocks', path: 'spot-blocks',
name: 'Spot Blocchi dinamici', name: 'Bloc. din. pubblicitari',
component: () => import('@/components/content/SmartBlock.vue'), component: () => import('@/components/content/SmartBlock.vue'),
meta: {showType: 'spots'} meta: {showType: 'spots'}
}, },

View file

@ -39,6 +39,7 @@ const pages = backofficeRoutes.filter(route => {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 5px; gap: 5px;
padding-top:0;
} }
.v-btn { .v-btn {
justify-content: flex-start; justify-content: flex-start;

View file

@ -49,6 +49,7 @@ onBeforeMount(()=>{
<v-card-item class="text-center"> <v-card-item class="text-center">
<v-img <v-img
src="/imgs/sintonia-horizontal.jpg" src="/imgs/sintonia-horizontal.jpg"
width="420"
/> />
<!-- <v-card-title>{{ $t('login.title') }}</v-card-title>--> <!-- <v-card-title>{{ $t('login.title') }}</v-card-title>-->
<!-- <v-card-subtitle>{{ $t('login.subtitle') }}</v-card-subtitle>--> <!-- <v-card-subtitle>{{ $t('login.subtitle') }}</v-card-subtitle>-->