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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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