Skip to content

Commit 5889a29

Browse files
committed
chore: fix message
1 parent 974c2ee commit 5889a29

File tree

13 files changed

+68
-20
lines changed

13 files changed

+68
-20
lines changed

service/vspo-schedule/v2/web/public/locales/cn/schedule.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@
3535
"tabs": {
3636
"all": "全部",
3737
"allWithDate": "全部 ({{date}})"
38-
}
39-
}
38+
},
39+
"noLivestreams": "暂无直播计划,请查看前一天的安排。"
40+
}

service/vspo-schedule/v2/web/public/locales/en/schedule.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@
3535
"tabs": {
3636
"all": "All",
3737
"allWithDate": "All ({{date}})"
38-
}
39-
}
38+
},
39+
"noLivestreams": "No scheduled streams. Please check the previous day's schedule."
40+
}

service/vspo-schedule/v2/web/public/locales/ja/schedule.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@
3535
"tabs": {
3636
"all": "すべて",
3737
"allWithDate": "すべて ({{date}})"
38-
}
39-
}
38+
},
39+
"noLivestreams": "配信予定がありません、前日の予定をご覧ください。"
40+
}

service/vspo-schedule/v2/web/public/locales/ko/schedule.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@
3535
"tabs": {
3636
"all": "전체",
3737
"allWithDate": "전체 ({{date}})"
38-
}
39-
}
38+
},
39+
"noLivestreams": "예정된 방송이 없습니다. 전날 일정을 확인해주세요."
40+
}

service/vspo-schedule/v2/web/public/locales/tw/schedule.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@
3535
"tabs": {
3636
"all": "全部",
3737
"allWithDate": "全部 ({{date}})"
38-
}
39-
}
38+
},
39+
"noLivestreams": "沒有配信預定,請查看前一天的行程。"
40+
}

service/vspo-schedule/v2/web/src/features/clips/components/presenters/ClipSectionPresenter.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,17 @@ import {
1010
Grid,
1111
Typography,
1212
} from "@mui/material";
13-
import { styled } from "@mui/material/styles";
13+
import { styled, type Theme } from "@mui/material/styles";
1414
import { useTranslation } from "next-i18next";
1515
import type React from "react";
1616
import type { Clip } from "@/features/shared/domain";
1717
import { useVideoModalContext } from "@/hooks/video-modal";
1818

19+
const doubleBorderRadius = (theme: Theme) =>
20+
typeof theme.shape.borderRadius === "number"
21+
? theme.shape.borderRadius * 2
22+
: `calc(${theme.shape.borderRadius} * 2)`;
23+
1924
// Styled components
2025
const SectionTitle = styled(Typography)(({ theme }) => ({
2126
fontWeight: 700,
@@ -59,7 +64,7 @@ const SingleRowContainer = styled(Box)(({ theme }) => ({
5964
// Modern card style
6065
const ModernCard = styled(Card)(({ theme }) => ({
6166
overflow: "hidden",
62-
borderRadius: theme.shape.borderRadius * 2,
67+
borderRadius: doubleBorderRadius(theme),
6368
transition: "transform 0.3s ease, box-shadow 0.3s ease",
6469
height: "100%",
6570
"&:hover": {
@@ -88,7 +93,7 @@ const CardOverlay = styled(Box)(({ theme }) => ({
8893

8994
const ShortsCard = styled(Card)(({ theme }) => ({
9095
overflow: "hidden",
91-
borderRadius: theme.shape.borderRadius * 2,
96+
borderRadius: doubleBorderRadius(theme),
9297
height: "100%",
9398
aspectRatio: "9/16",
9499
transition: "transform 0.3s ease, box-shadow 0.3s ease",

service/vspo-schedule/v2/web/src/features/multiview/components/presenters/LayoutSelectorPresenter.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,22 @@ import {
1818
styled,
1919
useMediaQuery,
2020
useTheme,
21+
type Theme,
2122
} from "@mui/material";
2223
import { useTranslation } from "next-i18next";
2324
import type { TFunction } from "next-i18next";
2425
import React from "react";
2526
import { LayoutType } from "../../hooks/useMultiviewLayout";
2627

28+
const scaledBorderRadius = (theme: Theme, scale: number) =>
29+
typeof theme.shape.borderRadius === "number"
30+
? theme.shape.borderRadius * scale
31+
: `calc(${theme.shape.borderRadius} * ${scale})`;
32+
2733
const SelectorContainer = styled(Paper)(({ theme }) => ({
2834
padding: theme.spacing(2.5),
2935
backgroundColor: "white",
30-
borderRadius: theme.shape.borderRadius * 1.5,
36+
borderRadius: scaledBorderRadius(theme, 1.5),
3137
boxShadow: theme.shadows[2],
3238
border: `1px solid ${theme.palette.divider}`,
3339
[theme.breakpoints.down("md")]: {
@@ -59,7 +65,7 @@ const LayoutButton = styled(IconButton, {
5965
border: `2px solid ${
6066
isSelected ? theme.palette.primary.main : theme.palette.divider
6167
}`,
62-
borderRadius: theme.shape.borderRadius * 1.5,
68+
borderRadius: scaledBorderRadius(theme, 1.5),
6369
backgroundColor: isSelected
6470
? alpha(theme.palette.primary.main, 0.08)
6571
: "transparent",

service/vspo-schedule/v2/web/src/features/multiview/components/presenters/MultiviewGridPresenter.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
styled,
77
useMediaQuery,
88
useTheme,
9+
type Theme,
910
} from "@mui/material";
1011
import { useTranslation } from "next-i18next";
1112
import React, { useState, useCallback, useRef, useEffect } from "react";
@@ -15,12 +16,17 @@ import "react-resizable/css/styles.css";
1516
import { MultiviewLayout } from "../../hooks/useMultiviewLayout";
1617
import { VideoPlayer } from "../containers";
1718

19+
const scaledBorderRadius = (theme: Theme, scale: number) =>
20+
typeof theme.shape.borderRadius === "number"
21+
? theme.shape.borderRadius * scale
22+
: `calc(${theme.shape.borderRadius} * ${scale})`;
23+
1824
const GridContainer = styled(Paper)<{ isFullscreen?: boolean }>(
1925
({ theme, isFullscreen }) => ({
2026
minHeight: isFullscreen ? "100vh" : "600px",
2127
padding: theme.spacing(isFullscreen ? 0 : 1),
2228
backgroundColor: "white",
23-
borderRadius: isFullscreen ? 0 : theme.shape.borderRadius * 2,
29+
borderRadius: isFullscreen ? 0 : scaledBorderRadius(theme, 2),
2430
boxShadow: isFullscreen ? "none" : theme.shadows[4],
2531
border: isFullscreen ? "none" : `1px solid ${theme.palette.divider}`,
2632
position: isFullscreen ? "fixed" : "relative",

service/vspo-schedule/v2/web/src/features/multiview/pages/MultiviewPage/presenter.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
styled,
2424
useMediaQuery,
2525
useTheme,
26+
type Theme,
2627
} from "@mui/material";
2728
import { useTranslation } from "next-i18next";
2829
import React from "react";
@@ -36,6 +37,11 @@ import {
3637
} from "../../components/containers";
3738
import { LayoutType, useMultiviewLayout } from "../../hooks/useMultiviewLayout";
3839

40+
const scaledBorderRadius = (theme: Theme, scale: number) =>
41+
typeof theme.shape.borderRadius === "number"
42+
? theme.shape.borderRadius * scale
43+
: `calc(${theme.shape.borderRadius} * ${scale})`;
44+
3945
// Styled components
4046
const HeaderSection = styled(Paper)(({ theme }) => ({
4147
padding: theme.spacing(2),
@@ -87,7 +93,7 @@ const ControlsPanel = styled(Paper)<{ collapsed?: boolean }>(
8793
backgroundColor: "rgba(255, 255, 255, 0.95)",
8894
backdropFilter: "blur(10px)",
8995
boxShadow: theme.shadows[8],
90-
borderRadius: theme.shape.borderRadius * 2,
96+
borderRadius: scaledBorderRadius(theme, 2),
9197
border: `1px solid ${theme.palette.grey[300]}`,
9298
zIndex: 1100,
9399
transition: theme.transitions.create(["right", "opacity"], {

service/vspo-schedule/v2/web/src/features/schedule/pages/ScheduleStatus/components/LivestreamContent/presenter.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export const LivestreamContentPresenter: React.FC<LivestreamContentProps> = ({
8282
livestreamsByDate,
8383
timeZone,
8484
);
85+
const hasLivestreams = Object.keys(livestreamsByTimeBlock).length > 0;
8586

8687
const navigateToDate = (date: string, daysToAdd: number) => {
8788
const currentDate = new Date(date);
@@ -101,6 +102,16 @@ export const LivestreamContentPresenter: React.FC<LivestreamContentProps> = ({
101102
);
102103
};
103104

105+
if (!hasLivestreams) {
106+
return (
107+
<Box sx={{ px: 2, py: 1 }}>
108+
<Typography variant="body1" color="text.secondary">
109+
{t("noLivestreams")}
110+
</Typography>
111+
</Box>
112+
);
113+
}
114+
104115
return (
105116
<Box>
106117
{Object.entries(livestreamsByTimeBlock).map(([date, timeBlocks]) => (

0 commit comments

Comments
 (0)