vers. 2.5.0
0
.gitignore
vendored
Normal file → Executable file
6
config/ajaxModule.inc.php
Normal file → Executable file
@@ -35,6 +35,9 @@ if ($is_ajax) {
|
|||||||
include './pages/page/404.php';
|
include './pages/page/404.php';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'podcast':
|
||||||
|
include './pages/page/podcast.php';
|
||||||
|
break;
|
||||||
case 'page':
|
case 'page':
|
||||||
switch ($param) {
|
switch ($param) {
|
||||||
case 'about':
|
case 'about':
|
||||||
@@ -46,9 +49,6 @@ if ($is_ajax) {
|
|||||||
case 'copyright':
|
case 'copyright':
|
||||||
include './pages/page/copyright.php';
|
include './pages/page/copyright.php';
|
||||||
break;
|
break;
|
||||||
case 'addradio':
|
|
||||||
include './pages/page/addradio.php';
|
|
||||||
break;
|
|
||||||
case 'termini-condizioni':
|
case 'termini-condizioni':
|
||||||
include './pages/page/terminicondizioni.php';
|
include './pages/page/terminicondizioni.php';
|
||||||
break;
|
break;
|
||||||
|
|||||||
0
config/config.php
Normal file → Executable file
0
config/getBasePath.inc.php
Normal file → Executable file
4
config/getPage.inc.php
Normal file → Executable file
@@ -5,8 +5,8 @@ header('Content-Type: text/html; charset=UTF-8');
|
|||||||
// File: config/getPage.inc.php
|
// File: config/getPage.inc.php
|
||||||
|
|
||||||
// Whitelist delle pagine valide
|
// Whitelist delle pagine valide
|
||||||
$validPages = ['home', 'radio', 'tv', 'play', 'playtv', 'page'];
|
$validPages = ['home', 'radio', 'tv', 'play', 'playtv', 'page', 'podcast'];
|
||||||
$validSubPages = ['about', 'contact', 'copyright', 'addradio', 'termini-condizioni', 'policy-privacy', 'changelog'];
|
$validSubPages = ['about', 'contact', 'copyright', 'termini-condizioni', 'policy-privacy', 'changelog'];
|
||||||
|
|
||||||
// Rileva se l'utente sta usando un dispositivo mobile
|
// Rileva se l'utente sta usando un dispositivo mobile
|
||||||
function isMobile() {
|
function isMobile() {
|
||||||
|
|||||||
0
config/getStation.inc.php
Normal file → Executable file
0
css/animation.css
Normal file → Executable file
0
css/bootstrap.css
vendored
Normal file → Executable file
0
css/fonts/OFL.txt
Normal file → Executable file
0
css/fonts/Poppins-Black.ttf
Normal file → Executable file
0
css/fonts/Poppins-BlackItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Bold.ttf
Normal file → Executable file
0
css/fonts/Poppins-BoldItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-ExtraBold.ttf
Normal file → Executable file
0
css/fonts/Poppins-ExtraBoldItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-ExtraLight.ttf
Normal file → Executable file
0
css/fonts/Poppins-ExtraLightItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Italic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Light.ttf
Normal file → Executable file
0
css/fonts/Poppins-LightItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Medium.ttf
Normal file → Executable file
0
css/fonts/Poppins-MediumItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Regular.ttf
Normal file → Executable file
0
css/fonts/Poppins-SemiBold.ttf
Normal file → Executable file
0
css/fonts/Poppins-SemiBoldItalic.ttf
Normal file → Executable file
0
css/fonts/Poppins-Thin.ttf
Normal file → Executable file
0
css/fonts/Poppins-ThinItalic.ttf
Normal file → Executable file
840
css/style.css
Normal file → Executable file
@@ -1,421 +1,421 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Black.ttf') format('truetype');
|
src: url('fonts/Poppins-Black.ttf') format('truetype');
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-BlackItalic.ttf') format('truetype');
|
src: url('fonts/Poppins-BlackItalic.ttf') format('truetype');
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Bold.ttf') format('truetype');
|
src: url('fonts/Poppins-Bold.ttf') format('truetype');
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-BoldItalic.ttf') format('truetype');
|
src: url('fonts/Poppins-BoldItalic.ttf') format('truetype');
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Medium.ttf') format('truetype');
|
src: url('fonts/Poppins-Medium.ttf') format('truetype');
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-MediumItalic.ttf') format('truetype');
|
src: url('fonts/Poppins-MediumItalic.ttf') format('truetype');
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Regular.ttf') format('truetype');
|
src: url('fonts/Poppins-Regular.ttf') format('truetype');
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Italic.ttf') format('truetype');
|
src: url('fonts/Poppins-Italic.ttf') format('truetype');
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-Light.ttf') format('truetype');
|
src: url('fonts/Poppins-Light.ttf') format('truetype');
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Poppins';
|
font-family: 'Poppins';
|
||||||
src: url('fonts/Poppins-LightItalic.ttf') format('truetype');
|
src: url('fonts/Poppins-LightItalic.ttf') format('truetype');
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: 'Poppins', sans-serif !important;
|
font-family: 'Poppins', sans-serif !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: "Poppins", sans-serif;
|
font-family: "Poppins", sans-serif;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* DESKTOP SECTION */
|
/* DESKTOP SECTION */
|
||||||
body.desktopBody {
|
body.desktopBody {
|
||||||
background: #2a377e;
|
background: #2a377e;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox,
|
div.dbox,
|
||||||
div.dbox_mobile {
|
div.dbox_mobile {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
background: #4358ca8f;
|
background: #4358ca8f;
|
||||||
padding: 25px;
|
padding: 25px;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox_mobile {
|
div.dbox_mobile {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
max-width: 750px;
|
max-width: 750px;
|
||||||
color: white;
|
color: white;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
max-height: 475px;
|
max-height: 475px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox>h1.title,
|
div.dbox>h1.title,
|
||||||
div.dbox_mobile>h1.title {
|
div.dbox_mobile>h1.title {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox>hr,
|
div.dbox>hr,
|
||||||
div.dbox_mobile>hr {
|
div.dbox_mobile>hr {
|
||||||
margin: 2rem 0;
|
margin: 2rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox>.dbtn,
|
div.dbox>.dbtn,
|
||||||
div.dbox_mobile>.dbtn {
|
div.dbox_mobile>.dbtn {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
background: #f0f0f0;
|
background: #f0f0f0;
|
||||||
color: black;
|
color: black;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dbox>.dbtn:hover {
|
div.dbox>.dbtn:hover {
|
||||||
background: #e0e0e0;
|
background: #e0e0e0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dfooter {
|
div.dfooter {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 15px;
|
bottom: 15px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #ffffff90;
|
color: #ffffff90;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* MOBILE SECTION */
|
/* MOBILE SECTION */
|
||||||
|
|
||||||
.appBody {
|
.appBody {
|
||||||
background-color: #10194b;
|
background-color: #10194b;
|
||||||
max-width: 750px;
|
max-width: 750px;
|
||||||
min-width: 330px;
|
min-width: 330px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.logo-section,
|
.header>.logo-section,
|
||||||
.header>.menu-section {
|
.header>.menu-section {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.logo-section,
|
.header>.logo-section,
|
||||||
.footer>.copyright-section {
|
.footer>.copyright-section {
|
||||||
background-color: #2a377e;
|
background-color: #2a377e;
|
||||||
padding: 15px 0;
|
padding: 15px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.menu-section {
|
.header>.menu-section {
|
||||||
background-color: #3849a8;
|
background-color: #3849a8;
|
||||||
padding: 13px 0;
|
padding: 13px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.logo-section>img {
|
.header>.logo-section>img {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.menu-section>.navLink {
|
.header>.menu-section>.navLink {
|
||||||
color: white;
|
color: white;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
margin: 0 15px;
|
margin: 0 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header>.menu-section>.navLink.active {
|
.header>.menu-section>.navLink.active {
|
||||||
color: #2a377e;
|
color: #2a377e;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 3px 15px;
|
padding: 3px 15px;
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlePage {
|
.titlePage {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin: 15px 0 20px;
|
margin: 15px 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subtitlePage {
|
.subtitlePage {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin: -15px 0 20px;
|
margin: -15px 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.linkBox {
|
.linkBox {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clickBox {
|
.clickBox {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: 2px solid #2a377e;
|
border: 2px solid #2a377e;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
/* margin-bottom: 10px; */
|
/* margin-bottom: 10px; */
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clickBox.Squared {
|
.clickBox.Squared {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
border: solid 4px #2a377e;
|
border: solid 4px #2a377e;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clickBox>img {
|
.clickBox>img {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.changelogTitle {
|
.changelogTitle {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding: 0 13px;
|
padding: 0 13px;
|
||||||
margin: 0 0 15px;
|
margin: 0 0 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.changelogList,
|
.changelogList,
|
||||||
.tec,
|
.tec,
|
||||||
.stationList {
|
.stationList {
|
||||||
padding: 0 13px;
|
padding: 0 13px;
|
||||||
margin: 0 0 10px;
|
margin: 0 0 10px;
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
hyphens: auto;
|
hyphens: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stationList {
|
.stationList {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stationCard>a.stationLink {
|
.stationCard>a.stationLink {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stationCard>a.stationLink>img {
|
.stationCard>a.stationLink>img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .stationCard>.thematicBadge {
|
/* .stationCard>.thematicBadge {
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #f7b835;
|
background: #f7b835;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
border-radius: 27px;
|
border-radius: 27px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
top: 31px;
|
top: 31px;
|
||||||
left: 35px;
|
left: 35px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
} */
|
} */
|
||||||
|
|
||||||
.stationCard.isthematic {
|
.stationCard.isthematic {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-top: -24px;
|
margin-top: -24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stationCard.isthematic:before {
|
.stationCard.isthematic:before {
|
||||||
content: "Tematica";
|
content: "Tematica";
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #f7b835;
|
background: #f7b835;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
border-radius: 27px;
|
border-radius: 27px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
top: 30px;
|
top: 30px;
|
||||||
right: 7px;
|
right: 7px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
iframe.contentplayer {
|
iframe.contentplayer {
|
||||||
height: calc(100vh - 393px);
|
height: calc(100vh - 393px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 750px;
|
max-width: 750px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer_player {
|
.footer_player {
|
||||||
background: #f7b835;
|
background: #f7b835;
|
||||||
color: #2a377d;
|
color: #2a377d;
|
||||||
z-index: 90;
|
z-index: 90;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 750px;
|
max-width: 750px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-top: 1px solid #eee;
|
border-top: 1px solid #eee;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
align-content: end;
|
align-content: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer_player>.row>.col-2>img {
|
.footer_player>.row>.col-2>img {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
button#playPauseBtn,
|
button#playPauseBtn,
|
||||||
button#formatToggleBtn {
|
button#formatToggleBtn {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer,
|
.footer,
|
||||||
.header {
|
.header {
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer>.menu-section {
|
.footer>.menu-section {
|
||||||
background: #3849a8;
|
background: #3849a8;
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
padding: 7px 0;
|
padding: 7px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer>.menu-section>a {
|
.footer>.menu-section>a {
|
||||||
color: white;
|
color: white;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer>.copyright-section {
|
.footer>.copyright-section {
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 450px) {
|
@media (max-width: 450px) {
|
||||||
.appBody {
|
.appBody {
|
||||||
background-color: #2a377e;
|
background-color: #2a377e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Loading spinner */
|
/* Loading spinner */
|
||||||
.loading {
|
.loading {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.spinner {
|
.spinner {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 4px solid rgba(0, 0, 0, 0.1);
|
border: 4px solid rgba(0, 0, 0, 0.1);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border-top-color: #3498db;
|
border-top-color: #3498db;
|
||||||
animation: spin 1s ease-in-out infinite;
|
animation: spin 1s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes spin {
|
@keyframes spin {
|
||||||
to {
|
to {
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Forza orientamento portrait - nasconde contenuto in landscape */
|
/* Forza orientamento portrait - nasconde contenuto in landscape */
|
||||||
@media screen and (orientation: landscape) and (max-height: 450px) {
|
@media screen and (orientation: landscape) and (max-height: 450px) {
|
||||||
body.appBody::after {
|
body.appBody::after {
|
||||||
content: "Ruota il dispositivo in verticale";
|
content: "Ruota il dispositivo in verticale";
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background: #2a377e;
|
background: #2a377e;
|
||||||
color: white;
|
color: white;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.appBody>* {
|
body.appBody>* {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
778
data/changelog.xml
Normal file → Executable file
@@ -1,385 +1,395 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<changelog>
|
<changelog>
|
||||||
<version>
|
|
||||||
<number>2.4.2</number>
|
<version>
|
||||||
<logs>
|
<number>2.5.0</number>
|
||||||
<log>Aggiornata la grandezza della finestra dell'applicazione da desktop.</log>
|
<logs>
|
||||||
<log>Inserito il link della repository su ASV Git all'interno della pagina del changelog.</log>
|
<log>Aggiunta la pagina per la visualizzazione dei podcast.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Rimossa la pagina per l'aggiunta delle nuove emittenti radiofoniche e televisive.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>2.4.1</number>
|
<version>
|
||||||
<logs>
|
<number>2.4.2</number>
|
||||||
<log>Aggiornata la pagiana del player audio, per renderla più coerente con le altre pagine dell'applicazione.</log>
|
<logs>
|
||||||
<log>Aggiunta la visualizzazione dell'artista e del brano in riproduzione.</log>
|
<log>Aggiornata la grandezza della finestra dell'applicazione da desktop.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Inserito il link della repository su ASV Git all'interno della pagina del changelog.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>2.4.0</number>
|
<version>
|
||||||
<logs>
|
<number>2.4.1</number>
|
||||||
<log>Implementato il player video dedicato per la riproduzione dei canali visivi.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Aggiornata la pagiana del player audio, per renderla più coerente con le altre pagine dell'applicazione.</log>
|
||||||
</logs>
|
<log>Aggiunta la visualizzazione dell'artista e del brano in riproduzione.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.3.0</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Ottimizzata la risoluzione dell'applicazione su dispositivi larghi (tablet, iPad e computer).</log>
|
<number>2.4.0</number>
|
||||||
<log>Implementato lo switch tra il player audio in HLS e il player audio in MP3/AAC.</log>
|
<logs>
|
||||||
<log>Rimosso l'avviso per i dispositivi iOS.</log>
|
<log>Implementato il player video dedicato per la riproduzione dei canali visivi.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>2.2.0</number>
|
<number>2.3.0</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>E' stato reintrodotto la schermata di caricamento ad ogni selezione di ogni pagina dell'applicazione.</log>
|
<log>Ottimizzata la risoluzione dell'applicazione su dispositivi larghi (tablet, iPad e computer).</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Implementato lo switch tra il player audio in HLS e il player audio in MP3/AAC.</log>
|
||||||
</logs>
|
<log>Rimosso l'avviso per i dispositivi iOS.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.1.4</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Corretto la visione verticale sui dispositivi mobili.</log>
|
<number>2.2.0</number>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<logs>
|
||||||
</logs>
|
<log>E' stato reintrodotto la schermata di caricamento ad ogni selezione di ogni pagina dell'applicazione.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.1.3</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Implementato il nuovo player audio per la riproduzione dei flussi audio in HLS per il bitrate adattivo.</log>
|
<number>2.1.4</number>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<logs>
|
||||||
</logs>
|
<log>Corretto la visione verticale sui dispositivi mobili.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.1.2</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Implementazione del sistema di qualità adattiva (ABR) per il player audio.</log>
|
<number>2.1.3</number>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<logs>
|
||||||
</logs>
|
<log>Implementato il nuovo player audio per la riproduzione dei flussi audio in HLS per il bitrate adattivo.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.1.1</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Corretti alcuni bug che impedivano l'accesso al player dal link esterno.</log>
|
<number>2.1.2</number>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<logs>
|
||||||
</logs>
|
<log>Implementazione del sistema di qualità adattiva (ABR) per il player audio.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.1.0</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Risoluzione dei problemi minori presenti nel codice, che causava problemi nella navigazione in app.</log>
|
<number>2.1.1</number>
|
||||||
<log>Risoluzione dei problemi minori presenti nel codice, che causava problemi di riproduzione audio al player.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Corretti alcuni bug che impedivano l'accesso al player dal link esterno.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>2.0.4</number>
|
<version>
|
||||||
<logs>
|
<number>2.1.0</number>
|
||||||
<log>Blocco rotazione: è stato risolto il problema della rotazione schermo dell'applicazione. Ora rimane fissa in verticale.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Risoluzione dei problemi minori presenti nel codice, che causava problemi nella navigazione in app.</log>
|
||||||
</logs>
|
<log>Risoluzione dei problemi minori presenti nel codice, che causava problemi di riproduzione audio al player.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.0.3</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Corretta la visualizzazione dei contenuti forniti dalle emittenti all'interno del player.</log>
|
<number>2.0.4</number>
|
||||||
<log>Corretta la visualizzazione del player audio.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Blocco rotazione: è stato risolto il problema della rotazione schermo dell'applicazione. Ora rimane fissa in verticale.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>2.0.2</number>
|
<version>
|
||||||
<logs>
|
<number>2.0.3</number>
|
||||||
<log>Inserita la pagina statica per le emittenti tematiche.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Corretta la visualizzazione dei contenuti forniti dalle emittenti all'interno del player.</log>
|
||||||
</logs>
|
<log>Corretta la visualizzazione del player audio.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.0.1</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Aggiunta la Visual Radio dell'emittente "Radio Città 105".</log>
|
<number>2.0.2</number>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<logs>
|
||||||
</logs>
|
<log>Inserita la pagina statica per le emittenti tematiche.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>2.0.0</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Nuova UI/UX: RPIGroup aggiorna la veste grafica della sua applicazione, rendendola più "fumettosa" e "giocattolosa". Un'estetica completamente diversa da tutte le altre varie app radiofoniche.</log>
|
<number>2.0.1</number>
|
||||||
<log>Nuova Engine: Nuovo motore e struttura dell'applicazione. Lato backend è cambiato completamente rispetto alla versione 1.</log>
|
<logs>
|
||||||
<log>Nuovo Player Audio/Video: Player più semplice, ma conserva le caratteristiche della precedente versione.</log>
|
<log>Aggiunta la Visual Radio dell'emittente "Radio Città 105".</log>
|
||||||
<log>Termini e Condizioni: inserimento per obblighi di legge dei corrispettivi "Termini e Condizioni"</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
<log>Policy Privacy: inserimento per obblighi di legge dei corrispettivi "Policy Privacy"</log>
|
</logs>
|
||||||
<log>Dalla versione 2 e successive, è stata rimossa la dicitura "stable" in quanto non esistono più varie versioni dell'applicazione.</log>
|
</version>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
|
||||||
</logs>
|
<version>
|
||||||
</version>
|
<number>2.0.0</number>
|
||||||
|
<logs>
|
||||||
<version>
|
<log>Nuova UI/UX: RPIGroup aggiorna la veste grafica della sua applicazione, rendendola più "fumettosa" e "giocattolosa". Un'estetica completamente diversa da tutte le altre varie app radiofoniche.</log>
|
||||||
<number>1.2.1 Stable</number>
|
<log>Nuova Engine: Nuovo motore e struttura dell'applicazione. Lato backend è cambiato completamente rispetto alla versione 1.</log>
|
||||||
<logs>
|
<log>Nuovo Player Audio/Video: Player più semplice, ma conserva le caratteristiche della precedente versione.</log>
|
||||||
<log>Aggiunta la pagina sul chiarimento dei "Diritti d'Autore".</log>
|
<log>Termini e Condizioni: inserimento per obblighi di legge dei corrispettivi "Termini e Condizioni"</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Policy Privacy: inserimento per obblighi di legge dei corrispettivi "Policy Privacy"</log>
|
||||||
</logs>
|
<log>Dalla versione 2 e successive, è stata rimossa la dicitura "stable" in quanto non esistono più varie versioni dell'applicazione.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>1.2.0 Stable</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Implementato il "Media Sessions" che permette di visualizzare la radio in riproduzione nel centro notifiche su iOS e Android.</log>
|
<number>1.2.1 Stable</number>
|
||||||
<log>Preparazione dell'ottimizzazione del software in occasione della terza versione dell'app.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Aggiunta la pagina sul chiarimento dei "Diritti d'Autore".</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>1.1.1 Stable</number>
|
<version>
|
||||||
<logs>
|
<number>1.2.0 Stable</number>
|
||||||
<log>Correzione bug che impediva il caricamento del logo nell'icona dell'app sui smartphone.</log>
|
<logs>
|
||||||
<log>Risolto il problema dell'overscrolling su smartphone.</log>
|
<log>Implementato il "Media Sessions" che permette di visualizzare la radio in riproduzione nel centro notifiche su iOS e Android.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Preparazione dell'ottimizzazione del software in occasione della terza versione dell'app.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>1.1.0 Stable</number>
|
<version>
|
||||||
<logs>
|
<number>1.1.1 Stable</number>
|
||||||
<log>Aggiunta la nuova stazione radio tematica "RDL Revival 70-80-90".</log>
|
<logs>
|
||||||
<log>Migliorata la visualizzazione del selettore radio della pagina home.</log>
|
<log>Correzione bug che impediva il caricamento del logo nell'icona dell'app sui smartphone.</log>
|
||||||
<log>Implementato nel player la visualizzazione della pagina statica per le radio tematiche.</log>
|
<log>Risolto il problema dell'overscrolling su smartphone.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie causate dall'ultima versione "Beta".</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>1.0.0 Stable</number>
|
<number>1.1.0 Stable</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Passaggio alla versione "Stable" dell'applicazione.</log>
|
<log>Aggiunta la nuova stazione radio tematica "RDL Revival 70-80-90".</log>
|
||||||
<log>Verifica di ulteriori correzioni dal passaggio della versione stabile.</log>
|
<log>Migliorata la visualizzazione del selettore radio della pagina home.</log>
|
||||||
<log>Leggerimento dell'applicazione a livello backend.</log>
|
<log>Implementato nel player la visualizzazione della pagina statica per le radio tematiche.</log>
|
||||||
<log>Ulteriori analisi di stabilità dal momento del passaggio alla versione stabile.</log>
|
<log>Correzione e bugfix di problematiche varie causate dall'ultima versione "Beta".</log>
|
||||||
<log>Correzione e bugfix di problematiche varie causate dall'ultima versione "Beta".</log>
|
</logs>
|
||||||
</logs>
|
</version>
|
||||||
</version>
|
|
||||||
|
<version>
|
||||||
<version>
|
<number>1.0.0 Stable</number>
|
||||||
<number>0.24.0 Beta</number>
|
<logs>
|
||||||
<logs>
|
<log>Passaggio alla versione "Stable" dell'applicazione.</log>
|
||||||
<log>Aggiormaneto player audio - Riproduzione dei flussi audio in HLS per il bitrate adattivo. Le radio iscritte devono supportare il protocollo HLS.</log>
|
<log>Verifica di ulteriori correzioni dal passaggio della versione stabile.</log>
|
||||||
<log>Supporto all'interscambio della connessione - Al cambiare di tipologia (Wifi o Rete Cellulare), il flusso audio non si interrompe.</log>
|
<log>Leggerimento dell'applicazione a livello backend.</log>
|
||||||
<log>Preparazione del codice alla versione "1.0.0 Stable"</log>
|
<log>Ulteriori analisi di stabilità dal momento del passaggio alla versione stabile.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione e bugfix di problematiche varie causate dall'ultima versione "Beta".</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.23.3 Beta</number>
|
<number>0.24.0 Beta</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Inserimento del nuovo flusso video per il canale "RC105 TV".</log>
|
<log>Aggiormaneto player audio - Riproduzione dei flussi audio in HLS per il bitrate adattivo. Le radio iscritte devono supportare il protocollo HLS.</log>
|
||||||
<log>Aggiornamento player video - Inserita l'anteprima del flusso video</log>
|
<log>Supporto all'interscambio della connessione - Al cambiare di tipologia (Wifi o Rete Cellulare), il flusso audio non si interrompe.</log>
|
||||||
<log>Correzione accesso al player video con l'inserimento automatico dell'anteprima e flusso video del canale selezionato</log>
|
<log>Preparazione del codice alla versione "1.0.0 Stable"</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.23.2 Beta</number>
|
<number>0.23.3 Beta</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Inizializzazione cambio interfaccia e modernamento.</log>
|
<log>Inserimento del nuovo flusso video per il canale "RC105 TV".</log>
|
||||||
<log>Reinserimento della schermata di caricamento nel player.</log>
|
<log>Aggiornamento player video - Inserita l'anteprima del flusso video</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione accesso al player video con l'inserimento automatico dell'anteprima e flusso video del canale selezionato</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.23.1 Beta</number>
|
<version>
|
||||||
<logs>
|
<number>0.23.2 Beta</number>
|
||||||
<log>Rimozione del logo al caricamento di ogni singola pagina (tranne all'avvio dell'app).</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Inizializzazione cambio interfaccia e modernamento.</log>
|
||||||
</logs>
|
<log>Reinserimento della schermata di caricamento nel player.</log>
|
||||||
</version>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
|
</logs>
|
||||||
<version>
|
</version>
|
||||||
<number>0.23.0 Beta</number>
|
|
||||||
<logs>
|
<version>
|
||||||
<log>Rilasciato il nuovo player video.</log>
|
<number>0.23.1 Beta</number>
|
||||||
<log>Inserimento dell'emittente RC105TV nella lista delle WebTV.</log>
|
<logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Rimozione del logo al caricamento di ogni singola pagina (tranne all'avvio dell'app).</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.22.4 Beta</number>
|
<version>
|
||||||
<logs>
|
<number>0.23.0 Beta</number>
|
||||||
<log>Correzione errori minimi nel sistema.</log>
|
<logs>
|
||||||
<log>Aggiunta indicatore della versione app nella schermata desktop.</log>
|
<log>Rilasciato il nuovo player video.</log>
|
||||||
<log>Preparazione player video - Correzioni minimi player e aggiunta di pagine mancanti.</log>
|
<log>Inserimento dell'emittente RC105TV nella lista delle WebTV.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.22.3 Beta</number>
|
<number>0.22.4 Beta</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Migliorati i tempi di caricamento dei player.</log>
|
<log>Correzione errori minimi nel sistema.</log>
|
||||||
<log>Aggiunta nuovi file di Configurazione.</log>
|
<log>Aggiunta indicatore della versione app nella schermata desktop.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Preparazione player video - Correzioni minimi player e aggiunta di pagine mancanti.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.22.2 Beta</number>
|
<version>
|
||||||
<logs>
|
<number>0.22.3 Beta</number>
|
||||||
<log>Corretto la visualizzazione del player da desktop.</log>
|
<logs>
|
||||||
<log>Corretto la visualizzazione del font scelto per la webapp "Rubik".</log>
|
<log>Migliorati i tempi di caricamento dei player.</log>
|
||||||
<log>Varie ottimizzazioni per la valutazione finale di Google Page Speed.</log>
|
<log>Aggiunta nuovi file di Configurazione.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.22.1 Beta</number>
|
<number>0.22.2 Beta</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Corretto il bug del logo all'interno dell'homepage.</log>
|
<log>Corretto la visualizzazione del player da desktop.</log>
|
||||||
<log>Corretto la riproduzione audio dell'emittente Radio Città 105.</log>
|
<log>Corretto la visualizzazione del font scelto per la webapp "Rubik".</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Varie ottimizzazioni per la valutazione finale di Google Page Speed.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.22.0 Beta</number>
|
<version>
|
||||||
<logs>
|
<number>0.22.1 Beta</number>
|
||||||
<log>Cambiata la struttura interna dell'app, con unificazione della visualizzazione mobile con quella desktop.</log>
|
<logs>
|
||||||
<log>Cambiata la configurazione dell'app. Ottimizzata per ridurre i tempi di attesa e output della pagina.</log>
|
<log>Corretto il bug del logo all'interno dell'homepage.</log>
|
||||||
<log>Le emittenti registrate sono inserite all'interno di un file XML apposito.</log>
|
<log>Corretto la riproduzione audio dell'emittente Radio Città 105.</log>
|
||||||
<log>Aggiornato il player interattivo. Ora disponibile di default per tutte le emittenti.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
<log>Ottimizzata la homescreen con correzioni di vari bug.</log>
|
</logs>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
</version>
|
||||||
</logs>
|
|
||||||
</version>
|
<version>
|
||||||
|
<number>0.22.0 Beta</number>
|
||||||
<version>
|
<logs>
|
||||||
<number>0.21.0 Beta</number>
|
<log>Cambiata la struttura interna dell'app, con unificazione della visualizzazione mobile con quella desktop.</log>
|
||||||
<logs>
|
<log>Cambiata la configurazione dell'app. Ottimizzata per ridurre i tempi di attesa e output della pagina.</log>
|
||||||
<log>Realizzazione del nuovo player interattivo. Disponibile per smartphone e desktop (Al momento, è disponibile solo per l'emittente RDL).</log>
|
<log>Le emittenti registrate sono inserite all'interno di un file XML apposito.</log>
|
||||||
<log>Disattivato il precedente player mobile. Verrà riattivato esclusivamente per "emittenti" sprovviste di pagine dinamiche.</log>
|
<log>Aggiornato il player interattivo. Ora disponibile di default per tutte le emittenti.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
<log>Ottimizzata la homescreen con correzioni di vari bug.</log>
|
||||||
</logs>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.20.0 Beta</number>
|
<version>
|
||||||
<logs>
|
<number>0.21.0 Beta</number>
|
||||||
<log>L'app entra ufficialmente nello stato di Beta-testing.</log>
|
<logs>
|
||||||
<log>Cambiata la modalità di indicazione della versione, non più basata sulla data di aggiornamento, ma sul numero di update dell'app.</log>
|
<log>Realizzazione del nuovo player interattivo. Disponibile per smartphone e desktop (Al momento, è disponibile solo per l'emittente RDL).</log>
|
||||||
<log>Avviata ufficialmente la "Roadmap" sulla Versione 1.0.0 (indicata a fine pagina CHANGELOG).</log>
|
<log>Disattivato il precedente player mobile. Verrà riattivato esclusivamente per "emittenti" sprovviste di pagine dinamiche.</log>
|
||||||
<log>Aggiunto script per iOS e iPadOS sul rilevamento uso browser/app.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
<log>Correzione e bugfix script rilevamento app Android.</log>
|
</logs>
|
||||||
</logs>
|
</version>
|
||||||
</version>
|
|
||||||
|
<version>
|
||||||
<version>
|
<number>0.20.0 Beta</number>
|
||||||
<number>0.12.6 Alpha (Last Release)</number>
|
<logs>
|
||||||
<logs>
|
<log>L'app entra ufficialmente nello stato di Beta-testing.</log>
|
||||||
<log>Aggiornata la lista emittenti nel menu in alto sinistra.</log>
|
<log>Cambiata la modalità di indicazione della versione, non più basata sulla data di aggiornamento, ma sul numero di update dell'app.</log>
|
||||||
<log>Aggiornate le pagine "Cosa è RPIGRPUP PLAY", "COME FUNZIONA L'APP" e "HAI BISOGNO DI AIUTO".</log>
|
<log>Avviata ufficialmente la "Roadmap" sulla Versione 1.0.0 (indicata a fine pagina CHANGELOG).</log>
|
||||||
<log>Corretto bug inizializzazione app per iOS e iPadOS.</log>
|
<log>Aggiunto script per iOS e iPadOS sul rilevamento uso browser/app.</log>
|
||||||
<log>Aggiunto script di controllo gestione app per iOS e iPadOS.</log>
|
<log>Correzione e bugfix script rilevamento app Android.</log>
|
||||||
<log>Correzione e bugfix di problematiche varie.</log>
|
</logs>
|
||||||
</logs>
|
</version>
|
||||||
</version>
|
|
||||||
|
<version>
|
||||||
<version>
|
<number>0.12.6 Alpha (Last Release)</number>
|
||||||
<number>0.12.5 Aplha</number>
|
<logs>
|
||||||
<logs>
|
<log>Aggiornata la lista emittenti nel menu in alto sinistra.</log>
|
||||||
<log>Realizzazione file XML per il Changelog.</log>
|
<log>Aggiornate le pagine "Cosa è RPIGRPUP PLAY", "COME FUNZIONA L'APP" e "HAI BISOGNO DI AIUTO".</log>
|
||||||
<log>Aggiunto pulsante per la visualizzazione del Changelog.</log>
|
<log>Corretto bug inizializzazione app per iOS e iPadOS.</log>
|
||||||
<log>Correzione pagina About per la visualizzazione del Changelog.</log>
|
<log>Aggiunto script di controllo gestione app per iOS e iPadOS.</log>
|
||||||
<log>Correzione visualizzazione del Home Page.</log>
|
<log>Correzione e bugfix di problematiche varie.</log>
|
||||||
<log>Reso automatico il cambio di versione dell'app in base all'ultima versione disponibile e dichiarata all'intero del Changelog.</log>
|
</logs>
|
||||||
</logs>
|
</version>
|
||||||
</version>
|
|
||||||
|
<version>
|
||||||
<version>
|
<number>0.12.5 Aplha</number>
|
||||||
<number>0.12.2 Alpha</number>
|
<logs>
|
||||||
<logs>
|
<log>Realizzazione file XML per il Changelog.</log>
|
||||||
<log>Corretto il problema del caricamento del "Player Mobile" su iOS e derivati.</log>
|
<log>Aggiunto pulsante per la visualizzazione del Changelog.</log>
|
||||||
<log>Corretto e aggiunto nuovi script del "Player Mobile"</log>
|
<log>Correzione pagina About per la visualizzazione del Changelog.</log>
|
||||||
<log>Aggiornato slogan dell'emittente "RDL XMAS"</log>
|
<log>Correzione visualizzazione del Home Page.</log>
|
||||||
<log>Aggiunto il Changelog</log>
|
<log>Reso automatico il cambio di versione dell'app in base all'ultima versione disponibile e dichiarata all'intero del Changelog.</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.11.30 Alpha</number>
|
<number>0.12.2 Alpha</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Corretto la visualizzazione del "Player Mobile"</log>
|
<log>Corretto il problema del caricamento del "Player Mobile" su iOS e derivati.</log>
|
||||||
<log>Aggiornata la lista emittenti nel menu in alto sinistra</log>
|
<log>Corretto e aggiunto nuovi script del "Player Mobile"</log>
|
||||||
<log>Rimosse momentaneamente le WebTV nel menu in alto sinistra</log>
|
<log>Aggiornato slogan dell'emittente "RDL XMAS"</log>
|
||||||
</logs>
|
<log>Aggiunto il Changelog</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.11.29 Alpha</number>
|
<version>
|
||||||
<logs>
|
<number>0.11.30 Alpha</number>
|
||||||
<log>Aggiunta nuova emittente "RDL XMAS"</log>
|
<logs>
|
||||||
<log>Corretta la visualizzazione del "PLAYER DESKTOP"</log>
|
<log>Corretto la visualizzazione del "Player Mobile"</log>
|
||||||
<log>Corretta la visualizzazione della lista emittenti in "Home Desktop" e "Home Mobile"</log>
|
<log>Aggiornata la lista emittenti nel menu in alto sinistra</log>
|
||||||
<log>Abilitato il "Player Mobile" anche in ambiente Desktop</log>
|
<log>Rimosse momentaneamente le WebTV nel menu in alto sinistra</log>
|
||||||
<log>Aggiornato script che impedisce il refresh della pagina da Mobile</log>
|
</logs>
|
||||||
</logs>
|
</version>
|
||||||
</version>
|
|
||||||
|
<version>
|
||||||
<version>
|
<number>0.11.29 Alpha</number>
|
||||||
<number>0.9.26 Alpha</number>
|
<logs>
|
||||||
<logs>
|
<log>Aggiunta nuova emittente "RDL XMAS"</log>
|
||||||
<log>Cambiata l'URL del flusso audio di RDL e RC105</log>
|
<log>Corretta la visualizzazione del "PLAYER DESKTOP"</log>
|
||||||
<log>Correzione e bugfix all'interno dello stile dell'app</log>
|
<log>Corretta la visualizzazione della lista emittenti in "Home Desktop" e "Home Mobile"</log>
|
||||||
<log>Correzione e bugfix all'interno dei metatag</log>
|
<log>Abilitato il "Player Mobile" anche in ambiente Desktop</log>
|
||||||
<log>Aggiunto script di disabilitazione pulsante F5 da tastiera</log>
|
<log>Aggiornato script che impedisce il refresh della pagina da Mobile</log>
|
||||||
</logs>
|
</logs>
|
||||||
</version>
|
</version>
|
||||||
|
|
||||||
<version>
|
<version>
|
||||||
<number>0.9.24 Alpha</number>
|
<number>0.9.26 Alpha</number>
|
||||||
<logs>
|
<logs>
|
||||||
<log>Correzione e bugfix player video</log>
|
<log>Cambiata l'URL del flusso audio di RDL e RC105</log>
|
||||||
</logs>
|
<log>Correzione e bugfix all'interno dello stile dell'app</log>
|
||||||
</version>
|
<log>Correzione e bugfix all'interno dei metatag</log>
|
||||||
|
<log>Aggiunto script di disabilitazione pulsante F5 da tastiera</log>
|
||||||
<version>
|
</logs>
|
||||||
<number>0.9.23 Alpha</number>
|
</version>
|
||||||
<logs>
|
|
||||||
<log>Aggiunto player video</log>
|
<version>
|
||||||
<log>Aggiunto collegamenti dei canali video delle emittenti</log>
|
<number>0.9.24 Alpha</number>
|
||||||
<log>Aggiunto in configurazione gli URL dei canali video delle emittenti</log>
|
<logs>
|
||||||
</logs>
|
<log>Correzione e bugfix player video</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
<version>
|
|
||||||
<number>0.7.31 Alpha</number>
|
<version>
|
||||||
<logs>
|
<number>0.9.23 Alpha</number>
|
||||||
<log>Correzione e bugfix all'interno della configurazione dell'app</log>
|
<logs>
|
||||||
<log>Rimozione dello script per lo "scroll to update page" da smartphone</log>
|
<log>Aggiunto player video</log>
|
||||||
<log>Aggiunti i metodi di contatto in About</log>
|
<log>Aggiunto collegamenti dei canali video delle emittenti</log>
|
||||||
</logs>
|
<log>Aggiunto in configurazione gli URL dei canali video delle emittenti</log>
|
||||||
</version>
|
</logs>
|
||||||
|
</version>
|
||||||
|
|
||||||
|
<version>
|
||||||
|
<number>0.7.31 Alpha</number>
|
||||||
|
<logs>
|
||||||
|
<log>Correzione e bugfix all'interno della configurazione dell'app</log>
|
||||||
|
<log>Rimozione dello script per lo "scroll to update page" da smartphone</log>
|
||||||
|
<log>Aggiunti i metodi di contatto in About</log>
|
||||||
|
</logs>
|
||||||
|
</version>
|
||||||
|
|
||||||
</changelog>
|
</changelog>
|
||||||
0
data/radio.xml
Normal file → Executable file
0
data/tv.xml
Normal file → Executable file
0
img/RpiGroupPlay.png
Normal file → Executable file
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
0
img/RpiGroupPlay.svg
Normal file → Executable file
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
0
img/RpiGroupPlayWHITE.png
Normal file → Executable file
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
0
img/RpiGroupPlayWhite.svg
Normal file → Executable file
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
0
img/articolo.png
Normal file → Executable file
|
Before Width: | Height: | Size: 750 KiB After Width: | Height: | Size: 750 KiB |
0
img/christmascampagna.png
Normal file → Executable file
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
0
img/christmaseboli.png
Normal file → Executable file
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
0
img/icons/icon-128x128.png
Normal file → Executable file
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
0
img/icons/icon-144x144.png
Normal file → Executable file
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
0
img/icons/icon-152x152.png
Normal file → Executable file
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
0
img/icons/icon-192x192.png
Normal file → Executable file
0
img/icons/icon-384x384.png
Normal file → Executable file
0
img/icons/icon-512x512.png
Normal file → Executable file
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
0
img/icons/icon-72x72.png
Normal file → Executable file
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
0
img/icons/icon-96x96.png
Normal file → Executable file
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
0
img/installapp1.jpeg
Normal file → Executable file
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
0
img/installapp2.jpeg
Normal file → Executable file
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
0
img/logoapp.png
Normal file → Executable file
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
0
img/logoapp_512.png
Normal file → Executable file
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
0
img/radio.png
Normal file → Executable file
|
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 259 KiB |
0
img/tv.png
Normal file → Executable file
|
Before Width: | Height: | Size: 402 KiB After Width: | Height: | Size: 402 KiB |
57
js/app.js
Normal file → Executable file
@@ -980,8 +980,65 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
if (currentPage === 'page/contact') {
|
if (currentPage === 'page/contact') {
|
||||||
setTimeout(() => initializeContactForm(), 100);
|
setTimeout(() => initializeContactForm(), 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (currentPage === 'podcast') {
|
||||||
|
// Reset visualizzazione podcast quando si cambia pagina e si torna
|
||||||
|
if (typeof window.closePodcast === 'function') {
|
||||||
|
window.closePodcast();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gestione Podcast (Global Functions)
|
||||||
|
*/
|
||||||
|
window.openPodcast = function (url, title) {
|
||||||
|
console.log('Apertura podcast:', title, url);
|
||||||
|
const list = document.getElementById('podcast-list');
|
||||||
|
const detail = document.getElementById('podcast-detail');
|
||||||
|
const iframe = document.getElementById('podcast-iframe');
|
||||||
|
const homeNav = document.getElementById('home-navigation');
|
||||||
|
const scrollContainer = document.querySelector('main');
|
||||||
|
|
||||||
|
if (!list || !detail || !iframe) {
|
||||||
|
console.error('Elementi podcast non trovati nel DOM');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Caricamento iframe
|
||||||
|
iframe.src = url;
|
||||||
|
|
||||||
|
// Cambio vista
|
||||||
|
list.style.display = 'none';
|
||||||
|
detail.style.display = 'block';
|
||||||
|
if (homeNav) homeNav.style.display = 'none';
|
||||||
|
|
||||||
|
// Scroll in alto
|
||||||
|
if (scrollContainer) {
|
||||||
|
scrollContainer.scrollTo({ top: 0, behavior: 'smooth' });
|
||||||
|
} else {
|
||||||
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.closePodcast = function () {
|
||||||
|
console.log('Chiusura podcast');
|
||||||
|
const list = document.getElementById('podcast-list');
|
||||||
|
const detail = document.getElementById('podcast-detail');
|
||||||
|
const iframe = document.getElementById('podcast-iframe');
|
||||||
|
const homeNav = document.getElementById('home-navigation');
|
||||||
|
|
||||||
|
if (!list || !detail || !iframe) return;
|
||||||
|
|
||||||
|
// Svuota iframe per fermare audio/video
|
||||||
|
iframe.src = 'about:blank';
|
||||||
|
|
||||||
|
// Cambio vista
|
||||||
|
list.style.display = 'block';
|
||||||
|
detail.style.display = 'none';
|
||||||
|
if (homeNav) homeNav.style.display = 'block';
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inizializzazione principale
|
* Inizializzazione principale
|
||||||
*/
|
*/
|
||||||
|
|||||||
0
manifest.json
Normal file → Executable file
0
pages/desktop.php
Normal file → Executable file
8
pages/mobile.php
Normal file → Executable file
@@ -11,7 +11,7 @@
|
|||||||
<a href="<?php echo $base_path; ?>/" data-page="home" class="navLink <?php echo $page == 'home' ? 'active' : ''; ?>">Home</a>
|
<a href="<?php echo $base_path; ?>/" data-page="home" class="navLink <?php echo $page == 'home' ? 'active' : ''; ?>">Home</a>
|
||||||
<a href="<?php echo $base_path; ?>/radio" data-page="radio" class="navLink <?php echo ($page == 'radio' || $page == 'play') ? 'active' : ''; ?>">Radio</a>
|
<a href="<?php echo $base_path; ?>/radio" data-page="radio" class="navLink <?php echo ($page == 'radio' || $page == 'play') ? 'active' : ''; ?>">Radio</a>
|
||||||
<a href="<?php echo $base_path; ?>/tv" data-page="tv" class="navLink <?php echo ($page == 'tv' || $page == 'playtv') ? 'active' : ''; ?>">TV</a>
|
<a href="<?php echo $base_path; ?>/tv" data-page="tv" class="navLink <?php echo ($page == 'tv' || $page == 'playtv') ? 'active' : ''; ?>">TV</a>
|
||||||
<a href="<?php echo $base_path; ?>/page/addradio" data-page="page/addradio" class="navLink <?php echo ($page == 'page' && $param == 'addradio') ? 'active' : ''; ?>">Add Radio</a>
|
<a href="<?php echo $base_path; ?>/podcast" data-page="podcast" class="navLink <?php echo ($page == 'page' && $param == 'addradio') ? 'active' : ''; ?>">Podcast</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -56,6 +56,9 @@
|
|||||||
include './pages/page/home.php';
|
include './pages/page/home.php';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'podcast':
|
||||||
|
include './pages/page/podcast.php';
|
||||||
|
break;
|
||||||
case 'page':
|
case 'page':
|
||||||
if (!empty($param)) {
|
if (!empty($param)) {
|
||||||
switch ($param) {
|
switch ($param) {
|
||||||
@@ -65,9 +68,6 @@
|
|||||||
case 'copyright':
|
case 'copyright':
|
||||||
include './pages/page/copyright.php';
|
include './pages/page/copyright.php';
|
||||||
break;
|
break;
|
||||||
case 'addradio':
|
|
||||||
include './pages/page/addradio.php';
|
|
||||||
break;
|
|
||||||
case 'contact':
|
case 'contact':
|
||||||
include './pages/page/contact.php';
|
include './pages/page/contact.php';
|
||||||
break;
|
break;
|
||||||
|
|||||||
0
pages/page/404.php
Normal file → Executable file
0
pages/page/about.php
Normal file → Executable file
@@ -1,17 +0,0 @@
|
|||||||
<?php header('Content-Type: text/html; charset=UTF-8'); ?>
|
|
||||||
|
|
||||||
<h1 class="titlePage">Aggiungi la tua radio</h1>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<div class="tec">
|
|
||||||
<p>Al momento, il modulo è temporaneamente chiuso</p>
|
|
||||||
<p>Ti invitiamo a controllare più tardi oppure, attendi l'uscita di un prossimo aggiornamento!</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="<?php echo $base_path; ?>/home" data-page="home" class="linkBox mt-3">
|
|
||||||
<div class="clickBox mt-5 mb-4">
|
|
||||||
<svg class="w-6 h-6 text-gray-800 dark:text-white" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14M5 12l4-4m-4 4 4 4"/></svg>
|
|
||||||
Torna alla Home
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
0
pages/page/changelog.php
Normal file → Executable file
0
pages/page/contact.php
Normal file → Executable file
0
pages/page/copyright.php
Normal file → Executable file
@@ -20,6 +20,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<a href="<?php echo $base_path; ?>/podcast" data-page="podcast" class="linkBox">
|
||||||
|
<div class="clickBox Squared">
|
||||||
|
<p class="m-0 p-0">PODCAST</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -63,13 +70,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
|
||||||
<a href="<?php echo $base_path; ?>/page/addradio" data-page="page/addradio" class="linkBox">
|
|
||||||
<div class="clickBox p-2">
|
|
||||||
Aggiungi la tua radio
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<a href="<?php echo $base_path; ?>/page/about" data-page="page/about" class="linkBox">
|
<a href="<?php echo $base_path; ?>/page/about" data-page="page/about" class="linkBox">
|
||||||
<div class="clickBox">
|
<div class="clickBox">
|
||||||
|
|||||||
0
pages/page/player.php
Normal file → Executable file
100
pages/page/player_tv.php
Normal file → Executable file
@@ -1,50 +1,50 @@
|
|||||||
<?php
|
<?php
|
||||||
// Assicurati che $station sia definito (dovrebbe essere passato da mobile.php)
|
// Assicurati che $station sia definito (dovrebbe essere passato da mobile.php)
|
||||||
if (!isset($station) || empty($station)) {
|
if (!isset($station) || empty($station)) {
|
||||||
echo '<div class="alert alert-danger">Errore: Stazione TV non trovata.</div>';
|
echo '<div class="alert alert-danger">Errore: Stazione TV non trovata.</div>';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$station_id = (string)$station->id;
|
$station_id = (string)$station->id;
|
||||||
$station_name = (string)$station->name;
|
$station_name = (string)$station->name;
|
||||||
$station_logo = (string)$station->logo;
|
$station_logo = (string)$station->logo;
|
||||||
$station_stream = (string)$station->stream;
|
$station_stream = (string)$station->stream;
|
||||||
$station_poster = isset($station->poster) ? (string)$station->poster : '';
|
$station_poster = isset($station->poster) ? (string)$station->poster : '';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Container player con sfondo bianco -->
|
<!-- Container player con sfondo bianco -->
|
||||||
<div class="tv-player-container" style="background-color: #ffffff;height: calc(100% - <?php if($is_mobile){ echo "232px"; }else{ echo "217px"; } ?>);position: absolute;left: calc(50%);display: flex;flex-direction: column;max-width: 750px;transform: translateX(-50%);width: 100%;">
|
<div class="tv-player-container" style="background-color: #ffffff;height: calc(100% - <?php if($is_mobile){ echo "232px"; }else{ echo "217px"; } ?>);position: absolute;left: calc(50%);display: flex;flex-direction: column;max-width: 750px;transform: translateX(-50%);width: 100%;">
|
||||||
|
|
||||||
<!-- Header semplice con pulsante indietro e nome -->
|
<!-- Header semplice con pulsante indietro e nome -->
|
||||||
<div class="tv-header" style="padding: 20px; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between;">
|
<div class="tv-header" style="padding: 20px; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between;">
|
||||||
<div class="left-controls" style="display: flex; align-items: center;">
|
<div class="left-controls" style="display: flex; align-items: center;">
|
||||||
<a href="<?php echo $base_path; ?>/tv" data-page="tv" class="linkBox" style="color: #333; display: flex; align-items: center; text-decoration: none;">
|
<a href="<?php echo $base_path; ?>/tv" data-page="tv" class="linkBox" style="color: #333; display: flex; align-items: center; text-decoration: none;">
|
||||||
<span class="material-icons" style="font-size: 28px;">arrow_back</span>
|
<span class="material-icons" style="font-size: 28px;">arrow_back</span>
|
||||||
</a>
|
</a>
|
||||||
<span style="font-size: 18px; font-weight: 600; color: #333; margin-left: 15px;"><?php echo $station_name; ?></span>
|
<span style="font-size: 18px; font-weight: 600; color: #333; margin-left: 15px;"><?php echo $station_name; ?></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if(!empty($station_logo)): ?>
|
<?php if(!empty($station_logo)): ?>
|
||||||
<div class="right-controls">
|
<div class="right-controls">
|
||||||
<img src="<?php echo $station_logo; ?>" alt="Logo" style="height: 30px; width: auto;">
|
<img src="<?php echo $station_logo; ?>" alt="Logo" style="height: 30px; width: auto;">
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Area Video -->
|
<!-- Area Video -->
|
||||||
<div class="video-wrapper" style="flex: 1; display: flex; align-items: center; justify-content: center; background-color: #000;">
|
<div class="video-wrapper" style="flex: 1; display: flex; align-items: center; justify-content: center; background-color: #000;">
|
||||||
<video id="tvVideoPlayer"
|
<video id="tvVideoPlayer"
|
||||||
class="video-js"
|
class="video-js"
|
||||||
controls
|
controls
|
||||||
playsinline
|
playsinline
|
||||||
data-src="<?php echo $station_stream; ?>"
|
data-src="<?php echo $station_stream; ?>"
|
||||||
poster="<?php echo $station_poster; ?>"
|
poster="<?php echo $station_poster; ?>"
|
||||||
style="width: 100%; max-width: 100%; max-height: 100vh; aspect-ratio: 16/9;">
|
style="width: 100%; max-width: 100%; max-height: 100vh; aspect-ratio: 16/9;">
|
||||||
<p class="vjs-no-js">
|
<p class="vjs-no-js">
|
||||||
To view this video please enable JavaScript, and consider upgrading to a web browser that
|
To view this video please enable JavaScript, and consider upgrading to a web browser that
|
||||||
<a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
|
<a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
|
||||||
</p>
|
</p>
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||