Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.

Commit

Permalink
Merge branch 'release/1.1.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
cawa-93 committed Sep 13, 2019
2 parents 86be74e + 43d3854 commit 697494b
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 13 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"description": "Расширение позволяет смотреть аниме онлайн и синхронизировать его с вашим списком на Шикимори (shikimori.org и shikimori.one)",
"name": "play-shiki-online",
"version": "1.1.3",
"version": "1.1.4",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
Expand Down
1 change: 1 addition & 0 deletions src/UI/components/player.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
config.append('play-shikimori[episodeId]', `${this.translation.episodeId}`);
config.append('play-shikimori[id]', `${this.translation.id}`);
config.append('play-shikimori[isAutoPlay]', '1');
config.append('play-shikimori[fullScreen]', document.fullscreenElement ? '1' : '0');
if (playerStore.currentEpisode) {
config.set(
Expand Down
36 changes: 25 additions & 11 deletions src/content-scripts/anime365-player-events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import videojs from 'video.js';
const EPISODE_ID = config.get('play-shikimori[episodeId]');
const NEXT_EPISODE = config.get('play-shikimori[nextEpisode]') === '1';
const IS_AUTO_PLAY = config.get('play-shikimori[isAutoPlay]') === '1';
const IS_FULL_SCREEN = config.get('play-shikimori[fullScreen]') === '1';


/**
Expand All @@ -40,7 +41,6 @@ import videojs from 'video.js';


setCurrentTime();
initSaveFullScreenState();
let nextEpisodeButton: HTMLButtonElement | null;
if (NEXT_EPISODE) {
nextEpisodeButton = createNextEpisodeButton();
Expand All @@ -67,6 +67,30 @@ import videojs from 'video.js';
toggleNextEpisodeButtonThrottled({currentTime, duration, nextEpisodeButton});
}
});


/**
* Если фрейм с видео развернут на весь екран
* выполнить .requestFullscreen()
* чтобы переключить встроенный интерфейс плеера в полноекранный режим
*/
if (IS_FULL_SCREEN) {
/**
* Операция возможна только если пользователь самостоятельно переключил серию
* Если серия переключилась автоматически, то браузер не позволит развернуть плеер
* и requestFullscreen() приведет к ошибке
*
* @see https://stackoverflow.com/a/29282049/4543826
*/
player.requestFullscreen();
}

/**
* Ранее состояние плеера сохранялось в хранилище с ключем "play-fullscreen-state"
* Теперь механизм сохранения состояния плеера отличается.
* Больше нет необходимости хранить состояние в хранилище и данные можно удалить
*/
storage.delete('play-fullscreen-state');
}


Expand Down Expand Up @@ -175,13 +199,6 @@ import videojs from 'video.js';
}


function initSaveFullScreenState() {
player.on('fullscreenchange', () => {
storage.set(`play-fullscreen-state`, player.isFullscreen());
});
}


/**
* Функция автоматически запускает воспроизведение, если нет рекламной вставки
*/
Expand All @@ -190,9 +207,6 @@ import videojs from 'video.js';
return;
}

if (await storage.get(`play-fullscreen-state`) === true) {
player.requestFullscreen();
}
player.play();
}

Expand Down

0 comments on commit 697494b

Please sign in to comment.