From 84ed48fa7834f2319f87be54c379a8c82414cf77 Mon Sep 17 00:00:00 2001 From: caadiq Date: Mon, 19 Jan 2026 15:59:26 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20X=20=ED=8F=BC=20Nitter=20=ED=8C=8C?= =?UTF-8?q?=EC=8B=B1=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - scraper.js: main-tweet 파싱 정규식 수정 (id 선택자 사용) - XForm.jsx: Twitter 아이콘을 X 로고로 변경 Co-Authored-By: Claude Opus 4.5 --- backend/src/services/x/scraper.js | 4 ++-- .../src/pages/pc/admin/schedule/form/XForm.jsx | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/backend/src/services/x/scraper.js b/backend/src/services/x/scraper.js index 9020812..4e15c39 100644 --- a/backend/src/services/x/scraper.js +++ b/backend/src/services/x/scraper.js @@ -141,8 +141,8 @@ export async function fetchSingleTweet(nitterUrl, username, postId) { const html = await res.text(); - // 메인 트윗 파싱 (main-tweet 클래스) - const mainTweetMatch = html.match(/
]*>([\s\S]*?)<\/div>\s*
/); + // 메인 트윗 파싱 (main-tweet ~ replies 사이) + const mainTweetMatch = html.match(/
([\s\S]*?)
/); if (!mainTweetMatch) { throw new Error('트윗 내용을 파싱할 수 없습니다'); } diff --git a/frontend/src/pages/pc/admin/schedule/form/XForm.jsx b/frontend/src/pages/pc/admin/schedule/form/XForm.jsx index 1aebf21..918f921 100644 --- a/frontend/src/pages/pc/admin/schedule/form/XForm.jsx +++ b/frontend/src/pages/pc/admin/schedule/form/XForm.jsx @@ -2,7 +2,6 @@ import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { motion } from "framer-motion"; import { - Twitter, Hash, Loader2, Check, @@ -10,9 +9,23 @@ import { Save, Image as ImageIcon, } from "lucide-react"; + import Toast from "../../../../../components/Toast"; import useToast from "../../../../../hooks/useToast"; +// X 로고 아이콘 +const XLogo = ({ size = 24, className = "" }) => ( + + + +); + /** * X(Twitter) 일정 추가 폼 * - 게시글 ID 입력 시 자동으로 정보 조회 @@ -151,7 +164,7 @@ function XForm() { {/* 게시글 ID 입력 */}
- +

X 게시글