diff --git a/components/Activity/ActivityEditor.tsx b/components/Activity/ActivityEditor.tsx index 3452ef45..397c462f 100644 --- a/components/Activity/ActivityEditor.tsx +++ b/components/Activity/ActivityEditor.tsx @@ -45,6 +45,10 @@ export class ActivityEditor extends PureComponent { this.detailHTML = detail || ''; } + componentWillUnmount() { + activityStore.clearCurrent(); + } + submitHandler = async (event: FormEvent) => { event.preventDefault(); event.stopPropagation(); @@ -56,7 +60,7 @@ export class ActivityEditor extends PureComponent { const { name } = this.props, data = formToJSON(form); - data.detail = data.detail + ''; + data.detail = (data.detail || '') + ''; data.banners = [data.bannerUrls ?? []].flat().map(bannerUrl => { const name = bannerUrl.split('/').slice(-1)[0]; @@ -271,13 +275,11 @@ export class ActivityEditor extends PureComponent { * - {detail && ( - (this.detailHTML = code)} - /> - )} + (this.detailHTML = code)} + /> { ) : ( <> - - - + + {showName} diff --git a/pages/activity/[name]/manage/administrator.tsx b/pages/activity/[name]/manage/administrator.tsx index c86bd387..5d78d84b 100644 --- a/pages/activity/[name]/manage/administrator.tsx +++ b/pages/activity/[name]/manage/administrator.tsx @@ -24,6 +24,7 @@ export default class AdministratorPage extends PureComponent< > { store = activityStore.staffOf(this.props.route.params!.name + ''); + @observable selectedIds: string[] = []; @observable diff --git a/pages/activity/[name]/manage/award.tsx b/pages/activity/[name]/manage/award.tsx index 14a03f2f..3a8c48c5 100644 --- a/pages/activity/[name]/manage/award.tsx +++ b/pages/activity/[name]/manage/award.tsx @@ -20,7 +20,7 @@ export const getServerSideProps = withRoute<{ name: string }>(); const { t } = i18n; @observer -class AwardPage extends PureComponent< +export default class AwardPage extends PureComponent< InferGetServerSidePropsType > { store = activityStore.awardOf(this.props.route.params!.name); @@ -106,7 +106,7 @@ class AwardPage extends PureComponent< - {Object.entries(AwardTargetName).map(([value, name]) => ( + {Object.entries(AwardTargetName()).map(([value, name]) => (