diff --git a/src/assets/themes/tco17/TCO17.svg b/src/assets/themes/tco17/TCO17.svg new file mode 100644 index 0000000000..a636be849d --- /dev/null +++ b/src/assets/themes/tco17/TCO17.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/themes/tco18/TCO18.svg b/src/assets/themes/tco18/TCO18.svg index e5d654ecde..f326600337 100644 --- a/src/assets/themes/tco18/TCO18.svg +++ b/src/assets/themes/tco18/TCO18.svg @@ -1,55 +1,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + 1CB1E6B7-79F7-4B61-ADE2-FC01AE86382E + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/server/tc-communities/tco17/metadata.json b/src/server/tc-communities/tco17/metadata.json new file mode 100644 index 0000000000..14f7f07d93 --- /dev/null +++ b/src/server/tc-communities/tco17/metadata.json @@ -0,0 +1,17 @@ +{ + "communityId": "tco17", + "hidden": true, + "communityName": "TCO17", + "groupIds": [], + "hideSearch": true, + "logos": [{ + "img": "/community-app-assets/themes/tco17/TCO17.svg", + "url": "https://tco17.topcoder.com" + }], + "menuItems": [{ + "navigationMenu": "79hTTwQuoJdnFtsagyOEOT" + }], + "newsFeed": "http://www.topcoder.com/feed", + "subdomains": ["tco17"], + "description": "2017 Topcoder Open. The Ultimate Programming & Design Tournament" +} diff --git a/src/server/tc-communities/tco18/metadata.json b/src/server/tc-communities/tco18/metadata.json index 0f12f9367d..80382d76fc 100644 --- a/src/server/tc-communities/tco18/metadata.json +++ b/src/server/tc-communities/tco18/metadata.json @@ -1,10 +1,4 @@ { - "challengeFilter": { - "groupIds": [], - "or": [{ - "tags": ["TCO", "TCO18"] - }] - }, "communityId": "tco18", "hidden": true, "communityName": "TCO18", diff --git a/src/shared/routes/Communities/Routes.jsx b/src/shared/routes/Communities/Routes.jsx index d74b3dacfa..8fda8c85b2 100644 --- a/src/shared/routes/Communities/Routes.jsx +++ b/src/shared/routes/Communities/Routes.jsx @@ -17,6 +17,7 @@ import Veterans from './Veterans'; import Wipro from './Wipro'; import Cognitive from './Cognitive'; import IoT from './iot'; +import TCO17 from './TCO17'; import TCO18 from './TCO18'; import TCO19 from './TCO19'; import Mobile from './Mobile'; @@ -41,6 +42,7 @@ export default function Communities({ case 'wipro': return ; case 'cognitive': return ; case 'iot': return ; + case 'tco17': return ; case 'tco18': return ; case 'tco19': return ; case 'mobile': return ; diff --git a/src/shared/routes/Communities/TCO17/Routes.jsx b/src/shared/routes/Communities/TCO17/Routes.jsx new file mode 100644 index 0000000000..8c559717b1 --- /dev/null +++ b/src/shared/routes/Communities/TCO17/Routes.jsx @@ -0,0 +1,48 @@ +/** + * Routing of TCO17 Community. + */ + +import ContentfulRoute from 'components/Contentful/Route'; +import Error404 from 'components/Error404'; +import Header from 'containers/tc-communities/Header'; +import PT from 'prop-types'; +import React from 'react'; +import { Route, Switch } from 'react-router-dom'; + +import headerTheme from 'components/tc-communities/communities/tco/themes/header.scss'; + +export default function TCO17({ base }) { + return ( + ( +
+
+ + } + id="6z8qhXNgbwMhFqhmJJmroJ" + /> + + +
+ )} + path={`${base}/:pageId?`} + /> + ); +} + +TCO17.defaultProps = { + base: '', +}; + +TCO17.propTypes = { + base: PT.string, +}; diff --git a/src/shared/routes/Communities/TCO17/index.jsx b/src/shared/routes/Communities/TCO17/index.jsx new file mode 100644 index 0000000000..d294c06543 --- /dev/null +++ b/src/shared/routes/Communities/TCO17/index.jsx @@ -0,0 +1,32 @@ +/** + * Loader for the community's code chunks. + */ + +import LoadingIndicator from 'components/LoadingIndicator'; +import path from 'path'; +import PT from 'prop-types'; +import React from 'react'; +import { AppChunk, webpack } from 'topcoder-react-utils'; + +export default function ChunkLoader({ base, meta }) { + return ( + import(/* webpackChunkName: "tco17-community/chunk" */ './Routes') + .then(({ default: Routes }) => ( + + )) + } + renderPlaceholder={() => } + renderServer={() => { + const Routes = webpack.requireWeak(path.resolve(__dirname, './Routes')); + return ; + }} + /> + ); +} + +ChunkLoader.propTypes = { + base: PT.string.isRequired, + meta: PT.shape().isRequired, +};