From 92453def91f84b9d294e1d0ec4a80af3203c9e45 Mon Sep 17 00:00:00 2001 From: poignatov Date: Wed, 4 Mar 2026 18:17:11 +0300 Subject: [PATCH] =?UTF-8?q?5.11.0:=20=D0=9A=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8?= =?UTF-8?q?=20+/-=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B5=D1=81=D1=81=D0=B8=D0=B8=20=D0=B2=20TaskDetail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 2 +- play-life-web/package.json | 2 +- play-life-web/src/components/TaskDetail.css | 56 +++++++++++++++++++++ play-life-web/src/components/TaskDetail.jsx | 42 +++++++++++++--- 4 files changed, 92 insertions(+), 10 deletions(-) diff --git a/VERSION b/VERSION index 269fb5d..c68d476 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.10.2 +5.11.0 diff --git a/play-life-web/package.json b/play-life-web/package.json index 5f58ce4..4c613ed 100644 --- a/play-life-web/package.json +++ b/play-life-web/package.json @@ -1,6 +1,6 @@ { "name": "play-life-web", - "version": "5.10.2", + "version": "5.11.0", "type": "module", "scripts": { "dev": "vite", diff --git a/play-life-web/src/components/TaskDetail.css b/play-life-web/src/components/TaskDetail.css index c8ca27e..92d4373 100644 --- a/play-life-web/src/components/TaskDetail.css +++ b/play-life-web/src/components/TaskDetail.css @@ -169,13 +169,27 @@ margin-bottom: 0.5rem; } +.progression-input-wrapper { + position: relative; + display: flex; + align-items: center; +} + .progression-input { width: 100%; padding: 0.75rem; + padding-right: 4.5rem; border: 1px solid #d1d5db; border-radius: 0.375rem; font-size: 1rem; box-sizing: border-box; + -moz-appearance: textfield; +} + +.progression-input::-webkit-outer-spin-button, +.progression-input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; } .progression-input:focus { @@ -184,6 +198,48 @@ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); } +.progression-controls-capsule { + position: absolute; + right: 0.375rem; + display: flex; + background: #f3f4f6; + border-radius: 9999px; + overflow: hidden; + flex-shrink: 0; +} + +.progression-control-btn { + display: flex; + align-items: center; + justify-content: center; + width: 1.75rem; + height: 1.75rem; + border: none; + background: transparent; + font-size: 1rem; + font-weight: 500; + color: #6b7280; + cursor: pointer; + transition: background 0.2s, color 0.2s; +} + +.progression-control-btn:hover { + background: #e5e7eb; + color: #374151; +} + +.progression-control-btn:active { + background: #d1d5db; +} + +.progression-control-minus { + border-right: 1px solid #eeeff1; +} + +.progression-control-plus { + border-left: 1px solid #eeeff1; +} + .task-detail-divider { height: 1px; background: #e5e7eb; diff --git a/play-life-web/src/components/TaskDetail.jsx b/play-life-web/src/components/TaskDetail.jsx index 3d9731b..cb72308 100644 --- a/play-life-web/src/components/TaskDetail.jsx +++ b/play-life-web/src/components/TaskDetail.jsx @@ -808,14 +808,40 @@ function TaskDetail({ taskId, onClose, onRefresh, onTaskCompleted, onNavigate }) {hasProgression && (
- setProgressionValue(e.target.value)} - placeholder={task.progression_base?.toString() || ''} - className="progression-input" - /> +
+ setProgressionValue(e.target.value)} + placeholder={task.progression_base?.toString() || ''} + className="progression-input" + /> +
+ + +
+
)}