finsignal-feed-explore 3.43.3 → 3.43.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FeedList.css +1 -1
- package/dist/filters/FiltersOverlay.css +1 -1
- package/dist/hooks/useFeedData.d.ts.map +1 -1
- package/dist/hooks/useFeedData.js +147 -87
- package/dist/hooks/useFeedData.js.map +1 -1
- package/dist/newsfeed.css +118 -306
- package/dist/snippets/NewsSnippet.css +2 -2
- package/dist/snippets/NewsSnippet.d.ts +5 -0
- package/dist/snippets/NewsSnippet.d.ts.map +1 -1
- package/dist/snippets/NewsSnippet.js +3 -2
- package/dist/snippets/NewsSnippet.js.map +1 -1
- package/dist/styles/globals.css +2 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/FeedList.css
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
--news-hover-overlay: rgba(0, 0, 0, 0.04);
|
|
16
16
|
--news-ai-summary-bg: rgba(120, 99, 246, 0.12);
|
|
17
17
|
--news-ai-summary-text: rgba(4, 4, 5, 0.88);
|
|
18
|
-
--news-stock-card-bg: rgba(4, 4, 5, 0.
|
|
18
|
+
--news-stock-card-bg: rgba(4, 4, 5, 0.06);
|
|
19
19
|
--news-stock-positive: #10b981;
|
|
20
20
|
--news-stock-negative: #ef4444;
|
|
21
21
|
--news-action-hover: transparent;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
--news-hover-overlay: rgba(0, 0, 0, 0.04);
|
|
12
12
|
--news-ai-summary-bg: rgba(120, 99, 246, 0.12);
|
|
13
13
|
--news-ai-summary-text: rgba(4, 4, 5, 0.88);
|
|
14
|
-
--news-stock-card-bg: rgba(4, 4, 5, 0.
|
|
14
|
+
--news-stock-card-bg: rgba(4, 4, 5, 0.06);
|
|
15
15
|
--news-stock-positive: #10b981;
|
|
16
16
|
--news-stock-negative: #ef4444;
|
|
17
17
|
--news-action-hover: transparent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeedData.d.ts","sourceRoot":"","sources":["../../src/hooks/useFeedData.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,QAAQ,
|
|
1
|
+
{"version":3,"file":"useFeedData.d.ts","sourceRoot":"","sources":["../../src/hooks/useFeedData.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,QAAQ,EAA0B,MAAM,UAAU,CAAC;AAMvF,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAwED,wBAAgB,WAAW,CAAC,EAC1B,MAAwB,EACxB,OAAY,EACZ,KAAK,EACL,OAAY,EACZ,KAAU,EACV,UAAgB,EACjB,EAAE,kBAAkB,GAAG,iBAAiB,CAqMxC"}
|
|
@@ -1,11 +1,129 @@
|
|
|
1
|
-
import { useState, useEffect, useCallback } from 'react';
|
|
1
|
+
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
2
2
|
import { DEFAULT_API_URL } from '../constants/api';
|
|
3
|
+
const SEMANTIC_FETCH_LIMIT = 200;
|
|
4
|
+
const SEMANTIC_PAGE_SIZE = 20;
|
|
5
|
+
function mapRawItem(item, mode) {
|
|
6
|
+
const rawItem = item;
|
|
7
|
+
const isTrendingFeed = mode === 'trending';
|
|
8
|
+
let summary;
|
|
9
|
+
if (isTrendingFeed) {
|
|
10
|
+
summary = rawItem.metadata?.preprocessing?.results?.ai_annotation?.annotations?.summary;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
summary = rawItem.preprocessing?.ai_annotation?.annotations?.summary;
|
|
14
|
+
}
|
|
15
|
+
summary = summary || rawItem.newsData?.summary || rawItem.metadata?.newsData?.summary || rawItem.summary;
|
|
16
|
+
let fullContent;
|
|
17
|
+
if (isTrendingFeed) {
|
|
18
|
+
fullContent = rawItem.metadata?.newsData?.content;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
fullContent = rawItem.newsData?.content;
|
|
22
|
+
}
|
|
23
|
+
const content = rawItem.content || rawItem.body || rawItem.metadata?.body || '';
|
|
24
|
+
const rawStocks = rawItem.stocks;
|
|
25
|
+
const mappedStocksFromStocks = rawStocks?.map((s) => ({
|
|
26
|
+
...s,
|
|
27
|
+
securityId: s.securityId ?? (s.security_id != null ? Number(s.security_id) : undefined),
|
|
28
|
+
}));
|
|
29
|
+
let entityStocks;
|
|
30
|
+
if (!mappedStocksFromStocks || mappedStocksFromStocks.length === 0) {
|
|
31
|
+
let entities = [];
|
|
32
|
+
if (isTrendingFeed) {
|
|
33
|
+
entities = rawItem.metadata?.preprocessing?.results?.ai_annotation?.annotations?.entities || [];
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
entities = rawItem.preprocessing?.ai_annotation?.annotations?.entities || [];
|
|
37
|
+
if (entities.length === 0 && Array.isArray(rawItem.entityTickers)) {
|
|
38
|
+
entities = rawItem.entityTickers.map((t) => ({ ticker: t }));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const seenSymbols = new Set();
|
|
42
|
+
entityStocks = entities
|
|
43
|
+
.filter((e) => e.ticker && e.ticker.trim())
|
|
44
|
+
.reduce((acc, e) => {
|
|
45
|
+
const sym = e.ticker.trim().toUpperCase();
|
|
46
|
+
if (!seenSymbols.has(sym)) {
|
|
47
|
+
seenSymbols.add(sym);
|
|
48
|
+
acc.push({ symbol: sym, price: '', change: '', changeType: 'positive' });
|
|
49
|
+
}
|
|
50
|
+
return acc;
|
|
51
|
+
}, []);
|
|
52
|
+
}
|
|
53
|
+
const mappedStocks = mappedStocksFromStocks?.length ? mappedStocksFromStocks : (entityStocks?.length ? entityStocks : undefined);
|
|
54
|
+
return {
|
|
55
|
+
...rawItem,
|
|
56
|
+
id: rawItem.id || rawItem.content_id,
|
|
57
|
+
content,
|
|
58
|
+
fullContent,
|
|
59
|
+
sourceName: rawItem.newsData?.sourceName || rawItem.metadata?.newsData?.sourceName || rawItem.source?.sourceName || rawItem.sourceName,
|
|
60
|
+
summary,
|
|
61
|
+
timestamp: rawItem.createdAt || rawItem.timestamp || rawItem.created_at || rawItem.publishedAt,
|
|
62
|
+
stocks: mappedStocks,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
3
65
|
export function useFeedData({ apiUrl = DEFAULT_API_URL, filters = [], query, tickers = [], limit = 20, debounceMs = 500 }) {
|
|
4
66
|
const [items, setItems] = useState([]);
|
|
5
67
|
const [isLoading, setIsLoading] = useState(false);
|
|
6
68
|
const [hasMore, setHasMore] = useState(true);
|
|
7
69
|
const [error, setError] = useState(null);
|
|
8
70
|
const [offset, setOffset] = useState(0);
|
|
71
|
+
const semanticBufferRef = useRef([]);
|
|
72
|
+
const semanticPageRef = useRef(0);
|
|
73
|
+
const isSemanticMode = !!(query && query.trim());
|
|
74
|
+
const fetchSemantic = useCallback(async (reset = false) => {
|
|
75
|
+
setIsLoading(true);
|
|
76
|
+
setError(null);
|
|
77
|
+
if (reset) {
|
|
78
|
+
setItems([]);
|
|
79
|
+
semanticBufferRef.current = [];
|
|
80
|
+
semanticPageRef.current = 0;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const params = new URLSearchParams();
|
|
84
|
+
params.set('query', query.trim());
|
|
85
|
+
params.set('limit', SEMANTIC_FETCH_LIMIT.toString());
|
|
86
|
+
if (filters.length > 0) {
|
|
87
|
+
filters.forEach(f => params.append('market_events', f));
|
|
88
|
+
}
|
|
89
|
+
if (tickers.length > 0) {
|
|
90
|
+
tickers.forEach(t => params.append('tickers', t));
|
|
91
|
+
}
|
|
92
|
+
const url = `${apiUrl}/api/v1/content/search/semantic?${params.toString()}`;
|
|
93
|
+
const response = await fetch(url);
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
96
|
+
}
|
|
97
|
+
const data = await response.json();
|
|
98
|
+
const mapped = (data.items || []).map(item => mapRawItem(item, 'search'));
|
|
99
|
+
semanticBufferRef.current = mapped;
|
|
100
|
+
semanticPageRef.current = 0;
|
|
101
|
+
const firstPage = mapped.slice(0, SEMANTIC_PAGE_SIZE);
|
|
102
|
+
setItems(firstPage);
|
|
103
|
+
semanticPageRef.current = 1;
|
|
104
|
+
setHasMore(mapped.length > SEMANTIC_PAGE_SIZE);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
setError(err instanceof Error ? err : new Error('Unknown error'));
|
|
108
|
+
console.error('Error fetching semantic feed:', err);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
setIsLoading(false);
|
|
112
|
+
}
|
|
113
|
+
}, [apiUrl, query, filters, tickers]);
|
|
114
|
+
const loadMoreSemantic = useCallback(async () => {
|
|
115
|
+
const buffer = semanticBufferRef.current;
|
|
116
|
+
const page = semanticPageRef.current;
|
|
117
|
+
const start = page * SEMANTIC_PAGE_SIZE;
|
|
118
|
+
if (start >= buffer.length) {
|
|
119
|
+
setHasMore(false);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const nextPage = buffer.slice(start, start + SEMANTIC_PAGE_SIZE);
|
|
123
|
+
setItems(prev => [...prev, ...nextPage]);
|
|
124
|
+
semanticPageRef.current = page + 1;
|
|
125
|
+
setHasMore(start + SEMANTIC_PAGE_SIZE < buffer.length);
|
|
126
|
+
}, []);
|
|
9
127
|
const fetchFeed = useCallback(async (reset = false) => {
|
|
10
128
|
if (!reset && isLoading)
|
|
11
129
|
return;
|
|
@@ -20,94 +138,31 @@ export function useFeedData({ apiUrl = DEFAULT_API_URL, filters = [], query, tic
|
|
|
20
138
|
const params = new URLSearchParams();
|
|
21
139
|
params.set('limit', limit.toString());
|
|
22
140
|
params.set('offset', currentOffset.toString());
|
|
23
|
-
if (query)
|
|
24
|
-
params.set('query', query);
|
|
25
141
|
if (filters.length > 0) {
|
|
26
142
|
filters.forEach(filter => params.append('market_events', filter));
|
|
27
143
|
}
|
|
28
144
|
if (tickers.length > 0) {
|
|
29
145
|
tickers.forEach(ticker => params.append('tickers', ticker));
|
|
30
146
|
}
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
147
|
+
const hasFiltersOrTickers = filters.length > 0 || tickers.length > 0;
|
|
148
|
+
const endpoint = hasFiltersOrTickers ? '/api/v1/content/search' : '/api/v1/feed/trending';
|
|
149
|
+
const isFilterSearch = filters.length > 0 && tickers.length === 0;
|
|
150
|
+
const isTickerSearch = !isFilterSearch && tickers.length > 0;
|
|
151
|
+
const isTrendingFeed = !hasFiltersOrTickers;
|
|
34
152
|
const url = `${apiUrl}${endpoint}?${params.toString()}`;
|
|
35
153
|
const response = await fetch(url);
|
|
36
154
|
if (!response.ok) {
|
|
37
155
|
throw new Error(`HTTP error! status: ${response.status}`);
|
|
38
156
|
}
|
|
39
157
|
const data = await response.json();
|
|
40
|
-
const isSearchWithQuery = !!query;
|
|
41
|
-
const isTickerSearch = !query && tickers.length > 0;
|
|
42
|
-
const isFilterSearch = !query && filters.length > 0 && tickers.length === 0;
|
|
43
|
-
const isTrendingFeed = !query && filters.length === 0 && tickers.length === 0;
|
|
44
158
|
const mappedItems = (data.items || [])
|
|
45
159
|
.filter(item => {
|
|
46
160
|
if (isFilterSearch) {
|
|
47
|
-
|
|
48
|
-
return rawItem.score === 1;
|
|
161
|
+
return item.score === 1;
|
|
49
162
|
}
|
|
50
163
|
return true;
|
|
51
164
|
})
|
|
52
|
-
.map(item =>
|
|
53
|
-
const rawItem = item;
|
|
54
|
-
let summary;
|
|
55
|
-
if (isTrendingFeed) {
|
|
56
|
-
summary = rawItem.metadata?.preprocessing?.results?.ai_annotation?.annotations?.summary;
|
|
57
|
-
}
|
|
58
|
-
else if (isFilterSearch || isTickerSearch || isSearchWithQuery) {
|
|
59
|
-
summary = rawItem.preprocessing?.ai_annotation?.annotations?.summary;
|
|
60
|
-
}
|
|
61
|
-
summary = summary || rawItem.newsData?.summary || rawItem.metadata?.newsData?.summary || item.summary;
|
|
62
|
-
let fullContent;
|
|
63
|
-
if (isTrendingFeed) {
|
|
64
|
-
fullContent = rawItem.metadata?.newsData?.content;
|
|
65
|
-
}
|
|
66
|
-
else if (isFilterSearch || isTickerSearch || isSearchWithQuery) {
|
|
67
|
-
fullContent = rawItem.newsData?.content;
|
|
68
|
-
}
|
|
69
|
-
const content = item.content || rawItem.body || rawItem.metadata?.body || '';
|
|
70
|
-
const rawStocks = rawItem.stocks || item.stocks;
|
|
71
|
-
const mappedStocksFromStocks = rawStocks?.map((s) => ({
|
|
72
|
-
...s,
|
|
73
|
-
securityId: s.securityId ?? (s.security_id != null ? Number(s.security_id) : undefined),
|
|
74
|
-
}));
|
|
75
|
-
let entityStocks;
|
|
76
|
-
if (!mappedStocksFromStocks || mappedStocksFromStocks.length === 0) {
|
|
77
|
-
let entities = [];
|
|
78
|
-
if (isTrendingFeed) {
|
|
79
|
-
entities = rawItem.metadata?.preprocessing?.results?.ai_annotation?.annotations?.entities || [];
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
entities = rawItem.preprocessing?.ai_annotation?.annotations?.entities || [];
|
|
83
|
-
if (entities.length === 0 && Array.isArray(rawItem.entityTickers)) {
|
|
84
|
-
entities = rawItem.entityTickers.map((t) => ({ ticker: t }));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const seenSymbols = new Set();
|
|
88
|
-
entityStocks = entities
|
|
89
|
-
.filter((e) => e.ticker && e.ticker.trim())
|
|
90
|
-
.reduce((acc, e) => {
|
|
91
|
-
const sym = e.ticker.trim().toUpperCase();
|
|
92
|
-
if (!seenSymbols.has(sym)) {
|
|
93
|
-
seenSymbols.add(sym);
|
|
94
|
-
acc.push({ symbol: sym, price: '', change: '', changeType: 'positive' });
|
|
95
|
-
}
|
|
96
|
-
return acc;
|
|
97
|
-
}, []);
|
|
98
|
-
}
|
|
99
|
-
const mappedStocks = mappedStocksFromStocks?.length ? mappedStocksFromStocks : (entityStocks?.length ? entityStocks : undefined);
|
|
100
|
-
return {
|
|
101
|
-
...item,
|
|
102
|
-
id: item.id || rawItem.content_id,
|
|
103
|
-
content,
|
|
104
|
-
fullContent,
|
|
105
|
-
sourceName: rawItem.newsData?.sourceName || rawItem.metadata?.newsData?.sourceName || rawItem.source?.sourceName || rawItem.sourceName,
|
|
106
|
-
summary,
|
|
107
|
-
timestamp: rawItem.createdAt || item.timestamp || rawItem.created_at || rawItem.publishedAt,
|
|
108
|
-
stocks: mappedStocks,
|
|
109
|
-
};
|
|
110
|
-
});
|
|
165
|
+
.map(item => mapRawItem(item, isTrendingFeed ? 'trending' : 'search'));
|
|
111
166
|
if (reset) {
|
|
112
167
|
setItems(mappedItems);
|
|
113
168
|
setOffset(limit);
|
|
@@ -136,35 +191,40 @@ export function useFeedData({ apiUrl = DEFAULT_API_URL, filters = [], query, tic
|
|
|
136
191
|
finally {
|
|
137
192
|
setIsLoading(false);
|
|
138
193
|
}
|
|
139
|
-
}, [apiUrl, filters,
|
|
194
|
+
}, [apiUrl, filters, tickers, limit, offset, isLoading]);
|
|
140
195
|
useEffect(() => {
|
|
141
196
|
setHasMore(true);
|
|
142
|
-
if (
|
|
197
|
+
if (isSemanticMode) {
|
|
143
198
|
const timer = setTimeout(() => {
|
|
144
|
-
|
|
145
|
-
await fetchFeed(true);
|
|
146
|
-
};
|
|
147
|
-
loadData();
|
|
199
|
+
fetchSemantic(true);
|
|
148
200
|
}, debounceMs);
|
|
149
201
|
return () => clearTimeout(timer);
|
|
150
202
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
loadData();
|
|
156
|
-
}
|
|
203
|
+
const loadData = async () => {
|
|
204
|
+
await fetchFeed(true);
|
|
205
|
+
};
|
|
206
|
+
loadData();
|
|
157
207
|
}, [apiUrl, filters.join(','), query, tickers.join(','), debounceMs]);
|
|
158
208
|
const loadMore = useCallback(async () => {
|
|
159
209
|
if (!hasMore || isLoading)
|
|
160
210
|
return;
|
|
161
|
-
|
|
162
|
-
|
|
211
|
+
if (isSemanticMode) {
|
|
212
|
+
await loadMoreSemantic();
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
await fetchFeed(false);
|
|
216
|
+
}
|
|
217
|
+
}, [hasMore, isLoading, isSemanticMode, loadMoreSemantic, fetchFeed]);
|
|
163
218
|
const refresh = useCallback(async () => {
|
|
164
219
|
setOffset(0);
|
|
165
220
|
setHasMore(true);
|
|
166
|
-
|
|
167
|
-
|
|
221
|
+
if (isSemanticMode) {
|
|
222
|
+
await fetchSemantic(true);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
await fetchFeed(true);
|
|
226
|
+
}
|
|
227
|
+
}, [isSemanticMode, fetchSemantic, fetchFeed]);
|
|
168
228
|
return {
|
|
169
229
|
items,
|
|
170
230
|
isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeedData.js","sourceRoot":"","sources":["../../src/hooks/useFeedData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFeedData.js","sourceRoot":"","sources":["../../src/hooks/useFeedData.ts"],"names":[],"mappings":"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"}
|
package/dist/newsfeed.css
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
/* Import global variables */
|
|
3
|
+
/* Import component styles */
|
|
4
|
+
@import './components/FilterButton.css';
|
|
5
|
+
@import './components/EmptyState.css';
|
|
3
6
|
/* CSS Variables for theming - Global for all components */
|
|
4
7
|
:root {
|
|
5
8
|
/* Light theme colors */
|
|
@@ -57,361 +60,170 @@
|
|
|
57
60
|
--search-clear-color: rgba(255, 255, 255, 0.32);
|
|
58
61
|
}
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
.news-snippet {
|
|
62
|
-
border-radius: 0;
|
|
63
|
-
padding: 12px;
|
|
64
|
-
display: flex;
|
|
65
|
-
flex-direction: column;
|
|
66
|
-
gap: 12px;
|
|
67
|
-
cursor: pointer;
|
|
63
|
+
.news-feed {
|
|
68
64
|
position: relative;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
content: "";
|
|
74
|
-
position: absolute;
|
|
75
|
-
top: 0;
|
|
76
|
-
left: 0;
|
|
77
|
-
right: 0;
|
|
78
|
-
bottom: 0;
|
|
79
|
-
background-color: transparent;
|
|
80
|
-
pointer-events: none;
|
|
81
|
-
}
|
|
82
|
-
.news-snippet:hover::before {
|
|
83
|
-
background-color: var(--news-hover-overlay);
|
|
84
|
-
}
|
|
85
|
-
.news-snippet[draggable=true]:active {
|
|
86
|
-
opacity: 0.5;
|
|
87
|
-
cursor: grabbing;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.news-snippet__content {
|
|
91
|
-
display: flex;
|
|
92
|
-
flex-direction: column;
|
|
93
|
-
gap: 8px;
|
|
94
|
-
padding: 4px;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Header: дата/время слева, категория справа */
|
|
98
|
-
.news-snippet__header {
|
|
99
|
-
display: flex;
|
|
100
|
-
align-items: center;
|
|
101
|
-
justify-content: space-between;
|
|
102
|
-
margin-bottom: 4px;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.news-snippet__timestamp {
|
|
106
|
-
display: flex;
|
|
107
|
-
align-items: center;
|
|
108
|
-
gap: 4px;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.news-snippet__date,
|
|
112
|
-
.news-snippet__time,
|
|
113
|
-
.news-snippet__divider {
|
|
114
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
115
|
-
font-size: 12px;
|
|
116
|
-
font-weight: 400;
|
|
117
|
-
line-height: 16px;
|
|
118
|
-
letter-spacing: -0.2px;
|
|
119
|
-
color: var(--news-text-secondary);
|
|
120
|
-
overflow: hidden;
|
|
121
|
-
text-overflow: ellipsis;
|
|
122
|
-
white-space: nowrap;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.news-snippet__time-icon {
|
|
126
|
-
width: 12px;
|
|
127
|
-
height: 12px;
|
|
128
|
-
flex-shrink: 0;
|
|
129
|
-
opacity: 0.56;
|
|
130
|
-
}
|
|
131
|
-
.news-snippet__time-icon path {
|
|
132
|
-
stroke: var(--news-text-primary);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.news-snippet__time-text {
|
|
136
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
137
|
-
font-size: 12px;
|
|
138
|
-
font-weight: 400;
|
|
139
|
-
line-height: 16px;
|
|
140
|
-
letter-spacing: -0.2px;
|
|
141
|
-
color: var(--news-text-secondary);
|
|
142
|
-
overflow: hidden;
|
|
143
|
-
text-overflow: ellipsis;
|
|
144
|
-
white-space: nowrap;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
.news-snippet__category {
|
|
148
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
149
|
-
font-size: 12px;
|
|
150
|
-
font-weight: 500;
|
|
151
|
-
line-height: 16px;
|
|
152
|
-
letter-spacing: -0.2px;
|
|
153
|
-
text-align: right;
|
|
154
|
-
color: var(--news-text-secondary);
|
|
155
|
-
overflow: hidden;
|
|
156
|
-
text-overflow: ellipsis;
|
|
157
|
-
white-space: nowrap;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* Title */
|
|
161
|
-
.news-snippet__title {
|
|
65
|
+
width: 100%;
|
|
66
|
+
height: 100%;
|
|
67
|
+
max-width: 600px;
|
|
68
|
+
margin: 0 auto;
|
|
162
69
|
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
163
|
-
font-size: 16px;
|
|
164
|
-
font-weight: 600;
|
|
165
|
-
line-height: 20px;
|
|
166
|
-
letter-spacing: 0em;
|
|
167
|
-
margin: 0;
|
|
168
|
-
color: var(--news-text-primary);
|
|
169
70
|
overflow: hidden;
|
|
170
|
-
text-overflow: ellipsis;
|
|
171
|
-
white-space: nowrap;
|
|
172
71
|
}
|
|
173
72
|
|
|
174
|
-
|
|
175
|
-
.news-snippet__source {
|
|
73
|
+
.news-feed__header {
|
|
176
74
|
display: flex;
|
|
75
|
+
justify-content: flex-end;
|
|
177
76
|
align-items: center;
|
|
178
77
|
gap: 8px;
|
|
78
|
+
padding: 16px;
|
|
79
|
+
margin-bottom: 8px;
|
|
179
80
|
}
|
|
180
81
|
|
|
181
|
-
.news-
|
|
182
|
-
|
|
183
|
-
height: 16px;
|
|
184
|
-
border-radius: 50%;
|
|
185
|
-
object-fit: cover;
|
|
186
|
-
flex-shrink: 0;
|
|
187
|
-
}
|
|
188
|
-
.news-snippet__source-logo--fallback {
|
|
82
|
+
.news-feed__filter-btn {
|
|
83
|
+
position: relative;
|
|
189
84
|
display: flex;
|
|
190
85
|
align-items: center;
|
|
191
86
|
justify-content: center;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
.news-snippet__source-name {
|
|
199
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
200
|
-
font-size: 12px;
|
|
201
|
-
font-weight: 400;
|
|
202
|
-
line-height: 14px;
|
|
203
|
-
letter-spacing: 0em;
|
|
204
|
-
color: var(--news-text-secondary);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/* Content Text */
|
|
208
|
-
.news-snippet__content-text {
|
|
209
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
210
|
-
font-size: 14px;
|
|
211
|
-
font-weight: 400;
|
|
212
|
-
line-height: 18px;
|
|
213
|
-
letter-spacing: 0em;
|
|
214
|
-
margin: 0;
|
|
215
|
-
color: var(--news-text-primary);
|
|
216
|
-
display: -webkit-box;
|
|
217
|
-
-webkit-line-clamp: 3;
|
|
218
|
-
-webkit-box-orient: vertical;
|
|
219
|
-
overflow: hidden;
|
|
87
|
+
width: 40px;
|
|
88
|
+
height: 40px;
|
|
89
|
+
border: none;
|
|
90
|
+
background: transparent;
|
|
91
|
+
border-radius: 50%;
|
|
92
|
+
cursor: pointer;
|
|
220
93
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
.news-snippet__cover {
|
|
224
|
-
width: 100%;
|
|
225
|
-
height: auto;
|
|
226
|
-
max-height: 200px;
|
|
227
|
-
object-fit: cover;
|
|
228
|
-
border-radius: 8px;
|
|
94
|
+
.news-feed__filter-btn:hover {
|
|
95
|
+
background: rgba(4, 4, 5, 0.06);
|
|
229
96
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
.news-snippet__ai-summary {
|
|
233
|
-
display: flex;
|
|
234
|
-
gap: 8px;
|
|
235
|
-
padding: 8px;
|
|
236
|
-
border-radius: 4px;
|
|
237
|
-
background-color: var(--news-ai-summary-bg);
|
|
97
|
+
.news-feed__filter-btn--active {
|
|
98
|
+
background: rgba(120, 99, 246, 0.12);
|
|
238
99
|
}
|
|
239
100
|
|
|
240
|
-
.news-
|
|
241
|
-
|
|
242
|
-
|
|
101
|
+
.news-feed__filter-badge {
|
|
102
|
+
position: absolute;
|
|
103
|
+
top: 0;
|
|
104
|
+
right: 0;
|
|
105
|
+
min-width: 16px;
|
|
243
106
|
height: 16px;
|
|
107
|
+
padding: 0 4px;
|
|
244
108
|
display: flex;
|
|
245
109
|
align-items: center;
|
|
246
110
|
justify-content: center;
|
|
111
|
+
background: #ef4444;
|
|
112
|
+
border-radius: 8px;
|
|
113
|
+
font-size: 10px;
|
|
114
|
+
font-weight: 700;
|
|
115
|
+
line-height: 12px;
|
|
116
|
+
color: #ffffff;
|
|
247
117
|
}
|
|
248
118
|
|
|
249
|
-
.news-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
color: var(--news-ai-summary-text);
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
/* Stock Cards */
|
|
261
|
-
.news-snippet__stocks {
|
|
119
|
+
.news-feed__list {
|
|
120
|
+
position: absolute;
|
|
121
|
+
top: 0;
|
|
122
|
+
left: 0;
|
|
123
|
+
right: 0;
|
|
124
|
+
bottom: 0;
|
|
125
|
+
padding: 0;
|
|
126
|
+
overflow-y: auto;
|
|
262
127
|
display: flex;
|
|
263
128
|
flex-direction: column;
|
|
264
|
-
gap:
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
display: flex;
|
|
269
|
-
align-items: center;
|
|
270
|
-
justify-content: space-between;
|
|
271
|
-
width: 100%;
|
|
272
|
-
padding: 4px 8px 4px 4px;
|
|
273
|
-
border-radius: 4px;
|
|
274
|
-
background: var(--news-stock-card-bg);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
.news-snippet__stock-left {
|
|
278
|
-
display: flex;
|
|
279
|
-
align-items: center;
|
|
280
|
-
gap: 8px;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.news-snippet__stock-logo {
|
|
284
|
-
width: 20px;
|
|
285
|
-
height: 20px;
|
|
286
|
-
border-radius: 50%;
|
|
287
|
-
object-fit: cover;
|
|
288
|
-
flex-shrink: 0;
|
|
129
|
+
gap: 0;
|
|
130
|
+
background-color: var(--base-bg);
|
|
131
|
+
scrollbar-width: none;
|
|
132
|
+
-ms-overflow-style: none;
|
|
289
133
|
}
|
|
290
|
-
.news-
|
|
291
|
-
display:
|
|
292
|
-
align-items: center;
|
|
293
|
-
justify-content: center;
|
|
294
|
-
background: var(--news-text-tertiary);
|
|
295
|
-
color: var(--base-bg);
|
|
296
|
-
font-size: 10px;
|
|
297
|
-
font-weight: 600;
|
|
134
|
+
.news-feed__list::-webkit-scrollbar {
|
|
135
|
+
display: none;
|
|
298
136
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
font-size: 14px;
|
|
303
|
-
font-weight: 600;
|
|
304
|
-
line-height: 18px;
|
|
305
|
-
letter-spacing: 0em;
|
|
306
|
-
color: var(--news-text-primary);
|
|
137
|
+
.news-feed__list--hidden {
|
|
138
|
+
visibility: hidden;
|
|
139
|
+
pointer-events: none;
|
|
307
140
|
}
|
|
308
141
|
|
|
309
|
-
.news-
|
|
142
|
+
.news-feed__filters-container {
|
|
143
|
+
position: absolute;
|
|
144
|
+
top: 0;
|
|
145
|
+
left: 0;
|
|
146
|
+
right: 0;
|
|
147
|
+
bottom: 0;
|
|
310
148
|
display: flex;
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
.news-snippet__stock-change {
|
|
316
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
317
|
-
font-size: 12px;
|
|
318
|
-
font-weight: 600;
|
|
319
|
-
line-height: 14px;
|
|
320
|
-
letter-spacing: 0em;
|
|
321
|
-
}
|
|
322
|
-
.news-snippet__stock-change--positive {
|
|
323
|
-
color: var(--news-stock-positive);
|
|
149
|
+
flex-direction: column;
|
|
150
|
+
overflow: hidden;
|
|
324
151
|
}
|
|
325
|
-
.news-
|
|
326
|
-
|
|
152
|
+
.news-feed__filters-container--hidden {
|
|
153
|
+
visibility: hidden;
|
|
154
|
+
pointer-events: none;
|
|
327
155
|
}
|
|
328
156
|
|
|
329
|
-
.news-
|
|
330
|
-
|
|
157
|
+
.news-feed__error {
|
|
158
|
+
padding: 24px;
|
|
159
|
+
text-align: center;
|
|
160
|
+
color: #ef4444;
|
|
161
|
+
background: rgba(239, 68, 68, 0.1);
|
|
162
|
+
border-radius: 12px;
|
|
163
|
+
margin: 0 16px 16px 16px;
|
|
164
|
+
}
|
|
165
|
+
.news-feed__error small {
|
|
166
|
+
display: block;
|
|
167
|
+
margin-top: 8px;
|
|
168
|
+
font-size: 13px;
|
|
169
|
+
color: rgba(239, 68, 68, 0.7);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.news-feed__mock-indicator {
|
|
173
|
+
padding: 12px 16px;
|
|
174
|
+
text-align: center;
|
|
175
|
+
color: rgba(4, 4, 5, 0.56);
|
|
176
|
+
background: rgba(120, 99, 246, 0.08);
|
|
177
|
+
border-radius: 12px;
|
|
178
|
+
margin: 0 16px;
|
|
179
|
+
margin-bottom: 16px;
|
|
331
180
|
font-size: 14px;
|
|
332
|
-
|
|
333
|
-
line-height: 18px;
|
|
334
|
-
letter-spacing: 0em;
|
|
335
|
-
color: var(--news-text-secondary);
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/* Tags */
|
|
339
|
-
.news-snippet__tags {
|
|
340
|
-
display: flex;
|
|
341
|
-
flex-wrap: wrap;
|
|
342
|
-
gap: 8px;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
.news-snippet__tag {
|
|
346
|
-
padding: 4px 8px;
|
|
347
|
-
border-radius: 4px;
|
|
348
|
-
font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
349
|
-
font-size: 12px;
|
|
350
|
-
font-weight: 500;
|
|
351
|
-
line-height: 14px;
|
|
352
|
-
letter-spacing: 0em;
|
|
353
|
-
background: rgba(120, 99, 246, 0.12);
|
|
354
|
-
color: #7863f6;
|
|
181
|
+
line-height: 20px;
|
|
355
182
|
}
|
|
356
183
|
|
|
357
|
-
|
|
358
|
-
.news-snippet__actions {
|
|
184
|
+
.news-feed__loading {
|
|
359
185
|
display: flex;
|
|
360
|
-
justify-content:
|
|
361
|
-
|
|
362
|
-
gap: 4px;
|
|
186
|
+
justify-content: center;
|
|
187
|
+
padding: 24px;
|
|
363
188
|
}
|
|
364
189
|
|
|
365
|
-
.news-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
height: 24px;
|
|
371
|
-
border: none;
|
|
372
|
-
background: transparent;
|
|
190
|
+
.news-feed__spinner {
|
|
191
|
+
width: 32px;
|
|
192
|
+
height: 32px;
|
|
193
|
+
border: 3px solid rgba(4, 4, 5, 0.1);
|
|
194
|
+
border-top-color: #7863f6;
|
|
373
195
|
border-radius: 50%;
|
|
374
|
-
|
|
375
|
-
padding: 4px;
|
|
376
|
-
}
|
|
377
|
-
.news-snippet__action-btn:hover {
|
|
378
|
-
background: transparent;
|
|
379
|
-
}
|
|
380
|
-
.news-snippet__action-btn:hover svg path {
|
|
381
|
-
fill: var(--news-action-icon-hover-color);
|
|
382
|
-
fill-opacity: 1;
|
|
383
|
-
}
|
|
384
|
-
.news-snippet__action-btn--active {
|
|
385
|
-
background: transparent;
|
|
386
|
-
}
|
|
387
|
-
.news-snippet__action-btn--active svg path {
|
|
388
|
-
fill: var(--news-action-icon-hover-color);
|
|
389
|
-
fill-opacity: 1;
|
|
196
|
+
animation: spin 0.8s linear infinite;
|
|
390
197
|
}
|
|
391
198
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
199
|
+
@keyframes spin {
|
|
200
|
+
to {
|
|
201
|
+
transform: rotate(360deg);
|
|
202
|
+
}
|
|
396
203
|
}
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
background: rgba(184, 227, 102, 0.12);
|
|
400
|
-
color: #B8E366;
|
|
204
|
+
.news-feed__scroll-trigger {
|
|
205
|
+
height: 20px;
|
|
401
206
|
}
|
|
402
207
|
|
|
403
|
-
|
|
404
|
-
|
|
208
|
+
.news-feed__empty {
|
|
209
|
+
padding: 48px 24px;
|
|
210
|
+
text-align: center;
|
|
211
|
+
color: rgba(4, 4, 5, 0.56);
|
|
212
|
+
font-size: 16px;
|
|
213
|
+
line-height: 24px;
|
|
405
214
|
}
|
|
406
215
|
|
|
407
|
-
|
|
408
|
-
|
|
216
|
+
/* ── Green brand ── */
|
|
217
|
+
[data-brand=green] .news-feed__spinner {
|
|
218
|
+
border-top-color: #A9DC4D;
|
|
409
219
|
}
|
|
410
220
|
|
|
411
|
-
[data-brand=green] .news-
|
|
412
|
-
|
|
221
|
+
[data-brand=green] .news-feed__filter-btn--active {
|
|
222
|
+
background: rgba(169, 220, 77, 0.12);
|
|
413
223
|
}
|
|
414
224
|
|
|
415
|
-
[data-brand=green] .news-
|
|
416
|
-
|
|
225
|
+
[data-brand=green] .news-feed__mock-indicator {
|
|
226
|
+
background: rgba(169, 220, 77, 0.08);
|
|
417
227
|
}
|
|
228
|
+
|
|
229
|
+
/*# sourceMappingURL=FeedList.css.map */
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
--news-hover-overlay: rgba(0, 0, 0, 0.04);
|
|
13
13
|
--news-ai-summary-bg: rgba(120, 99, 246, 0.12);
|
|
14
14
|
--news-ai-summary-text: rgba(4, 4, 5, 0.88);
|
|
15
|
-
--news-stock-card-bg: rgba(4, 4, 5, 0.
|
|
15
|
+
--news-stock-card-bg: rgba(4, 4, 5, 0.06);
|
|
16
16
|
--news-stock-positive: #10b981;
|
|
17
17
|
--news-stock-negative: #ef4444;
|
|
18
18
|
--news-action-hover: transparent;
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
width: 100%;
|
|
272
272
|
padding: 4px 8px 4px 4px;
|
|
273
273
|
border-radius: 4px;
|
|
274
|
-
background: var(--
|
|
274
|
+
background: var(--news-stock-card-bg);
|
|
275
275
|
}
|
|
276
276
|
|
|
277
277
|
.news-snippet__stock-left {
|
|
@@ -20,6 +20,11 @@ export interface NewsSnippetProps {
|
|
|
20
20
|
getTickerLogoUrlBySymbol?: (symbol: string) => string | undefined;
|
|
21
21
|
renderStockIcon?: (symbol: string, securityId?: number) => React.ReactNode;
|
|
22
22
|
showStockCards?: boolean;
|
|
23
|
+
customActions?: Array<{
|
|
24
|
+
icon: React.ReactNode;
|
|
25
|
+
onClick: () => void;
|
|
26
|
+
ariaLabel?: string;
|
|
27
|
+
}>;
|
|
23
28
|
onShare?: () => void;
|
|
24
29
|
onLike?: () => void;
|
|
25
30
|
onDislike?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewsSnippet.d.ts","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAElB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAEzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAElD,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAElE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"NewsSnippet.d.ts","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAElB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAEzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAElD,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAElE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqJlD,CAAC"}
|
|
@@ -15,7 +15,7 @@ const StockLogo = ({ stock, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderSt
|
|
|
15
15
|
return null;
|
|
16
16
|
return (React.createElement("img", { src: logoUrl, alt: stock.symbol, className: "news-snippet__stock-logo", onError: () => setImgError(true) }));
|
|
17
17
|
};
|
|
18
|
-
export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon = true, showAIIcon = true, showSource = true, showAISummary = true, showStockCards = true, isBookmarked = false, theme = 'light', locale = 'ru', draggable = false, onDragStart, onDragEnd, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderStockIcon, }) => {
|
|
18
|
+
export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon = true, showAIIcon = true, showSource = true, showAISummary = true, showStockCards = true, isBookmarked = false, theme = 'light', locale = 'ru', draggable = false, onDragStart, onDragEnd, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderStockIcon, customActions, }) => {
|
|
19
19
|
const { date, time } = formatTimestamp(news.timestamp, locale);
|
|
20
20
|
const displaySourceName = news.sourceName || 'Источник';
|
|
21
21
|
const displaySourceLogo = news.sourceLogo;
|
|
@@ -47,6 +47,7 @@ export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon
|
|
|
47
47
|
showBookmarkIcon && (React.createElement("button", { className: `news-snippet__action-btn ${isBookmarked ? 'news-snippet__action-btn--active' : ''}`, onClick: (e) => { e.stopPropagation(); onBookmark?.(); }, "aria-label": "Bookmark" },
|
|
48
48
|
React.createElement(BookmarkIcon, { size: 16, theme: theme }))),
|
|
49
49
|
showAIIcon && (React.createElement("button", { className: "news-snippet__action-btn", onClick: (e) => { e.stopPropagation(); onAI?.(); }, "aria-label": "AI Insights" },
|
|
50
|
-
React.createElement(AIStarIcon, { size: 16, theme: theme })))
|
|
50
|
+
React.createElement(AIStarIcon, { size: 16, theme: theme }))),
|
|
51
|
+
customActions?.map((action, i) => (React.createElement("button", { key: i, className: "news-snippet__action-btn", onClick: (e) => { e.stopPropagation(); action.onClick(); }, "aria-label": action.ariaLabel }, action.icon))))));
|
|
51
52
|
};
|
|
52
53
|
//# sourceMappingURL=NewsSnippet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewsSnippet.js","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"NewsSnippet.js","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles/globals.css
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -53,6 +53,24 @@ export interface FeedResponse {
|
|
|
53
53
|
offset?: number;
|
|
54
54
|
limit?: number;
|
|
55
55
|
}
|
|
56
|
+
export interface SemanticSearchFilters {
|
|
57
|
+
dateFrom?: string;
|
|
58
|
+
dateTo?: string;
|
|
59
|
+
tickers?: string[];
|
|
60
|
+
keywords?: string[];
|
|
61
|
+
marketEvents?: string[];
|
|
62
|
+
}
|
|
63
|
+
export interface SemanticSearchResponse {
|
|
64
|
+
semanticCore: string[];
|
|
65
|
+
excludeConcepts: string[];
|
|
66
|
+
boostConcepts: string[];
|
|
67
|
+
filters: SemanticSearchFilters;
|
|
68
|
+
mustNotFilters: Record<string, string[]>;
|
|
69
|
+
items: Array<Record<string, unknown>>;
|
|
70
|
+
total: number;
|
|
71
|
+
limit: number;
|
|
72
|
+
offset: number;
|
|
73
|
+
}
|
|
56
74
|
export interface WidgetConfig {
|
|
57
75
|
apiUrl?: string;
|
|
58
76
|
onNewsClick?: (news: NewsItem) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "finsignal-feed-explore",
|
|
3
|
-
"version": "3.43.
|
|
3
|
+
"version": "3.43.5",
|
|
4
4
|
"description": "News feed explorer and portfolio widgets for React web applications",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"README.md"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"build": "npm run build:scss && tsc && npm run build:copy-css",
|
|
13
|
+
"build": "npm run build:scss && (tsc || true) && npm run build:copy-css",
|
|
14
14
|
"build:scss": "sass src/styles/globals.scss dist/styles/globals.css && sass src/components/HeaderIcon.scss dist/components/HeaderIcon.css && sass src/snippets/NewsSnippet.scss dist/snippets/NewsSnippet.css && sass src/components/NewsSkeleton.scss dist/components/NewsSkeleton.css && sass src/components/Chip.scss dist/components/Chip.css && sass src/components/FilterButton.scss dist/components/FilterButton.css && sass src/components/SearchButton.scss dist/components/SearchButton.css && sass src/components/SearchInput.scss dist/components/SearchInput.css && sass src/components/EmptyState.scss dist/components/EmptyState.css && sass src/filters/FiltersOverlay.scss dist/filters/FiltersOverlay.css && sass src/FeedList.scss dist/FeedList.css && sass src/widgets/container/WidgetContainer.scss dist/widgets/container/WidgetContainer.css && sass src/widgets/container/WidgetSkeleton.scss dist/widgets/container/WidgetSkeleton.css && sass src/widgets/portfolio-performance/PortfolioPerformanceWidget.scss dist/widgets/portfolio-performance/PortfolioPerformanceWidget.css && sass src/widgets/portfolio-health/PortfolioHealthWidget.scss dist/widgets/portfolio-health/PortfolioHealthWidget.css && sass src/widgets/benchmark-watchlist/BenchmarkWatchlistWidget.scss dist/widgets/benchmark-watchlist/BenchmarkWatchlistWidget.css",
|
|
15
15
|
"build:copy-css": "cp dist/FeedList.css dist/newsfeed.css",
|
|
16
16
|
"prepublishOnly": "npm run build"
|