feat(chart): CSV export of current chart range + fix ShareButton comment
- New lib/csv.ts: RFC 4180 escaping, UTF-8 BOM prefix (한글 Excel 호환),
Blob + temporary anchor download, filename
`<name>_<code>_<interval>_<from>_<to>.csv` with filesystem-illegal
characters replaced by `_`.
- StockChart toolbar now always renders (was hidden in 10m intraday mode
because it gated on showSma) and includes a right-aligned `⬇ CSV`
button next to the SMA/RSI/MACD chips. Button is disabled when ohlcv
is empty.
Also addresses the reviewer's non-blocking note on f18493f:
ShareButton.tsx header comment claimed clipboard-first, but the code
calls navigator.share() first. Comment now matches the actual order:
share → clipboard → execCommand → "복사 안됨".
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
"use client";
|
||||
|
||||
// 종목 페이지 공유 버튼 — 현재 URL 을 클립보드에 복사.
|
||||
// Toss 의 종목 공유 패턴 (개별 모달 없이 즉시 복사 + 짧은 토스트).
|
||||
// 종목 페이지 공유 버튼 — 현재 URL 을 공유 / 클립보드에 복사.
|
||||
// Toss 의 종목 공유 패턴 (개별 모달 없이 즉시 시도 + 짧은 토스트).
|
||||
//
|
||||
// 폴백 순서:
|
||||
// 1) navigator.clipboard.writeText (HTTPS or localhost)
|
||||
// 2) document.execCommand("copy") (legacy, http LAN 등 secure context 아닌 경우)
|
||||
// 3) 두 경로 모두 실패면 "복사 안됨" 안내
|
||||
// 동작 우선순위:
|
||||
// 1) navigator.share (모바일 native sheet — 성공 시 OS 시트가 피드백, 토스트 안 띄움)
|
||||
// 2) navigator.clipboard.writeText (HTTPS or localhost — 클립보드에 복사 + "링크 복사됨")
|
||||
// 3) document.execCommand("copy") (legacy, http LAN 등 secure context 아닌 경우)
|
||||
// 4) 모두 실패면 "복사 안됨" 안내
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user