From cca0f63e50684d6806697589b620ee4b4c1b21b5 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 20 Mar 2025 22:18:14 +0900 Subject: feat(frontend): improve watch page layout --- frontend/app/states/play.ts | 10 ++++++++++ frontend/app/states/watch.ts | 10 ++++++++++ 2 files changed, 20 insertions(+) (limited to 'frontend/app/states') diff --git a/frontend/app/states/play.ts b/frontend/app/states/play.ts index 7bf4b4e..79b25c7 100644 --- a/frontend/app/states/play.ts +++ b/frontend/app/states/play.ts @@ -100,3 +100,13 @@ export const setLatestGameStateAtom = atom( set(rawScoreAtom, value.score); }, ); + +export function calcCodeSize(code: string): number { + const trimmed = code + .replace(/\s+/g, "") + .replace(/^<\?php/, "") + .replace(/^<\?/, "") + .replace(/\?>$/, ""); + const utf8Encoded = new TextEncoder().encode(trimmed); + return utf8Encoded.length; +} diff --git a/frontend/app/states/watch.ts b/frontend/app/states/watch.ts index 14a70b4..8c7faa7 100644 --- a/frontend/app/states/watch.ts +++ b/frontend/app/states/watch.ts @@ -83,3 +83,13 @@ export const setLatestGameStatesAtom = atom( set(rawLatestGameStatesAtom, value); }, ); + +export function calcCodeSize(code: string): number { + const trimmed = code + .replace(/\s+/g, "") + .replace(/^<\?php/, "") + .replace(/^<\?/, "") + .replace(/\?>$/, ""); + const utf8Encoded = new TextEncoder().encode(trimmed); + return utf8Encoded.length; +} -- cgit v1.2.3-70-g09d2