Skip to content

Commit

Permalink
Merge pull request #359 from cap-md089/r-a303931/fix-page-state-updates
Browse files Browse the repository at this point in the history
fix: added page state deletion code
  • Loading branch information
r-a303931 committed Jun 22, 2023
2 parents 29f504b + 30e4d92 commit 00596a2
Show file tree
Hide file tree
Showing 30 changed files with 82 additions and 196 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ describe('EventViewer', () => {
updateApp={() => void 0}
updateBreadCrumbs={() => void 0}
updateSideNav={() => void 0}
deleteReduxState={() => void 0}
/>
</FetchAPIProvider>
</MemoryRouter>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ describe('EventViewer', () => {
updateApp={() => void 0}
updateBreadCrumbs={() => void 0}
updateSideNav={() => void 0}
deleteReduxState={() => void 0}
/>
</FetchAPIProvider>
</MemoryRouter>,
Expand Down Expand Up @@ -204,6 +205,7 @@ describe('EventViewer', () => {
updateBreadCrumbs={() => void 0}
updateSideNav={() => void 0}
now={always(0)}
deleteReduxState={() => void 0}
/>
</FetchAPIProvider>
</MemoryRouter>,
Expand Down
11 changes: 10 additions & 1 deletion packages/client/src/components/PageRouter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ import { BreadCrumb } from './BreadCrumbs';
import ErrorHandler from './ErrorHandler';
import Loader from './Loader';
import { SideNavigationItem } from './page-elements/SideNavigation';
import { connect } from 'react-redux';
import { deletePageState } from '../state/pageState';
import { AnyAction } from 'redux';

const pages: Array<{
url: string;
Expand Down Expand Up @@ -284,6 +287,7 @@ const composeElement =
fullMemberDetails: SigninReturn;
updateApp: () => void;
key: string;
deleteReduxState: () => void;
}) =>
(routeProps: RouteComponentProps<any>) =>
(
Expand All @@ -299,6 +303,7 @@ const composeElement =
member={props.member}
fullMemberDetails={props.fullMemberDetails}
routeProps={routeProps}
deleteReduxState={props.deleteReduxState}
/>
);

Expand All @@ -313,6 +318,7 @@ interface PageDisplayerProps {
fullMemberDetails: SigninReturn;
routeProps: RouteComponentProps<any>;
updateApp: () => void;
deleteReduxState: () => void;
}

class PageDisplayer extends React.Component<PageDisplayerProps> {
Expand Down Expand Up @@ -355,6 +361,7 @@ class PageDisplayer extends React.Component<PageDisplayerProps> {
key="mainpage"
registry={this.props.registry}
prepareURL={this.prepareURL}
deleteReduxState={this.props.deleteReduxState}
/>
</ErrorHandler>
);
Expand All @@ -374,6 +381,7 @@ interface PageRouterProps extends RouteComponentProps<any> {
registry: RegistryValues;
fullMemberDetails: SigninReturn;
updateApp: () => void;
dispatch: (action: AnyAction) => void;
}

interface PageRouterState {
Expand Down Expand Up @@ -469,6 +477,7 @@ class PageRouter extends React.Component<PageRouterProps, PageRouterState> {
fullMemberDetails: this.props.fullMemberDetails,
updateApp: this.props.updateApp,
key: value.url,
deleteReduxState: () => this.props.dispatch(deletePageState)
})}
/>
))}
Expand All @@ -477,4 +486,4 @@ class PageRouter extends React.Component<PageRouterProps, PageRouterState> {
);
}

export default withRouter(PageRouter);
export default connect()(withRouter(PageRouter));
2 changes: 2 additions & 0 deletions packages/client/src/pages/Calendar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ export default class Calendar extends Page<
},
]);

this.props.deleteReduxState();

this.updateTitle('Calendar');

this.props.updateSideNav([]);
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/Main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ export default class Main extends Page<PageProps, MainState> {
};

public async componentDidMount(): Promise<void> {
this.props.deleteReduxState();

const links: SideNavigationItem[] = [
{
target: '/team',
Expand Down
3 changes: 3 additions & 0 deletions packages/client/src/pages/NotFound.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ export default class NotFound extends Page<PageProps> {
]);
this.props.updateSideNav([]);
this.updateTitle('Not found');

this.props.deleteReduxState();

}

public render = (): JSX.Element => (
Expand Down
1 change: 1 addition & 0 deletions packages/client/src/pages/Page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export interface PageProps<R = {}> {
updateSideNav: (links: SideNavigationItem[], force?: boolean) => void;
updateBreadCrumbs: (links: BreadCrumb[]) => void;
updateApp: () => void;
deleteReduxState: () => void;

/**
* IGNORE, DO NOT USE
Expand Down
4 changes: 4 additions & 0 deletions packages/client/src/pages/account/FinishPasswordReset.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ export default class FinishPasswordResetForm extends Page<
this.submit = this.submit.bind(this);
}

public componentDidMount(): void {
this.props.deleteReduxState();
}

public render = (): JSX.Element => (
<SimpleForm<FinishPasswordResetFormValues>
values={this.state.form}
Expand Down
4 changes: 4 additions & 0 deletions packages/client/src/pages/account/FinishSignup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ export default class FinishSignup extends Page<PageProps<{ token: string }>, Fin
tryingFinish: false,
};

public componentDidMount(): void {
this.props.deleteReduxState();
}

public render = (): JSX.Element => (
<SimpleForm<FormValues>
disableOnInvalid={true}
Expand Down
3 changes: 3 additions & 0 deletions packages/client/src/pages/account/RegisterDiscord.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ export default class RegisterDiscord extends Page<
),
),
});

this.props.deleteReduxState();

}

public render(): JSX.Element {
Expand Down
4 changes: 4 additions & 0 deletions packages/client/src/pages/account/RequestPasswordReset.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ export default class RequestPasswordResetForm extends Page<PageProps, RequestPas
this.submit = this.submit.bind(this);
}

public componentDidMount(): void {
this.props.deleteReduxState();
}

public render = (): JSX.Element => (
<SimpleForm<RequestPasswordResetFormValues>
values={this.state.form}
Expand Down
4 changes: 4 additions & 0 deletions packages/client/src/pages/account/RequestUsername.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ export default class RequestUsernameForm extends Page<PageProps, RequestUsername
this.submit = this.submit.bind(this);
}

public componentDidMount(): void {
this.props.deleteReduxState();
}

public render = (): JSX.Element => (
<SimpleForm<RequestUsernameFormValues>
values={this.state.form}
Expand Down
4 changes: 4 additions & 0 deletions packages/client/src/pages/account/Signup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ export default class Signup extends Page<PageProps, SignupFormState> {
success: false,
};

public componentDidMount(): void {
this.props.deleteReduxState();
}

public constructor(props: PageProps) {
super(props);

Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/admin/Admin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ export default class Admin extends Page<PageProps, AdminState> {
]);
this.updateTitle('Administration');
}
this.props.deleteReduxState();

}

public render(): JSX.Element {
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/admin/pages/FlightAssign.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ export default class FlightAssign extends Page<PageProps, FlightAssignState> {
return;
}

this.props.deleteReduxState();

this.updateTitle('Administration', 'Flight Assignment');
this.props.updateSideNav([
...this.props.registry.RankAndFile.Flights.map((flight, i) => ({
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/admin/pages/RegEdit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ export default class RegEdit extends Page<PageProps, RegEditState> {
};

public componentDidMount(): void {
this.props.deleteReduxState();

this.props.updateSideNav([
{
target: 'contact',
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/changelog/ChangeLog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ export default class TeamList extends Page<PageProps, ChangeLogState> {
text: 'Home',
},
]);
this.props.deleteReduxState();

this.props.updateSideNav([]);
this.updateTitle('Change log');

Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/drive/Drive.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ export class Drive extends Page<DriveProps, DriveState> {
),
]);

this.props.deleteReduxState();

if (Either.isLeft(resultEither)) {
// TODO: Add error
} else {
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/events/AttendanceMultiAdd.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,8 @@ export class AttendanceMultiAdd extends Page<AttendanceMultiAddProps, MultiAddSt
return;
}

this.props.deleteReduxState();

const eventID = parseInt(this.props.routeProps.match.params.id.split('-')[0], 10);

// eslint-disable-next-line
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/events/AuditViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ export default class AuditViewer extends Page<AuditViewerProps> {
),
]);

this.props.deleteReduxState();

if (Either.isLeft(informationEither)) {
this.setState(prev => ({
...prev,
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/events/EventLinkList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,8 @@ export default class EventLinkList extends Page<PageProps, EventLinkListState> {
},
]);

this.props.deleteReduxState();

this.props.updateSideNav([]);

this.updateTitle('Event list');
Expand Down
2 changes: 2 additions & 0 deletions packages/client/src/pages/events/EventViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,8 @@ export class EventViewer extends Page<EventViewerProps, EventViewerState> {
{},
);

this.props.deleteReduxState();

if (Either.isLeft(eventInformation)) {
this.setState(prev => ({
...prev,
Expand Down
Loading

0 comments on commit 00596a2

Please sign in to comment.