diff --git a/electron/main.ts b/electron/main.ts index 1298138..e2a72c4 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -14,9 +14,9 @@ function createWindow() { // Set window specs const mainWindow = new BrowserWindow({ width: 1280, - height: 1080, + height: 864, minWidth: 1280, - minHeight: 1080, + minHeight: 864, icon: path.join(__dirname, '../renderer/icon.ico'), // Set the window icon webPreferences: { preload: path.join(__dirname, '../preload/preload.js'), // Path of preload script diff --git a/src/page/TimerPage/components/TimeBasedTimerTitle.tsx b/src/page/TimerPage/components/TimeBasedTimerTitle.tsx new file mode 100644 index 0000000..3ab0ca4 --- /dev/null +++ b/src/page/TimerPage/components/TimeBasedTimerTitle.tsx @@ -0,0 +1,71 @@ +import React, { PropsWithChildren, useId } from 'react'; + +interface TimeBasedTimerTitleProps extends PropsWithChildren { + width?: number; + height?: number; + className?: string; +} + +export default function TimeBasedTimerTitle({ + children, + width = 320, + height = 60, + className, +}: TimeBasedTimerTitleProps) { + return ( +
+
+ +
+ +
+ {children} +
+
+ ); +} + +const SvgShape: React.FC<{ width: number; height: number }> = ({ + width, + height, +}) => { + const id = useId(); + const pathData = ` + M0 4.875 + C0 2.666, 1.791 0.875, 4 0.875 H${width - 4.131} + C${width - 0.811} 0.875, ${width + 1.064} 4.686, ${width - 0.962} 7.316 + L${width - 17.231} 28.434 C${width - 18.339} 29.873, ${width - 18.339} 31.878, ${width - 17.231} 33.317 + L${width - 0.962} 54.434 C${width + 1.064} 57.064, ${width - 0.811} 60.875, ${width - 4.131} 60.875 + H4 C1.791 60.875, 0 59.085, 0 56.875 V4.875 Z + `; + const gradientId = `grad_${id}`; + + return ( + + + + + + + + + + + ); +}; diff --git a/src/page/TimerPage/components/TimerView.tsx b/src/page/TimerPage/components/TimerView.tsx index 328f558..07e1dcc 100644 --- a/src/page/TimerPage/components/TimerView.tsx +++ b/src/page/TimerPage/components/TimerView.tsx @@ -3,6 +3,7 @@ import { TimerPageLogics } from '../hooks/useTimerPageState'; import NormalTimer from './NormalTimer'; import TimeBasedTimer from './TimeBasedTimer'; import { FaExchangeAlt } from 'react-icons/fa'; +import TimeBasedTimerTitle from './TimeBasedTimerTitle'; export default function TimerView({ state }: { state: TimerPageLogics }) { const { @@ -43,47 +44,56 @@ export default function TimerView({ state }: { state: TimerPageLogics }) { } if (data?.table[index]?.boxType === 'TIME_BASED') { return ( -
- {/* 왼쪽 타이머 */} - handleActivateTeam('PROS')} - prosCons="PROS" - teamName={data.info.prosTeamName} - /> - {/* 오른쪽 타이머 */} - handleActivateTeam('CONS')} - prosCons="CONS" - teamName={data.info.consTeamName} - /> - {/* ENTER 버튼 */} - +
+ {/* 현재 순서 제목 */} + +

+ {data.table[index].speechType} +

+
+ +
+ {/* 왼쪽 타이머 */} + handleActivateTeam('PROS')} + prosCons="PROS" + teamName={data.info.prosTeamName} + /> + {/* 오른쪽 타이머 */} + handleActivateTeam('CONS')} + prosCons="CONS" + teamName={data.info.consTeamName} + /> + {/* ENTER 버튼 */} + +
); }