diff --git a/src/components/article/edit-modal.tsx b/src/components/article/edit-modal.tsx index 9f0c29f..6d81d04 100644 --- a/src/components/article/edit-modal.tsx +++ b/src/components/article/edit-modal.tsx @@ -15,6 +15,7 @@ type Props = { id?: number; type: 'news' | 'video'; onClose?: (saved?: boolean) => void; + onRefresh?: ()=>void } const DEFAULT_STATE = { @@ -106,7 +107,7 @@ function checkHotNewsValid(hotNews: HotNewsData,modal:ModalHookAPI,t:TFunction<" } export default function ArticleEditModal(props: Props) { - const {t} = useTranslation() + const {t,i18n} = useTranslation() const {modal} = App.useApp() const [groups, setGroups] = useState([]); const [title, setTitle] = useState('') @@ -116,7 +117,8 @@ export default function ArticleEditModal(props: Props) { }) const [state, setState] = useSetState({ ...DEFAULT_STATE, - generating:false + generating:false, + pushed: false, }) // 保存数据 @@ -159,7 +161,7 @@ export default function ArticleEditModal(props: Props) { }); } const handlePush2Video = async () =>{ - // + if(state.pushed) return; if (!title) { // setState({msgTitle: '请输入标题内容'}); return; @@ -187,6 +189,9 @@ export default function ArticleEditModal(props: Props) { }) push2video([props.id]).then(() => { showToast(t('news.push_stream_success'), 'success') + setState({pushed:true}) + props.onClose?.(true) + // props.onRefresh?.(); // navigate('/create?state=push-success',{ // state: 'push-success' // }) @@ -201,13 +206,15 @@ export default function ArticleEditModal(props: Props) { // 如果传入了id则获取数据 if (props.id > 0) { article.getById(props.id).then(res => { - const len = res.hot_news.length - const list = len >= 3 ? res.hot_news :res.hot_news.concat(Array(3 - len).fill('')) - const mode = res.hot_news && res.hot_news.filter(s=>s.length > 0).length == 3 ?'manual':'auto'; - setHotNews({ - list, - mode - }) + if(res.hot_news){ + const len = res.hot_news.length + const list = len >= 3 ? res.hot_news :res.hot_news.concat(Array(3 - len).fill('')) + const mode = res.hot_news && res.hot_news.filter(s=>s.length > 0).length == 3 ?'manual':'auto'; + setHotNews({ + list, + mode + }) + } setGroups(rebuildGroups([[{content: res.metahuman_text, type: "text"}], ...res.content_group])) setTitle(res.title) }) @@ -260,7 +267,7 @@ export default function ArticleEditModal(props: Props) {
- {props.type == 'news' && props.id ? : null} + {props.type == 'news' && props.id ? : null}
diff --git a/src/pages/news/edit.tsx b/src/pages/news/edit.tsx index e9c2070..0da75d9 100644 --- a/src/pages/news/edit.tsx +++ b/src/pages/news/edit.tsx @@ -179,6 +179,7 @@ export default function NewEdit() { { setEditId(-1) if (saved) refresh()