fix editor ligatures characters
This commit is contained in:
@@ -751,7 +751,6 @@ export default function ChatApp({
|
|||||||
<>
|
<>
|
||||||
{/* NORMAL SPLIT MODE */}
|
{/* NORMAL SPLIT MODE */}
|
||||||
|
|
||||||
{/* YouTube live chat – top 50% when a linked channel has a video ID */}
|
|
||||||
{linkedYoutubeUrl && showYoutubeSection && (
|
{linkedYoutubeUrl && showYoutubeSection && (
|
||||||
<div style={{ flex: 1, minHeight: 0, display: 'flex', flexDirection: 'column', overflow: 'hidden', borderBottom: '2px solid #333' }}>
|
<div style={{ flex: 1, minHeight: 0, display: 'flex', flexDirection: 'column', overflow: 'hidden', borderBottom: '2px solid #333' }}>
|
||||||
{youtubeVideoId ? (
|
{youtubeVideoId ? (
|
||||||
@@ -981,7 +980,6 @@ export default function ChatApp({
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Twitch chat – bottom 50% (or full height if no YouTube link) */}
|
|
||||||
<div style={{ flex: 1, display: 'flex', flexDirection: 'column', minHeight: 0 }}>
|
<div style={{ flex: 1, display: 'flex', flexDirection: 'column', minHeight: 0 }}>
|
||||||
<ChatDisplay
|
<ChatDisplay
|
||||||
messages={messages}
|
messages={messages}
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import type { APIRoute } from "astro";
|
|||||||
* Sends a message to a YouTube live chat.
|
* Sends a message to a YouTube live chat.
|
||||||
*
|
*
|
||||||
* Body (JSON):
|
* Body (JSON):
|
||||||
* videoId – YouTube video ID of the live stream
|
* videoId - YouTube video ID of the live stream
|
||||||
* message – Text message to send
|
* message - Text message to send
|
||||||
* accessToken – YouTube OAuth2 access token (user must have granted live-chat scope)
|
* accessToken - YouTube OAuth2 access token (user must have granted live-chat scope)
|
||||||
*/
|
*/
|
||||||
export const POST: APIRoute = async ({ request }) => {
|
export const POST: APIRoute = async ({ request }) => {
|
||||||
const headers = { "Content-Type": "application/json" };
|
const headers = { "Content-Type": "application/json" };
|
||||||
|
|||||||
@@ -213,8 +213,7 @@ async function resolveChannelId(
|
|||||||
});
|
});
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
// /c/CustomName or /user/Username – try forUsername first, then search
|
|
||||||
if (pathname.startsWith("/c/") || pathname.startsWith("/user/")) {
|
if (pathname.startsWith("/c/") || pathname.startsWith("/user/")) {
|
||||||
const name = pathname.split("/")[2];
|
const name = pathname.split("/")[2];
|
||||||
const id = await resolveByUsernameOrSearch(name, apiKey);
|
const id = await resolveByUsernameOrSearch(name, apiKey);
|
||||||
@@ -256,7 +255,6 @@ async function resolveHandleViaApi(
|
|||||||
handle: string,
|
handle: string,
|
||||||
apiKey: string,
|
apiKey: string,
|
||||||
): Promise<string | null> {
|
): Promise<string | null> {
|
||||||
// YouTube Data API v3 – channels.list with forHandle
|
|
||||||
const res = await fetch(
|
const res = await fetch(
|
||||||
`https://www.googleapis.com/youtube/v3/channels?part=id&forHandle=${encodeURIComponent(handle)}&key=${apiKey}`,
|
`https://www.googleapis.com/youtube/v3/channels?part=id&forHandle=${encodeURIComponent(handle)}&key=${apiKey}`,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
/* YouTubeLinker modal – mirrors WatchlistManager styles */
|
|
||||||
|
|
||||||
.ytlinker-overlay {
|
.ytlinker-overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user