From ded6558e9ab3e1960f5c8d139f48d9c46d497aec Mon Sep 17 00:00:00 2001 From: jebibot Date: Sat, 14 Dec 2024 00:24:51 +0900 Subject: [PATCH] feat: make landing page static --- public/index.html | 73 +++++++++++++++++++++++++++++++++++++++++++++++ src/index.ts | 47 +++++++----------------------- 2 files changed, 84 insertions(+), 36 deletions(-) create mode 100644 public/index.html diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..0946f20 --- /dev/null +++ b/public/index.html @@ -0,0 +1,73 @@ + + + + + + + + + Mul.Live - 멀티뷰 + + + + + + + +
+
+

Mul.Live - 멀티뷰

+
여러 치지직, 숲(SOOP), 트위치, 유튜브 방송을 함께 볼 수 있습니다.
+
다음을 /로 구분하여 주소 뒤에 붙여주세요.
+
    +
  • 치지직 UID
  • +
  • SOOP 아이디
  • +
  • t:Twitch 아이디
  • +
  • y:YouTube 핸들, 맞춤 URL, 채널 또는 영상 ID
  • +
+
예시: https://mul.live/abcdef1234567890abcdef1234567890/soop/t:twitch/y:@youtube
+
Mul.Live Plus 확장프로그램을 설치하면 채팅 등 로그인 기능을 사용할 수 있습니다.
+ +
+
+ + + diff --git a/src/index.ts b/src/index.ts index 67e7f3f..c07597d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -23,6 +23,7 @@ export interface Env { // // Example binding to a Queue. Learn more at https://developers.cloudflare.com/queues/javascript-apis/ // MY_QUEUE: Queue; + ASSETS: Fetcher; } interface Stream { @@ -157,6 +158,10 @@ export default { const hasExtension = request.headers.has('x-has-extension'); const parts = url.pathname.split('/'); const stream = (await Promise.all(parts.map((s) => parseStream(s, url.hostname, hasExtension)))).filter(isNotUndefined); + if (stream.length === 0) { + return env.ASSETS.fetch(request); + } + const initialChat = stream.find((s) => hasExtension || !s.extension); const nonce = crypto.randomUUID(); const html = ` @@ -290,43 +295,17 @@ export default { #overlay-button:hover { background-color: #666; } - - .box { - margin-top: 16px; - }
- ${ - stream.length > 0 - ? stream - .map( - (s) => - ``, - ) - .join('\n\t\t\t\t') - : `
-

Mul.Live - 멀티뷰

-
여러 치지직, 숲(SOOP), 트위치, 유튜브 방송을 함께 볼 수 있습니다.
-
다음을 /로 구분하여 주소 뒤에 붙여주세요.
-
    -
  • 치지직 UID
  • -
  • SOOP 아이디
  • -
  • t:Twitch 아이디
  • -
  • y:YouTube 핸들, 맞춤 URL, 채널 또는 영상 ID
  • -
-
예시: https://mul.live/abcdef1234567890abcdef1234567890/soop/t:twitch/y:@youtube
-
Mul.Live Plus 확장프로그램을 설치하면 채팅 등 로그인 기능을 사용할 수 있습니다.
- -
` - } + ${stream + .map( + (s) => + ``, + ) + .join('\n\t\t\t\t')}