Compare commits

..

No commits in common. '9ff180d70037949452ffae6f0f92ad72abc39057' and '3883b3e06f4566fb2cd16d4b14400d8b9174c72c' have entirely different histories.

@ -35,6 +35,12 @@
} }
} }
.chatReplayMessageEmote {
// The sizes here are based on Twitch's 1.0 emote size.
width: 28px;
height: 28px;
}
.chatReplayMessageCleared { .chatReplayMessageCleared {
opacity: 0.5; opacity: 0.5;

@ -180,20 +180,20 @@ export const ChatDisplay: Component<ChatDisplayProps> = (props) => {
return ( return (
<Suspense> <Suspense>
<For each={chatLog().messages}> <Index each={chatLog().messages}>
{(item: ChatMessageData, index: Accessor<number>) => { {(item: Accessor<ChatMessageData>, index: number) => {
const chatCommand = item.message.command; const chatCommand = item().message.command;
if (chatCommand === "PRIVMSG") { if (chatCommand === "PRIVMSG") {
return ( return (
<ChatMessage chatMessage={item} chatLog={chatLog()} videoTime={props.videoTime} /> <ChatMessage chatMessage={item()} chatLog={chatLog()} videoTime={props.videoTime} />
); );
} else if (chatCommand === "USERNOTICE") { } else if (chatCommand === "USERNOTICE") {
return <SystemMessage chatMessage={item} videoTime={props.videoTime} />; return <SystemMessage chatMessage={item()} videoTime={props.videoTime} />;
} else { } else {
return <></>; return <></>;
} }
}} }}
</For> </Index>
</Suspense> </Suspense>
); );
}; };
@ -378,13 +378,14 @@ const MessageText: Component<MessageTextProps> = (props) => {
emoteData.start - messageTextStart, emoteData.start - messageTextStart,
emoteData.end + 1 - messageTextStart, emoteData.end + 1 - messageTextStart,
); );
chatMessageText = chatMessageText.substring(emoteData.end + 1 - messageTextStart); chatMessageText = chatMessageText.substring(emoteData.end + 1);
messageTextStart = emoteData.end + 1; messageTextStart = emoteData.end + 1;
messageParts.push( messageParts.push(
<img <img
src={emoteImageURL} src={emoteImageURL}
alt={emoteText} alt={emoteText}
title={emoteText} title={emoteText}
class={styles.chatReplayMessageEmote}
/>, />,
); );
} }

@ -259,7 +259,6 @@ export const VideoPlayer: Component<VideoPlayerProps> = (props) => {
<media-play-button class="vds-button"> <media-play-button class="vds-button">
<media-icon type="play" class="vds-play-icon" /> <media-icon type="play" class="vds-play-icon" />
<media-icon type="pause" class="vds-pause-icon" /> <media-icon type="pause" class="vds-pause-icon" />
<media-icon type="replay" class="vds-replay-icon" />
</media-play-button> </media-play-button>
</media-tooltip-trigger> </media-tooltip-trigger>
<media-tooltip-content class="vds-tooltip-content" placement="top"> <media-tooltip-content class="vds-tooltip-content" placement="top">

@ -146,7 +146,7 @@ const RestreamerWithDefaults: Component<RestreamerDefaultProps> = (props) => {
const downloadVideoURL = () => { const downloadVideoURL = () => {
const streamInfo = streamVideoInfo(); const streamInfo = streamVideoInfo();
const startTime = wubloaderTimeFromDateTime(streamInfo.streamStartTime); const startTime = wubloaderTimeFromDateTime(streamInfo.streamStartTime);
const params = new URLSearchParams({ type: "smart", start: startTime }); const params = new URLSearchParams({ type: "smart", start: encodeURIComponent(startTime) });
if (streamInfo.streamEndTime) { if (streamInfo.streamEndTime) {
const endTime = wubloaderTimeFromDateTime(streamInfo.streamEndTime); const endTime = wubloaderTimeFromDateTime(streamInfo.streamEndTime);
params.append("end", endTime); params.append("end", endTime);

Loading…
Cancel
Save