Fix mic toggle layout and paused YouTube reveal
This commit is contained in:
+41
-1
@@ -111,13 +111,22 @@ function setWatchCollapsed(collapsed) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function toggleWatchCollapsed() {
|
function toggleWatchCollapsed() {
|
||||||
|
const wasCollapsed = stage.classList.contains("is-watch-collapsed");
|
||||||
if (!stage.classList.contains("is-watch-collapsed")) {
|
if (!stage.classList.contains("is-watch-collapsed")) {
|
||||||
const height = Math.round(watchPanel.getBoundingClientRect().height);
|
const height = Math.round(watchPanel.getBoundingClientRect().height);
|
||||||
if (height > 0) {
|
if (height > 0) {
|
||||||
localStorage.setItem(watchHeightStorageKey, String(height));
|
localStorage.setItem(watchHeightStorageKey, String(height));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setWatchCollapsed(!stage.classList.contains("is-watch-collapsed"));
|
setWatchCollapsed(!wasCollapsed);
|
||||||
|
if (wasCollapsed) {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
ensureCurrentYoutubeVideoLoaded().catch((error) => {
|
||||||
|
console.error(error);
|
||||||
|
setStatus("Could not load the paused YouTube video.");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setStatus(message) {
|
function setStatus(message) {
|
||||||
@@ -462,6 +471,37 @@ function requestYoutubePlayback(player, videoId, position, allowStartPrompt = fa
|
|||||||
}, 900);
|
}, 900);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function ensureCurrentYoutubeVideoLoaded() {
|
||||||
|
if (!currentYoutubeVideoId) return;
|
||||||
|
|
||||||
|
const position = currentYoutubeSnapshot(savedPositionForVideo(currentYoutubeVideoId)).position;
|
||||||
|
youtubeShell.classList.add("is-active");
|
||||||
|
const player = await ensureYoutubePlayer({
|
||||||
|
videoId: currentYoutubeVideoId,
|
||||||
|
position,
|
||||||
|
autoplay: desiredYoutubePlaying
|
||||||
|
});
|
||||||
|
await whenYoutubeReady();
|
||||||
|
if (!currentYoutubeVideoId) return;
|
||||||
|
|
||||||
|
const loadedVideoId = player.getVideoData?.().video_id;
|
||||||
|
const playerState = player.getPlayerState?.();
|
||||||
|
if (desiredYoutubePlaying) {
|
||||||
|
requestYoutubePlayback(player, currentYoutubeVideoId, position);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
loadedVideoId !== currentYoutubeVideoId ||
|
||||||
|
[YT.PlayerState.UNSTARTED, YT.PlayerState.CUED].includes(playerState)
|
||||||
|
) {
|
||||||
|
player.cueVideoById(currentYoutubeVideoId, position);
|
||||||
|
} else {
|
||||||
|
player.pauseVideo?.();
|
||||||
|
player.seekTo?.(position, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function sendWatchState({
|
async function sendWatchState({
|
||||||
videoId = currentYoutubeVideoId,
|
videoId = currentYoutubeVideoId,
|
||||||
position = 0,
|
position = 0,
|
||||||
|
|||||||
+1
-1
@@ -615,7 +615,7 @@ button[aria-pressed="false"] {
|
|||||||
min-width: 238px;
|
min-width: 238px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.self-mic-control label {
|
.self-mic-control > label {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 12px 18px;
|
grid-template-rows: 12px 18px;
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
|
|||||||
Reference in New Issue
Block a user