feat: add mode-switched-from to player template and state
This commit is contained in:
@@ -12,6 +12,7 @@ export interface PlayerState {
|
|||||||
modeSources: Record<string, ModeSource>;
|
modeSources: Record<string, ModeSource>;
|
||||||
availableModes: string[];
|
availableModes: string[];
|
||||||
currentMode: string;
|
currentMode: string;
|
||||||
|
modeSwitchedFrom: string;
|
||||||
currentEpisode: string;
|
currentEpisode: string;
|
||||||
totalEpisodes: number;
|
totalEpisodes: number;
|
||||||
malID: number;
|
malID: number;
|
||||||
@@ -52,6 +53,7 @@ export const state: PlayerState = {
|
|||||||
modeSources: {},
|
modeSources: {},
|
||||||
availableModes: [],
|
availableModes: [],
|
||||||
currentMode: 'dub',
|
currentMode: 'dub',
|
||||||
|
modeSwitchedFrom: '',
|
||||||
currentEpisode: '1',
|
currentEpisode: '1',
|
||||||
totalEpisodes: 0,
|
totalEpisodes: 0,
|
||||||
malID: 0,
|
malID: 0,
|
||||||
@@ -127,6 +129,7 @@ export const initState = (c: HTMLElement): void => {
|
|||||||
|
|
||||||
// resolve initial mode: localStorage > backend default > first available > 'dub'
|
// resolve initial mode: localStorage > backend default > first available > 'dub'
|
||||||
const backendInitialMode = dataset(c, 'initialMode') || 'dub';
|
const backendInitialMode = dataset(c, 'initialMode') || 'dub';
|
||||||
|
state.modeSwitchedFrom = dataset(c, 'modeSwitchedFrom') || '';
|
||||||
const storedMode = localStorage.getItem('player-audio-mode');
|
const storedMode = localStorage.getItem('player-audio-mode');
|
||||||
const initialMode =
|
const initialMode =
|
||||||
storedMode && state.availableModes.includes(storedMode) ? storedMode : backendInitialMode;
|
storedMode && state.availableModes.includes(storedMode) ? storedMode : backendInitialMode;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
data-current-episode="{{.WatchData.CurrentEpisode}}"
|
data-current-episode="{{.WatchData.CurrentEpisode}}"
|
||||||
data-total-episodes="{{.TotalEpisodes}}"
|
data-total-episodes="{{.TotalEpisodes}}"
|
||||||
data-initial-mode="{{.WatchData.InitialMode}}"
|
data-initial-mode="{{.WatchData.InitialMode}}"
|
||||||
|
data-mode-switched-from="{{.WatchData.ModeSwitchedFrom}}"
|
||||||
data-anime-title="{{.WatchData.Title}}"
|
data-anime-title="{{.WatchData.Title}}"
|
||||||
data-start-time-seconds="{{.WatchData.StartTimeSeconds}}"
|
data-start-time-seconds="{{.WatchData.StartTimeSeconds}}"
|
||||||
data-mode-sources='{{json .WatchData.ModeSources}}'
|
data-mode-sources='{{json .WatchData.ModeSources}}'
|
||||||
|
|||||||
Reference in New Issue
Block a user