auto refresh if no playlist
This commit is contained in:
parent
4eb3f0c8b1
commit
d25563f94e
@ -81,7 +81,8 @@ class PlayerController(ObController):
|
||||
interfaces=[iface['ip_address'] for iface in get_network_interfaces()],
|
||||
external_url=self._model_store.variable().get_one_by_name('external_url').as_string().strip(),
|
||||
time_with_seconds=self._model_store.variable().get_one_by_name('default_slide_time_with_seconds'),
|
||||
noplaylist=request.args.get('noplaylist', '0') == '1'
|
||||
noplaylist=request.args.get('noplaylist', '0') == '1',
|
||||
hard_refresh_request=self._model_store.variable().get_one_by_name("refresh_player_request").as_int()
|
||||
)
|
||||
|
||||
def player_playlist(self, playlist_slug_or_id: str = ''):
|
||||
|
||||
@ -69,5 +69,6 @@ class SysinfoController(ObController):
|
||||
def sysinfo_get_ipaddr(self):
|
||||
return jsonify({
|
||||
'external_url': self._model_store.variable().get_one_by_name('external_url').as_string().strip(),
|
||||
'interfaces': [iface['ip_address'] for iface in get_network_interfaces()]
|
||||
'interfaces': [iface['ip_address'] for iface in get_network_interfaces()],
|
||||
'hard_refresh_request': self._model_store.variable().get_one_by_name("refresh_player_request").as_int()
|
||||
})
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
const time_with_seconds = {{ 'true' if time_with_seconds.as_bool() else 'false' }};
|
||||
const last_hard_refresh_request = {{ hard_refresh_request }};
|
||||
const no_playlist = {% if noplaylist %}true{% else %}false{% endif %};
|
||||
let external_url = '{{ external_url.strip() }}';
|
||||
|
||||
function updateTime() {
|
||||
@ -35,7 +37,15 @@
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
const json_response = JSON.parse(xhr.responseText);
|
||||
external_url = json_response.external_url;
|
||||
setIps(json_response.interfaces)
|
||||
setIps(json_response.interfaces);
|
||||
|
||||
if (no_playlist) {
|
||||
setTimeout(function () {
|
||||
if (last_hard_refresh_request != json_response.hard_refresh_request) {
|
||||
document.location.href = '{{ url_for('player') }}';
|
||||
}
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
};
|
||||
xhr.send();
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
const playlistCheckResolutionMs = {{ polling_interval * 1000 }};
|
||||
|
||||
// Backend flag updates
|
||||
let needHardRefresh = null;
|
||||
const lastHardRefreshRequest = items.hard_refresh_request;
|
||||
|
||||
// Frontend config
|
||||
const syncWithTime = items['time_sync'];
|
||||
@ -107,9 +107,7 @@
|
||||
items = data;
|
||||
itemsLoadedProcess();
|
||||
|
||||
if (needHardRefresh === null) {
|
||||
needHardRefresh = items.hard_refresh_request;
|
||||
} else if (needHardRefresh != items.hard_refresh_request) {
|
||||
if (lastHardRefreshRequest != items.hard_refresh_request) {
|
||||
document.location.reload();
|
||||
}
|
||||
}).catch(function(err) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user