diff --git a/src/core/client/admin/App/index.ts b/src/core/client/admin/App/index.ts
new file mode 100644
index 000000000..13e877c87
--- /dev/null
+++ b/src/core/client/admin/App/index.ts
@@ -0,0 +1 @@
+export { default, default as App } from "./App";
diff --git a/src/core/client/admin/containers/AutoLoadMoreContainer.tsx b/src/core/client/admin/components/AutoLoadMore.tsx
similarity index 100%
rename from src/core/client/admin/containers/AutoLoadMoreContainer.tsx
rename to src/core/client/admin/components/AutoLoadMore.tsx
diff --git a/src/core/client/admin/fetches/index.ts b/src/core/client/admin/fetches/index.ts
deleted file mode 100644
index e11336e0a..000000000
--- a/src/core/client/admin/fetches/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export {
- default as DiscoverOIDCConfigurationFetch,
-} from "./DiscoverOIDCConfigurationQuery";
-export { default as SearchStoryFetch } from "./SearchStoryQuery";
diff --git a/src/core/client/admin/index.tsx b/src/core/client/admin/index.tsx
index 7fefbd895..b9fd0f04f 100644
--- a/src/core/client/admin/index.tsx
+++ b/src/core/client/admin/index.tsx
@@ -2,7 +2,7 @@ import { createManaged } from "coral-framework/lib/bootstrap";
import React, { FunctionComponent } from "react";
import ReactDOM from "react-dom";
-import EntryContainer from "./containers/EntryContainer";
+import App from "./App";
import { initLocalState } from "./local";
import localesData from "./locales";
@@ -18,7 +18,7 @@ async function main() {
const Index: FunctionComponent = () => (
-
+
);
diff --git a/src/core/client/admin/mutations/index.ts b/src/core/client/admin/mutations/index.ts
index b96ef22e9..d3e8a2b7e 100644
--- a/src/core/client/admin/mutations/index.ts
+++ b/src/core/client/admin/mutations/index.ts
@@ -1,19 +1,3 @@
-export { default as SignInMutation } from "./SignInMutation";
export { default as SetRedirectPathMutation } from "./SetRedirectPathMutation";
export { default as ApproveCommentMutation } from "./ApproveCommentMutation";
export { default as RejectCommentMutation } from "./RejectCommentMutation";
-export { default as UpdateSettingsMutation } from "./UpdateSettingsMutation";
-export {
- default as RegenerateSSOKeyMutation,
-} from "./RegenerateSSOKeyMutation";
-export { default as SetAuthViewMutation } from "./SetAuthViewMutation";
-export { default as ClearAuthErrorMutation } from "./ClearAuthErrorMutation";
-export { default as CompleteAccountMutation } from "./CompleteAccountMutation";
-export { default as SetEmailMutation } from "./SetEmailMutation";
-export { default as SetUsernameMutation } from "./SetUsernameMutation";
-export { default as SetPasswordMutation } from "./SetPasswordMutation";
-export { default as UpdateUserRoleMutation } from "./UpdateUserRoleMutation";
-export { default as OpenStoryMutation } from "./OpenStoryMutation";
-export { default as CloseStoryMutation } from "./CloseStoryMutation";
-export { default as BanUserMutation } from "./BanUserMutation";
-export { default as RemoveUserBanMutation } from "./RemoveUserBanMutation";
diff --git a/src/core/client/admin/routeConfig.tsx b/src/core/client/admin/routeConfig.tsx
index 7ac110c83..daf71ec63 100644
--- a/src/core/client/admin/routeConfig.tsx
+++ b/src/core/client/admin/routeConfig.tsx
@@ -2,103 +2,78 @@ import { makeRouteConfig, Redirect, Route } from "found";
import React from "react";
import { GQLUSER_ROLE } from "coral-framework/schema";
-import AppContainer from "./containers/AppContainer";
-import createAuthCheckContainer from "./containers/AuthCheckContainer";
+import MainRoute from "./App/MainRoute";
import { Ability } from "./permissions";
-import CommunityContainer from "./routes/community/containers/CommunityContainer";
-import ConfigureContainer from "./routes/configure/containers/ConfigureContainer";
-import ConfigureAdvancedRouteContainer from "./routes/configure/sections/advanced/containers/AdvancedConfigRouteContainer";
-import ConfigureAuthRouteContainer from "./routes/configure/sections/auth/containers/AuthConfigRouteContainer";
-import ConfigureGeneralRouteContainer from "./routes/configure/sections/general/containers/GeneralConfigRouteContainer";
-import ConfigureModerationRouteContainer from "./routes/configure/sections/moderation/containers/ModerationConfigRouteContainer";
-import ConfigureOrganizationRouteContainer from "./routes/configure/sections/organization/containers/OrganizationRouteContainer";
-import ConfigureWordListRouteContainer from "./routes/configure/sections/wordList/containers/WordListRouteContainer";
-import LoginContainer from "./routes/login/containers/LoginContainer";
-import ModerateContainer from "./routes/moderate/containers/ModerateContainer";
+import { createAuthCheckRoute } from "./routes/AuthCheck";
+import CommunityRoute from "./routes/Community";
+import ConfigureRoute from "./routes/Configure";
import {
- PendingQueueContainer,
- ReportedQueueContainer,
- UnmoderatedQueueContainer,
-} from "./routes/moderate/containers/QueueContainer";
-import RejectedQueueContainer from "./routes/moderate/containers/RejectedQueueContainer";
-import SingleModerateContainer from "./routes/moderate/containers/SingleModerateContainer";
-import Stories from "./routes/stories/components/Stories";
-import StoriesContainer from "./routes/stories/containers/StoriesContainer";
+ AdvancedConfigRoute,
+ AuthConfigRoute,
+ GeneralConfigRoute,
+ ModerationConfigRoute,
+ OrganizationConfigRoute,
+ WordListConfigRoute,
+} from "./routes/Configure/sections";
+import LoginRoute from "./routes/Login";
+import ModerateRoute from "./routes/Moderate";
+import {
+ PendingQueueRoute,
+ RejectedQueueRoute,
+ ReportedQueueRoute,
+ UnmoderatedQueueRoute,
+} from "./routes/Moderate/Queue";
+import SingleModerateRoute from "./routes/Moderate/SingleModerate";
+import StoriesRoute from "./routes/Stories";
export default makeRouteConfig(
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
);
diff --git a/src/core/client/admin/containers/AuthCheckContainer.tsx b/src/core/client/admin/routes/AuthCheck/AuthCheckRoute.tsx
similarity index 85%
rename from src/core/client/admin/containers/AuthCheckContainer.tsx
rename to src/core/client/admin/routes/AuthCheck/AuthCheckRoute.tsx
index 0c77cf762..ebc21389d 100644
--- a/src/core/client/admin/containers/AuthCheckContainer.tsx
+++ b/src/core/client/admin/routes/AuthCheck/AuthCheckRoute.tsx
@@ -1,20 +1,21 @@
import { Match, Router, withRouter } from "found";
import React from "react";
-import { AuthCheckContainerQueryResponse } from "coral-admin/__generated__/AuthCheckContainerQuery.graphql";
+import { AuthCheckRouteQueryResponse } from "coral-admin/__generated__/AuthCheckRouteQuery.graphql";
import { SetRedirectPathMutation } from "coral-admin/mutations";
import { AbilityType, can } from "coral-admin/permissions";
-import RestrictedContainer from "coral-admin/views/restricted/containers/RestrictedContainer";
import { roleIsAtLeast } from "coral-framework/helpers";
import { graphql, MutationProp, withMutation } from "coral-framework/lib/relay";
import { withRouteConfig } from "coral-framework/lib/router";
import { GQLUSER_ROLE } from "coral-framework/schema";
+import RestrictedContainer from "./RestrictedContainer";
+
interface Props {
match: Match;
router: Router;
setRedirectPath: MutationProp;
- data: AuthCheckContainerQueryResponse;
+ data: AuthCheckRouteQueryResponse;
}
type CheckParams =
@@ -27,8 +28,8 @@ type CheckParams =
ability: AbilityType;
};
-function createAuthCheckContainer(check: CheckParams) {
- class AuthCheckContainer extends React.Component {
+function createAuthCheckRoute(check: CheckParams) {
+ class AuthCheckRoute extends React.Component {
private wasLoggedIn = false;
constructor(props: Props) {
super(props);
@@ -96,7 +97,7 @@ function createAuthCheckContainer(check: CheckParams) {
const enhanced = withRouteConfig({
query: graphql`
- query AuthCheckContainerQuery {
+ query AuthCheckRouteQuery {
viewer {
...RestrictedContainer_viewer
username
@@ -121,8 +122,8 @@ function createAuthCheckContainer(check: CheckParams) {
}
}
`,
- })(withRouter(withMutation(SetRedirectPathMutation)(AuthCheckContainer)));
+ })(withRouter(withMutation(SetRedirectPathMutation)(AuthCheckRoute)));
return enhanced;
}
-export default createAuthCheckContainer;
+export default createAuthCheckRoute;
diff --git a/src/core/client/admin/views/restricted/components/Restricted.css b/src/core/client/admin/routes/AuthCheck/Restricted.css
similarity index 100%
rename from src/core/client/admin/views/restricted/components/Restricted.css
rename to src/core/client/admin/routes/AuthCheck/Restricted.css
diff --git a/src/core/client/admin/views/restricted/components/Restricted.spec.tsx b/src/core/client/admin/routes/AuthCheck/Restricted.spec.tsx
similarity index 100%
rename from src/core/client/admin/views/restricted/components/Restricted.spec.tsx
rename to src/core/client/admin/routes/AuthCheck/Restricted.spec.tsx
diff --git a/src/core/client/admin/views/restricted/components/Restricted.tsx b/src/core/client/admin/routes/AuthCheck/Restricted.tsx
similarity index 100%
rename from src/core/client/admin/views/restricted/components/Restricted.tsx
rename to src/core/client/admin/routes/AuthCheck/Restricted.tsx
diff --git a/src/core/client/admin/views/restricted/containers/RestrictedContainer.tsx b/src/core/client/admin/routes/AuthCheck/RestrictedContainer.tsx
similarity index 96%
rename from src/core/client/admin/views/restricted/containers/RestrictedContainer.tsx
rename to src/core/client/admin/routes/AuthCheck/RestrictedContainer.tsx
index 08e2ec084..be4b55f5e 100644
--- a/src/core/client/admin/views/restricted/containers/RestrictedContainer.tsx
+++ b/src/core/client/admin/routes/AuthCheck/RestrictedContainer.tsx
@@ -15,7 +15,7 @@ import {
withSignOutMutation,
} from "coral-framework/mutations";
-import Restricted from "../components/Restricted";
+import Restricted from "./Restricted";
interface Props {
viewer: ViewerData;
diff --git a/src/core/client/admin/views/restricted/components/__snapshots__/Restricted.spec.tsx.snap b/src/core/client/admin/routes/AuthCheck/__snapshots__/Restricted.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/views/restricted/components/__snapshots__/Restricted.spec.tsx.snap
rename to src/core/client/admin/routes/AuthCheck/__snapshots__/Restricted.spec.tsx.snap
diff --git a/src/core/client/admin/routes/AuthCheck/index.ts b/src/core/client/admin/routes/AuthCheck/index.ts
new file mode 100644
index 000000000..da10b6d38
--- /dev/null
+++ b/src/core/client/admin/routes/AuthCheck/index.ts
@@ -0,0 +1 @@
+export { default as createAuthCheckRoute } from "./AuthCheckRoute";
diff --git a/src/core/client/admin/routes/community/components/ButtonPadding.css b/src/core/client/admin/routes/Community/ButtonPadding.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/ButtonPadding.css
rename to src/core/client/admin/routes/Community/ButtonPadding.css
diff --git a/src/core/client/admin/routes/community/components/ButtonPadding.tsx b/src/core/client/admin/routes/Community/ButtonPadding.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/ButtonPadding.tsx
rename to src/core/client/admin/routes/Community/ButtonPadding.tsx
diff --git a/src/core/client/admin/routes/community/components/Community.css b/src/core/client/admin/routes/Community/Community.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/Community.css
rename to src/core/client/admin/routes/Community/Community.css
diff --git a/src/core/client/admin/routes/community/components/Community.tsx b/src/core/client/admin/routes/Community/Community.tsx
similarity index 88%
rename from src/core/client/admin/routes/community/components/Community.tsx
rename to src/core/client/admin/routes/Community/Community.tsx
index a3dfafa23..7d460b569 100644
--- a/src/core/client/admin/routes/community/components/Community.tsx
+++ b/src/core/client/admin/routes/Community/Community.tsx
@@ -3,7 +3,7 @@ import React, { FunctionComponent } from "react";
import MainLayout from "coral-admin/components/MainLayout";
import { PropTypesOf } from "coral-framework/types";
-import UserTableContainer from "../containers/UserTableContainer";
+import UserTableContainer from "./UserTableContainer";
import styles from "./Community.css";
diff --git a/src/core/client/admin/routes/community/containers/CommunityContainer.tsx b/src/core/client/admin/routes/Community/CommunityRoute.tsx
similarity index 57%
rename from src/core/client/admin/routes/community/containers/CommunityContainer.tsx
rename to src/core/client/admin/routes/Community/CommunityRoute.tsx
index e4eb87579..1ee7ea9de 100644
--- a/src/core/client/admin/routes/community/containers/CommunityContainer.tsx
+++ b/src/core/client/admin/routes/Community/CommunityRoute.tsx
@@ -2,27 +2,27 @@ import { FormApi } from "final-form";
import React, { FunctionComponent } from "react";
import { graphql } from "react-relay";
-import { CommunityContainerQueryResponse } from "coral-admin/__generated__/CommunityContainerQuery.graphql";
+import { CommunityRouteQueryResponse } from "coral-admin/__generated__/CommunityRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
-import Community from "../components/Community";
+import Community from "./Community";
interface Props {
- data: CommunityContainerQueryResponse | null;
+ data: CommunityRouteQueryResponse | null;
form: FormApi;
}
-const CommunityContainer: FunctionComponent = props => {
+const CommunityRoute: FunctionComponent = props => {
return ;
};
const enhanced = withRouteConfig({
query: graphql`
- query CommunityContainerQuery {
+ query CommunityRouteQuery {
...UserTableContainer_query
}
`,
cacheConfig: { force: true },
-})(CommunityContainer);
+})(CommunityRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/community/components/EmptyMessage.css b/src/core/client/admin/routes/Community/EmptyMessage.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/EmptyMessage.css
rename to src/core/client/admin/routes/Community/EmptyMessage.css
diff --git a/src/core/client/admin/routes/community/components/EmptyMessage.tsx b/src/core/client/admin/routes/Community/EmptyMessage.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/EmptyMessage.tsx
rename to src/core/client/admin/routes/Community/EmptyMessage.tsx
diff --git a/src/core/client/admin/mutations/UpdateUserRoleMutation.ts b/src/core/client/admin/routes/Community/UserRole/UpdateUserRoleMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/UpdateUserRoleMutation.ts
rename to src/core/client/admin/routes/Community/UserRole/UpdateUserRoleMutation.ts
diff --git a/src/core/client/admin/routes/community/components/RoleChange.css b/src/core/client/admin/routes/Community/UserRole/UserRoleChange.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/RoleChange.css
rename to src/core/client/admin/routes/Community/UserRole/UserRoleChange.css
diff --git a/src/core/client/admin/routes/community/components/RoleChange.tsx b/src/core/client/admin/routes/Community/UserRole/UserRoleChange.tsx
similarity index 89%
rename from src/core/client/admin/routes/community/components/RoleChange.tsx
rename to src/core/client/admin/routes/Community/UserRole/UserRoleChange.tsx
index fcf3f0d2e..80f0aeea7 100644
--- a/src/core/client/admin/routes/community/components/RoleChange.tsx
+++ b/src/core/client/admin/routes/Community/UserRole/UserRoleChange.tsx
@@ -12,15 +12,15 @@ import {
Popover,
} from "coral-ui/components";
-import styles from "./RoleChange.css";
-import RoleText from "./RoleText";
+import styles from "./UserRoleChange.css";
+import UserRoleText from "./UserRoleText";
interface Props {
onChangeRole: (role: GQLUSER_ROLE_RL) => void;
role: GQLUSER_ROLE_RL;
}
-const RoleChange: FunctionComponent = props => (
+const UserRoleChange: FunctionComponent = props => (
);
-export default RoleChange;
+export default UserRoleChange;
diff --git a/src/core/client/admin/routes/Community/UserRole/UserRoleChangeContainer.tsx b/src/core/client/admin/routes/Community/UserRole/UserRoleChangeContainer.tsx
new file mode 100644
index 000000000..d8e4f37fc
--- /dev/null
+++ b/src/core/client/admin/routes/Community/UserRole/UserRoleChangeContainer.tsx
@@ -0,0 +1,68 @@
+import React, { FunctionComponent, useCallback } from "react";
+
+import { UserRoleChangeContainer_user } from "coral-admin/__generated__/UserRoleChangeContainer_user.graphql";
+import { UserRoleChangeContainer_viewer } from "coral-admin/__generated__/UserRoleChangeContainer_viewer.graphql";
+import { Ability, can } from "coral-admin/permissions";
+import {
+ graphql,
+ useMutation,
+ withFragmentContainer,
+} from "coral-framework/lib/relay";
+import { GQLUSER_ROLE_RL } from "coral-framework/schema";
+
+import ButtonPadding from "../ButtonPadding";
+import UpdateUserRoleMutation from "./UpdateUserRoleMutation";
+import UserRoleChange from "./UserRoleChange";
+import UserRoleText from "./UserRoleText";
+
+interface Props {
+ viewer: UserRoleChangeContainer_viewer;
+ user: UserRoleChangeContainer_user;
+}
+
+const UserRoleChangeContainer: FunctionComponent = props => {
+ const updateUserRole = useMutation(UpdateUserRoleMutation);
+ const handleOnChangeRole = useCallback(
+ (role: GQLUSER_ROLE_RL) => {
+ if (role === props.user.role) {
+ return;
+ }
+ updateUserRole({ userID: props.user.id, role });
+ },
+ [props.user.id, props.user.role, updateUserRole]
+ );
+
+ const canChangeRole =
+ props.viewer.id !== props.user.id && can(props.viewer, Ability.CHANGE_ROLE);
+
+ if (canChangeRole) {
+ return (
+
+ );
+ }
+ return (
+
+ {props.user.role}
+
+ );
+};
+
+const enhanced = withFragmentContainer({
+ viewer: graphql`
+ fragment UserRoleChangeContainer_viewer on User {
+ id
+ role
+ }
+ `,
+ user: graphql`
+ fragment UserRoleChangeContainer_user on User {
+ id
+ role
+ }
+ `,
+})(UserRoleChangeContainer);
+
+export default enhanced;
diff --git a/src/core/client/admin/routes/community/components/RoleText.css b/src/core/client/admin/routes/Community/UserRole/UserRoleText.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/RoleText.css
rename to src/core/client/admin/routes/Community/UserRole/UserRoleText.css
diff --git a/src/core/client/admin/routes/community/components/RoleText.tsx b/src/core/client/admin/routes/Community/UserRole/UserRoleText.tsx
similarity index 81%
rename from src/core/client/admin/routes/community/components/RoleText.tsx
rename to src/core/client/admin/routes/Community/UserRole/UserRoleText.tsx
index 9ae6e4fba..36e294c7e 100644
--- a/src/core/client/admin/routes/community/components/RoleText.tsx
+++ b/src/core/client/admin/routes/Community/UserRole/UserRoleText.tsx
@@ -5,13 +5,13 @@ import TranslatedRole from "coral-admin/components/TranslatedRole";
import { GQLUSER_ROLE } from "coral-framework/schema";
import { PropTypesOf } from "coral-ui/types";
-import styles from "./RoleText.css";
+import styles from "./UserRoleText.css";
interface Props {
children: PropTypesOf["children"];
}
-const RoleText: FunctionComponent = props => (
+const UserRoleText: FunctionComponent = props => (
= props => (
);
-export default RoleText;
+export default UserRoleText;
diff --git a/src/core/client/admin/routes/Community/UserRole/index.ts b/src/core/client/admin/routes/Community/UserRole/index.ts
new file mode 100644
index 000000000..e1101aec9
--- /dev/null
+++ b/src/core/client/admin/routes/Community/UserRole/index.ts
@@ -0,0 +1,4 @@
+export {
+ default as UserRoleChangeContainer,
+ default,
+} from "./UserRoleChangeContainer";
diff --git a/src/core/client/admin/routes/community/components/UserRow.css b/src/core/client/admin/routes/Community/UserRow.css
similarity index 89%
rename from src/core/client/admin/routes/community/components/UserRow.css
rename to src/core/client/admin/routes/Community/UserRow.css
index 08754354e..80f0ea606 100644
--- a/src/core/client/admin/routes/community/components/UserRow.css
+++ b/src/core/client/admin/routes/Community/UserRow.css
@@ -18,3 +18,6 @@
.roleColumn {
vertical-align: top;
}
+.statusColumn {
+ vertical-align: top;
+}
diff --git a/src/core/client/admin/routes/community/components/UserRow.tsx b/src/core/client/admin/routes/Community/UserRow.tsx
similarity index 58%
rename from src/core/client/admin/routes/community/components/UserRow.tsx
rename to src/core/client/admin/routes/Community/UserRow.tsx
index dcc9ac3f5..8de716ef6 100644
--- a/src/core/client/admin/routes/community/components/UserRow.tsx
+++ b/src/core/client/admin/routes/Community/UserRow.tsx
@@ -4,21 +4,19 @@ import NotAvailable from "coral-admin/components/NotAvailable";
import { PropTypesOf } from "coral-framework/types";
import { TableCell, TableRow, TextLink } from "coral-ui/components";
-import RoleChangeContainer from "../containers/RoleChangeContainer";
-import UserStatusChangeContainer from "../containers/UserStatusChangeContainer";
-import ButtonPadding from "./ButtonPadding";
-import RoleText from "./RoleText";
+import UserRole from "./UserRole";
+import UserStatus from "./UserStatus";
import styles from "./UserRow.css";
interface Props {
- canChangeRole: boolean;
userID: string;
username: string | null;
email: string | null;
memberSince: string;
- role: PropTypesOf["role"];
- user: PropTypesOf["user"];
+ user: PropTypesOf["user"] &
+ PropTypesOf["user"];
+ viewer: PropTypesOf["viewer"];
}
const UserRow: FunctionComponent = props => (
@@ -35,16 +33,10 @@ const UserRow: FunctionComponent = props => (
{props.memberSince}
- {props.canChangeRole ? (
-
- ) : (
-
- {props.role}
-
- )}
+
-
-
+
+
);
diff --git a/src/core/client/admin/routes/community/containers/UserRowContainer.tsx b/src/core/client/admin/routes/Community/UserRowContainer.tsx
similarity index 82%
rename from src/core/client/admin/routes/community/containers/UserRowContainer.tsx
rename to src/core/client/admin/routes/Community/UserRowContainer.tsx
index ce364b4ae..97214e7aa 100644
--- a/src/core/client/admin/routes/community/containers/UserRowContainer.tsx
+++ b/src/core/client/admin/routes/Community/UserRowContainer.tsx
@@ -6,8 +6,7 @@ import { UserRowContainer_viewer as ViewerData } from "coral-admin/__generated__
import { useCoralContext } from "coral-framework/lib/bootstrap";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import { Ability, can } from "coral-admin/permissions";
-import UserRow from "../components/UserRow";
+import UserRow from "./UserRow";
interface Props {
user: UserData;
@@ -19,6 +18,7 @@ const UserRowContainer: FunctionComponent = props => {
return (
= props => {
month: "2-digit",
year: "numeric",
}).format(new Date(props.user.createdAt))}
- role={props.user.role}
- canChangeRole={
- props.viewer.id !== props.user.id &&
- can(props.viewer, Ability.CHANGE_ROLE)
- }
/>
);
};
@@ -39,18 +34,17 @@ const UserRowContainer: FunctionComponent = props => {
const enhanced = withFragmentContainer({
viewer: graphql`
fragment UserRowContainer_viewer on User {
- id
- role
+ ...UserRoleChangeContainer_viewer
}
`,
user: graphql`
fragment UserRowContainer_user on User {
...UserStatusChangeContainer_user
+ ...UserRoleChangeContainer_user
id
username
email
createdAt
- role
}
`,
})(UserRowContainer);
diff --git a/src/core/client/admin/routes/community/components/BanModal.css b/src/core/client/admin/routes/Community/UserStatus/BanModal.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/BanModal.css
rename to src/core/client/admin/routes/Community/UserStatus/BanModal.css
diff --git a/src/core/client/admin/routes/community/components/BanModal.tsx b/src/core/client/admin/routes/Community/UserStatus/BanModal.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/BanModal.tsx
rename to src/core/client/admin/routes/Community/UserStatus/BanModal.tsx
diff --git a/src/core/client/admin/mutations/BanUserMutation.ts b/src/core/client/admin/routes/Community/UserStatus/BanUserMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/BanUserMutation.ts
rename to src/core/client/admin/routes/Community/UserStatus/BanUserMutation.ts
diff --git a/src/core/client/admin/mutations/RemoveUserBanMutation.ts b/src/core/client/admin/routes/Community/UserStatus/RemoveUserBanMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/RemoveUserBanMutation.ts
rename to src/core/client/admin/routes/Community/UserStatus/RemoveUserBanMutation.ts
diff --git a/src/core/client/admin/routes/community/components/UserStatus.css b/src/core/client/admin/routes/Community/UserStatus/UserStatus.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserStatus.css
rename to src/core/client/admin/routes/Community/UserStatus/UserStatus.css
diff --git a/src/core/client/admin/routes/community/components/UserStatus.tsx b/src/core/client/admin/routes/Community/UserStatus/UserStatus.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserStatus.tsx
rename to src/core/client/admin/routes/Community/UserStatus/UserStatus.tsx
diff --git a/src/core/client/admin/routes/community/components/UserStatusChange.css b/src/core/client/admin/routes/Community/UserStatus/UserStatusChange.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserStatusChange.css
rename to src/core/client/admin/routes/Community/UserStatus/UserStatusChange.css
diff --git a/src/core/client/admin/routes/community/components/UserStatusChange.tsx b/src/core/client/admin/routes/Community/UserStatus/UserStatusChange.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserStatusChange.tsx
rename to src/core/client/admin/routes/Community/UserStatus/UserStatusChange.tsx
diff --git a/src/core/client/admin/routes/community/containers/UserStatusChangeContainer.tsx b/src/core/client/admin/routes/Community/UserStatus/UserStatusChangeContainer.tsx
similarity index 91%
rename from src/core/client/admin/routes/community/containers/UserStatusChangeContainer.tsx
rename to src/core/client/admin/routes/Community/UserStatus/UserStatusChangeContainer.tsx
index 09b2d3e44..4eb8e46ac 100644
--- a/src/core/client/admin/routes/community/containers/UserStatusChangeContainer.tsx
+++ b/src/core/client/admin/routes/Community/UserStatus/UserStatusChangeContainer.tsx
@@ -1,7 +1,6 @@
import React, { FunctionComponent, useCallback, useState } from "react";
import { UserStatusChangeContainer_user as UserData } from "coral-admin/__generated__/UserStatusChangeContainer_user.graphql";
-import { BanUserMutation, RemoveUserBanMutation } from "coral-admin/mutations";
import {
graphql,
useMutation,
@@ -9,9 +8,11 @@ import {
} from "coral-framework/lib/relay";
import { GQLUSER_ROLE } from "coral-framework/schema";
-import BanModal from "../components/BanModal";
-import ButtonPadding from "../components/ButtonPadding";
-import UserStatusChange from "../components/UserStatusChange";
+import ButtonPadding from "../ButtonPadding";
+import BanModal from "./BanModal";
+import BanUserMutation from "./BanUserMutation";
+import RemoveUserBanMutation from "./RemoveUserBanMutation";
+import UserStatusChange from "./UserStatusChange";
import UserStatusContainer from "./UserStatusContainer";
interface Props {
diff --git a/src/core/client/admin/routes/community/containers/UserStatusContainer.tsx b/src/core/client/admin/routes/Community/UserStatus/UserStatusContainer.tsx
similarity index 94%
rename from src/core/client/admin/routes/community/containers/UserStatusContainer.tsx
rename to src/core/client/admin/routes/Community/UserStatus/UserStatusContainer.tsx
index bea99c5fa..07c2d7d6e 100644
--- a/src/core/client/admin/routes/community/containers/UserStatusContainer.tsx
+++ b/src/core/client/admin/routes/Community/UserStatus/UserStatusContainer.tsx
@@ -5,7 +5,7 @@ import { UserStatusContainer_user as UserData } from "coral-admin/__generated__/
import { withFragmentContainer } from "coral-framework/lib/relay";
import { GQLUSER_STATUS } from "coral-framework/schema";
-import UserStatus from "../components/UserStatus";
+import UserStatus from "./UserStatus";
interface Props {
user: UserData;
diff --git a/src/core/client/admin/routes/Community/UserStatus/index.ts b/src/core/client/admin/routes/Community/UserStatus/index.ts
new file mode 100644
index 000000000..e865173be
--- /dev/null
+++ b/src/core/client/admin/routes/Community/UserStatus/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as UserStatusChangeContainer,
+} from "./UserStatusChangeContainer";
diff --git a/src/core/client/admin/routes/community/components/UserTable.css b/src/core/client/admin/routes/Community/UserTable.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserTable.css
rename to src/core/client/admin/routes/Community/UserTable.css
diff --git a/src/core/client/admin/routes/community/components/UserTable.tsx b/src/core/client/admin/routes/Community/UserTable.tsx
similarity index 93%
rename from src/core/client/admin/routes/community/components/UserTable.tsx
rename to src/core/client/admin/routes/Community/UserTable.tsx
index 92f475fef..d2d03af77 100644
--- a/src/core/client/admin/routes/community/components/UserTable.tsx
+++ b/src/core/client/admin/routes/Community/UserTable.tsx
@@ -3,7 +3,7 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
-import AutoLoadMoreContainer from "coral-admin/containers/AutoLoadMoreContainer";
+import AutoLoadMore from "coral-admin/components/AutoLoadMore";
import {
Table,
TableBody,
@@ -12,7 +12,7 @@ import {
TableRow,
} from "coral-ui/components/Table";
-import UserRowContainer from "../containers/UserRowContainer";
+import UserRowContainer from "./UserRowContainer";
import { Flex, HorizontalGutter, Spinner } from "coral-ui/components";
import EmptyMessage from "./EmptyMessage";
@@ -70,7 +70,7 @@ const UserTable: FunctionComponent = props => (
)}
{props.hasMore && (
-
diff --git a/src/core/client/admin/routes/community/containers/UserTableContainer.tsx b/src/core/client/admin/routes/Community/UserTableContainer.tsx
similarity index 97%
rename from src/core/client/admin/routes/community/containers/UserTableContainer.tsx
rename to src/core/client/admin/routes/Community/UserTableContainer.tsx
index c2d29693b..1259ee9c5 100644
--- a/src/core/client/admin/routes/community/containers/UserTableContainer.tsx
+++ b/src/core/client/admin/routes/Community/UserTableContainer.tsx
@@ -12,8 +12,8 @@ import {
import { GQLUSER_ROLE_RL, GQLUSER_STATUS_RL } from "coral-framework/schema";
import { HorizontalGutter } from "coral-ui/components";
-import UserTable from "../components/UserTable";
-import UserTableFilter from "../components/UserTableFilter";
+import UserTable from "./UserTable";
+import UserTableFilter from "./UserTableFilter";
interface Props {
query: QueryData | null;
diff --git a/src/core/client/admin/routes/community/components/UserTableFilter.css b/src/core/client/admin/routes/Community/UserTableFilter.css
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserTableFilter.css
rename to src/core/client/admin/routes/Community/UserTableFilter.css
diff --git a/src/core/client/admin/routes/community/components/UserTableFilter.tsx b/src/core/client/admin/routes/Community/UserTableFilter.tsx
similarity index 100%
rename from src/core/client/admin/routes/community/components/UserTableFilter.tsx
rename to src/core/client/admin/routes/Community/UserTableFilter.tsx
diff --git a/src/core/client/admin/routes/Community/index.ts b/src/core/client/admin/routes/Community/index.ts
new file mode 100644
index 000000000..864664c34
--- /dev/null
+++ b/src/core/client/admin/routes/Community/index.ts
@@ -0,0 +1 @@
+export { default, default as CommunityRoute } from "./CommunityRoute";
diff --git a/src/core/client/admin/routes/configure/components/ConfigBox.css b/src/core/client/admin/routes/Configure/ConfigBox.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/ConfigBox.css
rename to src/core/client/admin/routes/Configure/ConfigBox.css
diff --git a/src/core/client/admin/routes/configure/components/ConfigBox.spec.tsx b/src/core/client/admin/routes/Configure/ConfigBox.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/ConfigBox.spec.tsx
rename to src/core/client/admin/routes/Configure/ConfigBox.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/ConfigBox.tsx b/src/core/client/admin/routes/Configure/ConfigBox.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/ConfigBox.tsx
rename to src/core/client/admin/routes/Configure/ConfigBox.tsx
diff --git a/src/core/client/admin/routes/configure/components/ConfigurationSubHeader.tsx b/src/core/client/admin/routes/Configure/ConfigurationSubHeader.tsx
similarity index 87%
rename from src/core/client/admin/routes/configure/components/ConfigurationSubHeader.tsx
rename to src/core/client/admin/routes/Configure/ConfigurationSubHeader.tsx
index 0dc91d288..2f3086248 100644
--- a/src/core/client/admin/routes/configure/components/ConfigurationSubHeader.tsx
+++ b/src/core/client/admin/routes/Configure/ConfigurationSubHeader.tsx
@@ -1,7 +1,7 @@
import { Localized } from "fluent-react/compat";
import React, { FunctionComponent } from "react";
-import Subheader from "../components/Subheader";
+import Subheader from "./Subheader";
const ConfigurationSubHeader: FunctionComponent<{}> = () => (
}>
diff --git a/src/core/client/admin/routes/configure/components/Configure.spec.tsx b/src/core/client/admin/routes/Configure/Configure.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Configure.spec.tsx
rename to src/core/client/admin/routes/Configure/Configure.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Configure.tsx b/src/core/client/admin/routes/Configure/Configure.tsx
similarity index 98%
rename from src/core/client/admin/routes/configure/components/Configure.tsx
rename to src/core/client/admin/routes/Configure/Configure.tsx
index 51521d3fa..a15afc464 100644
--- a/src/core/client/admin/routes/configure/components/Configure.tsx
+++ b/src/core/client/admin/routes/Configure/Configure.tsx
@@ -7,8 +7,9 @@ import MainLayout from "coral-admin/components/MainLayout";
import { Button, CallOut, HorizontalGutter } from "coral-ui/components";
import Layout from "./Layout";
+import Link from "./Link";
import Main from "./Main";
-import { Link, Navigation } from "./Navigation";
+import Navigation from "./Navigation";
import SideBar from "./SideBar";
interface Props {
diff --git a/src/core/client/admin/routes/configure/containers/ConfigureContainer.tsx b/src/core/client/admin/routes/Configure/ConfigureRoute.tsx
similarity index 83%
rename from src/core/client/admin/routes/configure/containers/ConfigureContainer.tsx
rename to src/core/client/admin/routes/Configure/ConfigureRoute.tsx
index 780e16250..b6bc3f21e 100644
--- a/src/core/client/admin/routes/configure/containers/ConfigureContainer.tsx
+++ b/src/core/client/admin/routes/Configure/ConfigureRoute.tsx
@@ -1,12 +1,12 @@
import { FormApi, FormState } from "final-form";
import React from "react";
-import { UpdateSettingsMutation } from "coral-admin/mutations";
import { SubmitHookHandler } from "coral-framework/lib/form";
import { MutationProp, withMutation } from "coral-framework/lib/relay";
-import Configure from "../components/Configure";
+import Configure from "./Configure";
import NavigationWarningContainer from "./NavigationWarningContainer";
+import UpdateSettingsMutation from "./UpdateSettingsMutation";
interface Props {
updateSettings: MutationProp;
@@ -17,7 +17,7 @@ interface State {
dirty: boolean;
}
-class ConfigureContainer extends React.Component {
+class ConfigureRoute extends React.Component {
public state: State = {
dirty: false,
};
@@ -52,5 +52,5 @@ class ConfigureContainer extends React.Component {
}
}
-const enhanced = withMutation(UpdateSettingsMutation)(ConfigureContainer);
+const enhanced = withMutation(UpdateSettingsMutation)(ConfigureRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/components/Header.css b/src/core/client/admin/routes/Configure/Header.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Header.css
rename to src/core/client/admin/routes/Configure/Header.css
diff --git a/src/core/client/admin/routes/configure/components/Header.spec.tsx b/src/core/client/admin/routes/Configure/Header.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Header.spec.tsx
rename to src/core/client/admin/routes/Configure/Header.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Header.tsx b/src/core/client/admin/routes/Configure/Header.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Header.tsx
rename to src/core/client/admin/routes/Configure/Header.tsx
diff --git a/src/core/client/admin/routes/configure/components/HorizontalRule.css b/src/core/client/admin/routes/Configure/HorizontalRule.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/HorizontalRule.css
rename to src/core/client/admin/routes/Configure/HorizontalRule.css
diff --git a/src/core/client/admin/routes/configure/components/HorizontalRule.d.ts b/src/core/client/admin/routes/Configure/HorizontalRule.d.ts
similarity index 100%
rename from src/core/client/admin/routes/configure/components/HorizontalRule.d.ts
rename to src/core/client/admin/routes/Configure/HorizontalRule.d.ts
diff --git a/src/core/client/admin/routes/configure/components/HorizontalRule.spec.tsx b/src/core/client/admin/routes/Configure/HorizontalRule.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/HorizontalRule.spec.tsx
rename to src/core/client/admin/routes/Configure/HorizontalRule.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/HorizontalRule.tsx b/src/core/client/admin/routes/Configure/HorizontalRule.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/HorizontalRule.tsx
rename to src/core/client/admin/routes/Configure/HorizontalRule.tsx
diff --git a/src/core/client/admin/routes/configure/components/Layout.css b/src/core/client/admin/routes/Configure/Layout.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Layout.css
rename to src/core/client/admin/routes/Configure/Layout.css
diff --git a/src/core/client/admin/routes/configure/components/Layout.spec.tsx b/src/core/client/admin/routes/Configure/Layout.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Layout.spec.tsx
rename to src/core/client/admin/routes/Configure/Layout.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Layout.tsx b/src/core/client/admin/routes/Configure/Layout.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Layout.tsx
rename to src/core/client/admin/routes/Configure/Layout.tsx
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Link.css b/src/core/client/admin/routes/Configure/Link.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Link.css
rename to src/core/client/admin/routes/Configure/Link.css
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Link.spec.tsx b/src/core/client/admin/routes/Configure/Link.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Link.spec.tsx
rename to src/core/client/admin/routes/Configure/Link.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Link.tsx b/src/core/client/admin/routes/Configure/Link.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Link.tsx
rename to src/core/client/admin/routes/Configure/Link.tsx
diff --git a/src/core/client/admin/routes/configure/components/Main.css b/src/core/client/admin/routes/Configure/Main.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Main.css
rename to src/core/client/admin/routes/Configure/Main.css
diff --git a/src/core/client/admin/routes/configure/components/Main.spec.tsx b/src/core/client/admin/routes/Configure/Main.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Main.spec.tsx
rename to src/core/client/admin/routes/Configure/Main.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Main.tsx b/src/core/client/admin/routes/Configure/Main.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Main.tsx
rename to src/core/client/admin/routes/Configure/Main.tsx
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Navigation.css b/src/core/client/admin/routes/Configure/Navigation.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Navigation.css
rename to src/core/client/admin/routes/Configure/Navigation.css
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Navigation.spec.tsx b/src/core/client/admin/routes/Configure/Navigation.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Navigation.spec.tsx
rename to src/core/client/admin/routes/Configure/Navigation.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Navigation/Navigation.tsx b/src/core/client/admin/routes/Configure/Navigation.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/Navigation.tsx
rename to src/core/client/admin/routes/Configure/Navigation.tsx
diff --git a/src/core/client/admin/routes/configure/containers/NavigationWarningContainer.tsx b/src/core/client/admin/routes/Configure/NavigationWarningContainer.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/containers/NavigationWarningContainer.tsx
rename to src/core/client/admin/routes/Configure/NavigationWarningContainer.tsx
diff --git a/src/core/client/admin/routes/configure/components/OnOffField.tsx b/src/core/client/admin/routes/Configure/OnOffField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/OnOffField.tsx
rename to src/core/client/admin/routes/Configure/OnOffField.tsx
diff --git a/src/core/client/admin/routes/configure/components/PermissionField.tsx b/src/core/client/admin/routes/Configure/PermissionField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/PermissionField.tsx
rename to src/core/client/admin/routes/Configure/PermissionField.tsx
diff --git a/src/core/client/admin/routes/configure/components/SideBar.css b/src/core/client/admin/routes/Configure/SideBar.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/SideBar.css
rename to src/core/client/admin/routes/Configure/SideBar.css
diff --git a/src/core/client/admin/routes/configure/components/SideBar.spec.tsx b/src/core/client/admin/routes/Configure/SideBar.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/SideBar.spec.tsx
rename to src/core/client/admin/routes/Configure/SideBar.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/SideBar.tsx b/src/core/client/admin/routes/Configure/SideBar.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/SideBar.tsx
rename to src/core/client/admin/routes/Configure/SideBar.tsx
diff --git a/src/core/client/admin/routes/configure/components/Subheader.css b/src/core/client/admin/routes/Configure/Subheader.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Subheader.css
rename to src/core/client/admin/routes/Configure/Subheader.css
diff --git a/src/core/client/admin/routes/configure/components/Subheader.spec.tsx b/src/core/client/admin/routes/Configure/Subheader.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Subheader.spec.tsx
rename to src/core/client/admin/routes/Configure/Subheader.spec.tsx
diff --git a/src/core/client/admin/routes/configure/components/Subheader.tsx b/src/core/client/admin/routes/Configure/Subheader.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Subheader.tsx
rename to src/core/client/admin/routes/Configure/Subheader.tsx
diff --git a/src/core/client/admin/mutations/UpdateSettingsMutation.ts b/src/core/client/admin/routes/Configure/UpdateSettingsMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/UpdateSettingsMutation.ts
rename to src/core/client/admin/routes/Configure/UpdateSettingsMutation.ts
diff --git a/src/core/client/admin/routes/configure/components/ValidationMessage.css b/src/core/client/admin/routes/Configure/ValidationMessage.css
similarity index 100%
rename from src/core/client/admin/routes/configure/components/ValidationMessage.css
rename to src/core/client/admin/routes/Configure/ValidationMessage.css
diff --git a/src/core/client/admin/routes/configure/components/ValidationMessage.tsx b/src/core/client/admin/routes/Configure/ValidationMessage.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/components/ValidationMessage.tsx
rename to src/core/client/admin/routes/Configure/ValidationMessage.tsx
index 59bb6b35d..93bf7e9ff 100644
--- a/src/core/client/admin/routes/configure/components/ValidationMessage.tsx
+++ b/src/core/client/admin/routes/Configure/ValidationMessage.tsx
@@ -1,8 +1,8 @@
import React, { FunctionComponent } from "react";
import { ValidationMessage as UIValidationMessage } from "coral-ui/components";
-
import { PropTypesOf } from "coral-ui/types";
+
import styles from "./ValidationMessage.css";
interface Props extends PropTypesOf {
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/ConfigBox.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/ConfigBox.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/ConfigBox.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/ConfigBox.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/Configure.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Configure.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/Configure.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Configure.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/Header.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Header.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/Header.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Header.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/HorizontalRule.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/HorizontalRule.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/HorizontalRule.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/HorizontalRule.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/Layout.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Layout.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/Layout.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Layout.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/Navigation/__snapshots__/Link.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Link.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/__snapshots__/Link.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Link.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/Main.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Main.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/Main.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Main.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/Navigation/__snapshots__/Navigation.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Navigation.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/Navigation/__snapshots__/Navigation.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Navigation.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/SideBar.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/SideBar.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/SideBar.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/SideBar.spec.tsx.snap
diff --git a/src/core/client/admin/routes/configure/components/__snapshots__/Subheader.spec.tsx.snap b/src/core/client/admin/routes/Configure/__snapshots__/Subheader.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/components/__snapshots__/Subheader.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/__snapshots__/Subheader.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Configure/index.ts b/src/core/client/admin/routes/Configure/index.ts
new file mode 100644
index 000000000..9682e6986
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/index.ts
@@ -0,0 +1 @@
+export { default, default as ConfigureRoute } from "./ConfigureRoute";
diff --git a/src/core/client/admin/routes/configure/sections/advanced/components/AdvancedConfig.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfig.tsx
similarity index 83%
rename from src/core/client/admin/routes/configure/sections/advanced/components/AdvancedConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfig.tsx
index 1c1fc6054..42af566f2 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/components/AdvancedConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfig.tsx
@@ -3,8 +3,8 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import CustomCSSConfigContainer from "../containers/CustomCSSConfigContainer";
-import PermittedDomainsConfigContainer from "../containers/PermittedDomainsConfigContainer";
+import CustomCSSConfigContainer from "./CustomCSSConfigContainer";
+import PermittedDomainsConfigContainer from "./PermittedDomainsConfigContainer";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigContainer.tsx
index 0e1f072ab..e4c83c699 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigContainer.tsx
@@ -7,7 +7,7 @@ import { AdvancedConfigContainer_settings as SettingsData } from "coral-admin/__
import { pureMerge } from "coral-common/utils";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import AdvancedConfig from "../components/AdvancedConfig";
+import AdvancedConfig from "./AdvancedConfig";
interface Props {
form: FormApi;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigRoute.tsx
similarity index 72%
rename from src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigRoute.tsx
index 58b67b4dd..94042f309 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/containers/AdvancedConfigRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/AdvancedConfigRoute.tsx
@@ -2,19 +2,19 @@ import { FormApi } from "final-form";
import React from "react";
import { graphql } from "react-relay";
-import { AdvancedConfigRouteContainerQueryResponse } from "coral-admin/__generated__/AdvancedConfigRouteContainerQuery.graphql";
+import { AdvancedConfigRouteQueryResponse } from "coral-admin/__generated__/AdvancedConfigRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
import { Delay, Spinner } from "coral-ui/components";
import AdvancedConfigContainer from "./AdvancedConfigContainer";
interface Props {
- data: AdvancedConfigRouteContainerQueryResponse | null;
+ data: AdvancedConfigRouteQueryResponse | null;
form: FormApi;
submitting: boolean;
}
-class AdvancedConfigRouteContainer extends React.Component {
+class AdvancedConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -35,13 +35,13 @@ class AdvancedConfigRouteContainer extends React.Component {
const enhanced = withRouteConfig({
query: graphql`
- query AdvancedConfigRouteContainerQuery {
+ query AdvancedConfigRouteQuery {
settings {
...AdvancedConfigContainer_settings
}
}
`,
cacheConfig: { force: true },
-})(AdvancedConfigRouteContainer);
+})(AdvancedConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/components/CustomCSSConfig.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/advanced/components/CustomCSSConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfig.tsx
index 23ce67b1f..1b4e9fdb7 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/components/CustomCSSConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfig.tsx
@@ -11,7 +11,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/containers/CustomCSSConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfigContainer.tsx
similarity index 93%
rename from src/core/client/admin/routes/configure/sections/advanced/containers/CustomCSSConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfigContainer.tsx
index bdea6ceb4..39d4e3f22 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/containers/CustomCSSConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/CustomCSSConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { CustomCSSConfigContainer_settings as SettingsData } from "coral-admin/__generated__/CustomCSSConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import CustomCSSConfig from "../components/CustomCSSConfig";
+import CustomCSSConfig from "./CustomCSSConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/components/PermittedDomainsConfig.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/advanced/components/PermittedDomainsConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfig.tsx
index 17eef6f1f..be31b7ef6 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/components/PermittedDomainsConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfig.tsx
@@ -11,7 +11,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/advanced/containers/PermittedDomainsConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/advanced/containers/PermittedDomainsConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfigContainer.tsx
index fe57b1a44..a0287fe6f 100644
--- a/src/core/client/admin/routes/configure/sections/advanced/containers/PermittedDomainsConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/PermittedDomainsConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { PermittedDomainsConfigContainer_settings as SettingsData } from "coral-admin/__generated__/PermittedDomainsConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import PermittedDomainsConfig from "../components/PermittedDomainsConfig";
+import PermittedDomainsConfig from "./PermittedDomainsConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/Configure/sections/Advanced/index.ts b/src/core/client/admin/routes/Configure/sections/Advanced/index.ts
new file mode 100644
index 000000000..ba4a28259
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/Advanced/index.ts
@@ -0,0 +1 @@
+export { default, default as AdvancedConfigRoute } from "./AdvancedConfigRoute";
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/AuthConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/AuthConfig.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/AuthConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/AuthConfig.tsx
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/AuthConfigContainer.tsx
similarity index 98%
rename from src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/AuthConfigContainer.tsx
index 7de5274c2..310d9593f 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/AuthConfigContainer.tsx
@@ -17,7 +17,7 @@ import {
import { getMessage } from "coral-framework/lib/i18n";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import AuthConfig from "../components/AuthConfig";
+import AuthConfig from "./AuthConfig";
interface Props {
localeBundles: CoralContext["localeBundles"];
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/AuthConfigRoute.tsx
similarity index 93%
rename from src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/AuthConfigRoute.tsx
index 0716a3b38..b0af6a289 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/AuthConfigRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/AuthConfigRoute.tsx
@@ -14,7 +14,7 @@ interface Props {
submitting?: boolean;
}
-class AuthRouteContainer extends React.Component {
+class AuthConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -44,6 +44,6 @@ const enhanced = withRouteConfig({
}
`,
cacheConfig: { force: true },
-})(AuthRouteContainer);
+})(AuthConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/AuthIntegrationsConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/AuthIntegrationsConfig.tsx
similarity index 81%
rename from src/core/client/admin/routes/configure/sections/auth/components/AuthIntegrationsConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/AuthIntegrationsConfig.tsx
index f90186826..fce4023f0 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/AuthIntegrationsConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/AuthIntegrationsConfig.tsx
@@ -4,12 +4,12 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import Header from "../../../components/Header";
-import FacebookConfigContainer from "../containers/FacebookConfigContainer";
-import GoogleConfigContainer from "../containers/GoogleConfigContainer";
-import LocalAuthConfigContainer from "../containers/LocalAuthConfigContainer";
-import OIDCConfigContainer from "../containers/OIDCConfigContainer";
-import SSOConfigContainer from "../containers/SSOConfigContainer";
+import Header from "../../Header";
+import FacebookConfigContainer from "./FacebookConfigContainer";
+import GoogleConfigContainer from "./GoogleConfigContainer";
+import LocalAuthConfigContainer from "./LocalAuthConfigContainer";
+import OIDCConfigContainer from "./OIDCConfigContainer";
+import SSOConfigContainer from "./SSOConfigContainer";
interface Props {
disabled?: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/ClientIDField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/ClientIDField.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/auth/components/ClientIDField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/ClientIDField.tsx
index d2b9641c5..dac598df3 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/ClientIDField.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/ClientIDField.tsx
@@ -6,7 +6,7 @@ import { Field } from "react-final-form";
import { Validator } from "coral-framework/lib/validation";
import { FormField, InputLabel, TextField } from "coral-ui/components";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ValidationMessage from "../../ValidationMessage";
interface Props {
validate?: Validator;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/ClientSecretField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/ClientSecretField.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/auth/components/ClientSecretField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/ClientSecretField.tsx
index 5733dd08b..982459287 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/ClientSecretField.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/ClientSecretField.tsx
@@ -6,7 +6,7 @@ import { Field } from "react-final-form";
import { Validator } from "coral-framework/lib/validation";
import { FormField, InputLabel, TextField } from "coral-ui/components";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ValidationMessage from "../../ValidationMessage";
interface Props {
validate?: Validator;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/ConfigBoxWithToggleField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/ConfigBoxWithToggleField.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/auth/components/ConfigBoxWithToggleField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/ConfigBoxWithToggleField.tsx
index d4a9fcd57..2e308e35e 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/ConfigBoxWithToggleField.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/ConfigBoxWithToggleField.tsx
@@ -5,7 +5,7 @@ import { Field } from "react-final-form";
import { CheckBox, FormField } from "coral-ui/components";
-import ConfigBox from "../../../components/ConfigBox";
+import ConfigBox from "../../ConfigBox";
interface Props {
id?: string;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/ConfigDescription.css b/src/core/client/admin/routes/Configure/sections/Auth/ConfigDescription.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/ConfigDescription.css
rename to src/core/client/admin/routes/Configure/sections/Auth/ConfigDescription.css
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/ConfigDescription.tsx b/src/core/client/admin/routes/Configure/sections/Auth/ConfigDescription.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/ConfigDescription.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/ConfigDescription.tsx
diff --git a/src/core/client/admin/fetches/DiscoverOIDCConfigurationQuery.ts b/src/core/client/admin/routes/Configure/sections/Auth/DiscoverOIDCConfigurationFetch.ts
similarity index 76%
rename from src/core/client/admin/fetches/DiscoverOIDCConfigurationQuery.ts
rename to src/core/client/admin/routes/Configure/sections/Auth/DiscoverOIDCConfigurationFetch.ts
index c780bec4e..8cb933d65 100644
--- a/src/core/client/admin/fetches/DiscoverOIDCConfigurationQuery.ts
+++ b/src/core/client/admin/routes/Configure/sections/Auth/DiscoverOIDCConfigurationFetch.ts
@@ -1,7 +1,7 @@
import { graphql } from "react-relay";
import { Environment } from "relay-runtime";
-import { DiscoverOIDCConfigurationQuery as QueryTypes } from "coral-admin/__generated__/DiscoverOIDCConfigurationQuery.graphql";
+import { DiscoverOIDCConfigurationFetchQuery as QueryTypes } from "coral-admin/__generated__/DiscoverOIDCConfigurationFetchQuery.graphql";
import {
createFetch,
fetchQuery,
@@ -14,7 +14,7 @@ const DiscoverOIDCConfigurationFetch = createFetch(
return fetchQuery(
environment,
graphql`
- query DiscoverOIDCConfigurationQuery($issuer: String!) {
+ query DiscoverOIDCConfigurationFetchQuery($issuer: String!) {
discoverOIDCConfiguration(issuer: $issuer) {
issuer
authorizationURL
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/FacebookConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/FacebookConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/auth/components/FacebookConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/FacebookConfig.tsx
index 8cd3b093e..4dcded863 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/FacebookConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/FacebookConfig.tsx
@@ -4,7 +4,7 @@ import React, { FunctionComponent } from "react";
import { required, Validator } from "coral-framework/lib/validation";
import { HorizontalGutter, TextLink, Typography } from "coral-ui/components";
-import HorizontalRule from "../../../components/HorizontalRule";
+import HorizontalRule from "../../HorizontalRule";
import ClientIDField from "./ClientIDField";
import ClientSecretField from "./ClientSecretField";
import ConfigBoxWithToggleField from "./ConfigBoxWithToggleField";
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/FacebookConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/FacebookConfigContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/auth/containers/FacebookConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/FacebookConfigContainer.tsx
index 0fced2201..5339a7d50 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/FacebookConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/FacebookConfigContainer.tsx
@@ -5,7 +5,7 @@ import { FacebookConfigContainer_auth as AuthData } from "coral-admin/__generate
import { FacebookConfigContainer_authReadOnly as AuthReadOnlyData } from "coral-admin/__generated__/FacebookConfigContainer_authReadOnly.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import FacebookConfig from "../components/FacebookConfig";
+import FacebookConfig from "./FacebookConfig";
interface Props {
auth: AuthData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/GoogleConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/GoogleConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/auth/components/GoogleConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/GoogleConfig.tsx
index 390652e20..96733ff3d 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/GoogleConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/GoogleConfig.tsx
@@ -4,7 +4,7 @@ import React, { FunctionComponent } from "react";
import { required, Validator } from "coral-framework/lib/validation";
import { HorizontalGutter, TextLink, Typography } from "coral-ui/components";
-import HorizontalRule from "../../../components/HorizontalRule";
+import HorizontalRule from "../../HorizontalRule";
import ClientIDField from "./ClientIDField";
import ClientSecretField from "./ClientSecretField";
import ConfigBoxWithToggleField from "./ConfigBoxWithToggleField";
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/GoogleConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/GoogleConfigContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/auth/containers/GoogleConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/GoogleConfigContainer.tsx
index f1f24dd49..7dc2c369e 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/GoogleConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/GoogleConfigContainer.tsx
@@ -5,7 +5,7 @@ import { GoogleConfigContainer_auth as AuthData } from "coral-admin/__generated_
import { GoogleConfigContainer_authReadOnly as AuthReadOnlyData } from "coral-admin/__generated__/GoogleConfigContainer_authReadOnly.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import GoogleConfig from "../components/GoogleConfig";
+import GoogleConfig from "./GoogleConfig";
interface Props {
auth: AuthData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/LocalAuthConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/LocalAuthConfig.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/LocalAuthConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/LocalAuthConfig.tsx
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/LocalAuthConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/LocalAuthConfigContainer.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/auth/containers/LocalAuthConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/LocalAuthConfigContainer.tsx
index 76c1a9f69..05411e64b 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/LocalAuthConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/LocalAuthConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { LocalAuthConfigContainer_auth as AuthData } from "coral-admin/__generated__/LocalAuthConfigContainer_auth.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import LocalAuthConfig from "../components/LocalAuthConfig";
+import LocalAuthConfig from "./LocalAuthConfig";
interface Props {
auth: AuthData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/OIDCConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/OIDCConfig.tsx
similarity index 98%
rename from src/core/client/admin/routes/configure/sections/auth/components/OIDCConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/OIDCConfig.tsx
index a6a9cd52a..2a8620f27 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/OIDCConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/OIDCConfig.tsx
@@ -20,7 +20,8 @@ import {
Typography,
} from "coral-ui/components";
-import HorizontalRule from "../../../components/HorizontalRule";
+import HorizontalRule from "../../HorizontalRule";
+import ValidationMessage from "../../ValidationMessage";
import ClientIDField from "./ClientIDField";
import ClientSecretField from "./ClientSecretField";
import ConfigBoxWithToggleField from "./ConfigBoxWithToggleField";
@@ -29,8 +30,6 @@ import RedirectField from "./RedirectField";
import RegistrationField from "./RegistrationField";
import TargetFilterField from "./TargetFilterField";
-import ValidationMessage from "../../../components/ValidationMessage";
-
interface Props {
disabled?: boolean;
callbackURL: string;
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/OIDCConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/OIDCConfigContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/auth/containers/OIDCConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/OIDCConfigContainer.tsx
index 9c5095697..27f58a308 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/OIDCConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/OIDCConfigContainer.tsx
@@ -6,14 +6,14 @@ import { InferableComponentEnhancer } from "recompose";
import { OIDCConfigContainer_auth as AuthData } from "coral-admin/__generated__/OIDCConfigContainer_auth.graphql";
import { OIDCConfigContainer_authReadOnly as AuthReadOnlyData } from "coral-admin/__generated__/OIDCConfigContainer_authReadOnly.graphql";
-import { DiscoverOIDCConfigurationFetch } from "coral-admin/fetches";
import {
FetchProp,
withFetch,
withFragmentContainer,
} from "coral-framework/lib/relay";
-import OIDCConfig from "../components/OIDCConfig";
+import DiscoverOIDCConfigurationFetch from "./DiscoverOIDCConfigurationFetch";
+import OIDCConfig from "./OIDCConfig";
interface Props {
auth: AuthData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/RedirectField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/RedirectField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/RedirectField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/RedirectField.tsx
diff --git a/src/core/client/admin/mutations/RegenerateSSOKeyMutation.ts b/src/core/client/admin/routes/Configure/sections/Auth/RegenerateSSOKeyMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/RegenerateSSOKeyMutation.ts
rename to src/core/client/admin/routes/Configure/sections/Auth/RegenerateSSOKeyMutation.ts
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/RegistrationField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/RegistrationField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/RegistrationField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/RegistrationField.tsx
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/SSOConfig.tsx b/src/core/client/admin/routes/Configure/sections/Auth/SSOConfig.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/auth/components/SSOConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/SSOConfig.tsx
index c7a20ad70..2bca839a8 100644
--- a/src/core/client/admin/routes/configure/sections/auth/components/SSOConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/SSOConfig.tsx
@@ -4,9 +4,9 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import SSOKeyFieldContainer from "../containers/SSOKeyFieldContainer";
import ConfigBoxWithToggleField from "./ConfigBoxWithToggleField";
import RegistrationField from "./RegistrationField";
+import SSOKeyFieldContainer from "./SSOKeyFieldContainer";
import TargetFilterField from "./TargetFilterField";
interface Props {
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/SSOConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/SSOConfigContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/auth/containers/SSOConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/SSOConfigContainer.tsx
index 0b2692641..433d217db 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/SSOConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/SSOConfigContainer.tsx
@@ -5,7 +5,7 @@ import { SSOConfigContainer_auth as AuthData } from "coral-admin/__generated__/S
import { SSOConfigContainer_authReadOnly as AuthReadOnlyData } from "coral-admin/__generated__/SSOConfigContainer_authReadOnly.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import SSOConfig from "../components/SSOConfig";
+import SSOConfig from "./SSOConfig";
interface Props {
auth: AuthData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/SSOKeyField.css b/src/core/client/admin/routes/Configure/sections/Auth/SSOKeyField.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/SSOKeyField.css
rename to src/core/client/admin/routes/Configure/sections/Auth/SSOKeyField.css
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/SSOKeyField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/SSOKeyField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/SSOKeyField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/SSOKeyField.tsx
diff --git a/src/core/client/admin/routes/configure/sections/auth/containers/SSOKeyFieldContainer.tsx b/src/core/client/admin/routes/Configure/sections/Auth/SSOKeyFieldContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/auth/containers/SSOKeyFieldContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/SSOKeyFieldContainer.tsx
index 0a97297b3..b532f0ace 100644
--- a/src/core/client/admin/routes/configure/sections/auth/containers/SSOKeyFieldContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Auth/SSOKeyFieldContainer.tsx
@@ -2,14 +2,14 @@ import React from "react";
import { graphql } from "react-relay";
import { SSOKeyFieldContainer_sso as SSOData } from "coral-admin/__generated__/SSOKeyFieldContainer_sso.graphql";
-import { RegenerateSSOKeyMutation } from "coral-admin/mutations";
import {
MutationProp,
withFragmentContainer,
withMutation,
} from "coral-framework/lib/relay";
-import SSOKeyField from "../components/SSOKeyField";
+import RegenerateSSOKeyMutation from "./RegenerateSSOKeyMutation";
+import SSOKeyField from "./SSOKeyField";
interface Props {
sso: SSOData;
diff --git a/src/core/client/admin/routes/configure/sections/auth/components/TargetFilterField.tsx b/src/core/client/admin/routes/Configure/sections/Auth/TargetFilterField.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/auth/components/TargetFilterField.tsx
rename to src/core/client/admin/routes/Configure/sections/Auth/TargetFilterField.tsx
diff --git a/src/core/client/admin/routes/Configure/sections/Auth/index.ts b/src/core/client/admin/routes/Configure/sections/Auth/index.ts
new file mode 100644
index 000000000..56e0f583b
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/Auth/index.ts
@@ -0,0 +1 @@
+export { default, default as AuthConfigRoute } from "./AuthConfigRoute";
diff --git a/src/core/client/admin/routes/configure/sections/general/components/ClosedStreamMessageConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/general/components/ClosedStreamMessageConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfig.tsx
index 0d463e870..25fb8e8ee 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/ClosedStreamMessageConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfig.tsx
@@ -10,7 +10,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/ClosedStreamMessageConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/general/containers/ClosedStreamMessageConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfigContainer.tsx
index f26a1fd3f..1281f24d6 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/ClosedStreamMessageConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/ClosedStreamMessageConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { ClosedStreamMessageConfigContainer_settings as SettingsData } from "coral-admin/__generated__/ClosedStreamMessageConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import ClosedStreamMessageConfig from "../components/ClosedStreamMessageConfig";
+import ClosedStreamMessageConfig from "./ClosedStreamMessageConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/ClosingCommentStreamsConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/general/components/ClosingCommentStreamsConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx
index 9f067052c..169cf50d1 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/ClosingCommentStreamsConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfig.tsx
@@ -1,7 +1,13 @@
import { Localized } from "fluent-react/compat";
import React, { FunctionComponent } from "react";
+import { Field } from "react-final-form";
import { DURATION_UNIT, DurationField } from "coral-framework/components";
+import {
+ composeValidators,
+ required,
+ validateWholeNumberGreaterThan,
+} from "coral-framework/lib/validation";
import {
FieldSet,
FormField,
@@ -11,15 +17,8 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import OnOffField from "coral-admin/routes/configure/components/OnOffField";
-import {
- composeValidators,
- required,
- validateWholeNumberGreaterThan,
-} from "coral-framework/lib/validation";
-import { Field } from "react-final-form";
-
-import Header from "../../../components/Header";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/ClosingCommentStreamsConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/general/containers/ClosingCommentStreamsConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfigContainer.tsx
index e2cd5d6d8..3f09d69f4 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/ClosingCommentStreamsConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/ClosingCommentStreamsConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { ClosingCommentStreamsConfigContainer_settings as SettingsData } from "coral-admin/__generated__/ClosingCommentStreamsConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import ClosingCommentStreamsConfig from "../components/ClosingCommentStreamsConfig";
+import ClosingCommentStreamsConfig from "./ClosingCommentStreamsConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/CommentEditingConfig.css b/src/core/client/admin/routes/Configure/sections/General/CommentEditingConfig.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/general/components/CommentEditingConfig.css
rename to src/core/client/admin/routes/Configure/sections/General/CommentEditingConfig.css
diff --git a/src/core/client/admin/routes/configure/sections/general/components/CommentEditingConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/CommentEditingConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/general/components/CommentEditingConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/CommentEditingConfig.tsx
index 8d6e39eb5..9bc5f532c 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/CommentEditingConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/CommentEditingConfig.tsx
@@ -17,7 +17,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/CommentEditingConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/CommentEditingConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/general/containers/CommentEditingConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/CommentEditingConfigContainer.tsx
index 1654a619d..7b3aca4ac 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/CommentEditingConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/CommentEditingConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { CommentEditingConfigContainer_settings as SettingsData } from "coral-admin/__generated__/CommentEditingConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import CommentEditingConfig from "../components/CommentEditingConfig";
+import CommentEditingConfig from "./CommentEditingConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/CommentLengthConfig.css b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/general/components/CommentLengthConfig.css
rename to src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.css
diff --git a/src/core/client/admin/routes/configure/sections/general/components/CommentLengthConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/general/components/CommentLengthConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx
index 13f01789f..d336da914 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/CommentLengthConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfig.tsx
@@ -17,8 +17,8 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
-import OnOffField from "../../../components/OnOffField";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
import { formatEmpty, parseEmptyAsNull } from "coral-framework/lib/form";
import styles from "./CommentLengthConfig.css";
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/CommentLengthConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfigContainer.tsx
similarity index 93%
rename from src/core/client/admin/routes/configure/sections/general/containers/CommentLengthConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/CommentLengthConfigContainer.tsx
index f8cb12cbd..915be0a21 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/CommentLengthConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/CommentLengthConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { CommentLengthConfigContainer_settings as SettingsData } from "coral-admin/__generated__/CommentLengthConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import CommentLengthConfig from "../components/CommentLengthConfig";
+import CommentLengthConfig from "./CommentLengthConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/GeneralConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/GeneralConfig.tsx
similarity index 74%
rename from src/core/client/admin/routes/configure/sections/general/components/GeneralConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/GeneralConfig.tsx
index 7030f2cff..c273ea200 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/GeneralConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/GeneralConfig.tsx
@@ -3,12 +3,12 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import ClosedStreamMessageConfigContainer from "../containers/ClosedStreamMessageConfigContainer";
-import ClosingCommentStreamsConfigContainer from "../containers/ClosingCommentStreamsConfigContainer";
-import CommentEditingConfigContainer from "../containers/CommentEditingConfigContainer";
-import CommentLengthConfigContainer from "../containers/CommentLengthConfigContainer";
-import GuidelinesConfigContainer from "../containers/GuidelinesConfigContainer";
-import SitewideCommentingConfigContainer from "../containers/SitewideCommentingConfigContainer";
+import ClosedStreamMessageConfigContainer from "./ClosedStreamMessageConfigContainer";
+import ClosingCommentStreamsConfigContainer from "./ClosingCommentStreamsConfigContainer";
+import CommentEditingConfigContainer from "./CommentEditingConfigContainer";
+import CommentLengthConfigContainer from "./CommentLengthConfigContainer";
+import GuidelinesConfigContainer from "./GuidelinesConfigContainer";
+import SitewideCommentingConfigContainer from "./SitewideCommentingConfigContainer";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx
index 58acffcf3..a4dd02d9d 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigContainer.tsx
@@ -7,7 +7,7 @@ import { GeneralConfigContainer_settings as SettingsData } from "coral-admin/__g
import { pureMerge } from "coral-common/utils";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import GeneralConfig from "../components/GeneralConfig";
+import GeneralConfig from "./GeneralConfig";
interface Props {
form: FormApi;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigRoute.tsx
similarity index 76%
rename from src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/GeneralConfigRoute.tsx
index b6f19841b..5cd7d197e 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/GeneralConfigRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/GeneralConfigRoute.tsx
@@ -2,7 +2,7 @@ import { FormApi } from "final-form";
import React from "react";
import { graphql } from "react-relay";
-import { GeneralConfigRouteContainerQueryResponse } from "coral-admin/__generated__/GeneralConfigRouteContainerQuery.graphql";
+import { GeneralConfigRouteQueryResponse } from "coral-admin/__generated__/GeneralConfigRouteQuery.graphql";
import { loadMarkdownEditor } from "coral-framework/components/loadables";
import { withRouteConfig } from "coral-framework/lib/router";
import { Delay, Spinner } from "coral-ui/components";
@@ -10,12 +10,12 @@ import { Delay, Spinner } from "coral-ui/components";
import GeneralConfigContainer from "./GeneralConfigContainer";
interface Props {
- data: GeneralConfigRouteContainerQueryResponse | null;
+ data: GeneralConfigRouteQueryResponse | null;
form: FormApi;
submitting: boolean;
}
-class GeneralConfigRouteContainer extends React.Component {
+class GeneralConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -41,7 +41,7 @@ const enhanced = withRouteConfig({
// Fetch graphql data.
return graphql`
- query GeneralConfigRouteContainerQuery {
+ query GeneralConfigRouteQuery {
settings {
...GeneralConfigContainer_settings
}
@@ -49,6 +49,6 @@ const enhanced = withRouteConfig({
`;
},
cacheConfig: { force: true },
-})(GeneralConfigRouteContainer);
+})(GeneralConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/GuidelinesConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/general/components/GuidelinesConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx
index 9af09808e..4f8a642c8 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/GuidelinesConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfig.tsx
@@ -2,6 +2,7 @@ import { Localized } from "fluent-react/compat";
import React, { FunctionComponent, Suspense } from "react";
import { Field } from "react-final-form";
+import { MarkdownEditor } from "coral-framework/components/loadables";
import { ExternalLink } from "coral-framework/lib/i18n/components";
import {
FieldSet,
@@ -13,10 +14,8 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import OnOffField from "coral-admin/routes/configure/components/OnOffField";
-import { MarkdownEditor } from "coral-framework/components/loadables";
-
-import Header from "../../../components/Header";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/GuidelinesConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfigContainer.tsx
similarity index 93%
rename from src/core/client/admin/routes/configure/sections/general/containers/GuidelinesConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/GuidelinesConfigContainer.tsx
index 8c71a9319..bef65124e 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/GuidelinesConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/GuidelinesConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { GuidelinesConfigContainer_settings as SettingsData } from "coral-admin/__generated__/GuidelinesConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import GuidelinesConfig from "../components/GuidelinesConfig";
+import GuidelinesConfig from "./GuidelinesConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/general/components/SitewideCommentingConfig.tsx b/src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfig.tsx
similarity index 96%
rename from src/core/client/admin/routes/configure/sections/general/components/SitewideCommentingConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfig.tsx
index 3a72f8084..62f7fef56 100644
--- a/src/core/client/admin/routes/configure/sections/general/components/SitewideCommentingConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfig.tsx
@@ -2,6 +2,7 @@ import { Localized } from "fluent-react/compat";
import React, { FunctionComponent, Suspense } from "react";
import { Field } from "react-final-form";
+import { MarkdownEditor } from "coral-framework/components/loadables";
import {
FormField,
HorizontalGutter,
@@ -12,10 +13,8 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import OnOffField from "coral-admin/routes/configure/components/OnOffField";
-import { MarkdownEditor } from "coral-framework/components/loadables";
-
-import Header from "../../../components/Header";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/general/containers/SitewideCommentingConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/general/containers/SitewideCommentingConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfigContainer.tsx
index 17e645cb6..5aaca1f1a 100644
--- a/src/core/client/admin/routes/configure/sections/general/containers/SitewideCommentingConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/General/SitewideCommentingConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { SitewideCommentingConfigContainer_settings as SettingsData } from "coral-admin/__generated__/SitewideCommentingConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import SitewideCommentingConfig from "../components/SitewideCommentingConfig";
+import SitewideCommentingConfig from "./SitewideCommentingConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/Configure/sections/General/index.ts b/src/core/client/admin/routes/Configure/sections/General/index.ts
new file mode 100644
index 000000000..fb8559e4b
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/General/index.ts
@@ -0,0 +1 @@
+export { default, default as GeneralConfigRoute } from "./GeneralConfigRoute";
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/APIKeyField.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/APIKeyField.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/moderation/components/APIKeyField.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/APIKeyField.tsx
index 98c00c952..789bbb840 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/components/APIKeyField.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/APIKeyField.tsx
@@ -6,7 +6,7 @@ import { Field } from "react-final-form";
import { Validator } from "coral-framework/lib/validation";
import { FormField, InputLabel, TextField } from "coral-ui/components";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ValidationMessage from "../../ValidationMessage";
interface Props {
validate?: Validator;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/AkismetConfig.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfig.tsx
similarity index 93%
rename from src/core/client/admin/routes/configure/sections/moderation/components/AkismetConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfig.tsx
index 87ca66fc6..81f688321 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/components/AkismetConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfig.tsx
@@ -18,10 +18,10 @@ import {
Typography,
} from "coral-ui/components";
-import ConfigurationSubHeader from "../../../components/ConfigurationSubHeader";
-import Header from "../../../components/Header";
-import OnOffField from "../../../components/OnOffField";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ConfigurationSubHeader from "../../ConfigurationSubHeader";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
+import ValidationMessage from "../../ValidationMessage";
import APIKeyField from "./APIKeyField";
interface Props {
diff --git a/src/core/client/admin/routes/configure/sections/moderation/containers/AkismetConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfigContainer.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/moderation/containers/AkismetConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfigContainer.tsx
index fccf73ba8..11105e26c 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/containers/AkismetConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/AkismetConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { AkismetConfigContainer_settings as SettingsData } from "coral-admin/__generated__/AkismetConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import AkismetConfig from "../components/AkismetConfig";
+import AkismetConfig from "./AkismetConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/ModerationConfig.spec.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfig.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/moderation/components/ModerationConfig.spec.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfig.spec.tsx
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/ModerationConfig.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfig.tsx
similarity index 84%
rename from src/core/client/admin/routes/configure/sections/moderation/components/ModerationConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfig.tsx
index ba6528211..36c5535d6 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/components/ModerationConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfig.tsx
@@ -3,8 +3,8 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import AkismetConfigContainer from "../containers/AkismetConfigContainer";
-import PerspectiveConfigContainer from "../containers/PerspectiveConfigContainer";
+import AkismetConfigContainer from "./AkismetConfigContainer";
+import PerspectiveConfigContainer from "./PerspectiveConfigContainer";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigContainer.tsx
index b44b88a41..ca37a9cd5 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigContainer.tsx
@@ -7,7 +7,7 @@ import { ModerationConfigContainer_settings as SettingsData } from "coral-admin/
import { pureMerge } from "coral-common/utils";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import ModerationConfig from "../components/ModerationConfig";
+import ModerationConfig from "./ModerationConfig";
interface Props {
form: FormApi;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigRoute.tsx
similarity index 71%
rename from src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigRoute.tsx
index 68f2bcbb7..fec1cb7c7 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/containers/ModerationConfigRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/ModerationConfigRoute.tsx
@@ -2,19 +2,19 @@ import { FormApi } from "final-form";
import React from "react";
import { graphql } from "react-relay";
-import { ModerationConfigRouteContainerQueryResponse } from "coral-admin/__generated__/ModerationConfigRouteContainerQuery.graphql";
+import { ModerationConfigRouteQueryResponse } from "coral-admin/__generated__/ModerationConfigRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
import { Delay, Spinner } from "coral-ui/components";
import ModerationConfigContainer from "./ModerationConfigContainer";
interface Props {
- data: ModerationConfigRouteContainerQueryResponse | null;
+ data: ModerationConfigRouteQueryResponse | null;
form: FormApi;
submitting: boolean;
}
-class ModerationConfigRouteContainer extends React.Component {
+class ModerationConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -35,13 +35,13 @@ class ModerationConfigRouteContainer extends React.Component {
const enhanced = withRouteConfig({
query: graphql`
- query ModerationConfigRouteContainerQuery {
+ query ModerationConfigRouteQuery {
settings {
...ModerationConfigContainer_settings
}
}
`,
cacheConfig: { force: true },
-})(ModerationConfigRouteContainer);
+})(ModerationConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/PerspectiveConfig.css b/src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfig.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/moderation/components/PerspectiveConfig.css
rename to src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfig.css
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/PerspectiveConfig.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfig.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/moderation/components/PerspectiveConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfig.tsx
index d8b98bbc6..0d3989dd1 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/components/PerspectiveConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfig.tsx
@@ -23,11 +23,11 @@ import {
Typography,
} from "coral-ui/components";
-import ConfigurationSubHeader from "../../../components/ConfigurationSubHeader";
-import Header from "../../../components/Header";
-import OnOffField from "../../../components/OnOffField";
-import PermissionField from "../../../components/PermissionField";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ConfigurationSubHeader from "../../ConfigurationSubHeader";
+import Header from "../../Header";
+import OnOffField from "../../OnOffField";
+import PermissionField from "../../PermissionField";
+import ValidationMessage from "../../ValidationMessage";
import APIKeyField from "./APIKeyField";
import styles from "./PerspectiveConfig.css";
diff --git a/src/core/client/admin/routes/configure/sections/moderation/containers/PerspectiveConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfigContainer.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/moderation/containers/PerspectiveConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfigContainer.tsx
index 9558a6c3c..c4b8d7d2b 100644
--- a/src/core/client/admin/routes/configure/sections/moderation/containers/PerspectiveConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/PerspectiveConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { PerspectiveConfigContainer_settings as SettingsData } from "coral-admin/__generated__/PerspectiveConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import PerspectiveConfig from "../components/PerspectiveConfig";
+import PerspectiveConfig from "./PerspectiveConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/moderation/components/__snapshots__/ModerationConfig.spec.tsx.snap b/src/core/client/admin/routes/Configure/sections/Moderation/__snapshots__/ModerationConfig.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/moderation/components/__snapshots__/ModerationConfig.spec.tsx.snap
rename to src/core/client/admin/routes/Configure/sections/Moderation/__snapshots__/ModerationConfig.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Configure/sections/Moderation/index.ts b/src/core/client/admin/routes/Configure/sections/Moderation/index.ts
new file mode 100644
index 000000000..b0b49d293
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/Moderation/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as ModerationConfigRoute,
+} from "./ModerationConfigRoute";
diff --git a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationConfig.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfig.tsx
similarity index 81%
rename from src/core/client/admin/routes/configure/sections/organization/components/OrganizationConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfig.tsx
index 7df403ee9..139abf642 100644
--- a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfig.tsx
@@ -3,8 +3,8 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import OrganizationContactEmailConfigContainer from "../containers/OrganizationContactEmailConfigContainer";
-import OrganizationNameConfigContainer from "../containers/OrganizationNameConfigContainer";
+import OrganizationContactEmailConfigContainer from "./OrganizationContactEmailConfigContainer";
+import OrganizationNameConfigContainer from "./OrganizationNameConfigContainer";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/organization/containers/OrganizationConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigContainer.tsx
index 8bce78f18..518df3274 100644
--- a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigContainer.tsx
@@ -7,7 +7,7 @@ import { OrganizationConfigContainer_settings as SettingsData } from "coral-admi
import { pureMerge } from "coral-common/utils";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import OrganizationConfig from "../components/OrganizationConfig";
+import OrganizationConfig from "./OrganizationConfig";
interface Props {
form: FormApi;
diff --git a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigRoute.tsx
similarity index 73%
rename from src/core/client/admin/routes/configure/sections/organization/containers/OrganizationRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigRoute.tsx
index f83451b3e..fe52e38cb 100644
--- a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationConfigRoute.tsx
@@ -2,19 +2,19 @@ import { FormApi } from "final-form";
import React from "react";
import { graphql } from "react-relay";
-import { OrganizationRouteContainerQueryResponse } from "coral-admin/__generated__/OrganizationRouteContainerQuery.graphql";
+import { OrganizationConfigRouteQueryResponse } from "coral-admin/__generated__/OrganizationConfigRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
import { Delay, Spinner } from "coral-ui/components";
import OrganizationConfigContainer from "./OrganizationConfigContainer";
interface Props {
- data: OrganizationRouteContainerQueryResponse | null;
+ data: OrganizationConfigRouteQueryResponse | null;
form: FormApi;
submitting: boolean;
}
-class OrganizationRouteContainer extends React.Component {
+class OrganizationConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -35,13 +35,13 @@ class OrganizationRouteContainer extends React.Component {
const enhanced = withRouteConfig({
query: graphql`
- query OrganizationRouteContainerQuery {
+ query OrganizationConfigRouteQuery {
settings {
...OrganizationConfigContainer_settings
}
}
`,
cacheConfig: { force: true },
-})(OrganizationRouteContainer);
+})(OrganizationConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationContactEmailConfig.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/organization/components/OrganizationContactEmailConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfig.tsx
index 2b7cc73bd..3d6f961a0 100644
--- a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationContactEmailConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfig.tsx
@@ -11,7 +11,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationContactEmailConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfigContainer.tsx
similarity index 91%
rename from src/core/client/admin/routes/configure/sections/organization/containers/OrganizationContactEmailConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfigContainer.tsx
index 00b6e48cc..6d6e531fa 100644
--- a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationContactEmailConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationContactEmailConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { OrganizationContactEmailConfigContainer_settings as SettingsData } from "coral-admin/__generated__/OrganizationContactEmailConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import OrganizationContactEmailConfig from "../components/OrganizationContactEmailConfig";
+import OrganizationContactEmailConfig from "./OrganizationContactEmailConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationNameConfig.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/organization/components/OrganizationNameConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfig.tsx
index b191f384e..d57c9be70 100644
--- a/src/core/client/admin/routes/configure/sections/organization/components/OrganizationNameConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfig.tsx
@@ -11,7 +11,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationNameConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/organization/containers/OrganizationNameConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfigContainer.tsx
index ab1b6a178..ea1ab07f7 100644
--- a/src/core/client/admin/routes/configure/sections/organization/containers/OrganizationNameConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/Organization/OrganizationNameConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { OrganizationNameConfigContainer_settings as SettingsData } from "coral-admin/__generated__/OrganizationNameConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import OrganizationNameConfig from "../components/OrganizationNameConfig";
+import OrganizationNameConfig from "./OrganizationNameConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/Configure/sections/Organization/index.ts b/src/core/client/admin/routes/Configure/sections/Organization/index.ts
new file mode 100644
index 000000000..859a76598
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/Organization/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as OrganizationConfigRoute,
+} from "./OrganizationConfigRoute";
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/BannedWordListConfig.css b/src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfig.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/wordList/components/BannedWordListConfig.css
rename to src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfig.css
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/BannedWordListConfig.tsx b/src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/wordList/components/BannedWordListConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfig.tsx
index 08c464bb4..46c988268 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/components/BannedWordListConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfig.tsx
@@ -10,7 +10,7 @@ import {
Typography,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
import WordListTextArea from "./WordListTextArea";
import styles from "./BannedWordListConfig.css";
diff --git a/src/core/client/admin/routes/configure/sections/wordList/containers/BannedWordListConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/wordList/containers/BannedWordListConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfigContainer.tsx
index fd44703a8..364e4c82a 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/containers/BannedWordListConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/BannedWordListConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { BannedWordListConfigContainer_settings as SettingsData } from "coral-admin/__generated__/BannedWordListConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import BannedWordListConfig from "../components/BannedWordListConfig";
+import BannedWordListConfig from "./BannedWordListConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/SuspectWordListConfig.css b/src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfig.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/wordList/components/SuspectWordListConfig.css
rename to src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfig.css
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/SuspectWordListConfig.tsx b/src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfig.tsx
similarity index 97%
rename from src/core/client/admin/routes/configure/sections/wordList/components/SuspectWordListConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfig.tsx
index 6598c1228..2b03cf2f2 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/components/SuspectWordListConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfig.tsx
@@ -10,7 +10,7 @@ import {
Typography,
} from "coral-ui/components";
-import Header from "../../../components/Header";
+import Header from "../../Header";
import WordListTextArea from "./WordListTextArea";
import styles from "./SuspectWordListConfig.css";
diff --git a/src/core/client/admin/routes/configure/sections/wordList/containers/SuspectWordListConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfigContainer.tsx
similarity index 92%
rename from src/core/client/admin/routes/configure/sections/wordList/containers/SuspectWordListConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfigContainer.tsx
index 02bbd0b2b..3f8cf6ff4 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/containers/SuspectWordListConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/SuspectWordListConfigContainer.tsx
@@ -4,7 +4,7 @@ import { graphql } from "react-relay";
import { SuspectWordListConfigContainer_settings as SettingsData } from "coral-admin/__generated__/SuspectWordListConfigContainer_settings.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import SuspectWordListConfig from "../components/SuspectWordListConfig";
+import SuspectWordListConfig from "./SuspectWordListConfig";
interface Props {
settings: SettingsData;
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/WordListConfig.tsx b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfig.tsx
similarity index 82%
rename from src/core/client/admin/routes/configure/sections/wordList/components/WordListConfig.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/WordListConfig.tsx
index 8d651ecf4..de2a5ab1a 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/components/WordListConfig.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfig.tsx
@@ -3,8 +3,8 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { HorizontalGutter } from "coral-ui/components";
-import BannedWordListConfigContainer from "../containers/BannedWordListConfigContainer";
-import SuspectWordListConfigContainer from "../containers/SuspectWordListConfigContainer";
+import BannedWordListConfigContainer from "./BannedWordListConfigContainer";
+import SuspectWordListConfigContainer from "./SuspectWordListConfigContainer";
interface Props {
disabled: boolean;
diff --git a/src/core/client/admin/routes/configure/sections/wordList/containers/WordListConfigContainer.tsx b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfigContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/configure/sections/wordList/containers/WordListConfigContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/WordListConfigContainer.tsx
index ec0ff9302..fae5ee4a2 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/containers/WordListConfigContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfigContainer.tsx
@@ -7,7 +7,7 @@ import { WordListConfigContainer_settings as SettingsData } from "coral-admin/__
import { pureMerge } from "coral-common/utils";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import WordListConfig from "../components/WordListConfig";
+import WordListConfig from "./WordListConfig";
interface Props {
form: FormApi;
diff --git a/src/core/client/admin/routes/configure/sections/wordList/containers/WordListRouteContainer.tsx b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfigRoute.tsx
similarity index 74%
rename from src/core/client/admin/routes/configure/sections/wordList/containers/WordListRouteContainer.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/WordListConfigRoute.tsx
index 317d8829e..b6372d3f4 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/containers/WordListRouteContainer.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/WordListConfigRoute.tsx
@@ -2,19 +2,19 @@ import { FormApi } from "final-form";
import React from "react";
import { graphql } from "react-relay";
-import { WordListRouteContainerQueryResponse } from "coral-admin/__generated__/WordListRouteContainerQuery.graphql";
+import { WordListConfigRouteQueryResponse } from "coral-admin/__generated__/WordListConfigRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
import { Delay, Spinner } from "coral-ui/components";
import WordListConfigContainer from "./WordListConfigContainer";
interface Props {
- data: WordListRouteContainerQueryResponse | null;
+ data: WordListConfigRouteQueryResponse | null;
form: FormApi;
submitting: boolean;
}
-class WordListRouteContainer extends React.Component {
+class WordListConfigRoute extends React.Component {
public render() {
if (!this.props.data) {
return (
@@ -35,13 +35,13 @@ class WordListRouteContainer extends React.Component {
const enhanced = withRouteConfig({
query: graphql`
- query WordListRouteContainerQuery {
+ query WordListConfigRouteQuery {
settings {
...WordListConfigContainer_settings
}
}
`,
cacheConfig: { force: true },
-})(WordListRouteContainer);
+})(WordListConfigRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/WordListTextArea.css b/src/core/client/admin/routes/Configure/sections/WordList/WordListTextArea.css
similarity index 100%
rename from src/core/client/admin/routes/configure/sections/wordList/components/WordListTextArea.css
rename to src/core/client/admin/routes/Configure/sections/WordList/WordListTextArea.css
diff --git a/src/core/client/admin/routes/configure/sections/wordList/components/WordListTextArea.tsx b/src/core/client/admin/routes/Configure/sections/WordList/WordListTextArea.tsx
similarity index 94%
rename from src/core/client/admin/routes/configure/sections/wordList/components/WordListTextArea.tsx
rename to src/core/client/admin/routes/Configure/sections/WordList/WordListTextArea.tsx
index c25857ed9..40b67d7ab 100644
--- a/src/core/client/admin/routes/configure/sections/wordList/components/WordListTextArea.tsx
+++ b/src/core/client/admin/routes/Configure/sections/WordList/WordListTextArea.tsx
@@ -8,7 +8,7 @@ import {
} from "coral-framework/lib/form";
import { Validator } from "coral-framework/lib/validation";
-import ValidationMessage from "../../../components/ValidationMessage";
+import ValidationMessage from "../../ValidationMessage";
import styles from "./WordListTextArea.css";
diff --git a/src/core/client/admin/routes/Configure/sections/WordList/index.ts b/src/core/client/admin/routes/Configure/sections/WordList/index.ts
new file mode 100644
index 000000000..ce6860f3e
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/WordList/index.ts
@@ -0,0 +1 @@
+export { default, default as WordListConfigRoute } from "./WordListConfigRoute";
diff --git a/src/core/client/admin/routes/Configure/sections/index.ts b/src/core/client/admin/routes/Configure/sections/index.ts
new file mode 100644
index 000000000..9bddecdd0
--- /dev/null
+++ b/src/core/client/admin/routes/Configure/sections/index.ts
@@ -0,0 +1,6 @@
+export { AdvancedConfigRoute } from "./Advanced";
+export { AuthConfigRoute } from "./Auth";
+export { GeneralConfigRoute } from "./General";
+export { ModerationConfigRoute } from "./Moderation";
+export { OrganizationConfigRoute } from "./Organization";
+export { WordListConfigRoute } from "./WordList";
diff --git a/src/core/client/admin/routes/login/containers/AccountCompletionContainer.tsx b/src/core/client/admin/routes/Login/AccountCompletionContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/login/containers/AccountCompletionContainer.tsx
rename to src/core/client/admin/routes/Login/AccountCompletionContainer.tsx
index 3ae11575e..85c42c04d 100644
--- a/src/core/client/admin/routes/login/containers/AccountCompletionContainer.tsx
+++ b/src/core/client/admin/routes/Login/AccountCompletionContainer.tsx
@@ -5,11 +5,7 @@ import { Component } from "react";
import { AccountCompletionContainer_auth as AuthData } from "coral-admin/__generated__/AccountCompletionContainer_auth.graphql";
import { AccountCompletionContainer_viewer as UserData } from "coral-admin/__generated__/AccountCompletionContainer_viewer.graphql";
import { AccountCompletionContainerLocal as Local } from "coral-admin/__generated__/AccountCompletionContainerLocal.graphql";
-import {
- CompleteAccountMutation,
- SetAuthViewMutation,
- SetRedirectPathMutation,
-} from "coral-admin/mutations";
+import { SetRedirectPathMutation } from "coral-admin/mutations";
import {
graphql,
MutationProp,
@@ -18,6 +14,9 @@ import {
withMutation,
} from "coral-framework/lib/relay";
+import CompleteAccountMutation from "./CompleteAccountMutation";
+import SetAuthViewMutation from "./SetAuthViewMutation";
+
type Props = {
completeAccount: MutationProp;
setAuthView: MutationProp;
diff --git a/src/core/client/admin/routes/login/components/CompleteAccountBox.css b/src/core/client/admin/routes/Login/CompleteAccountBox.css
similarity index 100%
rename from src/core/client/admin/routes/login/components/CompleteAccountBox.css
rename to src/core/client/admin/routes/Login/CompleteAccountBox.css
diff --git a/src/core/client/admin/routes/login/components/CompleteAccountBox.spec.tsx b/src/core/client/admin/routes/Login/CompleteAccountBox.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/components/CompleteAccountBox.spec.tsx
rename to src/core/client/admin/routes/Login/CompleteAccountBox.spec.tsx
diff --git a/src/core/client/admin/routes/login/components/CompleteAccountBox.tsx b/src/core/client/admin/routes/Login/CompleteAccountBox.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/components/CompleteAccountBox.tsx
rename to src/core/client/admin/routes/Login/CompleteAccountBox.tsx
diff --git a/src/core/client/admin/mutations/CompleteAccountMutation.ts b/src/core/client/admin/routes/Login/CompleteAccountMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/CompleteAccountMutation.ts
rename to src/core/client/admin/routes/Login/CompleteAccountMutation.ts
diff --git a/src/core/client/admin/routes/login/components/EmailField.tsx b/src/core/client/admin/routes/Login/EmailField.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/components/EmailField.tsx
rename to src/core/client/admin/routes/Login/EmailField.tsx
diff --git a/src/core/client/admin/routes/login/components/Login.tsx b/src/core/client/admin/routes/Login/Login.tsx
similarity index 57%
rename from src/core/client/admin/routes/login/components/Login.tsx
rename to src/core/client/admin/routes/Login/Login.tsx
index 976ff35db..ca00202fa 100644
--- a/src/core/client/admin/routes/login/components/Login.tsx
+++ b/src/core/client/admin/routes/Login/Login.tsx
@@ -2,10 +2,10 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
-import AddEmailAddressContainer from "../views/addEmailAddress/containers/AddEmailAddressContainer";
-import CreatePasswordContainer from "../views/createPassword/containers/CreatePasswordContainer";
-import CreateUsernameContainer from "../views/createUsername/containers/CreateUsernameContainer";
-import SignInContainer from "../views/signIn/containers/SignInContainer";
+import AddEmailAddressContainer from "./views/AddEmailAddress";
+import CreatePasswordContainer from "./views/CreatePassword";
+import CreateUsernameContainer from "./views/CreateUsername";
+import SignInContainer from "./views/SignIn";
export type View =
| "SIGN_UP"
@@ -16,12 +16,12 @@ export type View =
| "ADD_EMAIL_ADDRESS"
| "%future added value";
-export interface AppProps {
+interface Props {
view: View;
auth: PropTypesOf["auth"];
}
-const renderView = (view: AppProps["view"], auth: AppProps["auth"]) => {
+const renderView = (view: Props["view"], auth: Props["auth"]) => {
switch (view) {
case "SIGN_IN":
return ;
@@ -36,8 +36,8 @@ const renderView = (view: AppProps["view"], auth: AppProps["auth"]) => {
}
};
-const App: FunctionComponent = ({ view, auth }) => (
+const Login: FunctionComponent = ({ view, auth }) => (
{renderView(view, auth)}
);
-export default App;
+export default Login;
diff --git a/src/core/client/admin/routes/login/containers/LoginContainer.tsx b/src/core/client/admin/routes/Login/LoginRoute.tsx
similarity index 69%
rename from src/core/client/admin/routes/login/containers/LoginContainer.tsx
rename to src/core/client/admin/routes/Login/LoginRoute.tsx
index b35351a9d..40460e92c 100644
--- a/src/core/client/admin/routes/login/containers/LoginContainer.tsx
+++ b/src/core/client/admin/routes/Login/LoginRoute.tsx
@@ -1,21 +1,21 @@
import { RouteProps } from "found";
import React, { Component } from "react";
-import { LoginContainerLocal as LocalData } from "coral-admin/__generated__/LoginContainerLocal.graphql";
-import { LoginContainerQueryResponse } from "coral-admin/__generated__/LoginContainerQuery.graphql";
+import { LoginRouteLocal as LocalData } from "coral-admin/__generated__/LoginRouteLocal.graphql";
+import { LoginRouteQueryResponse } from "coral-admin/__generated__/LoginRouteQuery.graphql";
import { graphql, withLocalStateContainer } from "coral-framework/lib/relay";
import { withRouteConfig } from "coral-framework/lib/router";
-import Login from "../components/Login";
import AccountCompletionContainer from "./AccountCompletionContainer";
+import Login from "./Login";
interface Props {
local: LocalData;
- data: LoginContainerQueryResponse;
+ data: LoginRouteQueryResponse;
error?: Error | null;
}
-class LoginContainer extends Component {
+class LoginRoute extends Component {
public static routeConfig: RouteProps;
public render() {
@@ -37,9 +37,9 @@ class LoginContainer extends Component {
}
}
-const enhanced = withRouteConfig({
+const enhanced = withRouteConfig({
query: graphql`
- query LoginContainerQuery {
+ query LoginRouteQuery {
viewer {
...AccountCompletionContainer_viewer
}
@@ -54,10 +54,10 @@ const enhanced = withRouteConfig({
})(
withLocalStateContainer(
graphql`
- fragment LoginContainerLocal on Local {
+ fragment LoginRouteLocal on Local {
authView
}
`
- )(LoginContainer)
+ )(LoginRoute)
);
export default enhanced;
diff --git a/src/core/client/admin/mutations/SetAuthViewMutation.spec.ts b/src/core/client/admin/routes/Login/SetAuthViewMutation.spec.ts
similarity index 100%
rename from src/core/client/admin/mutations/SetAuthViewMutation.spec.ts
rename to src/core/client/admin/routes/Login/SetAuthViewMutation.spec.ts
diff --git a/src/core/client/admin/mutations/SetAuthViewMutation.ts b/src/core/client/admin/routes/Login/SetAuthViewMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/SetAuthViewMutation.ts
rename to src/core/client/admin/routes/Login/SetAuthViewMutation.ts
diff --git a/src/core/client/admin/routes/login/components/__snapshots__/CompleteAccountBox.spec.tsx.snap b/src/core/client/admin/routes/Login/__snapshots__/CompleteAccountBox.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/login/components/__snapshots__/CompleteAccountBox.spec.tsx.snap
rename to src/core/client/admin/routes/Login/__snapshots__/CompleteAccountBox.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Login/index.ts b/src/core/client/admin/routes/Login/index.ts
new file mode 100644
index 000000000..e85ca294c
--- /dev/null
+++ b/src/core/client/admin/routes/Login/index.ts
@@ -0,0 +1 @@
+export { default, default as LoginRoute } from "./LoginRoute";
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/AddEmailAddress.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddress.tsx
similarity index 96%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/AddEmailAddress.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddress.tsx
index 7605ddcaf..e7c2fea6b 100644
--- a/src/core/client/admin/routes/login/views/addEmailAddress/components/AddEmailAddress.tsx
+++ b/src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddress.tsx
@@ -10,7 +10,7 @@ import {
Typography,
} from "coral-ui/components";
-import CompleteAccountBox from "../../../components/CompleteAccountBox";
+import CompleteAccountBox from "../../CompleteAccountBox";
import ConfirmEmailField from "./ConfirmEmailField";
import EmailField from "./EmailField";
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/containers/AddEmailAddressContainer.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddressContainer.tsx
similarity index 87%
rename from src/core/client/admin/routes/login/views/addEmailAddress/containers/AddEmailAddressContainer.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddressContainer.tsx
index 5e3b0a37b..e74fd4621 100644
--- a/src/core/client/admin/routes/login/views/addEmailAddress/containers/AddEmailAddressContainer.tsx
+++ b/src/core/client/admin/routes/Login/views/AddEmailAddress/AddEmailAddressContainer.tsx
@@ -1,11 +1,11 @@
import { FORM_ERROR } from "final-form";
import React, { Component } from "react";
-import { SetEmailMutation } from "coral-admin/mutations";
import { MutationProp, withMutation } from "coral-framework/lib/relay";
import { PropTypesOf } from "coral-framework/types";
-import AddEmailAddress from "../components/AddEmailAddress";
+import AddEmailAddress from "./AddEmailAddress";
+import SetEmailMutation from "./SetEmailMutation";
interface Props {
setEmail: MutationProp;
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/ConfirmEmailField.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/ConfirmEmailField.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/ConfirmEmailField.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/ConfirmEmailField.tsx
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/EmailField.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/EmailField.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/EmailField.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/EmailField.tsx
diff --git a/src/core/client/admin/mutations/SetEmailMutation.ts b/src/core/client/admin/routes/Login/views/AddEmailAddress/SetEmailMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/SetEmailMutation.ts
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/SetEmailMutation.ts
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/ListItem.css b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/ListItem.css
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/ListItem.css
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/ListItem.css
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/ListItem.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/ListItem.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/ListItem.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/ListItem.tsx
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.css b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.css
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.css
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.css
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.spec.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.spec.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.spec.tsx
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.tsx b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/UnorderedList.tsx
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/UnorderedList.tsx
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap
diff --git a/src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/index.ts b/src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/index.ts
similarity index 100%
rename from src/core/client/admin/routes/login/views/addEmailAddress/components/UnorderedList/index.ts
rename to src/core/client/admin/routes/Login/views/AddEmailAddress/UnorderedList/index.ts
diff --git a/src/core/client/admin/routes/Login/views/AddEmailAddress/index.ts b/src/core/client/admin/routes/Login/views/AddEmailAddress/index.ts
new file mode 100644
index 000000000..638f761cc
--- /dev/null
+++ b/src/core/client/admin/routes/Login/views/AddEmailAddress/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as AddEmailAddressContainer,
+} from "./AddEmailAddressContainer";
diff --git a/src/core/client/admin/routes/login/views/createPassword/components/CreatePassword.tsx b/src/core/client/admin/routes/Login/views/CreatePassword/CreatePassword.tsx
similarity index 96%
rename from src/core/client/admin/routes/login/views/createPassword/components/CreatePassword.tsx
rename to src/core/client/admin/routes/Login/views/CreatePassword/CreatePassword.tsx
index 2efda4c3b..813ac6fe1 100644
--- a/src/core/client/admin/routes/login/views/createPassword/components/CreatePassword.tsx
+++ b/src/core/client/admin/routes/Login/views/CreatePassword/CreatePassword.tsx
@@ -10,7 +10,7 @@ import {
Typography,
} from "coral-ui/components";
-import CompleteAccountBox from "../../../components/CompleteAccountBox";
+import CompleteAccountBox from "../../CompleteAccountBox";
import SetPasswordField from "./SetPasswordField";
interface FormProps {
diff --git a/src/core/client/admin/routes/login/views/createPassword/containers/CreatePasswordContainer.tsx b/src/core/client/admin/routes/Login/views/CreatePassword/CreatePasswordContainer.tsx
similarity index 87%
rename from src/core/client/admin/routes/login/views/createPassword/containers/CreatePasswordContainer.tsx
rename to src/core/client/admin/routes/Login/views/CreatePassword/CreatePasswordContainer.tsx
index 0fdb3bddc..a15cf122d 100644
--- a/src/core/client/admin/routes/login/views/createPassword/containers/CreatePasswordContainer.tsx
+++ b/src/core/client/admin/routes/Login/views/CreatePassword/CreatePasswordContainer.tsx
@@ -1,11 +1,11 @@
import { FORM_ERROR } from "final-form";
import React, { Component } from "react";
-import { SetPasswordMutation } from "coral-admin/mutations";
import { MutationProp, withMutation } from "coral-framework/lib/relay";
import { PropTypesOf } from "coral-framework/types";
-import CreatePassword from "../components/CreatePassword";
+import CreatePassword from "./CreatePassword";
+import SetPasswordMutation from "./SetPasswordMutation";
interface Props {
setPassword: MutationProp;
diff --git a/src/core/client/admin/routes/login/views/createPassword/components/SetPasswordField.tsx b/src/core/client/admin/routes/Login/views/CreatePassword/SetPasswordField.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/createPassword/components/SetPasswordField.tsx
rename to src/core/client/admin/routes/Login/views/CreatePassword/SetPasswordField.tsx
diff --git a/src/core/client/admin/mutations/SetPasswordMutation.ts b/src/core/client/admin/routes/Login/views/CreatePassword/SetPasswordMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/SetPasswordMutation.ts
rename to src/core/client/admin/routes/Login/views/CreatePassword/SetPasswordMutation.ts
diff --git a/src/core/client/admin/routes/Login/views/CreatePassword/index.ts b/src/core/client/admin/routes/Login/views/CreatePassword/index.ts
new file mode 100644
index 000000000..51823e9ac
--- /dev/null
+++ b/src/core/client/admin/routes/Login/views/CreatePassword/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as CreatePasswordContainer,
+} from "./CreatePasswordContainer";
diff --git a/src/core/client/admin/routes/login/views/createUsername/components/CreateUsername.tsx b/src/core/client/admin/routes/Login/views/CreateUsername/CreateUsername.tsx
similarity index 96%
rename from src/core/client/admin/routes/login/views/createUsername/components/CreateUsername.tsx
rename to src/core/client/admin/routes/Login/views/CreateUsername/CreateUsername.tsx
index 7e5b06292..6372f967b 100644
--- a/src/core/client/admin/routes/login/views/createUsername/components/CreateUsername.tsx
+++ b/src/core/client/admin/routes/Login/views/CreateUsername/CreateUsername.tsx
@@ -10,7 +10,7 @@ import {
Typography,
} from "coral-ui/components";
-import CompleteAccountBox from "../../../components/CompleteAccountBox";
+import CompleteAccountBox from "../../CompleteAccountBox";
import UsernameField from "./UsernameField";
interface FormProps {
diff --git a/src/core/client/admin/routes/login/views/createUsername/containers/CreateUsernameContainer.tsx b/src/core/client/admin/routes/Login/views/CreateUsername/CreateUsernameContainer.tsx
similarity index 87%
rename from src/core/client/admin/routes/login/views/createUsername/containers/CreateUsernameContainer.tsx
rename to src/core/client/admin/routes/Login/views/CreateUsername/CreateUsernameContainer.tsx
index 98488cb1e..d59830e6e 100644
--- a/src/core/client/admin/routes/login/views/createUsername/containers/CreateUsernameContainer.tsx
+++ b/src/core/client/admin/routes/Login/views/CreateUsername/CreateUsernameContainer.tsx
@@ -1,11 +1,11 @@
import { FORM_ERROR } from "final-form";
import React, { Component } from "react";
-import { SetUsernameMutation } from "coral-admin/mutations";
import { MutationProp, withMutation } from "coral-framework/lib/relay";
import { PropTypesOf } from "coral-framework/types";
-import CreateUsername from "../components/CreateUsername";
+import CreateUsername from "./CreateUsername";
+import SetUsernameMutation from "./SetUsernameMutation";
interface Props {
setUsername: MutationProp;
diff --git a/src/core/client/admin/mutations/SetUsernameMutation.ts b/src/core/client/admin/routes/Login/views/CreateUsername/SetUsernameMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/SetUsernameMutation.ts
rename to src/core/client/admin/routes/Login/views/CreateUsername/SetUsernameMutation.ts
diff --git a/src/core/client/admin/routes/login/views/createUsername/components/UsernameField.tsx b/src/core/client/admin/routes/Login/views/CreateUsername/UsernameField.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/createUsername/components/UsernameField.tsx
rename to src/core/client/admin/routes/Login/views/CreateUsername/UsernameField.tsx
diff --git a/src/core/client/admin/routes/Login/views/CreateUsername/index.ts b/src/core/client/admin/routes/Login/views/CreateUsername/index.ts
new file mode 100644
index 000000000..a74d93e0e
--- /dev/null
+++ b/src/core/client/admin/routes/Login/views/CreateUsername/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as CreateUsernameContainer,
+} from "./CreateUsernameContainer";
diff --git a/src/core/client/admin/mutations/ClearAuthErrorMutation.ts b/src/core/client/admin/routes/Login/views/SignIn/ClearAuthErrorMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/ClearAuthErrorMutation.ts
rename to src/core/client/admin/routes/Login/views/SignIn/ClearAuthErrorMutation.ts
diff --git a/src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.css b/src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.css
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.css
rename to src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.css
diff --git a/src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.spec.tsx b/src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.spec.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.spec.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.tsx b/src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/HorizontalSeparator.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/HorizontalSeparator.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/OrSeparator.tsx b/src/core/client/admin/routes/Login/views/SignIn/OrSeparator.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/OrSeparator.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/OrSeparator.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/SignIn.spec.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignIn.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/SignIn.spec.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignIn.spec.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/SignIn.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignIn.tsx
similarity index 85%
rename from src/core/client/admin/routes/login/views/signIn/components/SignIn.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignIn.tsx
index 3e8edd19a..49fee816d 100644
--- a/src/core/client/admin/routes/login/views/signIn/components/SignIn.tsx
+++ b/src/core/client/admin/routes/Login/views/SignIn/SignIn.tsx
@@ -5,11 +5,11 @@ import AuthBox from "coral-admin/components/AuthBox";
import { PropTypesOf } from "coral-framework/types";
import { CallOut, HorizontalGutter } from "coral-ui/components";
-import SignInWithEmailContainer from "../containers/SignInWithEmailContainer";
-import SignInWithFacebookContainer from "../containers/SignInWithFacebookContainer";
-import SignInWithGoogleContainer from "../containers/SignInWithGoogleContainer";
-import SignInWithOIDCContainer from "../containers/SignInWithOIDCContainer";
import OrSeparator from "./OrSeparator";
+import SignInWithEmailContainer from "./SignInWithEmailContainer";
+import SignInWithFacebookContainer from "./SignInWithFacebookContainer";
+import SignInWithGoogleContainer from "./SignInWithGoogleContainer";
+import SignInWithOIDCContainer from "./SignInWithOIDCContainer";
import Version from "./Version";
interface Props {
diff --git a/src/core/client/admin/routes/login/views/signIn/containers/SignInContainer.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInContainer.tsx
similarity index 94%
rename from src/core/client/admin/routes/login/views/signIn/containers/SignInContainer.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInContainer.tsx
index f15736493..f675a06e7 100644
--- a/src/core/client/admin/routes/login/views/signIn/containers/SignInContainer.tsx
+++ b/src/core/client/admin/routes/Login/views/SignIn/SignInContainer.tsx
@@ -3,7 +3,6 @@ import React, { Component } from "react";
import { SignInContainer_auth as AuthData } from "coral-admin/__generated__/SignInContainer_auth.graphql";
import { SignInContainerLocal as LocalData } from "coral-admin/__generated__/SignInContainerLocal.graphql";
-import { ClearAuthErrorMutation, SignInMutation } from "coral-admin/mutations";
import {
graphql,
MutationProp,
@@ -12,7 +11,9 @@ import {
withMutation,
} from "coral-framework/lib/relay";
-import SignIn from "../components/SignIn";
+import ClearAuthErrorMutation from "./ClearAuthErrorMutation";
+import SignIn from "./SignIn";
+import SignInMutation from "./SignInMutation";
interface Props {
local: LocalData;
diff --git a/src/core/client/admin/mutations/SignInMutation.ts b/src/core/client/admin/routes/Login/views/SignIn/SignInMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/SignInMutation.ts
rename to src/core/client/admin/routes/Login/views/SignIn/SignInMutation.ts
diff --git a/src/core/client/admin/routes/login/views/signIn/components/SignInWithEmail.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInWithEmail.tsx
similarity index 98%
rename from src/core/client/admin/routes/login/views/signIn/components/SignInWithEmail.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInWithEmail.tsx
index 3534451be..3e81d2d80 100644
--- a/src/core/client/admin/routes/login/views/signIn/components/SignInWithEmail.tsx
+++ b/src/core/client/admin/routes/Login/views/SignIn/SignInWithEmail.tsx
@@ -15,7 +15,7 @@ import {
ValidationMessage,
} from "coral-ui/components";
-import EmailField from "../../../components/EmailField";
+import EmailField from "../../EmailField";
interface FormProps {
email: string;
diff --git a/src/core/client/admin/routes/login/views/signIn/containers/SignInWithEmailContainer.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInWithEmailContainer.tsx
similarity index 83%
rename from src/core/client/admin/routes/login/views/signIn/containers/SignInWithEmailContainer.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInWithEmailContainer.tsx
index e31fd56a5..000a1e32e 100644
--- a/src/core/client/admin/routes/login/views/signIn/containers/SignInWithEmailContainer.tsx
+++ b/src/core/client/admin/routes/Login/views/SignIn/SignInWithEmailContainer.tsx
@@ -1,12 +1,10 @@
import { FORM_ERROR } from "final-form";
import React, { Component } from "react";
-import { SignInMutation } from "coral-admin/mutations";
import { MutationProp, withMutation } from "coral-framework/lib/relay";
-import SignInWithEmail, {
- SignInWithEmailForm,
-} from "../components/SignInWithEmail";
+import SignInMutation from "./SignInMutation";
+import SignInWithEmail, { SignInWithEmailForm } from "./SignInWithEmail";
interface SignInContainerProps {
signIn: MutationProp;
diff --git a/src/core/client/admin/routes/login/views/signIn/containers/SignInWithFacebookContainer.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInWithFacebookContainer.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/containers/SignInWithFacebookContainer.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInWithFacebookContainer.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/containers/SignInWithGoogleContainer.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInWithGoogleContainer.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/containers/SignInWithGoogleContainer.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInWithGoogleContainer.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/containers/SignInWithOIDCContainer.tsx b/src/core/client/admin/routes/Login/views/SignIn/SignInWithOIDCContainer.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/containers/SignInWithOIDCContainer.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/SignInWithOIDCContainer.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/Version.css b/src/core/client/admin/routes/Login/views/SignIn/Version.css
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/Version.css
rename to src/core/client/admin/routes/Login/views/SignIn/Version.css
diff --git a/src/core/client/admin/routes/login/views/signIn/components/Version.tsx b/src/core/client/admin/routes/Login/views/SignIn/Version.tsx
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/Version.tsx
rename to src/core/client/admin/routes/Login/views/SignIn/Version.tsx
diff --git a/src/core/client/admin/routes/login/views/signIn/components/__snapshots__/HorizontalSeparator.spec.tsx.snap b/src/core/client/admin/routes/Login/views/SignIn/__snapshots__/HorizontalSeparator.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/__snapshots__/HorizontalSeparator.spec.tsx.snap
rename to src/core/client/admin/routes/Login/views/SignIn/__snapshots__/HorizontalSeparator.spec.tsx.snap
diff --git a/src/core/client/admin/routes/login/views/signIn/components/__snapshots__/SignIn.spec.tsx.snap b/src/core/client/admin/routes/Login/views/SignIn/__snapshots__/SignIn.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/login/views/signIn/components/__snapshots__/SignIn.spec.tsx.snap
rename to src/core/client/admin/routes/Login/views/SignIn/__snapshots__/SignIn.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Login/views/SignIn/index.ts b/src/core/client/admin/routes/Login/views/SignIn/index.ts
new file mode 100644
index 000000000..2acfb1062
--- /dev/null
+++ b/src/core/client/admin/routes/Login/views/SignIn/index.ts
@@ -0,0 +1 @@
+export { default, default as SignInContainer } from "./SignInContainer";
diff --git a/src/core/client/admin/routes/moderate/components/Moderate.css b/src/core/client/admin/routes/Moderate/Moderate.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Moderate.css
rename to src/core/client/admin/routes/Moderate/Moderate.css
diff --git a/src/core/client/admin/routes/moderate/components/Moderate.spec.tsx b/src/core/client/admin/routes/Moderate/Moderate.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Moderate.spec.tsx
rename to src/core/client/admin/routes/Moderate/Moderate.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Moderate.tsx b/src/core/client/admin/routes/Moderate/Moderate.tsx
similarity index 87%
rename from src/core/client/admin/routes/moderate/components/Moderate.tsx
rename to src/core/client/admin/routes/Moderate/Moderate.tsx
index 9215c822e..443ab85cb 100644
--- a/src/core/client/admin/routes/moderate/components/Moderate.tsx
+++ b/src/core/client/admin/routes/Moderate/Moderate.tsx
@@ -4,8 +4,8 @@ import MainLayout from "coral-admin/components/MainLayout";
import { PropTypesOf } from "coral-framework/types";
import { SubBar } from "coral-ui/components/SubBar";
-import ModerateNavigationContainer from "../containers/ModerateNavigationContainer";
-import ModerateSearchBarContainer from "../containers/ModerateSearchBarContainer";
+import ModerateNavigationContainer from "./ModerateNavigation";
+import ModerateSearchBarContainer from "./ModerateSearchBar";
import styles from "./Moderate.css";
diff --git a/src/core/client/admin/routes/moderate/components/ApproveButton.css b/src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/ApproveButton.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.css
diff --git a/src/core/client/admin/routes/moderate/components/ApproveButton.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/ApproveButton.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/ApproveButton.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/ApproveButton.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/ApproveButton.tsx
diff --git a/src/core/client/admin/routes/moderate/components/CommentContent.css b/src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/CommentContent.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.css
diff --git a/src/core/client/admin/routes/moderate/components/CommentContent.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/CommentContent.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/CommentContent.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/CommentContent.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/CommentContent.tsx
diff --git a/src/core/client/admin/routes/moderate/components/FlagDetailsCategory.css b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsCategory.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/FlagDetailsCategory.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsCategory.css
diff --git a/src/core/client/admin/routes/moderate/components/FlagDetailsCategory.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsCategory.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/FlagDetailsCategory.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsCategory.tsx
diff --git a/src/core/client/admin/routes/moderate/containers/FlagDetailsContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsContainer.tsx
similarity index 95%
rename from src/core/client/admin/routes/moderate/containers/FlagDetailsContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsContainer.tsx
index ea8a0f88a..e880f1e03 100644
--- a/src/core/client/admin/routes/moderate/containers/FlagDetailsContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsContainer.tsx
@@ -8,8 +8,8 @@ import { withFragmentContainer } from "coral-framework/lib/relay";
import { GQLCOMMENT_FLAG_REASON } from "coral-framework/schema";
import { HorizontalGutter } from "coral-ui/components";
-import FlagDetailsCategory from "../components/FlagDetailsCategory";
-import FlagDetailsEntry from "../components/FlagDetailsEntry";
+import FlagDetailsCategory from "./FlagDetailsCategory";
+import FlagDetailsEntry from "./FlagDetailsEntry";
interface Props {
comment: CommentData;
diff --git a/src/core/client/admin/routes/moderate/components/FlagDetailsEntry.css b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsEntry.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/FlagDetailsEntry.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsEntry.css
diff --git a/src/core/client/admin/routes/moderate/components/FlagDetailsEntry.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsEntry.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/FlagDetailsEntry.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/FlagDetailsEntry.tsx
diff --git a/src/core/client/admin/routes/moderate/components/InReplyTo.css b/src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/InReplyTo.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.css
diff --git a/src/core/client/admin/routes/moderate/components/InReplyTo.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/InReplyTo.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/InReplyTo.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/InReplyTo.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/InReplyTo.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Markers.css b/src/core/client/admin/routes/Moderate/ModerateCard/Markers.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Markers.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/Markers.css
diff --git a/src/core/client/admin/routes/moderate/components/Markers.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/Markers.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Markers.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/Markers.tsx
diff --git a/src/core/client/admin/routes/moderate/containers/MarkersContainer.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/MarkersContainer.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/containers/MarkersContainer.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/MarkersContainer.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/containers/MarkersContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/MarkersContainer.tsx
similarity index 98%
rename from src/core/client/admin/routes/moderate/containers/MarkersContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/MarkersContainer.tsx
index 10f7f4534..fc7d78444 100644
--- a/src/core/client/admin/routes/moderate/containers/MarkersContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateCard/MarkersContainer.tsx
@@ -5,8 +5,8 @@ import { graphql } from "react-relay";
import { MarkersContainer_comment as CommentData } from "coral-admin/__generated__/MarkersContainer_comment.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
import { Marker, MarkerCount } from "coral-ui/components";
-import Markers from "../components/Markers";
import FlagDetailsContainer from "./FlagDetailsContainer";
+import Markers from "./Markers";
interface MarkersContainerProps {
comment: CommentData;
diff --git a/src/core/client/admin/routes/moderate/components/ModerateCard.css b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/ModerateCard.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.css
diff --git a/src/core/client/admin/routes/moderate/components/ModerateCard.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/ModerateCard.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/ModerateCard.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.tsx
similarity index 98%
rename from src/core/client/admin/routes/moderate/components/ModerateCard.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.tsx
index 66961dad7..d834537e7 100644
--- a/src/core/client/admin/routes/moderate/components/ModerateCard.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCard.tsx
@@ -5,10 +5,10 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
import { Card, Flex, HorizontalGutter, TextLink } from "coral-ui/components";
-import MarkersContainer from "../containers/MarkersContainer";
import ApproveButton from "./ApproveButton";
import CommentContent from "./CommentContent";
import InReplyTo from "./InReplyTo";
+import MarkersContainer from "./MarkersContainer";
import RejectButton from "./RejectButton";
import Timestamp from "./Timestamp";
import Username from "./Username";
diff --git a/src/core/client/admin/routes/moderate/containers/ModerateCardContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCardContainer.tsx
similarity index 98%
rename from src/core/client/admin/routes/moderate/containers/ModerateCardContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/ModerateCardContainer.tsx
index caf62ae79..b5fc7e1f6 100644
--- a/src/core/client/admin/routes/moderate/containers/ModerateCardContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateCard/ModerateCardContainer.tsx
@@ -8,6 +8,7 @@ import {
} from "coral-admin/__generated__/ModerateCardContainer_comment.graphql";
import { ModerateCardContainer_settings as SettingsData } from "coral-admin/__generated__/ModerateCardContainer_settings.graphql";
import NotAvailable from "coral-admin/components/NotAvailable";
+import { getModerationLink } from "coral-admin/helpers";
import { ApproveCommentMutation } from "coral-admin/mutations";
import { RejectCommentMutation } from "coral-admin/mutations";
import {
@@ -16,8 +17,7 @@ import {
withMutation,
} from "coral-framework/lib/relay";
-import { getModerationLink } from "coral-admin/helpers";
-import ModerateCard from "../components/ModerateCard";
+import ModerateCard from "./ModerateCard";
interface Props {
comment: CommentData;
diff --git a/src/core/client/admin/routes/moderate/components/RejectButton.css b/src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/RejectButton.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.css
diff --git a/src/core/client/admin/routes/moderate/components/RejectButton.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/RejectButton.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/RejectButton.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/RejectButton.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/RejectButton.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Timestamp.css b/src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Timestamp.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.css
diff --git a/src/core/client/admin/routes/moderate/components/Timestamp.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Timestamp.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Timestamp.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Timestamp.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/Timestamp.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Username.css b/src/core/client/admin/routes/Moderate/ModerateCard/Username.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Username.css
rename to src/core/client/admin/routes/Moderate/ModerateCard/Username.css
diff --git a/src/core/client/admin/routes/moderate/components/Username.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/Username.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Username.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/Username.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Username.tsx b/src/core/client/admin/routes/Moderate/ModerateCard/Username.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Username.tsx
rename to src/core/client/admin/routes/Moderate/ModerateCard/Username.tsx
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/ApproveButton.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/ApproveButton.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/ApproveButton.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/ApproveButton.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/CommentContent.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/CommentContent.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/CommentContent.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/CommentContent.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/InReplyTo.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/InReplyTo.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/InReplyTo.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/InReplyTo.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/containers/__snapshots__/MarkersContainer.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/MarkersContainer.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/containers/__snapshots__/MarkersContainer.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/MarkersContainer.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/ModerateCard.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/ModerateCard.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/ModerateCard.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/ModerateCard.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/RejectButton.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/RejectButton.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/RejectButton.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/RejectButton.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/Timestamp.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/Timestamp.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/Timestamp.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/Timestamp.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/Username.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/Username.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/Username.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateCard/__snapshots__/Username.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Moderate/ModerateCard/index.ts b/src/core/client/admin/routes/Moderate/ModerateCard/index.ts
new file mode 100644
index 000000000..e5c68cbb4
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/ModerateCard/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as ModerateCardContainer,
+} from "./ModerateCardContainer";
diff --git a/src/core/client/admin/routes/moderate/containers/ModerateContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateContainer.tsx
similarity index 97%
rename from src/core/client/admin/routes/moderate/containers/ModerateContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateContainer.tsx
index ddb7cd1d9..7d7cf803a 100644
--- a/src/core/client/admin/routes/moderate/containers/ModerateContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateContainer.tsx
@@ -6,7 +6,7 @@ import { ModerateContainerQueryResponse } from "coral-admin/__generated__/Modera
import { withRouteConfig } from "coral-framework/lib/router";
import { Spinner } from "coral-ui/components";
-import Moderate from "../components/Moderate";
+import Moderate from "./Moderate";
interface RouteParams {
storyID?: string;
diff --git a/src/core/client/admin/routes/moderate/containers/ModerateNavigationContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateNavigation/ModerateNavigationContainer.tsx
similarity index 96%
rename from src/core/client/admin/routes/moderate/containers/ModerateNavigationContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/ModerateNavigationContainer.tsx
index 95ef3ae9d..1fa1c37cb 100644
--- a/src/core/client/admin/routes/moderate/containers/ModerateNavigationContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateNavigation/ModerateNavigationContainer.tsx
@@ -5,7 +5,7 @@ import { ModerateNavigationContainer_moderationQueues as ModerationQueuesData }
import { ModerateNavigationContainer_story as StoryData } from "coral-admin/__generated__/ModerateNavigationContainer_story.graphql";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import Navigation from "../components/Navigation";
+import Navigation from "./Navigation";
interface Props {
moderationQueues: ModerationQueuesData | null;
diff --git a/src/core/client/admin/routes/moderate/components/Navigation.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateNavigation/Navigation.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Navigation.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/Navigation.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Navigation.tsx b/src/core/client/admin/routes/Moderate/ModerateNavigation/Navigation.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Navigation.tsx
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/Navigation.tsx
diff --git a/src/core/client/admin/routes/moderate/components/NavigationLink.spec.tsx b/src/core/client/admin/routes/Moderate/ModerateNavigation/NavigationLink.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/NavigationLink.spec.tsx
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/NavigationLink.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/NavigationLink.tsx b/src/core/client/admin/routes/Moderate/ModerateNavigation/NavigationLink.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/NavigationLink.tsx
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/NavigationLink.tsx
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/Navigation.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateNavigation/__snapshots__/Navigation.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/Navigation.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/__snapshots__/Navigation.spec.tsx.snap
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/NavigationLink.spec.tsx.snap b/src/core/client/admin/routes/Moderate/ModerateNavigation/__snapshots__/NavigationLink.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/NavigationLink.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/ModerateNavigation/__snapshots__/NavigationLink.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Moderate/ModerateNavigation/index.ts b/src/core/client/admin/routes/Moderate/ModerateNavigation/index.ts
new file mode 100644
index 000000000..ef48087dd
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/ModerateNavigation/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as ModerateNavigationContainer,
+} from "./ModerateNavigationContainer";
diff --git a/src/core/client/admin/routes/moderate/components/Search/Bar.css b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Bar.css
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.css
diff --git a/src/core/client/admin/routes/moderate/components/Search/Bar.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Bar.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Search/Field.css b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Field.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Field.css
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Field.css
diff --git a/src/core/client/admin/routes/moderate/components/Search/Field.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Field.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Field.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Field.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Search/GoToAriaInfo.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/GoToAriaInfo.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/GoToAriaInfo.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/GoToAriaInfo.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Search/Group.css b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Group.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Group.css
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Group.css
diff --git a/src/core/client/admin/routes/moderate/components/Search/Group.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Group.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/Group.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/Group.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Search/ModerateAllOption.css b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateAllOption.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/ModerateAllOption.css
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateAllOption.css
diff --git a/src/core/client/admin/routes/moderate/components/Search/ModerateAllOption.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateAllOption.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/ModerateAllOption.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateAllOption.tsx
diff --git a/src/core/client/admin/routes/moderate/containers/ModerateSearchBarContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx
similarity index 87%
rename from src/core/client/admin/routes/moderate/containers/ModerateSearchBarContainer.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx
index efbb3fc04..e2698ce05 100644
--- a/src/core/client/admin/routes/moderate/containers/ModerateSearchBarContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx
@@ -10,7 +10,6 @@ import React, {
import { graphql } from "react-relay";
import { ModerateSearchBarContainer_story as ModerationQueuesData } from "coral-admin/__generated__/ModerateSearchBarContainer_story.graphql";
-import { SearchStoryFetch } from "coral-admin/fetches";
import { useEffectWhenChanged } from "coral-framework/hooks";
import { useFetch, withFragmentContainer } from "coral-framework/lib/relay";
import { PropTypesOf } from "coral-framework/types";
@@ -21,8 +20,12 @@ import {
ListBoxOptionElement,
} from "coral-ui/hooks/useComboBox";
-import * as Search from "../components/Search";
-import GoToAriaInfo from "../components/Search/GoToAriaInfo";
+import Bar from "./Bar";
+import GoToAriaInfo from "./GoToAriaInfo";
+import ModerateAllOption from "./ModerateAllOption";
+import Option from "./Option";
+import SearchStoryFetch from "./SearchStoryFetch";
+import SeeAllOption from "./SeeAllOption";
interface Props {
router: Router;
@@ -31,7 +34,7 @@ interface Props {
allStories: boolean;
}
-type SearchBarOptions = PropTypesOf["options"];
+type SearchBarOptions = PropTypesOf["options"];
/**
* useLinkNavHandler returns a handler that navigates to `href` prop and blurs
@@ -63,12 +66,12 @@ function getContextOptionsWhenModeratingAll(
return [
{
element: (
-
+
+
),
onClickOrEnter,
group: "CONTEXT",
@@ -86,18 +89,18 @@ function getContextOptionsWhenModeratingStory(
return [
{
element: (
-
{story.metadata && story.metadata.title}
-
+
),
onClickOrEnter,
group: "CONTEXT",
},
{
- element: ,
+ element: ,
onClickOrEnter,
group: "CONTEXT",
},
@@ -134,9 +137,9 @@ function useSearchOptions(
setSearchOptions([
{
element: (
-
+
+
),
group: "SEARCH",
},
@@ -156,12 +159,12 @@ function useSearchOptions(
}
nextSearchOptions.push({
element: (
-
{e.node.metadata && e.node.metadata.title}
-
+
),
onClickOrEnter,
group: "SEARCH",
@@ -170,11 +173,11 @@ function useSearchOptions(
} else {
nextSearchOptions.push({
element: (
-
+
+
),
group: "SEARCH",
});
@@ -182,7 +185,7 @@ function useSearchOptions(
if (stories.pageInfo.hasNextPage) {
nextSearchOptions.push({
element: (
-
),
@@ -200,9 +203,7 @@ function useSearchOptions(
const ModerateSearchBarContainer: React.FunctionComponent = props => {
const linkNavHandler = useLinkNavHandler(props.router);
- const contextOptions: PropTypesOf<
- typeof Search.Bar
- >["options"] = props.allStories
+ const contextOptions: PropTypesOf["options"] = props.allStories
? getContextOptionsWhenModeratingAll(linkNavHandler)
: getContextOptionsWhenModeratingStory(linkNavHandler, props.story);
@@ -222,23 +223,23 @@ const ModerateSearchBarContainer: React.FunctionComponent = props => {
if (props.allStories) {
return (
-
+
);
}
if (!props.story) {
- return ;
+ return ;
}
const t = props.story!.metadata && props.story!.metadata.title;
if (t) {
- return ;
+ return ;
}
return (
- (
environment,
graphql`
- query SearchStoryQuery($query: String!, $limit: Int!) {
+ query SearchStoryFetchQuery($query: String!, $limit: Int!) {
stories(query: $query, first: $limit) {
edges {
node {
diff --git a/src/core/client/admin/routes/moderate/components/Search/SeeAllOption.css b/src/core/client/admin/routes/Moderate/ModerateSearchBar/SeeAllOption.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/SeeAllOption.css
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/SeeAllOption.css
diff --git a/src/core/client/admin/routes/moderate/components/Search/SeeAllOption.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/SeeAllOption.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Search/SeeAllOption.tsx
rename to src/core/client/admin/routes/Moderate/ModerateSearchBar/SeeAllOption.tsx
diff --git a/src/core/client/admin/routes/Moderate/ModerateSearchBar/index.ts b/src/core/client/admin/routes/Moderate/ModerateSearchBar/index.ts
new file mode 100644
index 000000000..d8c1f79d4
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/ModerateSearchBar/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as ModerateSearchBarContainer,
+} from "./ModerateSearchBarContainer";
diff --git a/src/core/client/admin/routes/moderate/components/EmptyMessage.css b/src/core/client/admin/routes/Moderate/Queue/EmptyMessage.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/EmptyMessage.css
rename to src/core/client/admin/routes/Moderate/Queue/EmptyMessage.css
diff --git a/src/core/client/admin/routes/moderate/components/EmptyMessage.tsx b/src/core/client/admin/routes/Moderate/Queue/EmptyMessage.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/EmptyMessage.tsx
rename to src/core/client/admin/routes/Moderate/Queue/EmptyMessage.tsx
diff --git a/src/core/client/admin/routes/moderate/components/LoadingQueue.tsx b/src/core/client/admin/routes/Moderate/Queue/LoadingQueue.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/LoadingQueue.tsx
rename to src/core/client/admin/routes/Moderate/Queue/LoadingQueue.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Queue.css b/src/core/client/admin/routes/Moderate/Queue/Queue.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Queue.css
rename to src/core/client/admin/routes/Moderate/Queue/Queue.css
diff --git a/src/core/client/admin/routes/moderate/components/Queue.spec.tsx b/src/core/client/admin/routes/Moderate/Queue/Queue.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/Queue.spec.tsx
rename to src/core/client/admin/routes/Moderate/Queue/Queue.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/Queue.tsx b/src/core/client/admin/routes/Moderate/Queue/Queue.tsx
similarity index 90%
rename from src/core/client/admin/routes/moderate/components/Queue.tsx
rename to src/core/client/admin/routes/Moderate/Queue/Queue.tsx
index 738bb7426..7962bcaaa 100644
--- a/src/core/client/admin/routes/moderate/components/Queue.tsx
+++ b/src/core/client/admin/routes/Moderate/Queue/Queue.tsx
@@ -1,11 +1,11 @@
import React, { FunctionComponent } from "react";
import { CSSTransition, TransitionGroup } from "react-transition-group";
-import AutoLoadMoreContainer from "coral-admin/containers/AutoLoadMoreContainer";
+import AutoLoadMore from "coral-admin/components/AutoLoadMore";
import { Flex, HorizontalGutter } from "coral-ui/components";
import { PropTypesOf } from "coral-ui/types";
-import ModerateCardContainer from "../containers/ModerateCardContainer";
+import ModerateCardContainer from "../ModerateCard";
import styles from "./Queue.css";
@@ -55,7 +55,7 @@ const Queue: FunctionComponent = ({
{hasMore && (
-
diff --git a/src/core/client/admin/routes/moderate/containers/QueueContainer.tsx b/src/core/client/admin/routes/Moderate/Queue/QueueRoute.tsx
similarity index 74%
rename from src/core/client/admin/routes/moderate/containers/QueueContainer.tsx
rename to src/core/client/admin/routes/Moderate/Queue/QueueRoute.tsx
index a0bf11636..14f05c6f5 100644
--- a/src/core/client/admin/routes/moderate/containers/QueueContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/Queue/QueueRoute.tsx
@@ -3,17 +3,17 @@ import { RouteProps } from "found";
import React from "react";
import { graphql, GraphQLTaggedNode, RelayPaginationProp } from "react-relay";
-import { QueueContainer_queue as QueueData } from "coral-admin/__generated__/QueueContainer_queue.graphql";
-import { QueueContainer_settings as SettingsData } from "coral-admin/__generated__/QueueContainer_settings.graphql";
-import { QueueContainerPaginationPendingQueryVariables } from "coral-admin/__generated__/QueueContainerPaginationPendingQuery.graphql";
+import { QueueRoute_queue as QueueData } from "coral-admin/__generated__/QueueRoute_queue.graphql";
+import { QueueRoute_settings as SettingsData } from "coral-admin/__generated__/QueueRoute_settings.graphql";
+import { QueueRoutePaginationPendingQueryVariables } from "coral-admin/__generated__/QueueRoutePaginationPendingQuery.graphql";
import { IntersectionProvider } from "coral-framework/lib/intersection";
import { withPaginationContainer } from "coral-framework/lib/relay";
-import EmptyMessage from "../components/EmptyMessage";
-import LoadingQueue from "../components/LoadingQueue";
-import Queue from "../components/Queue";
+import EmptyMessage from "./EmptyMessage";
+import LoadingQueue from "./LoadingQueue";
+import Queue from "./Queue";
-interface QueueContainerProps {
+interface QueueRouteProps {
queue: QueueData;
settings: SettingsData;
relay: RelayPaginationProp;
@@ -25,7 +25,7 @@ interface QueueContainerProps {
const danglingLogic = (status: string) =>
["APPROVED", "REJECTED"].indexOf(status) >= 0;
-export class QueueContainer extends React.Component {
+export class QueueRoute extends React.Component {
public static routeConfig: RouteProps;
public state = {
@@ -69,21 +69,21 @@ export class QueueContainer extends React.Component {
}
// TODO: (cvle) If this could be autogenerated..
-type FragmentVariables = QueueContainerPaginationPendingQueryVariables;
+type FragmentVariables = QueueRoutePaginationPendingQueryVariables;
-const createQueueContainer = (
+const createQueueRoute = (
queueQuery: GraphQLTaggedNode,
paginationQuery: GraphQLTaggedNode,
emptyElement: React.ReactElement
) => {
const enhanced = (withPaginationContainer<
- QueueContainerProps,
- QueueContainerPaginationPendingQueryVariables,
+ QueueRouteProps,
+ QueueRoutePaginationPendingQueryVariables,
FragmentVariables
>(
{
queue: graphql`
- fragment QueueContainer_queue on ModerationQueue
+ fragment QueueRoute_queue on ModerationQueue
@argumentDefinitions(
count: { type: "Int!", defaultValue: 5 }
cursor: { type: "Cursor" }
@@ -101,7 +101,7 @@ const createQueueContainer = (
}
`,
settings: graphql`
- fragment QueueContainer_settings on Settings {
+ fragment QueueRoute_settings on Settings {
...ModerateCardContainer_settings
}
`,
@@ -127,7 +127,7 @@ const createQueueContainer = (
},
query: paginationQuery,
}
- )(QueueContainer) as any) as typeof QueueContainer;
+ )(QueueRoute) as any) as typeof QueueRoute;
enhanced.routeConfig = {
Component: enhanced,
@@ -154,30 +154,30 @@ const createQueueContainer = (
return enhanced;
};
-export const PendingQueueContainer = createQueueContainer(
+export const PendingQueueRoute = createQueueRoute(
graphql`
- query QueueContainerPendingQuery($storyID: ID) {
+ query QueueRoutePendingQuery($storyID: ID) {
moderationQueues(storyID: $storyID) {
pending {
- ...QueueContainer_queue
+ ...QueueRoute_queue
}
}
settings {
- ...QueueContainer_settings
+ ...QueueRoute_settings
}
}
`,
graphql`
# Pagination query to be fetched upon calling 'loadMore'.
# Notice that we re-use our fragment, and the shape of this query matches our fragment spec.
- query QueueContainerPaginationPendingQuery(
+ query QueueRoutePaginationPendingQuery(
$storyID: ID
$count: Int!
$cursor: Cursor
) {
moderationQueues(storyID: $storyID) {
pending {
- ...QueueContainer_queue @arguments(count: $count, cursor: $cursor)
+ ...QueueRoute_queue @arguments(count: $count, cursor: $cursor)
}
}
}
@@ -190,30 +190,30 @@ export const PendingQueueContainer = createQueueContainer(
);
-export const ReportedQueueContainer = createQueueContainer(
+export const ReportedQueueRoute = createQueueRoute(
graphql`
- query QueueContainerReportedQuery($storyID: ID) {
+ query QueueRouteReportedQuery($storyID: ID) {
moderationQueues(storyID: $storyID) {
reported {
- ...QueueContainer_queue
+ ...QueueRoute_queue
}
}
settings {
- ...QueueContainer_settings
+ ...QueueRoute_settings
}
}
`,
graphql`
# Pagination query to be fetched upon calling 'loadMore'.
# Notice that we re-use our fragment, and the shape of this query matches our fragment spec.
- query QueueContainerPaginationReportedQuery(
+ query QueueRoutePaginationReportedQuery(
$storyID: ID
$count: Int!
$cursor: Cursor
) {
moderationQueues(storyID: $storyID) {
reported {
- ...QueueContainer_queue @arguments(count: $count, cursor: $cursor)
+ ...QueueRoute_queue @arguments(count: $count, cursor: $cursor)
}
}
}
@@ -226,30 +226,30 @@ export const ReportedQueueContainer = createQueueContainer(
);
-export const UnmoderatedQueueContainer = createQueueContainer(
+export const UnmoderatedQueueRoute = createQueueRoute(
graphql`
- query QueueContainerUnmoderatedQuery($storyID: ID) {
+ query QueueRouteUnmoderatedQuery($storyID: ID) {
moderationQueues(storyID: $storyID) {
unmoderated {
- ...QueueContainer_queue
+ ...QueueRoute_queue
}
}
settings {
- ...QueueContainer_settings
+ ...QueueRoute_settings
}
}
`,
graphql`
# Pagination query to be fetched upon calling 'loadMore'.
# Notice that we re-use our fragment, and the shape of this query matches our fragment spec.
- query QueueContainerPaginationUnmoderatedQuery(
+ query QueueRoutePaginationUnmoderatedQuery(
$storyID: ID
$count: Int!
$cursor: Cursor
) {
moderationQueues(storyID: $storyID) {
unmoderated {
- ...QueueContainer_queue @arguments(count: $count, cursor: $cursor)
+ ...QueueRoute_queue @arguments(count: $count, cursor: $cursor)
}
}
}
diff --git a/src/core/client/admin/routes/moderate/containers/RejectedQueueContainer.tsx b/src/core/client/admin/routes/Moderate/Queue/RejectedQueueRoute.tsx
similarity index 77%
rename from src/core/client/admin/routes/moderate/containers/RejectedQueueContainer.tsx
rename to src/core/client/admin/routes/Moderate/Queue/RejectedQueueRoute.tsx
index bd6e94328..baf621be1 100644
--- a/src/core/client/admin/routes/moderate/containers/RejectedQueueContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/Queue/RejectedQueueRoute.tsx
@@ -3,16 +3,16 @@ import { RouteProps } from "found";
import React from "react";
import { graphql, RelayPaginationProp } from "react-relay";
-import { RejectedQueueContainer_query as QueryData } from "coral-admin/__generated__/RejectedQueueContainer_query.graphql";
-import { RejectedQueueContainerPaginationQueryVariables } from "coral-admin/__generated__/RejectedQueueContainerPaginationQuery.graphql";
+import { RejectedQueueRoute_query as QueryData } from "coral-admin/__generated__/RejectedQueueRoute_query.graphql";
+import { RejectedQueueRoutePaginationQueryVariables } from "coral-admin/__generated__/RejectedQueueRoutePaginationQuery.graphql";
import { IntersectionProvider } from "coral-framework/lib/intersection";
import { withPaginationContainer } from "coral-framework/lib/relay";
-import EmptyMessage from "../components/EmptyMessage";
-import LoadingQueue from "../components/LoadingQueue";
-import Queue from "../components/Queue";
+import EmptyMessage from "./EmptyMessage";
+import LoadingQueue from "./LoadingQueue";
+import Queue from "./Queue";
-interface RejectedQueueContainerProps {
+interface RejectedQueueRouteProps {
query: QueryData;
relay: RelayPaginationProp;
storyID?: string;
@@ -21,8 +21,8 @@ interface RejectedQueueContainerProps {
// TODO: use generated types
const danglingLogic = (status: string) => ["APPROVED"].indexOf(status) >= 0;
-export class RejectedQueueContainer extends React.Component<
- RejectedQueueContainerProps
+export class RejectedQueueRoute extends React.Component<
+ RejectedQueueRouteProps
> {
public static routeConfig: RouteProps;
@@ -71,16 +71,16 @@ export class RejectedQueueContainer extends React.Component<
}
// TODO: (cvle) If this could be autogenerated..
-type FragmentVariables = RejectedQueueContainerPaginationQueryVariables;
+type FragmentVariables = RejectedQueueRoutePaginationQueryVariables;
const enhanced = (withPaginationContainer<
- RejectedQueueContainerProps,
- RejectedQueueContainerPaginationQueryVariables,
+ RejectedQueueRouteProps,
+ RejectedQueueRoutePaginationQueryVariables,
FragmentVariables
>(
{
query: graphql`
- fragment RejectedQueueContainer_query on Query
+ fragment RejectedQueueRoute_query on Query
@argumentDefinitions(
count: { type: "Int!", defaultValue: 5 }
cursor: { type: "Cursor" }
@@ -127,23 +127,23 @@ const enhanced = (withPaginationContainer<
query: graphql`
# Pagination query to be fetched upon calling 'loadMore'.
# Notice that we re-use our fragment, and the shape of this query matches our fragment spec.
- query RejectedQueueContainerPaginationQuery(
+ query RejectedQueueRoutePaginationQuery(
$storyID: ID
$count: Int!
$cursor: Cursor
) {
- ...RejectedQueueContainer_query
+ ...RejectedQueueRoute_query
@arguments(storyID: $storyID, count: $count, cursor: $cursor)
}
`,
}
-)(RejectedQueueContainer) as any) as typeof RejectedQueueContainer;
+)(RejectedQueueRoute) as any) as typeof RejectedQueueRoute;
enhanced.routeConfig = {
Component: enhanced,
query: graphql`
- query RejectedQueueContainerQuery($storyID: ID) {
- ...RejectedQueueContainer_query @arguments(storyID: $storyID)
+ query RejectedQueueRouteQuery($storyID: ID) {
+ ...RejectedQueueRoute_query @arguments(storyID: $storyID)
}
`,
cacheConfig: { force: true },
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/Queue.spec.tsx.snap b/src/core/client/admin/routes/Moderate/Queue/__snapshots__/Queue.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/Queue.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/Queue/__snapshots__/Queue.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Moderate/Queue/index.ts b/src/core/client/admin/routes/Moderate/Queue/index.ts
new file mode 100644
index 000000000..e3aebfb76
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/Queue/index.ts
@@ -0,0 +1,8 @@
+export {
+ PendingQueueRoute,
+ UnmoderatedQueueRoute,
+ ReportedQueueRoute,
+} from "./QueueRoute";
+export { default as RejectedQueueRoute } from "./RejectedQueueRoute";
+export { default as LoadingQueue } from "./LoadingQueue";
+export { default as Queue } from "./Queue";
diff --git a/src/core/client/admin/routes/moderate/components/SingleModerate.css b/src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.css
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/SingleModerate.css
rename to src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.css
diff --git a/src/core/client/admin/routes/moderate/components/SingleModerate.spec.tsx b/src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.spec.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/SingleModerate.spec.tsx
rename to src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.spec.tsx
diff --git a/src/core/client/admin/routes/moderate/components/SingleModerate.tsx b/src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.tsx
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/SingleModerate.tsx
rename to src/core/client/admin/routes/Moderate/SingleModerate/SingleModerate.tsx
diff --git a/src/core/client/admin/routes/moderate/containers/SingleModerateContainer.tsx b/src/core/client/admin/routes/Moderate/SingleModerate/SingleModerateRoute.tsx
similarity index 65%
rename from src/core/client/admin/routes/moderate/containers/SingleModerateContainer.tsx
rename to src/core/client/admin/routes/Moderate/SingleModerate/SingleModerateRoute.tsx
index 1c880de52..efbb0857a 100644
--- a/src/core/client/admin/routes/moderate/containers/SingleModerateContainer.tsx
+++ b/src/core/client/admin/routes/Moderate/SingleModerate/SingleModerateRoute.tsx
@@ -3,18 +3,17 @@ import { noop } from "lodash";
import React from "react";
import { graphql } from "react-relay";
-import { SingleModerateContainerQueryResponse } from "coral-admin/__generated__/SingleModerateContainerQuery.graphql";
+import { SingleModerateRouteQueryResponse } from "coral-admin/__generated__/SingleModerateRouteQuery.graphql";
import NotFound from "../../NotFound";
-import LoadingQueue from "../components/LoadingQueue";
-import Queue from "../components/Queue";
-import SingleModerate from "../components/SingleModerate";
+import { LoadingQueue, Queue } from "../Queue";
+import SingleModerate from "./SingleModerate";
-type Props = SingleModerateContainerQueryResponse;
+type Props = SingleModerateRouteQueryResponse;
const danglingLogic = () => false;
-export default class SingleModerateContainer extends React.Component {
+export default class SingleModerateRoute extends React.Component {
public static routeConfig: RouteProps;
public render() {
@@ -36,10 +35,10 @@ export default class SingleModerateContainer extends React.Component {
}
}
-SingleModerateContainer.routeConfig = {
- Component: SingleModerateContainer,
+SingleModerateRoute.routeConfig = {
+ Component: SingleModerateRoute,
query: graphql`
- query SingleModerateContainerQuery($commentID: ID!) {
+ query SingleModerateRouteQuery($commentID: ID!) {
comment(id: $commentID) {
id
...ModerateCardContainer_comment
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/SingleModerate.spec.tsx.snap b/src/core/client/admin/routes/Moderate/SingleModerate/__snapshots__/SingleModerate.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/SingleModerate.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/SingleModerate/__snapshots__/SingleModerate.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Moderate/SingleModerate/index.ts b/src/core/client/admin/routes/Moderate/SingleModerate/index.ts
new file mode 100644
index 000000000..8618b9e88
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/SingleModerate/index.ts
@@ -0,0 +1 @@
+export { default, default as SingleModerateRoute } from "./SingleModerateRoute";
diff --git a/src/core/client/admin/routes/moderate/components/__snapshots__/Moderate.spec.tsx.snap b/src/core/client/admin/routes/Moderate/__snapshots__/Moderate.spec.tsx.snap
similarity index 100%
rename from src/core/client/admin/routes/moderate/components/__snapshots__/Moderate.spec.tsx.snap
rename to src/core/client/admin/routes/Moderate/__snapshots__/Moderate.spec.tsx.snap
diff --git a/src/core/client/admin/routes/Moderate/index.ts b/src/core/client/admin/routes/Moderate/index.ts
new file mode 100644
index 000000000..cdd082a65
--- /dev/null
+++ b/src/core/client/admin/routes/Moderate/index.ts
@@ -0,0 +1 @@
+export { default, default as ModerateRoute } from "./ModerateContainer";
diff --git a/src/core/client/admin/routes/stories/components/EmptyMessage.css b/src/core/client/admin/routes/Stories/EmptyMessage.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/EmptyMessage.css
rename to src/core/client/admin/routes/Stories/EmptyMessage.css
diff --git a/src/core/client/admin/routes/stories/components/EmptyMessage.tsx b/src/core/client/admin/routes/Stories/EmptyMessage.tsx
similarity index 100%
rename from src/core/client/admin/routes/stories/components/EmptyMessage.tsx
rename to src/core/client/admin/routes/Stories/EmptyMessage.tsx
diff --git a/src/core/client/admin/routes/stories/components/NoMatchMessage.css b/src/core/client/admin/routes/Stories/NoMatchMessage.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/NoMatchMessage.css
rename to src/core/client/admin/routes/Stories/NoMatchMessage.css
diff --git a/src/core/client/admin/routes/stories/components/NoMatchMessage.tsx b/src/core/client/admin/routes/Stories/NoMatchMessage.tsx
similarity index 100%
rename from src/core/client/admin/routes/stories/components/NoMatchMessage.tsx
rename to src/core/client/admin/routes/Stories/NoMatchMessage.tsx
diff --git a/src/core/client/admin/routes/stories/components/Stories.css b/src/core/client/admin/routes/Stories/Stories.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/Stories.css
rename to src/core/client/admin/routes/Stories/Stories.css
diff --git a/src/core/client/admin/routes/stories/components/Stories.tsx b/src/core/client/admin/routes/Stories/Stories.tsx
similarity index 89%
rename from src/core/client/admin/routes/stories/components/Stories.tsx
rename to src/core/client/admin/routes/Stories/Stories.tsx
index c85d3efe8..473575235 100644
--- a/src/core/client/admin/routes/stories/components/Stories.tsx
+++ b/src/core/client/admin/routes/Stories/Stories.tsx
@@ -3,7 +3,7 @@ import React, { FunctionComponent } from "react";
import MainLayout from "coral-admin/components/MainLayout";
import { PropTypesOf } from "coral-framework/types";
-import StoryTableContainer from "../containers/StoryTableContainer";
+import StoryTableContainer from "./StoryTableContainer";
import styles from "./Stories.css";
diff --git a/src/core/client/admin/routes/stories/containers/StoriesContainer.tsx b/src/core/client/admin/routes/Stories/StoriesRoute.tsx
similarity index 70%
rename from src/core/client/admin/routes/stories/containers/StoriesContainer.tsx
rename to src/core/client/admin/routes/Stories/StoriesRoute.tsx
index fb6c1c0f2..7e1ed8555 100644
--- a/src/core/client/admin/routes/stories/containers/StoriesContainer.tsx
+++ b/src/core/client/admin/routes/Stories/StoriesRoute.tsx
@@ -2,18 +2,18 @@ import { FormApi } from "final-form";
import React, { FunctionComponent } from "react";
import { graphql } from "react-relay";
-import { StoriesContainerQueryResponse } from "coral-admin/__generated__/StoriesContainerQuery.graphql";
+import { StoriesRouteQueryResponse } from "coral-admin/__generated__/StoriesRouteQuery.graphql";
import { withRouteConfig } from "coral-framework/lib/router";
-import Stories from "../components/Stories";
+import Stories from "./Stories";
interface Props {
- data: StoriesContainerQueryResponse | null;
+ data: StoriesRouteQueryResponse | null;
form: FormApi;
initialSearchFilter?: string;
}
-const StoriesContainer: FunctionComponent = props => {
+const StoriesRoute: FunctionComponent = props => {
return (
= props => {
const enhanced = withRouteConfig({
query: graphql`
- query StoriesContainerQuery($searchFilter: String) {
+ query StoriesRouteQuery($searchFilter: String) {
...StoryTableContainer_query @arguments(searchFilter: $searchFilter)
}
`,
@@ -37,6 +37,6 @@ const enhanced = withRouteConfig({
render: ({ match, Component, ...rest }) => (
),
-})(StoriesContainer);
+})(StoriesRoute);
export default enhanced;
diff --git a/src/core/client/admin/routes/stories/components/StoryRow.css b/src/core/client/admin/routes/Stories/StoryRow.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StoryRow.css
rename to src/core/client/admin/routes/Stories/StoryRow.css
diff --git a/src/core/client/admin/routes/stories/components/StoryRow.tsx b/src/core/client/admin/routes/Stories/StoryRow.tsx
similarity index 73%
rename from src/core/client/admin/routes/stories/components/StoryRow.tsx
rename to src/core/client/admin/routes/Stories/StoryRow.tsx
index 34afac46e..1855eb080 100644
--- a/src/core/client/admin/routes/stories/components/StoryRow.tsx
+++ b/src/core/client/admin/routes/Stories/StoryRow.tsx
@@ -6,18 +6,16 @@ import { getModerationLink } from "coral-admin/helpers";
import { PropTypesOf } from "coral-framework/types";
import { TableCell, TableRow, TextLink } from "coral-ui/components";
-import StatusChangeContainer from "../containers/StatusChangeContainer";
-import StatusText from "./StatusText";
-
import styles from "./StoryRow.css";
+import StoryStatus from "./StoryStatus";
interface Props {
- canChangeStatus: boolean;
storyID: string;
title: string | null;
author: string | null;
publishDate: string | null;
- status: PropTypesOf["status"];
+ story: PropTypesOf["story"];
+ viewer: PropTypesOf["viewer"];
}
const UserRow: FunctionComponent = props => (
@@ -34,11 +32,7 @@ const UserRow: FunctionComponent = props => (
{props.publishDate || }
- {props.canChangeStatus ? (
-
- ) : (
- {props.status}
- )}
+
);
diff --git a/src/core/client/admin/routes/stories/containers/StoryRowContainer.tsx b/src/core/client/admin/routes/Stories/StoryRowContainer.tsx
similarity index 84%
rename from src/core/client/admin/routes/stories/containers/StoryRowContainer.tsx
rename to src/core/client/admin/routes/Stories/StoryRowContainer.tsx
index f581ad1a9..08af19af2 100644
--- a/src/core/client/admin/routes/stories/containers/StoryRowContainer.tsx
+++ b/src/core/client/admin/routes/Stories/StoryRowContainer.tsx
@@ -6,8 +6,7 @@ import { StoryRowContainer_viewer as ViewerData } from "coral-admin/__generated_
import { useCoralContext } from "coral-framework/lib/bootstrap";
import { withFragmentContainer } from "coral-framework/lib/relay";
-import { Ability, can } from "coral-admin/permissions";
-import StoryRow from "../components/StoryRow";
+import StoryRow from "./StoryRow";
interface Props {
story: StoryData;
@@ -24,6 +23,8 @@ const StoryRowContainer: FunctionComponent = props => {
storyID={props.story.id}
title={title}
author={author}
+ story={props.story}
+ viewer={props.viewer}
publishDate={
publishedAt
? new Intl.DateTimeFormat(locales, {
@@ -36,11 +37,6 @@ const StoryRowContainer: FunctionComponent = props => {
}).format(new Date(publishedAt))
: null
}
- status={props.story.status}
- canChangeStatus={
- props.viewer.id !== props.story.id &&
- can(props.viewer, Ability.CHANGE_STORY_STATUS)
- }
/>
);
};
@@ -49,7 +45,7 @@ const enhanced = withFragmentContainer({
viewer: graphql`
fragment StoryRowContainer_viewer on User {
id
- role
+ ...StoryStatusChangeContainer_viewer
}
`,
story: graphql`
@@ -61,7 +57,7 @@ const enhanced = withFragmentContainer({
publishedAt
}
isClosed
- status
+ ...StoryStatusChangeContainer_story
}
`,
})(StoryRowContainer);
diff --git a/src/core/client/admin/mutations/CloseStoryMutation.ts b/src/core/client/admin/routes/Stories/StoryStatus/CloseStoryMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/CloseStoryMutation.ts
rename to src/core/client/admin/routes/Stories/StoryStatus/CloseStoryMutation.ts
diff --git a/src/core/client/admin/mutations/OpenStoryMutation.ts b/src/core/client/admin/routes/Stories/StoryStatus/OpenStoryMutation.ts
similarity index 100%
rename from src/core/client/admin/mutations/OpenStoryMutation.ts
rename to src/core/client/admin/routes/Stories/StoryStatus/OpenStoryMutation.ts
diff --git a/src/core/client/admin/routes/stories/components/StatusChange.css b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChange.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StatusChange.css
rename to src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChange.css
diff --git a/src/core/client/admin/routes/stories/components/StatusChange.tsx b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChange.tsx
similarity index 89%
rename from src/core/client/admin/routes/stories/components/StatusChange.tsx
rename to src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChange.tsx
index e1b8d8ae8..2e1d16cbf 100644
--- a/src/core/client/admin/routes/stories/components/StatusChange.tsx
+++ b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChange.tsx
@@ -12,15 +12,15 @@ import {
Popover,
} from "coral-ui/components";
-import styles from "./StatusChange.css";
-import StatusText from "./StatusText";
+import styles from "./StoryStatusChange.css";
+import StoryStatusText from "./StoryStatusText";
interface Props {
onChangeStatus: (status: GQLSTORY_STATUS_RL) => void;
status: GQLSTORY_STATUS_RL;
}
-const StatusChange: FunctionComponent = props => (
+const StoryStatusChange: FunctionComponent = props => (
= props => (
variant="regular"
size="small"
>
- {props.status}
+ {props.status}
{
{visible ? "arrow_drop_up" : "arrow_drop_down"}
@@ -77,4 +77,4 @@ const StatusChange: FunctionComponent = props => (
);
-export default StatusChange;
+export default StoryStatusChange;
diff --git a/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChangeContainer.tsx b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChangeContainer.tsx
new file mode 100644
index 000000000..68cd2ab05
--- /dev/null
+++ b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusChangeContainer.tsx
@@ -0,0 +1,76 @@
+import React, { FunctionComponent, useCallback } from "react";
+
+import { StoryStatusChangeContainer_story } from "coral-admin/__generated__/StoryStatusChangeContainer_story.graphql";
+import { StoryStatusChangeContainer_viewer } from "coral-admin/__generated__/StoryStatusChangeContainer_viewer.graphql";
+import { Ability, can } from "coral-admin/permissions";
+import {
+ graphql,
+ MutationProp,
+ withFragmentContainer,
+ withMutation,
+} from "coral-framework/lib/relay";
+import { GQLSTORY_STATUS, GQLSTORY_STATUS_RL } from "coral-framework/schema";
+
+import CloseStoryMutation from "./CloseStoryMutation";
+import OpenStoryMutation from "./OpenStoryMutation";
+import StoryStatusChange from "./StoryStatusChange";
+import StoryStatusText from "./StoryStatusText";
+
+interface Props {
+ openStory: MutationProp;
+ closeStory: MutationProp;
+ viewer: StoryStatusChangeContainer_viewer;
+ story: StoryStatusChangeContainer_story;
+}
+
+const StoryStatusChangeContainer: FunctionComponent = props => {
+ const handleChangeStatus = useCallback(
+ (status: GQLSTORY_STATUS_RL) => {
+ if (props.story.status === status) {
+ return;
+ }
+ if (status === GQLSTORY_STATUS.CLOSED) {
+ props.closeStory({ id: props.story.id });
+ } else if (status === GQLSTORY_STATUS.OPEN) {
+ props.openStory({ id: props.story.id });
+ }
+ },
+ [props.story.id, props.closeStory, props.openStory, props.story.status]
+ );
+
+ const canChangeStatus =
+ props.viewer.id !== props.story.id &&
+ can(props.viewer, Ability.CHANGE_STORY_STATUS);
+
+ if (!canChangeStatus) {
+ return {props.story.status};
+ }
+
+ return (
+
+ );
+};
+
+const enhanced = withMutation(OpenStoryMutation)(
+ withMutation(CloseStoryMutation)(
+ withFragmentContainer({
+ viewer: graphql`
+ fragment StoryStatusChangeContainer_viewer on User {
+ id
+ role
+ }
+ `,
+ story: graphql`
+ fragment StoryStatusChangeContainer_story on Story {
+ id
+ status
+ }
+ `,
+ })(StoryStatusChangeContainer)
+ )
+);
+
+export default enhanced;
diff --git a/src/core/client/admin/routes/stories/components/StatusText.css b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusText.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StatusText.css
rename to src/core/client/admin/routes/Stories/StoryStatus/StoryStatusText.css
diff --git a/src/core/client/admin/routes/stories/components/StatusText.tsx b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusText.tsx
similarity index 78%
rename from src/core/client/admin/routes/stories/components/StatusText.tsx
rename to src/core/client/admin/routes/Stories/StoryStatus/StoryStatusText.tsx
index bd77948a3..dac806921 100644
--- a/src/core/client/admin/routes/stories/components/StatusText.tsx
+++ b/src/core/client/admin/routes/Stories/StoryStatus/StoryStatusText.tsx
@@ -4,13 +4,13 @@ import React, { FunctionComponent } from "react";
import TranslatedStoryStatus from "coral-admin/components/TranslatedStoryStatus";
import { GQLSTORY_STATUS_RL } from "coral-framework/schema";
-import styles from "./StatusText.css";
+import styles from "./StoryStatusText.css";
interface Props {
children: GQLSTORY_STATUS_RL;
}
-const StatusText: FunctionComponent = props => (
+const StoryStatusText: FunctionComponent = props => (
= props => (
);
-export default StatusText;
+export default StoryStatusText;
diff --git a/src/core/client/admin/routes/Stories/StoryStatus/index.ts b/src/core/client/admin/routes/Stories/StoryStatus/index.ts
new file mode 100644
index 000000000..b87c4cbc0
--- /dev/null
+++ b/src/core/client/admin/routes/Stories/StoryStatus/index.ts
@@ -0,0 +1,4 @@
+export {
+ default,
+ default as StoryStatusChangeContainer,
+} from "./StoryStatusChangeContainer";
diff --git a/src/core/client/admin/routes/stories/components/StoryTable.css b/src/core/client/admin/routes/Stories/StoryTable.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StoryTable.css
rename to src/core/client/admin/routes/Stories/StoryTable.css
diff --git a/src/core/client/admin/routes/stories/components/StoryTable.tsx b/src/core/client/admin/routes/Stories/StoryTable.tsx
similarity index 93%
rename from src/core/client/admin/routes/stories/components/StoryTable.tsx
rename to src/core/client/admin/routes/Stories/StoryTable.tsx
index 6af691fd0..244e95e6a 100644
--- a/src/core/client/admin/routes/stories/components/StoryTable.tsx
+++ b/src/core/client/admin/routes/Stories/StoryTable.tsx
@@ -3,7 +3,7 @@ import React, { FunctionComponent } from "react";
import { PropTypesOf } from "coral-framework/types";
-import AutoLoadMoreContainer from "coral-admin/containers/AutoLoadMoreContainer";
+import AutoLoadMore from "coral-admin/components/AutoLoadMore";
import { Flex, HorizontalGutter, Spinner } from "coral-ui/components";
import {
Table,
@@ -13,7 +13,7 @@ import {
TableRow,
} from "coral-ui/components/Table";
-import StoryRowContainer from "../containers/StoryRowContainer";
+import StoryRowContainer from "./StoryRowContainer";
import EmptyMessage from "./EmptyMessage";
import NoMatchMessage from "./NoMatchMessage";
@@ -81,7 +81,7 @@ const StoryTable: FunctionComponent = props => (
)}
{props.hasMore && (
-
diff --git a/src/core/client/admin/routes/stories/containers/StoryTableContainer.tsx b/src/core/client/admin/routes/Stories/StoryTableContainer.tsx
similarity index 97%
rename from src/core/client/admin/routes/stories/containers/StoryTableContainer.tsx
rename to src/core/client/admin/routes/Stories/StoryTableContainer.tsx
index fed286489..7b5b7a955 100644
--- a/src/core/client/admin/routes/stories/containers/StoryTableContainer.tsx
+++ b/src/core/client/admin/routes/Stories/StoryTableContainer.tsx
@@ -10,10 +10,10 @@ import {
withPaginationContainer,
} from "coral-framework/lib/relay";
import { GQLSTORY_STATUS_RL } from "coral-framework/schema";
-
import { HorizontalGutter } from "coral-ui/components";
-import StoryTable from "../components/StoryTable";
-import StoryTableFilter from "../components/StoryTableFilter";
+
+import StoryTable from "./StoryTable";
+import StoryTableFilter from "./StoryTableFilter";
interface Props {
initialSearchFilter?: string;
diff --git a/src/core/client/admin/routes/stories/components/StoryTableFilter.css b/src/core/client/admin/routes/Stories/StoryTableFilter.css
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StoryTableFilter.css
rename to src/core/client/admin/routes/Stories/StoryTableFilter.css
diff --git a/src/core/client/admin/routes/stories/components/StoryTableFilter.tsx b/src/core/client/admin/routes/Stories/StoryTableFilter.tsx
similarity index 100%
rename from src/core/client/admin/routes/stories/components/StoryTableFilter.tsx
rename to src/core/client/admin/routes/Stories/StoryTableFilter.tsx
diff --git a/src/core/client/admin/routes/Stories/index.ts b/src/core/client/admin/routes/Stories/index.ts
new file mode 100644
index 000000000..521e4016f
--- /dev/null
+++ b/src/core/client/admin/routes/Stories/index.ts
@@ -0,0 +1 @@
+export { default, default as StoriesRoute } from "./StoriesRoute";
diff --git a/src/core/client/admin/routes/community/containers/RoleChangeContainer.tsx b/src/core/client/admin/routes/community/containers/RoleChangeContainer.tsx
deleted file mode 100644
index 1c39791cd..000000000
--- a/src/core/client/admin/routes/community/containers/RoleChangeContainer.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import React, { FunctionComponent, useCallback } from "react";
-
-import { UpdateUserRoleMutation } from "coral-admin/mutations";
-import { useMutation } from "coral-framework/lib/relay";
-import { GQLUSER_ROLE_RL } from "coral-framework/schema";
-
-import RoleChange from "../components/RoleChange";
-
-interface Props {
- userID: string;
- role: GQLUSER_ROLE_RL;
-}
-
-const RoleChangeContainer: FunctionComponent = props => {
- const updateUserRole = useMutation(UpdateUserRoleMutation);
- const handleOnChangeRole = useCallback(
- (role: GQLUSER_ROLE_RL) => {
- if (role === props.role) {
- return;
- }
- updateUserRole({ userID: props.userID, role });
- },
- [props.userID, props.role, updateUserRole]
- );
- return ;
-};
-
-export default RoleChangeContainer;
diff --git a/src/core/client/admin/routes/configure/components/Navigation/index.ts b/src/core/client/admin/routes/configure/components/Navigation/index.ts
deleted file mode 100644
index dd3df0eb6..000000000
--- a/src/core/client/admin/routes/configure/components/Navigation/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as Navigation } from "./Navigation";
-export { default as Link } from "./Link";
diff --git a/src/core/client/admin/routes/moderate/components/Search/index.ts b/src/core/client/admin/routes/moderate/components/Search/index.ts
deleted file mode 100644
index 3fe1de6d5..000000000
--- a/src/core/client/admin/routes/moderate/components/Search/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as Bar } from "./Bar";
-export { default as Field } from "./Field";
-export { default as Option } from "./Option";
-export { default as ModerateAllOption } from "./ModerateAllOption";
-export { default as SeeAllOption } from "./SeeAllOption";
diff --git a/src/core/client/admin/routes/stories/containers/StatusChangeContainer.tsx b/src/core/client/admin/routes/stories/containers/StatusChangeContainer.tsx
deleted file mode 100644
index 1520d8ef2..000000000
--- a/src/core/client/admin/routes/stories/containers/StatusChangeContainer.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import React, { FunctionComponent, useCallback } from "react";
-
-import { CloseStoryMutation, OpenStoryMutation } from "coral-admin/mutations";
-import { GQLSTORY_STATUS, GQLSTORY_STATUS_RL } from "coral-framework/schema";
-
-import { MutationProp, withMutation } from "coral-framework/lib/relay";
-import StatusChange from "../components/StatusChange";
-
-interface Props {
- storyID: string;
- status: GQLSTORY_STATUS_RL;
- openStory: MutationProp;
- closeStory: MutationProp;
-}
-
-const StatusChangeContainer: FunctionComponent = props => {
- const handleChangeStatus = useCallback(
- (status: GQLSTORY_STATUS_RL) => {
- if (props.status === status) {
- return;
- }
- if (status === GQLSTORY_STATUS.CLOSED) {
- props.closeStory({ id: props.storyID });
- } else if (status === GQLSTORY_STATUS.OPEN) {
- props.openStory({ id: props.storyID });
- }
- },
- [props.storyID, props.closeStory, props.openStory, props.status]
- );
- return (
-
- );
-};
-
-const enhanced = withMutation(OpenStoryMutation)(
- withMutation(CloseStoryMutation)(StatusChangeContainer)
-);
-
-export default enhanced;
diff --git a/src/core/client/admin/test/community/__snapshots__/community.spec.tsx.snap b/src/core/client/admin/test/community/__snapshots__/community.spec.tsx.snap
index 2f6816e57..5e1ef87b7 100644
--- a/src/core/client/admin/test/community/__snapshots__/community.spec.tsx.snap
+++ b/src/core/client/admin/test/community/__snapshots__/community.spec.tsx.snap
@@ -346,14 +346,14 @@ exports[`renders community 1`] = `
className="ButtonPadding-root"
>
Admin
|
|
|
) {
- return createTestRenderer ("admin", , params);
+ return createTestRenderer("admin", , params);
}
diff --git a/src/core/client/admin/test/stories/__snapshots__/stories.spec.tsx.snap b/src/core/client/admin/test/stories/__snapshots__/stories.spec.tsx.snap
index d439b23f3..0feb8283a 100644
--- a/src/core/client/admin/test/stories/__snapshots__/stories.spec.tsx.snap
+++ b/src/core/client/admin/test/stories/__snapshots__/stories.spec.tsx.snap
@@ -190,7 +190,7 @@ exports[`renders empty stories 1`] = `
>
|