diff --git a/src/core/client/account/App.css b/src/core/client/account/App/App.css similarity index 100% rename from src/core/client/account/App.css rename to src/core/client/account/App/App.css diff --git a/src/core/client/account/App.tsx b/src/core/client/account/App/App.tsx similarity index 82% rename from src/core/client/account/App.tsx rename to src/core/client/account/App/App.tsx index 4e23f1720..ae925c1e6 100644 --- a/src/core/client/account/App.tsx +++ b/src/core/client/account/App/App.tsx @@ -6,8 +6,9 @@ import React, { FunctionComponent } from "react"; import { CoralContextConsumer } from "coral-framework/lib/bootstrap/CoralContext"; -import routeConfig from "./routeConfig"; -import NotFound from "./routes/NotFound"; +import routeConfig from "../routeConfig"; +import NotFound from "../routes/NotFound"; +import MainLayout from "./MainLayout"; import "./App.css"; @@ -30,7 +31,9 @@ const Router = createFarceRouter({ const EntryContainer: FunctionComponent = () => ( {({ relayEnvironment }) => ( - + + + )} ); diff --git a/src/core/client/account/components/MainLayout.css b/src/core/client/account/App/MainLayout.css similarity index 100% rename from src/core/client/account/components/MainLayout.css rename to src/core/client/account/App/MainLayout.css diff --git a/src/core/client/account/components/MainLayout.tsx b/src/core/client/account/App/MainLayout.tsx similarity index 100% rename from src/core/client/account/components/MainLayout.tsx rename to src/core/client/account/App/MainLayout.tsx diff --git a/src/core/client/account/App/index.ts b/src/core/client/account/App/index.ts new file mode 100644 index 000000000..13e877c87 --- /dev/null +++ b/src/core/client/account/App/index.ts @@ -0,0 +1 @@ +export { default, default as App } from "./App"; diff --git a/src/core/client/account/fetches/index.ts b/src/core/client/account/fetches/index.ts deleted file mode 100644 index af0d3e8a3..000000000 --- a/src/core/client/account/fetches/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as CheckResetTokenFetch } from "./CheckResetTokenFetch"; diff --git a/src/core/client/account/mutations/index.ts b/src/core/client/account/mutations/index.ts deleted file mode 100644 index 21051c135..000000000 --- a/src/core/client/account/mutations/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as ResetPasswordMutation } from "./ResetPasswordMutation"; diff --git a/src/core/client/account/routeConfig.tsx b/src/core/client/account/routeConfig.tsx index f90d39c9a..afe46ef44 100644 --- a/src/core/client/account/routeConfig.tsx +++ b/src/core/client/account/routeConfig.tsx @@ -1,13 +1,12 @@ import { makeRouteConfig, Route } from "found"; import React from "react"; -import MainLayout from "./components/MainLayout"; -import ResetPassword from "./routes/password/reset/Index"; +import ResetRoute from "./routes/password/Reset"; export default makeRouteConfig( - + - + ); diff --git a/src/core/client/account/routes/NotFound.tsx b/src/core/client/account/routes/NotFound.tsx index 3f0aba29f..a3d30b71b 100644 --- a/src/core/client/account/routes/NotFound.tsx +++ b/src/core/client/account/routes/NotFound.tsx @@ -1,7 +1,7 @@ import { HorizontalGutter, Typography } from "coral-ui/components"; import React, { FunctionComponent } from "react"; -const NotFound: FunctionComponent = ({ children }) => ( +const NotFound: FunctionComponent = () => ( Not Found diff --git a/src/core/client/account/fetches/CheckResetTokenFetch.tsx b/src/core/client/account/routes/password/Reset/CheckResetTokenFetch.tsx similarity index 100% rename from src/core/client/account/fetches/CheckResetTokenFetch.tsx rename to src/core/client/account/routes/password/Reset/CheckResetTokenFetch.tsx diff --git a/src/core/client/account/routes/password/reset/ResetPasswordForm.tsx b/src/core/client/account/routes/password/Reset/ResetPasswordForm.tsx similarity index 98% rename from src/core/client/account/routes/password/reset/ResetPasswordForm.tsx rename to src/core/client/account/routes/password/Reset/ResetPasswordForm.tsx index 8b50b19e9..097d69ded 100644 --- a/src/core/client/account/routes/password/reset/ResetPasswordForm.tsx +++ b/src/core/client/account/routes/password/Reset/ResetPasswordForm.tsx @@ -3,7 +3,6 @@ import { Localized } from "fluent-react/compat"; import React, { useCallback } from "react"; import { Field, Form } from "react-final-form"; -import { ResetPasswordMutation } from "coral-account/mutations"; import { InvalidRequestError } from "coral-framework/lib/errors"; import { useMutation } from "coral-framework/lib/relay"; import { @@ -23,6 +22,8 @@ import { ValidationMessage, } from "coral-ui/components"; +import ResetPasswordMutation from "./ResetPasswordMutation"; + interface Props { token: string; disabled?: boolean; diff --git a/src/core/client/account/mutations/ResetPasswordMutation.tsx b/src/core/client/account/routes/password/Reset/ResetPasswordMutation.tsx similarity index 100% rename from src/core/client/account/mutations/ResetPasswordMutation.tsx rename to src/core/client/account/routes/password/Reset/ResetPasswordMutation.tsx diff --git a/src/core/client/account/routes/password/reset/Index.tsx b/src/core/client/account/routes/password/Reset/ResetRoute.tsx similarity index 91% rename from src/core/client/account/routes/password/reset/Index.tsx rename to src/core/client/account/routes/password/Reset/ResetRoute.tsx index f5c0706d9..21100b85a 100644 --- a/src/core/client/account/routes/password/reset/Index.tsx +++ b/src/core/client/account/routes/password/Reset/ResetRoute.tsx @@ -11,7 +11,7 @@ interface Props { token: string | undefined; } -const Index: React.FunctionComponent = ({ token }) => { +const ResetRoute: React.FunctionComponent = ({ token }) => { const [suceeded, setSuceeded] = useState(false); const onSuccess = useCallback(() => { setSuceeded(true); @@ -28,6 +28,6 @@ const enhanced = withRouteConfig({ render: ({ match, Component }) => ( ), -})(Index); +})(ResetRoute); export default enhanced; diff --git a/src/core/client/account/routes/password/reset/ResetTokenChecker.tsx b/src/core/client/account/routes/password/Reset/ResetTokenChecker.tsx similarity index 97% rename from src/core/client/account/routes/password/reset/ResetTokenChecker.tsx rename to src/core/client/account/routes/password/Reset/ResetTokenChecker.tsx index b3bf1834b..2628e64d9 100644 --- a/src/core/client/account/routes/password/reset/ResetTokenChecker.tsx +++ b/src/core/client/account/routes/password/Reset/ResetTokenChecker.tsx @@ -1,12 +1,11 @@ -import { Localized } from "fluent-react/compat"; -import React, { useEffect, useState } from "react"; - -import { CheckResetTokenFetch } from "coral-account/fetches"; import { ERROR_CODES } from "coral-common/errors"; import { InvalidRequestError } from "coral-framework/lib/errors"; import { useFetch } from "coral-framework/lib/relay"; import { Delay, Flex, Spinner } from "coral-ui/components"; +import { Localized } from "fluent-react/compat"; +import React, { useEffect, useState } from "react"; +import CheckResetTokenFetch from "./CheckResetTokenFetch"; import Sorry from "./Sorry"; interface Props { diff --git a/src/core/client/account/routes/password/reset/Sorry.tsx b/src/core/client/account/routes/password/Reset/Sorry.tsx similarity index 100% rename from src/core/client/account/routes/password/reset/Sorry.tsx rename to src/core/client/account/routes/password/Reset/Sorry.tsx diff --git a/src/core/client/account/routes/password/reset/Success.tsx b/src/core/client/account/routes/password/Reset/Success.tsx similarity index 100% rename from src/core/client/account/routes/password/reset/Success.tsx rename to src/core/client/account/routes/password/Reset/Success.tsx diff --git a/src/core/client/account/routes/password/Reset/index.ts b/src/core/client/account/routes/password/Reset/index.ts new file mode 100644 index 000000000..da62ba617 --- /dev/null +++ b/src/core/client/account/routes/password/Reset/index.ts @@ -0,0 +1 @@ +export { default, default as ResetRoute } from "./ResetRoute"; diff --git a/src/core/client/admin/containers/EntryContainer.tsx b/src/core/client/admin/App/App.tsx similarity index 93% rename from src/core/client/admin/containers/EntryContainer.tsx rename to src/core/client/admin/App/App.tsx index 70ae1ad42..b9a9f8072 100644 --- a/src/core/client/admin/containers/EntryContainer.tsx +++ b/src/core/client/admin/App/App.tsx @@ -25,7 +25,7 @@ const Router = createFarceRouter({ ), }); -const EntryContainer: FunctionComponent = () => ( +const App: FunctionComponent = () => ( {({ relayEnvironment }) => ( @@ -33,4 +33,4 @@ const EntryContainer: FunctionComponent = () => ( ); -export default EntryContainer; +export default App; diff --git a/src/core/client/admin/views/decisionHistory/components/ApprovedComment.spec.tsx b/src/core/client/admin/App/DecisionHistory/ApprovedComment.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ApprovedComment.spec.tsx rename to src/core/client/admin/App/DecisionHistory/ApprovedComment.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/ApprovedComment.tsx b/src/core/client/admin/App/DecisionHistory/ApprovedComment.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ApprovedComment.tsx rename to src/core/client/admin/App/DecisionHistory/ApprovedComment.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/ApprovedIcon.css b/src/core/client/admin/App/DecisionHistory/ApprovedIcon.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ApprovedIcon.css rename to src/core/client/admin/App/DecisionHistory/ApprovedIcon.css diff --git a/src/core/client/admin/views/decisionHistory/components/ApprovedIcon.spec.tsx b/src/core/client/admin/App/DecisionHistory/ApprovedIcon.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ApprovedIcon.spec.tsx rename to src/core/client/admin/App/DecisionHistory/ApprovedIcon.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/ApprovedIcon.tsx b/src/core/client/admin/App/DecisionHistory/ApprovedIcon.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ApprovedIcon.tsx rename to src/core/client/admin/App/DecisionHistory/ApprovedIcon.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionHistory.spec.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistory.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionHistory.spec.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistory.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionHistory.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistory.tsx similarity index 93% rename from src/core/client/admin/views/decisionHistory/components/DecisionHistory.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistory.tsx index 8a6743e32..4685b9bff 100644 --- a/src/core/client/admin/views/decisionHistory/components/DecisionHistory.tsx +++ b/src/core/client/admin/App/DecisionHistory/DecisionHistory.tsx @@ -2,7 +2,7 @@ import React, { FunctionComponent } from "react"; import { PropTypesOf } from "coral-framework/types"; -import DecisionHistoryItemContainer from "../containers/DecisionHistoryItemContainer"; +import DecisionHistoryItemContainer from "./DecisionHistoryItemContainer"; import DecisionList from "./DecisionList"; import Empty from "./Empty"; import Main from "./Main"; diff --git a/src/core/client/admin/components/DecisionHistoryButton.css b/src/core/client/admin/App/DecisionHistory/DecisionHistoryButton.css similarity index 100% rename from src/core/client/admin/components/DecisionHistoryButton.css rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryButton.css diff --git a/src/core/client/admin/components/DecisionHistoryButton.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryButton.tsx similarity index 93% rename from src/core/client/admin/components/DecisionHistoryButton.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryButton.tsx index 2160a3459..e712722c9 100644 --- a/src/core/client/admin/components/DecisionHistoryButton.tsx +++ b/src/core/client/admin/App/DecisionHistory/DecisionHistoryButton.tsx @@ -3,7 +3,7 @@ import React, { FunctionComponent } from "react"; import { BaseButton, ClickOutside, Icon, Popover } from "coral-ui/components"; -import DecisionHistoryQuery from "../views/decisionHistory/queries/DecisionHistoryQuery"; +import DecisionHistoryQuery from "./DecisionHistoryQuery"; import styles from "./DecisionHistoryButton.css"; diff --git a/src/core/client/admin/views/decisionHistory/containers/DecisionHistoryContainer.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryContainer.tsx similarity index 98% rename from src/core/client/admin/views/decisionHistory/containers/DecisionHistoryContainer.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryContainer.tsx index 6f0d4c418..dea635741 100644 --- a/src/core/client/admin/views/decisionHistory/containers/DecisionHistoryContainer.tsx +++ b/src/core/client/admin/App/DecisionHistory/DecisionHistoryContainer.tsx @@ -5,7 +5,7 @@ import { DecisionHistoryContainer_viewer as ViewerData } from "coral-admin/__gen import { DecisionHistoryContainerPaginationQueryVariables } from "coral-admin/__generated__/DecisionHistoryContainerPaginationQuery.graphql"; import { withPaginationContainer } from "coral-framework/lib/relay"; -import DecisionHistory from "../components/DecisionHistory"; +import DecisionHistory from "./DecisionHistory"; interface DecisionHistoryContainerProps { viewer: ViewerData; diff --git a/src/core/client/admin/views/decisionHistory/containers/DecisionHistoryItemContainer.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryItemContainer.tsx similarity index 93% rename from src/core/client/admin/views/decisionHistory/containers/DecisionHistoryItemContainer.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryItemContainer.tsx index d8bb21e4f..307b6c728 100644 --- a/src/core/client/admin/views/decisionHistory/containers/DecisionHistoryItemContainer.tsx +++ b/src/core/client/admin/App/DecisionHistory/DecisionHistoryItemContainer.tsx @@ -4,8 +4,8 @@ import { graphql } from "react-relay"; import { DecisionHistoryItemContainer_action as ActionData } from "coral-admin/__generated__/DecisionHistoryItemContainer_action.graphql"; import { withFragmentContainer } from "coral-framework/lib/relay"; -import ApprovedComment from "../components/ApprovedComment"; -import RejectedComment from "../components/RejectedComment"; +import ApprovedComment from "./ApprovedComment"; +import RejectedComment from "./RejectedComment"; interface DecisionHistoryItemContainerProps { action: ActionData; diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.css b/src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.css rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.css diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.spec.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.spec.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionHistoryLoading.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryLoading.tsx diff --git a/src/core/client/admin/views/decisionHistory/queries/DecisionHistoryQuery.tsx b/src/core/client/admin/App/DecisionHistory/DecisionHistoryQuery.tsx similarity index 87% rename from src/core/client/admin/views/decisionHistory/queries/DecisionHistoryQuery.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionHistoryQuery.tsx index 0ea305403..7eebc3832 100644 --- a/src/core/client/admin/views/decisionHistory/queries/DecisionHistoryQuery.tsx +++ b/src/core/client/admin/App/DecisionHistory/DecisionHistoryQuery.tsx @@ -3,8 +3,8 @@ import React, { Component } from "react"; import { DecisionHistoryQuery as QueryTypes } from "coral-admin/__generated__/DecisionHistoryQuery.graphql"; -import DecisionHistoryLoading from "../components/DecisionHistoryLoading"; -import DecisionHistoryContainer from "../containers/DecisionHistoryContainer"; +import DecisionHistoryContainer from "./DecisionHistoryContainer"; +import DecisionHistoryLoading from "./DecisionHistoryLoading"; interface Props { onClosePopover: () => void; diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionItem.css b/src/core/client/admin/App/DecisionHistory/DecisionItem.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionItem.css rename to src/core/client/admin/App/DecisionHistory/DecisionItem.css diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionItem.spec.tsx b/src/core/client/admin/App/DecisionHistory/DecisionItem.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionItem.spec.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionItem.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionItem.tsx b/src/core/client/admin/App/DecisionHistory/DecisionItem.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionItem.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionItem.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionList.css b/src/core/client/admin/App/DecisionHistory/DecisionList.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionList.css rename to src/core/client/admin/App/DecisionHistory/DecisionList.css diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionList.spec.tsx b/src/core/client/admin/App/DecisionHistory/DecisionList.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionList.spec.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionList.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DecisionList.tsx b/src/core/client/admin/App/DecisionHistory/DecisionList.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DecisionList.tsx rename to src/core/client/admin/App/DecisionHistory/DecisionList.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DotDivider.css b/src/core/client/admin/App/DecisionHistory/DotDivider.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DotDivider.css rename to src/core/client/admin/App/DecisionHistory/DotDivider.css diff --git a/src/core/client/admin/views/decisionHistory/components/DotDivider.spec.tsx b/src/core/client/admin/App/DecisionHistory/DotDivider.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DotDivider.spec.tsx rename to src/core/client/admin/App/DecisionHistory/DotDivider.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/DotDivider.tsx b/src/core/client/admin/App/DecisionHistory/DotDivider.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/DotDivider.tsx rename to src/core/client/admin/App/DecisionHistory/DotDivider.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Empty.css b/src/core/client/admin/App/DecisionHistory/Empty.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Empty.css rename to src/core/client/admin/App/DecisionHistory/Empty.css diff --git a/src/core/client/admin/views/decisionHistory/components/Empty.spec.tsx b/src/core/client/admin/App/DecisionHistory/Empty.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Empty.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Empty.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Empty.tsx b/src/core/client/admin/App/DecisionHistory/Empty.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Empty.tsx rename to src/core/client/admin/App/DecisionHistory/Empty.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Footer.css b/src/core/client/admin/App/DecisionHistory/Footer.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Footer.css rename to src/core/client/admin/App/DecisionHistory/Footer.css diff --git a/src/core/client/admin/views/decisionHistory/components/Footer.spec.tsx b/src/core/client/admin/App/DecisionHistory/Footer.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Footer.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Footer.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Footer.tsx b/src/core/client/admin/App/DecisionHistory/Footer.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Footer.tsx rename to src/core/client/admin/App/DecisionHistory/Footer.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/GoToCommentLink.css b/src/core/client/admin/App/DecisionHistory/GoToCommentLink.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/GoToCommentLink.css rename to src/core/client/admin/App/DecisionHistory/GoToCommentLink.css diff --git a/src/core/client/admin/views/decisionHistory/components/GoToCommentLink.spec.tsx b/src/core/client/admin/App/DecisionHistory/GoToCommentLink.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/GoToCommentLink.spec.tsx rename to src/core/client/admin/App/DecisionHistory/GoToCommentLink.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/GoToCommentLink.tsx b/src/core/client/admin/App/DecisionHistory/GoToCommentLink.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/GoToCommentLink.tsx rename to src/core/client/admin/App/DecisionHistory/GoToCommentLink.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Info.css b/src/core/client/admin/App/DecisionHistory/Info.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Info.css rename to src/core/client/admin/App/DecisionHistory/Info.css diff --git a/src/core/client/admin/views/decisionHistory/components/Info.spec.tsx b/src/core/client/admin/App/DecisionHistory/Info.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Info.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Info.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Info.tsx b/src/core/client/admin/App/DecisionHistory/Info.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Info.tsx rename to src/core/client/admin/App/DecisionHistory/Info.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Main.css b/src/core/client/admin/App/DecisionHistory/Main.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Main.css rename to src/core/client/admin/App/DecisionHistory/Main.css diff --git a/src/core/client/admin/views/decisionHistory/components/Main.spec.tsx b/src/core/client/admin/App/DecisionHistory/Main.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Main.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Main.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Main.tsx b/src/core/client/admin/App/DecisionHistory/Main.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Main.tsx rename to src/core/client/admin/App/DecisionHistory/Main.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/RejectedComment.spec.tsx b/src/core/client/admin/App/DecisionHistory/RejectedComment.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/RejectedComment.spec.tsx rename to src/core/client/admin/App/DecisionHistory/RejectedComment.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/RejectedComment.tsx b/src/core/client/admin/App/DecisionHistory/RejectedComment.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/RejectedComment.tsx rename to src/core/client/admin/App/DecisionHistory/RejectedComment.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/RejectedIcon.css b/src/core/client/admin/App/DecisionHistory/RejectedIcon.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/RejectedIcon.css rename to src/core/client/admin/App/DecisionHistory/RejectedIcon.css diff --git a/src/core/client/admin/views/decisionHistory/components/RejectedIcon.spec.tsx b/src/core/client/admin/App/DecisionHistory/RejectedIcon.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/RejectedIcon.spec.tsx rename to src/core/client/admin/App/DecisionHistory/RejectedIcon.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/RejectedIcon.tsx b/src/core/client/admin/App/DecisionHistory/RejectedIcon.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/RejectedIcon.tsx rename to src/core/client/admin/App/DecisionHistory/RejectedIcon.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/ShowMoreButton.css b/src/core/client/admin/App/DecisionHistory/ShowMoreButton.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ShowMoreButton.css rename to src/core/client/admin/App/DecisionHistory/ShowMoreButton.css diff --git a/src/core/client/admin/views/decisionHistory/components/ShowMoreButton.spec.tsx b/src/core/client/admin/App/DecisionHistory/ShowMoreButton.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ShowMoreButton.spec.tsx rename to src/core/client/admin/App/DecisionHistory/ShowMoreButton.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/ShowMoreButton.tsx b/src/core/client/admin/App/DecisionHistory/ShowMoreButton.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/ShowMoreButton.tsx rename to src/core/client/admin/App/DecisionHistory/ShowMoreButton.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Timestamp.css b/src/core/client/admin/App/DecisionHistory/Timestamp.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Timestamp.css rename to src/core/client/admin/App/DecisionHistory/Timestamp.css diff --git a/src/core/client/admin/views/decisionHistory/components/Timestamp.spec.tsx b/src/core/client/admin/App/DecisionHistory/Timestamp.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Timestamp.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Timestamp.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Timestamp.tsx b/src/core/client/admin/App/DecisionHistory/Timestamp.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Timestamp.tsx rename to src/core/client/admin/App/DecisionHistory/Timestamp.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Title.css b/src/core/client/admin/App/DecisionHistory/Title.css similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Title.css rename to src/core/client/admin/App/DecisionHistory/Title.css diff --git a/src/core/client/admin/views/decisionHistory/components/Title.spec.tsx b/src/core/client/admin/App/DecisionHistory/Title.spec.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Title.spec.tsx rename to src/core/client/admin/App/DecisionHistory/Title.spec.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/Title.tsx b/src/core/client/admin/App/DecisionHistory/Title.tsx similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/Title.tsx rename to src/core/client/admin/App/DecisionHistory/Title.tsx diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/ApprovedComment.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/ApprovedComment.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/ApprovedComment.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/ApprovedComment.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/ApprovedIcon.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/ApprovedIcon.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/ApprovedIcon.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/ApprovedIcon.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionHistory.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionHistory.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionHistory.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionHistory.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionHistoryLoading.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionHistoryLoading.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionHistoryLoading.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionHistoryLoading.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionItem.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionItem.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionItem.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionItem.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionList.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionList.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/DecisionList.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/DecisionList.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/DotDivider.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/DotDivider.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/DotDivider.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/DotDivider.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Empty.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Empty.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Empty.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Empty.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Footer.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Footer.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Footer.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Footer.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/GoToCommentLink.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/GoToCommentLink.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/GoToCommentLink.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/GoToCommentLink.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Info.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Info.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Info.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Info.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Main.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Main.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Main.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Main.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/RejectedComment.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/RejectedComment.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/RejectedComment.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/RejectedComment.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/RejectedIcon.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/RejectedIcon.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/RejectedIcon.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/RejectedIcon.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/ShowMoreButton.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/ShowMoreButton.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/ShowMoreButton.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/ShowMoreButton.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Timestamp.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Timestamp.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Timestamp.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Timestamp.spec.tsx.snap diff --git a/src/core/client/admin/views/decisionHistory/components/__snapshots__/Title.spec.tsx.snap b/src/core/client/admin/App/DecisionHistory/__snapshots__/Title.spec.tsx.snap similarity index 100% rename from src/core/client/admin/views/decisionHistory/components/__snapshots__/Title.spec.tsx.snap rename to src/core/client/admin/App/DecisionHistory/__snapshots__/Title.spec.tsx.snap diff --git a/src/core/client/admin/App/DecisionHistory/index.ts b/src/core/client/admin/App/DecisionHistory/index.ts new file mode 100644 index 000000000..9c5e1f3fa --- /dev/null +++ b/src/core/client/admin/App/DecisionHistory/index.ts @@ -0,0 +1,4 @@ +export { + default, + default as DecisionHistoryButton, +} from "./DecisionHistoryButton"; diff --git a/src/core/client/admin/components/App.css b/src/core/client/admin/App/Main.css similarity index 100% rename from src/core/client/admin/components/App.css rename to src/core/client/admin/App/Main.css diff --git a/src/core/client/admin/components/App.spec.tsx b/src/core/client/admin/App/Main.spec.tsx similarity index 71% rename from src/core/client/admin/components/App.spec.tsx rename to src/core/client/admin/App/Main.spec.tsx index 1cec1b5a9..0102b2943 100644 --- a/src/core/client/admin/components/App.spec.tsx +++ b/src/core/client/admin/App/Main.spec.tsx @@ -4,17 +4,17 @@ import { createRenderer } from "react-test-renderer/shallow"; import { PropTypesOf } from "coral-framework/types"; -import App from "./App"; +import Main from "./Main"; -const AppN = removeFragmentRefs(App); +const MainN = removeFragmentRefs(Main); it("renders correctly", () => { - const props: PropTypesOf = { + const props: PropTypesOf = { viewer: {}, children: "child", }; const renderer = createRenderer(); - renderer.render(); + renderer.render(); expect(renderer.getRenderOutput()).toMatchSnapshot(); }); diff --git a/src/core/client/admin/components/App.tsx b/src/core/client/admin/App/Main.tsx similarity index 73% rename from src/core/client/admin/components/App.tsx rename to src/core/client/admin/App/Main.tsx index 96c636135..71bdaa49a 100644 --- a/src/core/client/admin/components/App.tsx +++ b/src/core/client/admin/App/Main.tsx @@ -4,12 +4,12 @@ import { PropTypesOf } from "coral-framework/types"; import { Logo } from "coral-ui/components"; import { AppBar, Begin, Divider, End } from "coral-ui/components/AppBar"; -import NavigationContainer from "../containers/NavigationContainer"; -import UserMenuContainer from "../containers/UserMenuContainer"; -import DecisionHistoryButton from "./DecisionHistoryButton"; +import { DecisionHistoryButton } from "./DecisionHistory"; +import NavigationContainer from "./Navigation"; +import UserMenuContainer from "./UserMenu"; import Version from "./Version"; -import styles from "./App.css"; +import styles from "./Main.css"; interface Props { viewer: PropTypesOf["viewer"] & @@ -17,7 +17,7 @@ interface Props { children: React.ReactNode; } -const App: FunctionComponent = ({ children, viewer }) => ( +const Main: FunctionComponent = ({ children, viewer }) => (
@@ -37,4 +37,4 @@ const App: FunctionComponent = ({ children, viewer }) => (
); -export default App; +export default Main; diff --git a/src/core/client/admin/containers/AppContainer.tsx b/src/core/client/admin/App/MainRoute.tsx similarity index 55% rename from src/core/client/admin/containers/AppContainer.tsx rename to src/core/client/admin/App/MainRoute.tsx index 1422270cc..4e51a2685 100644 --- a/src/core/client/admin/containers/AppContainer.tsx +++ b/src/core/client/admin/App/MainRoute.tsx @@ -1,35 +1,35 @@ import React from "react"; -import { AppContainerQueryResponse } from "coral-admin/__generated__/AppContainerQuery.graphql"; +import { MainRouteQueryResponse } from "coral-admin/__generated__/MainRouteQuery.graphql"; import { graphql } from "coral-framework/lib/relay"; import { withRouteConfig } from "coral-framework/lib/router"; -import App from "../components/App"; +import Main from "./Main"; interface Props { - data: AppContainerQueryResponse | null; + data: MainRouteQueryResponse | null; } -class AppContainer extends React.Component { +class MainRoute extends React.Component { public render() { return ( - +
{this.props.children} - +
); } } const enhanced = withRouteConfig({ query: graphql` - query AppContainerQuery { + query MainRouteQuery { viewer { ...UserMenuContainer_viewer ...NavigationContainer_viewer } } `, -})(AppContainer); +})(MainRoute); export default enhanced; diff --git a/src/core/client/admin/components/Navigation.spec.tsx b/src/core/client/admin/App/Navigation/Navigation.spec.tsx similarity index 100% rename from src/core/client/admin/components/Navigation.spec.tsx rename to src/core/client/admin/App/Navigation/Navigation.spec.tsx diff --git a/src/core/client/admin/components/Navigation.tsx b/src/core/client/admin/App/Navigation/Navigation.tsx similarity index 100% rename from src/core/client/admin/components/Navigation.tsx rename to src/core/client/admin/App/Navigation/Navigation.tsx diff --git a/src/core/client/admin/containers/NavigationContainer.tsx b/src/core/client/admin/App/Navigation/NavigationContainer.tsx similarity index 94% rename from src/core/client/admin/containers/NavigationContainer.tsx rename to src/core/client/admin/App/Navigation/NavigationContainer.tsx index 6f8d83d55..472ecf513 100644 --- a/src/core/client/admin/containers/NavigationContainer.tsx +++ b/src/core/client/admin/App/Navigation/NavigationContainer.tsx @@ -8,7 +8,7 @@ import { withSignOutMutation, } from "coral-framework/mutations"; -import Navigation from "../components/Navigation"; +import Navigation from "./Navigation"; interface Props { signOut: SignOutMutation; diff --git a/src/core/client/admin/components/NavigationLink.spec.tsx b/src/core/client/admin/App/Navigation/NavigationLink.spec.tsx similarity index 100% rename from src/core/client/admin/components/NavigationLink.spec.tsx rename to src/core/client/admin/App/Navigation/NavigationLink.spec.tsx diff --git a/src/core/client/admin/components/NavigationLink.tsx b/src/core/client/admin/App/Navigation/NavigationLink.tsx similarity index 100% rename from src/core/client/admin/components/NavigationLink.tsx rename to src/core/client/admin/App/Navigation/NavigationLink.tsx diff --git a/src/core/client/admin/components/__snapshots__/Navigation.spec.tsx.snap b/src/core/client/admin/App/Navigation/__snapshots__/Navigation.spec.tsx.snap similarity index 100% rename from src/core/client/admin/components/__snapshots__/Navigation.spec.tsx.snap rename to src/core/client/admin/App/Navigation/__snapshots__/Navigation.spec.tsx.snap diff --git a/src/core/client/admin/components/__snapshots__/NavigationLink.spec.tsx.snap b/src/core/client/admin/App/Navigation/__snapshots__/NavigationLink.spec.tsx.snap similarity index 100% rename from src/core/client/admin/components/__snapshots__/NavigationLink.spec.tsx.snap rename to src/core/client/admin/App/Navigation/__snapshots__/NavigationLink.spec.tsx.snap diff --git a/src/core/client/admin/App/Navigation/index.ts b/src/core/client/admin/App/Navigation/index.ts new file mode 100644 index 000000000..fb09db731 --- /dev/null +++ b/src/core/client/admin/App/Navigation/index.ts @@ -0,0 +1 @@ +export { default, default as NavigationContainer } from "./NavigationContainer"; diff --git a/src/core/client/admin/components/UserMenu.css b/src/core/client/admin/App/UserMenu/UserMenu.css similarity index 100% rename from src/core/client/admin/components/UserMenu.css rename to src/core/client/admin/App/UserMenu/UserMenu.css diff --git a/src/core/client/admin/components/UserMenu.spec.tsx b/src/core/client/admin/App/UserMenu/UserMenu.spec.tsx similarity index 100% rename from src/core/client/admin/components/UserMenu.spec.tsx rename to src/core/client/admin/App/UserMenu/UserMenu.spec.tsx diff --git a/src/core/client/admin/components/UserMenu.tsx b/src/core/client/admin/App/UserMenu/UserMenu.tsx similarity index 100% rename from src/core/client/admin/components/UserMenu.tsx rename to src/core/client/admin/App/UserMenu/UserMenu.tsx diff --git a/src/core/client/admin/containers/UserMenuContainer.tsx b/src/core/client/admin/App/UserMenu/UserMenuContainer.tsx similarity index 95% rename from src/core/client/admin/containers/UserMenuContainer.tsx rename to src/core/client/admin/App/UserMenu/UserMenuContainer.tsx index 03bded8d2..aa82a0576 100644 --- a/src/core/client/admin/containers/UserMenuContainer.tsx +++ b/src/core/client/admin/App/UserMenu/UserMenuContainer.tsx @@ -7,7 +7,7 @@ import { withSignOutMutation, } from "coral-framework/mutations"; -import UserMenu from "../components/UserMenu"; +import UserMenu from "./UserMenu"; interface Props { signOut: SignOutMutation; diff --git a/src/core/client/admin/components/__snapshots__/UserMenu.spec.tsx.snap b/src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap similarity index 100% rename from src/core/client/admin/components/__snapshots__/UserMenu.spec.tsx.snap rename to src/core/client/admin/App/UserMenu/__snapshots__/UserMenu.spec.tsx.snap diff --git a/src/core/client/admin/App/UserMenu/index.ts b/src/core/client/admin/App/UserMenu/index.ts new file mode 100644 index 000000000..4c8eb94d8 --- /dev/null +++ b/src/core/client/admin/App/UserMenu/index.ts @@ -0,0 +1 @@ +export { default, default as UserMenuContainer } from "./UserMenuContainer"; diff --git a/src/core/client/admin/components/Version.css b/src/core/client/admin/App/Version.css similarity index 100% rename from src/core/client/admin/components/Version.css rename to src/core/client/admin/App/Version.css diff --git a/src/core/client/admin/components/Version.tsx b/src/core/client/admin/App/Version.tsx similarity index 100% rename from src/core/client/admin/components/Version.tsx rename to src/core/client/admin/App/Version.tsx diff --git a/src/core/client/admin/components/__snapshots__/App.spec.tsx.snap b/src/core/client/admin/App/__snapshots__/Main.spec.tsx.snap similarity index 92% rename from src/core/client/admin/components/__snapshots__/App.spec.tsx.snap rename to src/core/client/admin/App/__snapshots__/Main.spec.tsx.snap index ed3d3415d..2bb59d29c 100644 --- a/src/core/client/admin/components/__snapshots__/App.spec.tsx.snap +++ b/src/core/client/admin/App/__snapshots__/Main.spec.tsx.snap @@ -2,7 +2,7 @@ exports[`renders correctly 1`] = `
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 => ( = props => ( variant="regular" size="small" > - {props.role} + {props.role} { {visible ? "arrow_drop_up" : "arrow_drop_down"} @@ -76,4 +76,4 @@ const RoleChange: 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`] = ` > + + + + )} + + +
+ ); + } +} + +const enhanced = withSetEmailMutation(AddEmailAddressContainer); +export default enhanced; diff --git a/src/core/client/auth/mutations/SetEmailMutation.ts b/src/core/client/auth/views/AddEmailAddress/SetEmailMutation.ts similarity index 100% rename from src/core/client/auth/mutations/SetEmailMutation.ts rename to src/core/client/auth/views/AddEmailAddress/SetEmailMutation.ts diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/ListItem.css b/src/core/client/auth/views/AddEmailAddress/UnorderedList/ListItem.css similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/ListItem.css rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/ListItem.css diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/ListItem.tsx b/src/core/client/auth/views/AddEmailAddress/UnorderedList/ListItem.tsx similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/ListItem.tsx rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/ListItem.tsx diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.css b/src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.css similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.css rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.css diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.spec.tsx b/src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.spec.tsx similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.spec.tsx rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.spec.tsx diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.tsx b/src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.tsx similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/UnorderedList.tsx rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/UnorderedList.tsx diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap b/src/core/client/auth/views/AddEmailAddress/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/__snapshots__/UnorderedList.spec.tsx.snap diff --git a/src/core/client/auth/views/addEmailAddress/components/UnorderedList/index.ts b/src/core/client/auth/views/AddEmailAddress/UnorderedList/index.ts similarity index 100% rename from src/core/client/auth/views/addEmailAddress/components/UnorderedList/index.ts rename to src/core/client/auth/views/AddEmailAddress/UnorderedList/index.ts diff --git a/src/core/client/auth/views/AddEmailAddress/index.ts b/src/core/client/auth/views/AddEmailAddress/index.ts new file mode 100644 index 000000000..f72df060c --- /dev/null +++ b/src/core/client/auth/views/AddEmailAddress/index.ts @@ -0,0 +1 @@ +export { default, default as AddEmailAddress } from "./AddEmailAddress"; diff --git a/src/core/client/auth/views/CreatePassword/CreatePassword.tsx b/src/core/client/auth/views/CreatePassword/CreatePassword.tsx new file mode 100644 index 000000000..d431e479c --- /dev/null +++ b/src/core/client/auth/views/CreatePassword/CreatePassword.tsx @@ -0,0 +1,90 @@ +import { FORM_ERROR } from "final-form"; +import { Localized } from "fluent-react/compat"; +import React, { Component } from "react"; +import { Form } from "react-final-form"; + +import { Bar, Title } from "coral-auth/components//Header"; +import AutoHeight from "coral-auth/components/AutoHeight"; +import Main from "coral-auth/components/Main"; +import SetPasswordField from "coral-auth/components/SetPasswordField"; +import { OnSubmit } from "coral-framework/lib/form"; +import { + Button, + CallOut, + HorizontalGutter, + Typography, +} from "coral-ui/components"; + +import { + SetPasswordMutation, + withSetPasswordMutation, +} from "./SetPasswordMutation"; + +interface FormProps { + password: string; +} + +interface Props { + setPassword: SetPasswordMutation; +} + +class CreatePasswordContainer extends Component { + private handleSubmit: OnSubmit = async (input, form) => { + try { + await this.props.setPassword({ password: input.password }); + return form.reset(); + } catch (error) { + return { [FORM_ERROR]: error.message }; + } + }; + + public render() { + return ( +
+ + + Create Password + + +
+
+ {({ handleSubmit, submitting, submitError }) => ( + + + + + + To protect against unauthorized changes to your account, + we require users to create a password. + + + {submitError && ( + + {submitError} + + )} + + + + + + + )} + +
+
+ ); + } +} + +const enhanced = withSetPasswordMutation(CreatePasswordContainer); +export default enhanced; diff --git a/src/core/client/auth/mutations/SetPasswordMutation.ts b/src/core/client/auth/views/CreatePassword/SetPasswordMutation.ts similarity index 100% rename from src/core/client/auth/mutations/SetPasswordMutation.ts rename to src/core/client/auth/views/CreatePassword/SetPasswordMutation.ts diff --git a/src/core/client/auth/views/CreatePassword/index.ts b/src/core/client/auth/views/CreatePassword/index.ts new file mode 100644 index 000000000..5c56083d4 --- /dev/null +++ b/src/core/client/auth/views/CreatePassword/index.ts @@ -0,0 +1 @@ +export { default, default as CreatePassword } from "./CreatePassword"; diff --git a/src/core/client/auth/views/CreateUsername/CreateUsername.tsx b/src/core/client/auth/views/CreateUsername/CreateUsername.tsx new file mode 100644 index 000000000..6d893a77b --- /dev/null +++ b/src/core/client/auth/views/CreateUsername/CreateUsername.tsx @@ -0,0 +1,91 @@ +import { FORM_ERROR } from "final-form"; +import { Localized } from "fluent-react/compat"; +import React, { Component } from "react"; +import { Form } from "react-final-form"; + +import { Bar, Title } from "coral-auth/components//Header"; +import AutoHeight from "coral-auth/components/AutoHeight"; +import Main from "coral-auth/components/Main"; +import UsernameField from "coral-auth/components/UsernameField"; +import { OnSubmit } from "coral-framework/lib/form"; +import { + Button, + CallOut, + HorizontalGutter, + Typography, +} from "coral-ui/components"; + +import { + SetUsernameMutation, + withSetUsernameMutation, +} from "./SetUsernameMutation"; + +interface FormProps { + username: string; +} + +interface Props { + setUsername: SetUsernameMutation; +} + +class CreateUsernameContainer extends Component { + private handleSubmit: OnSubmit = async (input, form) => { + try { + await this.props.setUsername({ username: input.username }); + return form.reset(); + } catch (error) { + return { [FORM_ERROR]: error.message }; + } + }; + + public render() { + // tslint:disable-next-line:no-empty + return ( +
+ + + Create Username + + +
+
+ {({ handleSubmit, submitting, submitError }) => ( + + + + + + Your username is an identifier that will appear on all of + your comments. + + + {submitError && ( + + {submitError} + + )} + + + + + + + )} + +
+
+ ); + } +} + +const enhanced = withSetUsernameMutation(CreateUsernameContainer); +export default enhanced; diff --git a/src/core/client/auth/mutations/SetUsernameMutation.ts b/src/core/client/auth/views/CreateUsername/SetUsernameMutation.ts similarity index 100% rename from src/core/client/auth/mutations/SetUsernameMutation.ts rename to src/core/client/auth/views/CreateUsername/SetUsernameMutation.ts diff --git a/src/core/client/auth/views/CreateUsername/index.ts b/src/core/client/auth/views/CreateUsername/index.ts new file mode 100644 index 000000000..a2f0208a0 --- /dev/null +++ b/src/core/client/auth/views/CreateUsername/index.ts @@ -0,0 +1 @@ +export { default, default as CreateUsername } from "./CreateUsername"; diff --git a/src/core/client/auth/views/forgotPassword/components/CheckEmail.tsx b/src/core/client/auth/views/ForgotPassword/CheckEmail.tsx similarity index 100% rename from src/core/client/auth/views/forgotPassword/components/CheckEmail.tsx rename to src/core/client/auth/views/ForgotPassword/CheckEmail.tsx diff --git a/src/core/client/auth/views/forgotPassword/components/ForgotPassword.tsx b/src/core/client/auth/views/ForgotPassword/ForgotPassword.tsx similarity index 100% rename from src/core/client/auth/views/forgotPassword/components/ForgotPassword.tsx rename to src/core/client/auth/views/ForgotPassword/ForgotPassword.tsx diff --git a/src/core/client/auth/views/forgotPassword/components/ForgotPasswordForm.tsx b/src/core/client/auth/views/ForgotPassword/ForgotPasswordForm.tsx similarity index 96% rename from src/core/client/auth/views/forgotPassword/components/ForgotPasswordForm.tsx rename to src/core/client/auth/views/ForgotPassword/ForgotPasswordForm.tsx index 4b48e11e7..4794e7a9a 100644 --- a/src/core/client/auth/views/forgotPassword/components/ForgotPasswordForm.tsx +++ b/src/core/client/auth/views/ForgotPassword/ForgotPasswordForm.tsx @@ -3,11 +3,11 @@ import { Localized } from "fluent-react/compat"; import React, { FunctionComponent, useCallback } from "react"; import { Field, Form } from "react-final-form"; +import AutoHeight from "coral-auth/components/AutoHeight"; import { Bar, SubBar, Title } from "coral-auth/components/Header"; import Main from "coral-auth/components/Main"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; import { getViewURL } from "coral-auth/helpers"; -import { ForgotPasswordMutation, SetViewMutation } from "coral-auth/mutations"; +import { SetViewMutation } from "coral-auth/mutations"; import { InvalidRequestError } from "coral-framework/lib/errors"; import { useMutation } from "coral-framework/lib/relay"; import { @@ -28,6 +28,8 @@ import { ValidationMessage, } from "coral-ui/components"; +import ForgotPasswordMutation from "./ForgotPasswordMutation"; + interface FormProps { email: string; } @@ -87,7 +89,7 @@ const ForgotPasswordForm: FunctionComponent = ({ onCheckEmail }) => {
{({ handleSubmit, submitting, submitError }) => ( - + diff --git a/src/core/client/auth/mutations/ForgotPasswordMutation.ts b/src/core/client/auth/views/ForgotPassword/ForgotPasswordMutation.ts similarity index 100% rename from src/core/client/auth/mutations/ForgotPasswordMutation.ts rename to src/core/client/auth/views/ForgotPassword/ForgotPasswordMutation.ts diff --git a/src/core/client/auth/views/ForgotPassword/index.ts b/src/core/client/auth/views/ForgotPassword/index.ts new file mode 100644 index 000000000..7e5a4f7f7 --- /dev/null +++ b/src/core/client/auth/views/ForgotPassword/index.ts @@ -0,0 +1 @@ +export { default, default as ForgotPassword } from "./ForgotPassword"; diff --git a/src/core/client/auth/mutations/ClearErrorMutation.ts b/src/core/client/auth/views/SignIn/ClearErrorMutation.ts similarity index 100% rename from src/core/client/auth/mutations/ClearErrorMutation.ts rename to src/core/client/auth/views/SignIn/ClearErrorMutation.ts diff --git a/src/core/client/auth/views/signIn/components/SignIn.spec.tsx b/src/core/client/auth/views/SignIn/SignIn.spec.tsx similarity index 100% rename from src/core/client/auth/views/signIn/components/SignIn.spec.tsx rename to src/core/client/auth/views/SignIn/SignIn.spec.tsx diff --git a/src/core/client/auth/views/signIn/components/SignIn.tsx b/src/core/client/auth/views/SignIn/SignIn.tsx similarity index 84% rename from src/core/client/auth/views/signIn/components/SignIn.tsx rename to src/core/client/auth/views/SignIn/SignIn.tsx index 499067f14..50fdda9a1 100644 --- a/src/core/client/auth/views/signIn/components/SignIn.tsx +++ b/src/core/client/auth/views/SignIn/SignIn.tsx @@ -1,10 +1,10 @@ import { Localized } from "fluent-react/compat"; import React, { FunctionComponent } from "react"; -import { Bar, SubBar, Subtitle, Title } from "coral-auth/components//Header"; +import AutoHeight from "coral-auth/components/AutoHeight"; +import { Bar, SubBar, Subtitle, Title } from "coral-auth/components/Header"; import Main from "coral-auth/components/Main"; import OrSeparator from "coral-auth/components/OrSeparator"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; import { PropTypesOf } from "coral-framework/types"; import { CallOut, @@ -14,10 +14,10 @@ import { Typography, } 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 SignInWithEmailContainer from "./SignInWithEmailContainer"; +import SignInWithFacebookContainer from "./SignInWithFacebookContainer"; +import SignInWithGoogleContainer from "./SignInWithGoogleContainer"; +import SignInWithOIDCContainer from "./SignInWithOIDCContainer"; export interface SignInForm { error: string | null; @@ -46,7 +46,7 @@ const SignIn: FunctionComponent = ({ facebookEnabled || googleEnabled || oidcEnabled; return (
- + } diff --git a/src/core/client/auth/views/signIn/containers/SignInContainer.tsx b/src/core/client/auth/views/SignIn/SignInContainer.tsx similarity index 93% rename from src/core/client/auth/views/signIn/containers/SignInContainer.tsx rename to src/core/client/auth/views/SignIn/SignInContainer.tsx index 97217122c..aff90f18f 100644 --- a/src/core/client/auth/views/signIn/containers/SignInContainer.tsx +++ b/src/core/client/auth/views/SignIn/SignInContainer.tsx @@ -2,13 +2,8 @@ import React, { Component } from "react"; import { SignInContainer_auth as AuthData } from "coral-auth/__generated__/SignInContainer_auth.graphql"; import { SignInContainerLocal as LocalData } from "coral-auth/__generated__/SignInContainerLocal.graphql"; -import { - ClearErrorMutation, - SetViewMutation, - SignInMutation, - withClearErrorMutation, - withSignInMutation, -} from "coral-auth/mutations"; +import { getViewURL } from "coral-auth/helpers"; +import { SetViewMutation } from "coral-auth/mutations"; import { graphql, MutationProp, @@ -17,8 +12,12 @@ import { withMutation, } from "coral-framework/lib/relay"; -import { getViewURL } from "coral-auth/helpers"; -import SignIn from "../components/SignIn"; +import { + ClearErrorMutation, + withClearErrorMutation, +} from "./ClearErrorMutation"; +import SignIn from "./SignIn"; +import { SignInMutation, withSignInMutation } from "./SignInMutation"; interface Props { local: LocalData; diff --git a/src/core/client/auth/mutations/SignInMutation.ts b/src/core/client/auth/views/SignIn/SignInMutation.ts similarity index 100% rename from src/core/client/auth/mutations/SignInMutation.ts rename to src/core/client/auth/views/SignIn/SignInMutation.ts diff --git a/src/core/client/auth/views/signIn/components/SignInWithEmail.tsx b/src/core/client/auth/views/SignIn/SignInWithEmail.tsx similarity index 97% rename from src/core/client/auth/views/signIn/components/SignInWithEmail.tsx rename to src/core/client/auth/views/SignIn/SignInWithEmail.tsx index a2da89864..90a2030ca 100644 --- a/src/core/client/auth/views/signIn/components/SignInWithEmail.tsx +++ b/src/core/client/auth/views/SignIn/SignInWithEmail.tsx @@ -3,8 +3,8 @@ import { Localized } from "fluent-react/compat"; import React, { FunctionComponent } from "react"; import { Field, Form } from "react-final-form"; +import AutoHeight from "coral-auth/components/AutoHeight"; import EmailField from "coral-auth/components/EmailField"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; import { PasswordField } from "coral-framework/components"; import { composeValidators, required } from "coral-framework/lib/validation"; import { @@ -36,7 +36,7 @@ const SignInWithEmail: FunctionComponent = props => { {({ handleSubmit, submitting, submitError }) => ( - + {submitError && ( diff --git a/src/core/client/auth/views/signIn/containers/SignInWithEmailContainer.tsx b/src/core/client/auth/views/SignIn/SignInWithEmailContainer.tsx similarity index 85% rename from src/core/client/auth/views/signIn/containers/SignInWithEmailContainer.tsx rename to src/core/client/auth/views/SignIn/SignInWithEmailContainer.tsx index 284920e20..36ff37b31 100644 --- a/src/core/client/auth/views/signIn/containers/SignInWithEmailContainer.tsx +++ b/src/core/client/auth/views/SignIn/SignInWithEmailContainer.tsx @@ -1,17 +1,13 @@ import { FORM_ERROR } from "final-form"; import React, { Component } from "react"; -import { - SetViewMutation, - SignInMutation, - withSignInMutation, -} from "coral-auth/mutations"; +import { SetViewMutation } from "coral-auth/mutations"; import { MutationProp, withMutation } from "coral-framework/lib/relay"; import { getViewURL } from "coral-auth/helpers"; -import SignInWithEmail, { - SignInWithEmailForm, -} from "../components/SignInWithEmail"; + +import { SignInMutation, withSignInMutation } from "./SignInMutation"; +import SignInWithEmail, { SignInWithEmailForm } from "./SignInWithEmail"; interface SignInContainerProps { signIn: SignInMutation; diff --git a/src/core/client/auth/views/signIn/containers/SignInWithFacebookContainer.tsx b/src/core/client/auth/views/SignIn/SignInWithFacebookContainer.tsx similarity index 100% rename from src/core/client/auth/views/signIn/containers/SignInWithFacebookContainer.tsx rename to src/core/client/auth/views/SignIn/SignInWithFacebookContainer.tsx diff --git a/src/core/client/auth/views/signIn/containers/SignInWithGoogleContainer.tsx b/src/core/client/auth/views/SignIn/SignInWithGoogleContainer.tsx similarity index 100% rename from src/core/client/auth/views/signIn/containers/SignInWithGoogleContainer.tsx rename to src/core/client/auth/views/SignIn/SignInWithGoogleContainer.tsx diff --git a/src/core/client/auth/views/signIn/containers/SignInWithOIDCContainer.tsx b/src/core/client/auth/views/SignIn/SignInWithOIDCContainer.tsx similarity index 100% rename from src/core/client/auth/views/signIn/containers/SignInWithOIDCContainer.tsx rename to src/core/client/auth/views/SignIn/SignInWithOIDCContainer.tsx diff --git a/src/core/client/auth/views/signIn/components/__snapshots__/SignIn.spec.tsx.snap b/src/core/client/auth/views/SignIn/__snapshots__/SignIn.spec.tsx.snap similarity index 98% rename from src/core/client/auth/views/signIn/components/__snapshots__/SignIn.spec.tsx.snap rename to src/core/client/auth/views/SignIn/__snapshots__/SignIn.spec.tsx.snap index 17aaa4729..e3aae1a5b 100644 --- a/src/core/client/auth/views/signIn/components/__snapshots__/SignIn.spec.tsx.snap +++ b/src/core/client/auth/views/SignIn/__snapshots__/SignIn.spec.tsx.snap @@ -4,7 +4,7 @@ exports[`renders correctly 1`] = `
- + } @@ -65,7 +65,7 @@ exports[`renders error 1`] = `
- + } @@ -132,7 +132,7 @@ exports[`renders without email login 1`] = `
- + } diff --git a/src/core/client/auth/views/SignIn/index.ts b/src/core/client/auth/views/SignIn/index.ts new file mode 100644 index 000000000..2acfb1062 --- /dev/null +++ b/src/core/client/auth/views/SignIn/index.ts @@ -0,0 +1 @@ +export { default, default as SignInContainer } from "./SignInContainer"; diff --git a/src/core/client/auth/views/signUp/components/SignUp.spec.tsx b/src/core/client/auth/views/SignUp/SignUp.spec.tsx similarity index 100% rename from src/core/client/auth/views/signUp/components/SignUp.spec.tsx rename to src/core/client/auth/views/SignUp/SignUp.spec.tsx diff --git a/src/core/client/auth/views/signUp/components/SignUp.tsx b/src/core/client/auth/views/SignUp/SignUp.tsx similarity index 84% rename from src/core/client/auth/views/signUp/components/SignUp.tsx rename to src/core/client/auth/views/SignUp/SignUp.tsx index 3eeb451f1..d3e5880dc 100644 --- a/src/core/client/auth/views/signUp/components/SignUp.tsx +++ b/src/core/client/auth/views/SignUp/SignUp.tsx @@ -2,9 +2,9 @@ import { Localized } from "fluent-react/compat"; import React, { FunctionComponent } from "react"; import { Bar, SubBar, Subtitle, Title } from "coral-auth/components//Header"; +import AutoHeight from "coral-auth/components/AutoHeight"; import Main from "coral-auth/components/Main"; import OrSeparator from "coral-auth/components/OrSeparator"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; import { PropTypesOf } from "coral-framework/types"; import { Flex, @@ -13,10 +13,10 @@ import { Typography, } from "coral-ui/components"; -import SignUpWithEmailContainer from "../containers/SignUpWithEmailContainer"; -import SignUpWithFacebookContainer from "../containers/SignUpWithFacebookContainer"; -import SignUpWithGoogleContainer from "../containers/SignUpWithGoogleContainer"; -import SignUpWithOIDCContainer from "../containers/SignUpWithOIDCContainer"; +import SignUpWithEmailContainer from "./SignUpWithEmailContainer"; +import SignUpWithFacebookContainer from "./SignUpWithFacebookContainer"; +import SignUpWithGoogleContainer from "./SignUpWithGoogleContainer"; +import SignUpWithOIDCContainer from "./SignUpWithOIDCContainer"; interface Props { onGotoSignIn: React.EventHandler; @@ -43,7 +43,7 @@ const SignUp: FunctionComponent = ({ facebookEnabled || googleEnabled || oidcEnabled; return (
- + } diff --git a/src/core/client/auth/views/signUp/containers/SignUpContainer.tsx b/src/core/client/auth/views/SignUp/SignUpContainer.tsx similarity index 98% rename from src/core/client/auth/views/signUp/containers/SignUpContainer.tsx rename to src/core/client/auth/views/SignUp/SignUpContainer.tsx index baa1b7c63..ef2913ae1 100644 --- a/src/core/client/auth/views/signUp/containers/SignUpContainer.tsx +++ b/src/core/client/auth/views/SignUp/SignUpContainer.tsx @@ -10,7 +10,7 @@ import { } from "coral-framework/lib/relay"; import { getViewURL } from "coral-auth/helpers"; -import SignUp from "../components/SignUp"; +import SignUp from "./SignUp"; interface Props { auth: AuthData; diff --git a/src/core/client/auth/mutations/SignUpMutation.ts b/src/core/client/auth/views/SignUp/SignUpMutation.ts similarity index 100% rename from src/core/client/auth/mutations/SignUpMutation.ts rename to src/core/client/auth/views/SignUp/SignUpMutation.ts diff --git a/src/core/client/auth/views/signUp/components/SignUpWithEmail.tsx b/src/core/client/auth/views/SignUp/SignUpWithEmail.tsx similarity index 93% rename from src/core/client/auth/views/signUp/components/SignUpWithEmail.tsx rename to src/core/client/auth/views/SignUp/SignUpWithEmail.tsx index 220ae6e22..3449a9dd8 100644 --- a/src/core/client/auth/views/signUp/components/SignUpWithEmail.tsx +++ b/src/core/client/auth/views/SignUp/SignUpWithEmail.tsx @@ -3,6 +3,7 @@ import * as React from "react"; import { FunctionComponent } from "react"; import { Form } from "react-final-form"; +import AutoHeight from "coral-auth/components/AutoHeight"; import EmailField from "coral-auth/components/EmailField"; import SetPasswordField from "coral-auth/components/SetPasswordField"; import UsernameField from "coral-auth/components/UsernameField"; @@ -14,8 +15,6 @@ import { HorizontalGutter, } from "coral-ui/components"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; - interface FormProps { email: string; username: string; @@ -32,7 +31,7 @@ const SignUp: FunctionComponent = props => { {({ handleSubmit, submitting, submitError }) => ( - + {submitError && ( diff --git a/src/core/client/auth/views/signUp/containers/SignUpWithEmailContainer.tsx b/src/core/client/auth/views/SignUp/SignUpWithEmailContainer.tsx similarity index 85% rename from src/core/client/auth/views/signUp/containers/SignUpWithEmailContainer.tsx rename to src/core/client/auth/views/SignUp/SignUpWithEmailContainer.tsx index 8408ad0a1..6ba41f5b9 100644 --- a/src/core/client/auth/views/signUp/containers/SignUpWithEmailContainer.tsx +++ b/src/core/client/auth/views/SignUp/SignUpWithEmailContainer.tsx @@ -1,10 +1,11 @@ import { FORM_ERROR } from "final-form"; import React, { Component } from "react"; -import { SignUpMutation, withSignUpMutation } from "coral-auth/mutations"; import { PropTypesOf } from "coral-framework/types"; -import SignUp from "../components/SignUpWithEmail"; +import SignUp from "./SignUpWithEmail"; + +import { SignUpMutation, withSignUpMutation } from "./SignUpMutation"; interface SignUpContainerProps { signUp: SignUpMutation; diff --git a/src/core/client/auth/views/signUp/containers/SignUpWithFacebookContainer.tsx b/src/core/client/auth/views/SignUp/SignUpWithFacebookContainer.tsx similarity index 100% rename from src/core/client/auth/views/signUp/containers/SignUpWithFacebookContainer.tsx rename to src/core/client/auth/views/SignUp/SignUpWithFacebookContainer.tsx diff --git a/src/core/client/auth/views/signUp/containers/SignUpWithGoogleContainer.tsx b/src/core/client/auth/views/SignUp/SignUpWithGoogleContainer.tsx similarity index 100% rename from src/core/client/auth/views/signUp/containers/SignUpWithGoogleContainer.tsx rename to src/core/client/auth/views/SignUp/SignUpWithGoogleContainer.tsx diff --git a/src/core/client/auth/views/signUp/containers/SignUpWithOIDCContainer.tsx b/src/core/client/auth/views/SignUp/SignUpWithOIDCContainer.tsx similarity index 100% rename from src/core/client/auth/views/signUp/containers/SignUpWithOIDCContainer.tsx rename to src/core/client/auth/views/SignUp/SignUpWithOIDCContainer.tsx diff --git a/src/core/client/auth/views/signUp/components/__snapshots__/SignUp.spec.tsx.snap b/src/core/client/auth/views/SignUp/__snapshots__/SignUp.spec.tsx.snap similarity index 98% rename from src/core/client/auth/views/signUp/components/__snapshots__/SignUp.spec.tsx.snap rename to src/core/client/auth/views/SignUp/__snapshots__/SignUp.spec.tsx.snap index 30e4d7a00..96b4098f7 100644 --- a/src/core/client/auth/views/signUp/components/__snapshots__/SignUp.spec.tsx.snap +++ b/src/core/client/auth/views/SignUp/__snapshots__/SignUp.spec.tsx.snap @@ -4,7 +4,7 @@ exports[`renders correctly 1`] = `
- + } @@ -65,7 +65,7 @@ exports[`renders without email sign up 1`] = `
- + } diff --git a/src/core/client/auth/views/SignUp/index.ts b/src/core/client/auth/views/SignUp/index.ts new file mode 100644 index 000000000..633eb2b9f --- /dev/null +++ b/src/core/client/auth/views/SignUp/index.ts @@ -0,0 +1 @@ +export { default, default as SignUpContainer } from "./SignUpContainer"; diff --git a/src/core/client/auth/views/addEmailAddress/components/AddEmailAddress.tsx b/src/core/client/auth/views/addEmailAddress/components/AddEmailAddress.tsx deleted file mode 100644 index ab0c6e3b2..000000000 --- a/src/core/client/auth/views/addEmailAddress/components/AddEmailAddress.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Form } from "react-final-form"; - -import { Bar, Title } from "coral-auth/components//Header"; -import ConfirmEmailField from "coral-auth/components/ConfirmEmailField"; -import EmailField from "coral-auth/components/EmailField"; -import Main from "coral-auth/components/Main"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; -import { OnSubmit } from "coral-framework/lib/form"; -import { - Button, - CallOut, - HorizontalGutter, - Icon, - Typography, -} from "coral-ui/components"; - -import { ListItem, UnorderedList } from "./UnorderedList"; - -interface FormProps { - email: string; -} - -export interface AddEmailAddressForm { - onSubmit: OnSubmit; -} - -const AddEmailAddress: FunctionComponent = props => { - return ( -
- - - Add Email Address - - -
- - {({ handleSubmit, submitting, submitError }) => ( - - - - - - For your added security, we require users to add an email - address to their accounts. Your email address will be used - to: - - - - done}> - - - Receive updates regarding any changes to your account - (email address, username, password, etc.) - - - - done}> - - - Allow you to download your comments. - - - - done}> - - - Send comment notifications that you have chosen to - receive. - - - - - {submitError && ( - - {submitError} - - )} - - - - - - - - )} - -
-
- ); -}; - -export default AddEmailAddress; diff --git a/src/core/client/auth/views/addEmailAddress/containers/AddEmailAddressContainer.tsx b/src/core/client/auth/views/addEmailAddress/containers/AddEmailAddressContainer.tsx deleted file mode 100644 index ec90da7e1..000000000 --- a/src/core/client/auth/views/addEmailAddress/containers/AddEmailAddressContainer.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { FORM_ERROR } from "final-form"; -import React, { Component } from "react"; - -import { - SetEmailMutation, - withSetEmailMutation, -} from "coral-auth/mutations/SetEmailMutation"; -import { PropTypesOf } from "coral-framework/types"; - -import AddEmailAddress from "../components/AddEmailAddress"; - -interface Props { - setEmail: SetEmailMutation; -} - -class AddEmailAddressContainer extends Component { - private handleSubmit: PropTypesOf< - typeof AddEmailAddress - >["onSubmit"] = async (input, form) => { - try { - await this.props.setEmail({ email: input.email }); - return form.reset(); - } catch (error) { - return { [FORM_ERROR]: error.message }; - } - }; - - public render() { - // tslint:disable-next-line:no-empty - return ; - } -} - -const enhanced = withSetEmailMutation(AddEmailAddressContainer); -export default enhanced; diff --git a/src/core/client/auth/views/createPassword/components/CreatePassword.tsx b/src/core/client/auth/views/createPassword/components/CreatePassword.tsx deleted file mode 100644 index f594335ce..000000000 --- a/src/core/client/auth/views/createPassword/components/CreatePassword.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Form } from "react-final-form"; - -import { Bar, Title } from "coral-auth/components//Header"; -import Main from "coral-auth/components/Main"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; -import { OnSubmit } from "coral-framework/lib/form"; -import { - Button, - CallOut, - HorizontalGutter, - Typography, -} from "coral-ui/components"; - -import SetPasswordField from "coral-auth/components/SetPasswordField"; - -interface FormProps { - password: string; -} - -export interface CreatePasswordForm { - onSubmit: OnSubmit; -} - -const CreatePassword: FunctionComponent = props => { - return ( -
- - - Create Password - - -
-
- {({ handleSubmit, submitting, submitError }) => ( - - - - - - To protect against unauthorized changes to your account, we - require users to create a password. - - - {submitError && ( - - {submitError} - - )} - - - - - - - )} - -
-
- ); -}; - -export default CreatePassword; diff --git a/src/core/client/auth/views/createPassword/containers/CreatePasswordContainer.tsx b/src/core/client/auth/views/createPassword/containers/CreatePasswordContainer.tsx deleted file mode 100644 index 29e28f45d..000000000 --- a/src/core/client/auth/views/createPassword/containers/CreatePasswordContainer.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { FORM_ERROR } from "final-form"; -import React, { Component } from "react"; - -import { - SetPasswordMutation, - withSetPasswordMutation, -} from "coral-auth/mutations/SetPasswordMutation"; -import { PropTypesOf } from "coral-framework/types"; - -import CreatePassword from "../components/CreatePassword"; - -interface Props { - setPassword: SetPasswordMutation; -} - -class CreatePasswordContainer extends Component { - private handleSubmit: PropTypesOf["onSubmit"] = async ( - input, - form - ) => { - try { - await this.props.setPassword({ password: input.password }); - return form.reset(); - } catch (error) { - return { [FORM_ERROR]: error.message }; - } - }; - - public render() { - return ; - } -} - -const enhanced = withSetPasswordMutation(CreatePasswordContainer); -export default enhanced; diff --git a/src/core/client/auth/views/createUsername/components/CreateUsername.tsx b/src/core/client/auth/views/createUsername/components/CreateUsername.tsx deleted file mode 100644 index 61a798599..000000000 --- a/src/core/client/auth/views/createUsername/components/CreateUsername.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Form } from "react-final-form"; - -import { Bar, Title } from "coral-auth/components//Header"; -import Main from "coral-auth/components/Main"; -import AutoHeightContainer from "coral-auth/containers/AutoHeightContainer"; -import { OnSubmit } from "coral-framework/lib/form"; -import { - Button, - CallOut, - HorizontalGutter, - Typography, -} from "coral-ui/components"; - -import UsernameField from "coral-auth/components/UsernameField"; - -interface FormProps { - username: string; -} - -export interface CreateUsernameForm { - onSubmit: OnSubmit; -} - -const CreateUsername: FunctionComponent = props => { - return ( -
- - - Create Username - - -
-
- {({ handleSubmit, submitting, submitError }) => ( - - - - - - Your username is an identifier that will appear on all of - your comments. - - - {submitError && ( - - {submitError} - - )} - - - - - - - )} - -
-
- ); -}; - -export default CreateUsername; diff --git a/src/core/client/auth/views/createUsername/containers/CreateUsernameContainer.tsx b/src/core/client/auth/views/createUsername/containers/CreateUsernameContainer.tsx deleted file mode 100644 index e8845dba7..000000000 --- a/src/core/client/auth/views/createUsername/containers/CreateUsernameContainer.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { FORM_ERROR } from "final-form"; -import React, { Component } from "react"; - -import { - SetUsernameMutation, - withSetUsernameMutation, -} from "coral-auth/mutations/SetUsernameMutation"; -import { PropTypesOf } from "coral-framework/types"; - -import CreateUsername from "../components/CreateUsername"; - -interface Props { - setUsername: SetUsernameMutation; -} - -class CreateUsernameContainer extends Component { - private handleSubmit: PropTypesOf["onSubmit"] = async ( - input, - form - ) => { - try { - await this.props.setUsername({ username: input.username }); - return form.reset(); - } catch (error) { - return { [FORM_ERROR]: error.message }; - } - }; - - public render() { - // tslint:disable-next-line:no-empty - return ; - } -} - -const enhanced = withSetUsernameMutation(CreateUsernameContainer); -export default enhanced; diff --git a/src/core/client/install/components/App.css b/src/core/client/install/App/App.css similarity index 100% rename from src/core/client/install/components/App.css rename to src/core/client/install/App/App.css diff --git a/src/core/client/install/components/App.spec.tsx b/src/core/client/install/App/App.spec.tsx similarity index 100% rename from src/core/client/install/components/App.spec.tsx rename to src/core/client/install/App/App.spec.tsx diff --git a/src/core/client/install/components/App.tsx b/src/core/client/install/App/App.tsx similarity index 78% rename from src/core/client/install/components/App.tsx rename to src/core/client/install/App/App.tsx index 8cdfb10e3..de8302b3b 100644 --- a/src/core/client/install/components/App.tsx +++ b/src/core/client/install/App/App.tsx @@ -1,6 +1,6 @@ import React, { Component } from "react"; -import WizardContainer from "../containers/WizardContainer"; +import InstallWizard from "./InstallWizard"; import MainBar from "./MainBar"; import styles from "./App.css"; @@ -11,7 +11,7 @@ class App extends Component {
- +
); diff --git a/src/core/client/install/components/Header.css b/src/core/client/install/App/Header.css similarity index 100% rename from src/core/client/install/components/Header.css rename to src/core/client/install/App/Header.css diff --git a/src/core/client/install/components/Header.tsx b/src/core/client/install/App/Header.tsx similarity index 100% rename from src/core/client/install/components/Header.tsx rename to src/core/client/install/App/Header.tsx diff --git a/src/core/client/install/mutations/InstallMutation.ts b/src/core/client/install/App/InstallMutation.ts similarity index 100% rename from src/core/client/install/mutations/InstallMutation.ts rename to src/core/client/install/App/InstallMutation.ts diff --git a/src/core/client/install/containers/WizardContainer.tsx b/src/core/client/install/App/InstallWizard.tsx similarity index 76% rename from src/core/client/install/containers/WizardContainer.tsx rename to src/core/client/install/App/InstallWizard.tsx index 84ed0d309..25f884f11 100644 --- a/src/core/client/install/containers/WizardContainer.tsx +++ b/src/core/client/install/App/InstallWizard.tsx @@ -1,15 +1,15 @@ import React, { Component } from "react"; -import Wizard from "../components/Wizard"; -import { InstallMutation, withInstallMutation } from "../mutations"; -import FinalStep from "../steps/components/FinalStep"; -import InitialStep from "../steps/components/InitialStep"; -import AddOrganizationContainer from "../steps/containers/AddOrganizationContainer"; -import CreateYourAccountContainer from "../steps/containers/CreateYourAccountContainer"; -import PermittedDomainsContainer from "../steps/containers/PermittedDomainsContainer"; - import { InstallInput } from "coral-framework/rest"; +import { InstallMutation, withInstallMutation } from "./InstallMutation"; +import AddOrganizationStep from "./steps/AddOrganizationStep"; +import CreateYourAccountStep from "./steps/CreateYourAccountStep"; +import FinalStep from "./steps/FinalStep"; +import InitialStep from "./steps/InitialStep"; +import PermittedDomainsStep from "./steps/PermittedDomainsStep"; +import Wizard from "./Wizard"; + interface FormData { organizationName: string; organizationContactEmail: string; @@ -21,7 +21,7 @@ interface FormData { allowedDomains: string[]; } -interface WizardContainerState { +interface InstallWizardState { step: number; data: FormData; } @@ -58,7 +58,7 @@ interface Props { install: InstallMutation; } -class WizardContainer extends Component { +class InstallWizard extends Component { public state = { step: 0, data: { @@ -99,19 +99,19 @@ class WizardContainer extends Component { return ( - - - { } } -export default withInstallMutation(WizardContainer); +export default withInstallMutation(InstallWizard); diff --git a/src/core/client/install/components/MainBar.css b/src/core/client/install/App/MainBar.css similarity index 100% rename from src/core/client/install/components/MainBar.css rename to src/core/client/install/App/MainBar.css diff --git a/src/core/client/install/components/MainBar.tsx b/src/core/client/install/App/MainBar.tsx similarity index 100% rename from src/core/client/install/components/MainBar.tsx rename to src/core/client/install/App/MainBar.tsx diff --git a/src/core/client/install/components/Wizard.css b/src/core/client/install/App/Wizard.css similarity index 100% rename from src/core/client/install/components/Wizard.css rename to src/core/client/install/App/Wizard.css diff --git a/src/core/client/install/components/Wizard.tsx b/src/core/client/install/App/Wizard.tsx similarity index 97% rename from src/core/client/install/components/Wizard.tsx rename to src/core/client/install/App/Wizard.tsx index d840af7ca..91efdf3e8 100644 --- a/src/core/client/install/components/Wizard.tsx +++ b/src/core/client/install/App/Wizard.tsx @@ -4,8 +4,8 @@ import React, { Component, ReactNode } from "react"; import { Step, StepBar } from "coral-ui/components"; -import { WizardProps } from "../components/Wizard"; import Header from "./Header"; +import { WizardProps } from "./Wizard"; import styles from "./Wizard.css"; diff --git a/src/core/client/install/components/__snapshots__/App.spec.tsx.snap b/src/core/client/install/App/__snapshots__/App.spec.tsx.snap similarity index 74% rename from src/core/client/install/components/__snapshots__/App.spec.tsx.snap rename to src/core/client/install/App/__snapshots__/App.spec.tsx.snap index 323efaf82..e67a46d01 100644 --- a/src/core/client/install/components/__snapshots__/App.spec.tsx.snap +++ b/src/core/client/install/App/__snapshots__/App.spec.tsx.snap @@ -8,7 +8,7 @@ exports[`renders correctly 1`] = `
- +
`; diff --git a/src/core/client/install/App/index.ts b/src/core/client/install/App/index.ts new file mode 100644 index 000000000..13e877c87 --- /dev/null +++ b/src/core/client/install/App/index.ts @@ -0,0 +1 @@ +export { default, default as App } from "./App"; diff --git a/src/core/client/install/App/steps/AddOrganizationStep.tsx b/src/core/client/install/App/steps/AddOrganizationStep.tsx new file mode 100644 index 000000000..5958fbe45 --- /dev/null +++ b/src/core/client/install/App/steps/AddOrganizationStep.tsx @@ -0,0 +1,208 @@ +import { Localized } from "fluent-react/compat"; +import React from "react"; +import { Field, Form } from "react-final-form"; + +import { OnSubmit } from "coral-framework/lib/form"; +import { + composeValidators, + required, + validateEmail, + validateURL, +} from "coral-framework/lib/validation"; +import { + CallOut, + Flex, + FormField, + HorizontalGutter, + InputDescription, + InputLabel, + TextField, + Typography, + ValidationMessage, +} from "coral-ui/components"; + +import BackButton from "./BackButton"; +import NextButton from "./NextButton"; + +interface Props { + onGoToNextStep: () => void; + onGoToPreviousStep: () => void; + data: FormProps; + onSaveData: (newData: FormProps) => void; +} + +interface FormProps { + organizationName: string; + organizationContactEmail: string; + organizationURL: string; +} + +class AddOrganizationStep extends React.Component { + private onSubmit: OnSubmit = async (input, form) => { + this.props.onSaveData(input); + return this.props.onGoToNextStep(); + }; + public render() { + return ( +
+ {({ handleSubmit, submitting, submitError }) => ( + + + + + Add Organization + + + + + Please tell us the name of your organization. This will appear + in emails when inviting new team members. + + + + {submitError && ( + + {submitError} + + )} + + + {({ input, meta }) => ( + + + Organization Name + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + {({ input, meta }) => ( + + + Organization Contact Email + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + {({ input, meta }) => ( + + + Organization URL + + } + > + + {/* Related: https://github.com/prettier/prettier/issues/2347 */} + Be sure to include {"http://"} or{" "} + {"https://"} in your URL + + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + + + +
+ )} + + ); + } +} + +export default AddOrganizationStep; diff --git a/src/core/client/install/steps/components/BackButton.tsx b/src/core/client/install/App/steps/BackButton.tsx similarity index 100% rename from src/core/client/install/steps/components/BackButton.tsx rename to src/core/client/install/App/steps/BackButton.tsx diff --git a/src/core/client/install/App/steps/CreateYourAccountStep.tsx b/src/core/client/install/App/steps/CreateYourAccountStep.tsx new file mode 100644 index 000000000..4acc8e55f --- /dev/null +++ b/src/core/client/install/App/steps/CreateYourAccountStep.tsx @@ -0,0 +1,238 @@ +import { Localized } from "fluent-react/compat"; +import React, { Component } from "react"; +import { Field, Form } from "react-final-form"; + +import { OnSubmit } from "coral-framework/lib/form"; +import { + composeValidators, + required, + validateEmail, + validateEqualPasswords, + validatePassword, + validateUsername, +} from "coral-framework/lib/validation"; +import { + CallOut, + Flex, + FormField, + HorizontalGutter, + InputDescription, + InputLabel, + TextField, + Typography, + ValidationMessage, +} from "coral-ui/components"; + +import NextButton from "./NextButton"; + +interface FormProps { + email: string; + username: string; + password: string; + confirmPassword: string; +} + +interface Props { + onGoToNextStep: () => void; + onGoToPreviousStep: () => void; + data: FormProps; + onSaveData: (newData: FormProps) => void; +} + +class CreateYourAccountStep extends Component { + private onSubmit: OnSubmit = async (input, form) => { + this.props.onSaveData(input); + return this.props.onGoToNextStep(); + }; + public render() { + return ( +
+ {({ handleSubmit, submitting, submitError }) => ( + + + + + Create an Administrator Account + + + + {submitError && ( + + {submitError} + + )} + + + {({ input, meta }) => ( + + + Email + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + {({ input, meta }) => ( + + + Username + + + + An identifier displayed on your comments. You may use + “_” and “.” + + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + {({ input, meta }) => ( + + + Password + + + + Must be at least 8 characters + + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + {({ input, meta }) => ( + + + Confirm Password + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + + + +
+ )} + + ); + } +} + +export default CreateYourAccountStep; diff --git a/src/core/client/install/steps/components/FinalStep.tsx b/src/core/client/install/App/steps/FinalStep.tsx similarity index 100% rename from src/core/client/install/steps/components/FinalStep.tsx rename to src/core/client/install/App/steps/FinalStep.tsx diff --git a/src/core/client/install/steps/components/InitialStep.tsx b/src/core/client/install/App/steps/InitialStep.tsx similarity index 100% rename from src/core/client/install/steps/components/InitialStep.tsx rename to src/core/client/install/App/steps/InitialStep.tsx diff --git a/src/core/client/install/steps/components/NextButton.tsx b/src/core/client/install/App/steps/NextButton.tsx similarity index 100% rename from src/core/client/install/steps/components/NextButton.tsx rename to src/core/client/install/App/steps/NextButton.tsx diff --git a/src/core/client/install/App/steps/PermittedDomainsStep.tsx b/src/core/client/install/App/steps/PermittedDomainsStep.tsx new file mode 100644 index 000000000..fddfc8e78 --- /dev/null +++ b/src/core/client/install/App/steps/PermittedDomainsStep.tsx @@ -0,0 +1,136 @@ +import { OnSubmit } from "coral-framework/lib/form"; +import { FORM_ERROR } from "final-form"; +import { Localized } from "fluent-react/compat"; +import React, { Component } from "react"; +import { Field, Form } from "react-final-form"; + +import { + Button, + CallOut, + Flex, + FormField, + HorizontalGutter, + InputDescription, + InputLabel, + TextField, + Typography, + ValidationMessage, +} from "coral-ui/components"; + +import BackButton from "./BackButton"; + +interface FormProps { + allowedDomains: string; +} + +interface Props { + onGoToNextStep: () => void; + onGoToPreviousStep: () => void; + data: { allowedDomains: string[] }; + onInstall: (newData: { allowedDomains: string[] }) => Promise; +} + +class PermittedDomainsStep extends Component { + private onSubmit: OnSubmit = async (input, form) => { + try { + const allowedDomains = input.allowedDomains.split(","); + await this.props.onInstall({ allowedDomains }); + return this.props.onGoToNextStep(); + } catch (error) { + return { [FORM_ERROR]: error.message }; + } + }; + public render() { + return ( +
+ {({ handleSubmit, submitting, submitError }) => ( + + + + + Permitted Domains + + + + + Enter the domains you would like to permit for Coral, e.g. + your local, staging and production environments (ex. + localhost:3000, staging.domain.com, domain.com). + + + + {submitError && ( + + {submitError} + + )} + + + {({ input, meta }) => ( + + + Permitted Domains + + + + Insert domains separated by comma + + + + + + {meta.touched && (meta.error || meta.submitError) && ( + + {meta.error || meta.submitError} + + )} + + )} + + + + + + + + + +
+ )} + + ); + } +} + +export default PermittedDomainsStep; diff --git a/src/core/client/install/index.tsx b/src/core/client/install/index.tsx index ff48364a2..d701c7a23 100644 --- a/src/core/client/install/index.tsx +++ b/src/core/client/install/index.tsx @@ -4,7 +4,7 @@ import ReactDOM from "react-dom"; import { createManaged } from "coral-framework/lib/bootstrap"; -import App from "./components/App"; +import App from "./App"; import localesData from "./locales"; // Import css variables. diff --git a/src/core/client/install/mutations/index.ts b/src/core/client/install/mutations/index.ts deleted file mode 100644 index 0c15ed6f7..000000000 --- a/src/core/client/install/mutations/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { withInstallMutation, InstallMutation } from "./InstallMutation"; diff --git a/src/core/client/install/steps/components/AddOrganization.tsx b/src/core/client/install/steps/components/AddOrganization.tsx deleted file mode 100644 index d665c2309..000000000 --- a/src/core/client/install/steps/components/AddOrganization.tsx +++ /dev/null @@ -1,201 +0,0 @@ -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Field, Form } from "react-final-form"; - -import { OnSubmit } from "coral-framework/lib/form"; -import { - composeValidators, - required, - validateEmail, - validateURL, -} from "coral-framework/lib/validation"; -import { - CallOut, - Flex, - FormField, - HorizontalGutter, - InputDescription, - InputLabel, - TextField, - Typography, - ValidationMessage, -} from "coral-ui/components"; - -import BackButton from "./BackButton"; -import NextButton from "./NextButton"; - -interface FormProps { - organizationName: string; - organizationContactEmail: string; - organizationURL: string; -} - -export interface AddOrganizationForm { - onSubmit: OnSubmit; - onGoToPreviousStep: () => void; - data: FormProps; -} - -const AddOrganization: FunctionComponent = props => { - return ( -
- {({ handleSubmit, submitting, submitError }) => ( - - - - - Add Organization - - - - - Please tell us the name of your organization. This will appear - in emails when inviting new team members. - - - - {submitError && ( - - {submitError} - - )} - - - {({ input, meta }) => ( - - - Organization Name - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - {({ input, meta }) => ( - - - Organization Contact Email - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - {({ input, meta }) => ( - - - Organization URL - - } - > - - {/* Related: https://github.com/prettier/prettier/issues/2347 */} - Be sure to include {"http://"} or{" "} - {"https://"} in your URL - - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - - - -
- )} - - ); -}; - -export default AddOrganization; diff --git a/src/core/client/install/steps/components/CreateYourAccount.tsx b/src/core/client/install/steps/components/CreateYourAccount.tsx deleted file mode 100644 index e541107d6..000000000 --- a/src/core/client/install/steps/components/CreateYourAccount.tsx +++ /dev/null @@ -1,231 +0,0 @@ -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Field, Form } from "react-final-form"; - -import { OnSubmit } from "coral-framework/lib/form"; -import { - composeValidators, - required, - validateEmail, - validateEqualPasswords, - validatePassword, - validateUsername, -} from "coral-framework/lib/validation"; -import { - CallOut, - Flex, - FormField, - HorizontalGutter, - InputDescription, - InputLabel, - TextField, - Typography, - ValidationMessage, -} from "coral-ui/components"; - -import NextButton from "./NextButton"; - -interface FormProps { - email: string; - username: string; - password: string; - confirmPassword: string; -} - -export interface CreateYourAccountForm { - onSubmit: OnSubmit; - onGoToPreviousStep: () => void; - data: FormProps; -} - -const CreateYourAccount: FunctionComponent = props => { - return ( -
- {({ handleSubmit, submitting, submitError }) => ( - - - - - Create an Administrator Account - - - - {submitError && ( - - {submitError} - - )} - - - {({ input, meta }) => ( - - - Email - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - {({ input, meta }) => ( - - - Username - - - - An identifier displayed on your comments. You may use “_” - and “.” - - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - {({ input, meta }) => ( - - - Password - - - - Must be at least 8 characters - - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - {({ input, meta }) => ( - - - Confirm Password - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - - - -
- )} - - ); -}; - -export default CreateYourAccount; diff --git a/src/core/client/install/steps/components/PermittedDomains.tsx b/src/core/client/install/steps/components/PermittedDomains.tsx deleted file mode 100644 index e9b182abd..000000000 --- a/src/core/client/install/steps/components/PermittedDomains.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { OnSubmit } from "coral-framework/lib/form"; -import { Localized } from "fluent-react/compat"; -import React, { FunctionComponent } from "react"; -import { Field, Form } from "react-final-form"; - -import { - Button, - CallOut, - Flex, - FormField, - HorizontalGutter, - InputDescription, - InputLabel, - TextField, - Typography, - ValidationMessage, -} from "coral-ui/components"; - -import BackButton from "./BackButton"; - -interface FormProps { - allowedDomains: string; -} - -export interface PermittedDomainsForm { - onSubmit: OnSubmit; - onGoToPreviousStep: () => void; - data: { - allowedDomains: string[]; - }; -} - -const PermittedDomains: FunctionComponent = props => { - return ( -
- {({ handleSubmit, submitting, submitError }) => ( - - - - - Permitted Domains - - - - - Enter the domains you would like to permit for Coral, e.g. your - local, staging and production environments (ex. localhost:3000, - staging.domain.com, domain.com). - - - - {submitError && ( - - {submitError} - - )} - - - {({ input, meta }) => ( - - - Permitted Domains - - - - Insert domains separated by comma - - - - - - {meta.touched && (meta.error || meta.submitError) && ( - - {meta.error || meta.submitError} - - )} - - )} - - - - - - - - - -
- )} - - ); -}; - -export default PermittedDomains; diff --git a/src/core/client/install/steps/containers/AddOrganizationContainer.tsx b/src/core/client/install/steps/containers/AddOrganizationContainer.tsx deleted file mode 100644 index 14d6861cf..000000000 --- a/src/core/client/install/steps/containers/AddOrganizationContainer.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { Component } from "react"; - -import { PropTypesOf } from "coral-ui/types"; - -import AddOrganization, { - AddOrganizationForm, -} from "../components/AddOrganization"; - -interface AddOrganizationContainerProps { - onGoToNextStep: () => void; - onGoToPreviousStep: () => void; - data: PropTypesOf["data"]; - onSaveData: (newData: PropTypesOf["data"]) => void; -} - -class AddOrganizationContainer extends Component< - AddOrganizationContainerProps -> { - private onSubmit: AddOrganizationForm["onSubmit"] = async (input, form) => { - this.props.onSaveData(input); - return this.props.onGoToNextStep(); - }; - public render() { - return ( - - ); - } -} - -export default AddOrganizationContainer; diff --git a/src/core/client/install/steps/containers/CreateYourAccountContainer.tsx b/src/core/client/install/steps/containers/CreateYourAccountContainer.tsx deleted file mode 100644 index 946c822b3..000000000 --- a/src/core/client/install/steps/containers/CreateYourAccountContainer.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { Component } from "react"; - -import { PropTypesOf } from "coral-ui/types"; - -import CreateYourAccount, { - CreateYourAccountForm, -} from "../components/CreateYourAccount"; - -interface CreateYourAccountContainerProps { - onGoToNextStep: () => void; - onGoToPreviousStep: () => void; - data: PropTypesOf["data"]; - onSaveData: (newData: PropTypesOf["data"]) => void; -} - -class CreateYourAccountContainer extends Component< - CreateYourAccountContainerProps -> { - private onSubmit: CreateYourAccountForm["onSubmit"] = async (input, form) => { - this.props.onSaveData(input); - return this.props.onGoToNextStep(); - }; - public render() { - return ( - - ); - } -} - -export default CreateYourAccountContainer; diff --git a/src/core/client/install/steps/containers/PermittedDomainsContainer.tsx b/src/core/client/install/steps/containers/PermittedDomainsContainer.tsx deleted file mode 100644 index ccda7a75e..000000000 --- a/src/core/client/install/steps/containers/PermittedDomainsContainer.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { FORM_ERROR } from "final-form"; -import React, { Component } from "react"; - -import { PropTypesOf } from "coral-ui/types"; - -import PermittedDomains, { - PermittedDomainsForm, -} from "../components/PermittedDomains"; - -interface PermittedDomainsContainerProps { - onGoToNextStep: () => void; - onGoToPreviousStep: () => void; - data: PropTypesOf["data"]; - onInstall: ( - newData: PropTypesOf["data"] - ) => Promise; -} - -class PermittedDomainsContainer extends Component< - PermittedDomainsContainerProps -> { - private onSubmit: PermittedDomainsForm["onSubmit"] = async (input, form) => { - try { - const allowedDomains = input.allowedDomains.split(","); - await this.props.onInstall({ allowedDomains }); - return this.props.onGoToNextStep(); - } catch (error) { - return { [FORM_ERROR]: error.message }; - } - }; - public render() { - return ( - - ); - } -} - -export default PermittedDomainsContainer; diff --git a/src/core/client/stream/tabs/Comments/Stream/PostCommentForm/PostCommentForm.tsx b/src/core/client/stream/tabs/Comments/Stream/PostCommentForm/PostCommentForm.tsx index ba35d9a24..83dc18c41 100644 --- a/src/core/client/stream/tabs/Comments/Stream/PostCommentForm/PostCommentForm.tsx +++ b/src/core/client/stream/tabs/Comments/Stream/PostCommentForm/PostCommentForm.tsx @@ -4,9 +4,14 @@ import { Localized } from "fluent-react/compat"; import React, { FunctionComponent } from "react"; import { Field, Form, FormSpy } from "react-final-form"; -import ValidationMessage from "coral-admin/routes/configure/components/ValidationMessage"; import { OnSubmit } from "coral-framework/lib/form"; -import { AriaInfo, Button, Flex, HorizontalGutter } from "coral-ui/components"; +import { + AriaInfo, + Button, + Flex, + HorizontalGutter, + ValidationMessage, +} from "coral-ui/components"; import { cleanupRTEEmptyHTML, getCommentBodyValidators } from "../../helpers"; import RemainingCharactersContainer from "../../RemainingCharacters";