Adding importance handling
This commit is contained in:
parent
e7b0f859a5
commit
ac7fa164b6
8 changed files with 48 additions and 11 deletions
26
front/src/Stores/ImportanceStore.ts
Normal file
26
front/src/Stores/ImportanceStore.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
import {VideoPeer} from "../WebRtc/VideoPeer";
|
||||
import {Subscriber, Unsubscriber, writable} from "svelte/store";
|
||||
import {RemotePeer, SimplePeer} from "../WebRtc/SimplePeer";
|
||||
import {DivImportance} from "../WebRtc/LayoutManager";
|
||||
|
||||
export interface ImportanceStore {
|
||||
subscribe: (this:void, run: Subscriber<DivImportance>, invalidate?: ((value?: DivImportance) => void | undefined)) => Unsubscriber,
|
||||
toggle: () => void,
|
||||
}
|
||||
|
||||
export function createImportanceStore(defaultImportance: DivImportance): ImportanceStore {
|
||||
const { subscribe, set, update } = writable<DivImportance>(defaultImportance);
|
||||
|
||||
return {
|
||||
subscribe,
|
||||
toggle: () => {
|
||||
update((importance) => {
|
||||
if (importance === DivImportance.Important) {
|
||||
return DivImportance.Normal;
|
||||
} else {
|
||||
return DivImportance.Important;
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
|
@ -5,6 +5,7 @@ import type {
|
|||
} from "./MediaStore";
|
||||
import {DivImportance} from "../WebRtc/LayoutManager";
|
||||
import {gameOverlayVisibilityStore} from "./GameOverlayStoreVisibility";
|
||||
import {createImportanceStore, ImportanceStore} from "./ImportanceStore";
|
||||
|
||||
declare const navigator:any; // eslint-disable-line @typescript-eslint/no-explicit-any
|
||||
|
||||
|
@ -188,7 +189,7 @@ export const screenSharingAvailableStore = derived(peerStore, ($peerStore, set)
|
|||
|
||||
export interface ScreenSharingLocalMedia {
|
||||
uniqueId: string;
|
||||
importanceStore: Writable<DivImportance>;
|
||||
importanceStore: ImportanceStore;
|
||||
stream: MediaStream|null;
|
||||
//subscribe(this: void, run: Subscriber<ScreenSharingLocalMedia>, invalidate?: (value?: ScreenSharingLocalMedia) => void): Unsubscriber;
|
||||
}
|
||||
|
@ -200,7 +201,7 @@ export const screenSharingLocalMedia = readable<ScreenSharingLocalMedia|null>(nu
|
|||
|
||||
const localMedia: ScreenSharingLocalMedia = {
|
||||
uniqueId: "localScreenSharingStream",
|
||||
importanceStore: writable(DivImportance.Normal),
|
||||
importanceStore: createImportanceStore(DivImportance.Normal),
|
||||
stream: null
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue