Wrapstodon: Allow dismissing banner (#37202)
This commit is contained in:
14 files changed
+179
-154
No files matched your search
@@ -5,8 +5,6 @@ import {
|
||||
importFetchedAccounts,
|
||||
importFetchedStatuses,
|
||||
} from '@/mastodon/actions/importer';
|
||||
import { insertIntoTimeline } from '@/mastodon/actions/timelines';
|
||||
import { timelineDelete } from '@/mastodon/actions/timelines_typed';
|
||||
import type { ApiAnnualReportState } from '@/mastodon/api/annual_report';
|
||||
import {
|
||||
apiGetAnnualReport,
|
||||
@@ -21,8 +19,6 @@ import {
|
||||
createDataLoadingThunk,
|
||||
} from '../../store/typed_functions';
|
||||
|
||||
export const TIMELINE_WRAPSTODON = 'inline-wrapstodon';
|
||||
|
||||
interface AnnualReportState {
|
||||
state?: ApiAnnualReportState;
|
||||
report?: AnnualReport;
|
||||
@@ -64,37 +60,12 @@ export const selectWrapstodonYear = createAppSelector(
|
||||
// This kicks everything off, and is called after fetching the server info.
|
||||
export const checkAnnualReport = createAppThunk(
|
||||
`${annualReportSlice.name}/checkAnnualReport`,
|
||||
async (_arg: unknown, { dispatch, getState }) => {
|
||||
(_arg: unknown, { dispatch, getState }) => {
|
||||
const year = selectWrapstodonYear(getState());
|
||||
if (!year) {
|
||||
return;
|
||||
}
|
||||
const state = await dispatch(fetchReportState());
|
||||
if (
|
||||
state.meta.requestStatus === 'fulfilled' &&
|
||||
state.payload !== 'ineligible'
|
||||
) {
|
||||
dispatch(insertIntoTimeline('home', TIMELINE_WRAPSTODON, 1));
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
export const reinsertAnnualReport = createAppThunk(
|
||||
`${annualReportSlice.name}/reinsertAnnualReport`,
|
||||
(_arg: unknown, { dispatch, getState }) => {
|
||||
dispatch(
|
||||
timelineDelete({
|
||||
statusId: TIMELINE_WRAPSTODON,
|
||||
accountId: '',
|
||||
references: [],
|
||||
reblogOf: null,
|
||||
}),
|
||||
);
|
||||
const { state } = getState().annualReport;
|
||||
if (!state || state === 'ineligible') {
|
||||
return;
|
||||
}
|
||||
dispatch(insertIntoTimeline('home', TIMELINE_WRAPSTODON, 1));
|
||||
void dispatch(fetchReportState());
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Reference in new issue
Block a user