調整分組卡片版面並更新 README
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
- 若當天沒有資料,可手動輸入 A、B 區名單建立分組
|
- 若當天沒有資料,可手動輸入 A、B 區名單建立分組
|
||||||
- 成功載入後會在畫面底部顯示 1 秒浮動提示
|
- 成功載入後會在畫面底部顯示 1 秒浮動提示
|
||||||
- 對戰名單直接點 `進入記分板` 就會帶入該組
|
- 對戰名單直接點 `進入記分板` 就會帶入該組
|
||||||
|
- 分組卡片標題改成左右緊湊排列,減少手機版高度
|
||||||
- 記分板頁
|
- 記分板頁
|
||||||
- 從所選組別進入記分板
|
- 從所選組別進入記分板
|
||||||
- 設定隊伍彈窗支援兩種方式
|
- 設定隊伍彈窗支援兩種方式
|
||||||
|
|||||||
48
src/App.css
48
src/App.css
@@ -121,6 +121,18 @@
|
|||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.group-head-compact {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-head-compact > div:first-child {
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-head-compact h3 {
|
||||||
|
margin: 4px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
.summary-grid,
|
.summary-grid,
|
||||||
.double-grid,
|
.double-grid,
|
||||||
.history-list,
|
.history-list,
|
||||||
@@ -223,6 +235,10 @@
|
|||||||
align-items: end;
|
align-items: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.selection-toolbar > .field {
|
||||||
|
width: min(100%, 220px);
|
||||||
|
}
|
||||||
|
|
||||||
.double-grid {
|
.double-grid {
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
@@ -302,11 +318,6 @@
|
|||||||
border: 1px solid rgba(10, 51, 45, 0.08);
|
border: 1px solid rgba(10, 51, 45, 0.08);
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-card-active {
|
|
||||||
border-color: rgba(8, 47, 73, 0.32);
|
|
||||||
box-shadow: 0 0 0 2px rgba(8, 47, 73, 0.08);
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-card-stage {
|
.group-card-stage {
|
||||||
background:
|
background:
|
||||||
linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 246, 242, 0.94));
|
linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 246, 242, 0.94));
|
||||||
@@ -1304,6 +1315,15 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.group-head-compact {
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-head-compact .group-actions {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.scoreboard-screen {
|
.scoreboard-screen {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
@@ -1365,6 +1385,10 @@
|
|||||||
gap: 12px;
|
gap: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.selection-toolbar > .field {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.button-stack {
|
.button-stack {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
@@ -1372,6 +1396,7 @@
|
|||||||
.field input[type='date'] {
|
.field input[type='date'] {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.floating-status-bubble {
|
.floating-status-bubble {
|
||||||
@@ -1382,6 +1407,19 @@
|
|||||||
font-size: 0.92rem;
|
font-size: 0.92rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.group-head-compact {
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-head-compact h3 {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-head-compact .inline-link {
|
||||||
|
padding: 8px 12px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
.scoreboard-court {
|
.scoreboard-court {
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
|
|||||||
@@ -462,7 +462,6 @@ function App() {
|
|||||||
groupSource={groupSource}
|
groupSource={groupSource}
|
||||||
loadMessage={loadMessage}
|
loadMessage={loadMessage}
|
||||||
loadStatus={loadStatus}
|
loadStatus={loadStatus}
|
||||||
selectedGroupId={selectedGroupId}
|
|
||||||
targetDate={targetDate}
|
targetDate={targetDate}
|
||||||
onAreaAInputChange={setAreaAInput}
|
onAreaAInputChange={setAreaAInput}
|
||||||
onAreaBInputChange={setAreaBInput}
|
onAreaBInputChange={setAreaBInput}
|
||||||
@@ -483,7 +482,6 @@ function App() {
|
|||||||
groupSource={groupSource}
|
groupSource={groupSource}
|
||||||
loadMessage={loadMessage}
|
loadMessage={loadMessage}
|
||||||
loadStatus={loadStatus}
|
loadStatus={loadStatus}
|
||||||
selectedGroupId={selectedGroupId}
|
|
||||||
targetDate={targetDate}
|
targetDate={targetDate}
|
||||||
onAreaAInputChange={setAreaAInput}
|
onAreaAInputChange={setAreaAInput}
|
||||||
onAreaBInputChange={setAreaBInput}
|
onAreaBInputChange={setAreaBInput}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ type TeamSelectionPageProps = {
|
|||||||
groupSource: 'idle' | 'db' | 'manual'
|
groupSource: 'idle' | 'db' | 'manual'
|
||||||
loadMessage: string
|
loadMessage: string
|
||||||
loadStatus: LoadStatus
|
loadStatus: LoadStatus
|
||||||
selectedGroupId: number | null
|
|
||||||
targetDate: string
|
targetDate: string
|
||||||
onAreaAInputChange: (value: string) => void
|
onAreaAInputChange: (value: string) => void
|
||||||
onAreaBInputChange: (value: string) => void
|
onAreaBInputChange: (value: string) => void
|
||||||
@@ -26,7 +25,6 @@ export function TeamSelectionPage({
|
|||||||
groupSource,
|
groupSource,
|
||||||
loadMessage,
|
loadMessage,
|
||||||
loadStatus,
|
loadStatus,
|
||||||
selectedGroupId,
|
|
||||||
targetDate,
|
targetDate,
|
||||||
onAreaAInputChange,
|
onAreaAInputChange,
|
||||||
onAreaBInputChange,
|
onAreaBInputChange,
|
||||||
@@ -106,17 +104,13 @@ export function TeamSelectionPage({
|
|||||||
<p className="panel-kicker">Step 2</p>
|
<p className="panel-kicker">Step 2</p>
|
||||||
<h2>選擇要上場的組別</h2>
|
<h2>選擇要上場的組別</h2>
|
||||||
</div>
|
</div>
|
||||||
{selectedGroupId ? <span className="winner-badge">目前第 {selectedGroupId} 組</span> : null}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="group-board">
|
<div className="group-board">
|
||||||
{hasGroups ? (
|
{hasGroups ? (
|
||||||
groups.map((group) => (
|
groups.map((group) => (
|
||||||
<article
|
<article key={group.id} className="group-card">
|
||||||
key={group.id}
|
<div className="group-head group-head-compact">
|
||||||
className={`group-card ${selectedGroupId === group.id ? 'group-card-active' : ''}`}
|
|
||||||
>
|
|
||||||
<div className="group-head">
|
|
||||||
<div>
|
<div>
|
||||||
<p className="panel-kicker">第 {group.id} 組</p>
|
<p className="panel-kicker">第 {group.id} 組</p>
|
||||||
<h3>本組對戰名單</h3>
|
<h3>本組對戰名單</h3>
|
||||||
|
|||||||
Reference in New Issue
Block a user