From af2aaa416812da468020b52fac292a1f4701a168 Mon Sep 17 00:00:00 2001 From: poignatov Date: Fri, 6 Feb 2026 21:05:03 +0300 Subject: [PATCH] =?UTF-8?q?4.27.1:=20=D0=A4=D0=B8=D0=BA=D1=81=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=B0=20OAuth=20Fitb?= =?UTF-8?q?it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- VERSION | 2 +- play-life-web/package.json | 2 +- play-life-web/src/App.jsx | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index 02bb667..4c42b8c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.27.0 +4.27.1 diff --git a/play-life-web/package.json b/play-life-web/package.json index 63a675b..f916b37 100644 --- a/play-life-web/package.json +++ b/play-life-web/package.json @@ -1,6 +1,6 @@ { "name": "play-life-web", - "version": "4.27.0", + "version": "4.27.1", "type": "module", "scripts": { "dev": "vite", diff --git a/play-life-web/src/App.jsx b/play-life-web/src/App.jsx index f1d468b..cfe1aac 100644 --- a/play-life-web/src/App.jsx +++ b/play-life-web/src/App.jsx @@ -202,8 +202,24 @@ function AppContent() { } } - // Проверяем URL только для глубоких табов + // Проверяем параметры OAuth callback от Fitbit const urlParams = new URLSearchParams(window.location.search) + const integration = urlParams.get('integration') + if (integration === 'fitbit') { + setActiveTab('fitbit-integration') + setLoadedTabs(prev => ({ ...prev, 'fitbit-integration': true })) + setIsInitialized(true) + // Перезаписываем URL с tab параметром и сохраняем integration/status для компонента + const status = urlParams.get('status') + const message = urlParams.get('message') + let newUrl = '/?tab=fitbit-integration&integration=fitbit' + if (status) newUrl += `&status=${status}` + if (message) newUrl += `&message=${message}` + window.history.replaceState({}, '', newUrl) + return + } + + // Проверяем URL только для глубоких табов const tabFromUrl = urlParams.get('tab') const validTabs = ['current', 'priorities', 'full', 'words', 'add-words', 'dictionaries', 'test', 'tasks', 'task-form', 'wishlist', 'wishlist-form', 'wishlist-detail', 'board-form', 'board-join', 'profile', 'todoist-integration', 'telegram-integration', 'fitbit-integration', 'tracking', 'tracking-access', 'tracking-invite']