2020-08-14 08:46:34 +02:00
|
|
|
import actionsheet from './actionSheet/actionSheet';
|
|
|
|
import datetime from '../scripts/datetime';
|
|
|
|
import playbackManager from './playback/playbackmanager';
|
|
|
|
import globalize from '../scripts/globalize';
|
2018-10-23 01:05:09 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
export function show(options) {
|
2020-10-07 21:12:14 +09:00
|
|
|
const item = options.item;
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-10-07 21:12:14 +09:00
|
|
|
const resumePositionTicks = item.UserData ? item.UserData.PlaybackPositionTicks : null;
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-10-07 21:12:14 +09:00
|
|
|
const playableItemId = item.Type === 'Program' ? item.ChannelId : item.Id;
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 23:59:23 +05:30
|
|
|
if (!resumePositionTicks || item.IsFolder) {
|
2020-05-03 20:39:02 +05:30
|
|
|
playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
2020-05-03 23:59:23 +05:30
|
|
|
serverId: item.ServerId
|
2020-05-03 20:39:02 +05:30
|
|
|
});
|
|
|
|
return;
|
|
|
|
}
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-10-07 21:12:14 +09:00
|
|
|
const menuItems = [];
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
menuItems.push({
|
|
|
|
name: globalize.translate('ResumeAt', datetime.getDisplayRunningTime(resumePositionTicks)),
|
|
|
|
id: 'resume'
|
|
|
|
});
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
menuItems.push({
|
|
|
|
name: globalize.translate('PlayFromBeginning'),
|
|
|
|
id: 'play'
|
|
|
|
});
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
actionsheet.show({
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
items: menuItems,
|
|
|
|
positionTo: options.positionTo
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
}).then(function (id) {
|
|
|
|
switch (id) {
|
|
|
|
case 'play':
|
2020-05-03 23:59:23 +05:30
|
|
|
playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
|
|
|
serverId: item.ServerId
|
|
|
|
});
|
|
|
|
break;
|
2020-05-03 20:39:02 +05:30
|
|
|
case 'resume':
|
2020-05-03 23:59:23 +05:30
|
|
|
playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
|
|
|
startPositionTicks: resumePositionTicks,
|
|
|
|
serverId: item.ServerId
|
|
|
|
});
|
|
|
|
break;
|
2020-05-03 20:39:02 +05:30
|
|
|
case 'queue':
|
2020-05-03 23:59:23 +05:30
|
|
|
playbackManager.queue({
|
|
|
|
items: [item]
|
|
|
|
});
|
|
|
|
break;
|
2020-05-03 20:39:02 +05:30
|
|
|
case 'shuffle':
|
2020-05-03 23:59:23 +05:30
|
|
|
playbackManager.shuffle(item);
|
|
|
|
break;
|
2020-05-03 20:39:02 +05:30
|
|
|
default:
|
2020-05-03 23:59:23 +05:30
|
|
|
break;
|
2020-05-03 20:39:02 +05:30
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2019-01-10 15:39:37 +03:00
|
|
|
|
2020-05-03 20:39:02 +05:30
|
|
|
export default {
|
|
|
|
show: show
|
|
|
|
};
|