grafana/public/app/plugins/panel/news/useNewsFeed.tsx
Leo 7df49ca230
Navigation: Add News to top nav (#55466)
* added news feed component

* move button to news component

* create newsfeed hooks and conver NewsPanel to functional component

* added news_feed_enabled and news_feed_url to server settings ini

* add default value in defaults.ini

* set news drawer settings value to true by default

* remove server settings config

* use useToggle hook

* fix newsitem render

* support drawer on mobile screen

* use media query utility
2022-09-30 15:11:24 +02:00

22 lines
513 B
TypeScript

import { useAsyncFn } from 'react-use';
import { DataFrameView } from '@grafana/data';
import { loadFeed } from './feed';
import { NewsItem } from './types';
import { feedToDataFrame } from './utils';
export function useNewsFeed(url: string) {
const [state, getNews] = useAsyncFn(
async () => {
const feed = await loadFeed(url);
const frame = feedToDataFrame(feed);
return new DataFrameView<NewsItem>(frame);
},
[url],
{ loading: true }
);
return { state, getNews };
}