From 60f17ff3e03389770d433e59029f7bb5b98ed5d4 Mon Sep 17 00:00:00 2001 From: gahusb Date: Tue, 28 Apr 2026 11:01:41 +0900 Subject: [PATCH] =?UTF-8?q?feat(subscription):=20ProfileTab=EC=97=90=205?= =?UTF-8?q?=ED=8B=B0=EC=96=B4/=EC=95=8C=EB=A6=BC=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- src/pages/subscription/Subscription.jsx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/pages/subscription/Subscription.jsx b/src/pages/subscription/Subscription.jsx index d41c2f0..c41e732 100644 --- a/src/pages/subscription/Subscription.jsx +++ b/src/pages/subscription/Subscription.jsx @@ -2,6 +2,8 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; import { apiGet, apiPost, apiPut, apiDelete } from '../../api'; import PullToRefresh from '../../components/PullToRefresh'; import FAB from '../../components/FAB'; +import DistrictTierEditor from './components/DistrictTierEditor'; +import NotificationSettings from './components/NotificationSettings'; import './Subscription.css'; // ── 상수 ─────────────────────────────────────────────────────────────────────── @@ -1027,6 +1029,13 @@ function ProfileTab() { if (payload.preferred_regions.length === 0) payload.preferred_regions = null; if (payload.preferred_types.length === 0) payload.preferred_types = null; + // 신규: preferred_districts (객체), min_match_score, notify_enabled + payload.preferred_districts = profile.preferred_districts && typeof profile.preferred_districts === "object" + ? profile.preferred_districts + : {}; + payload.min_match_score = profile.min_match_score ?? null; + payload.notify_enabled = profile.notify_enabled ?? null; + const updated = await apiPut('/api/realestate/profile', payload); if (updated && Object.keys(updated).length > 0) { // Convert arrays back to comma-separated strings for display @@ -1304,6 +1313,19 @@ function ProfileTab() { + + {/* 자치구 5티어 */} + setProfile(prev => ({ ...prev, preferred_districts: next }))} + /> + + {/* 알림 설정 */} + setProfile(prev => ({ ...prev, ...patch }))} + />