This is an automated email from the ASF dual-hosted git repository. jan pushed a commit to branch feat/news in repository https://gitbox.apache.org/repos/asf/couchdb-fauxton.git
commit b103dd60c16a0ca5c9eaea59cf1f9a9484399bda Author: Jan Lehnardt <j...@apache.org> AuthorDate: Fri May 22 16:03:14 2020 +0200 feat: prototype news page --- .gitignore | 1 + app/addons/news/assets/less/news.less | 16 +++++++++++++++ app/addons/news/base.js | 28 ++++++++++++++++++++++++++ app/addons/news/components.js | 25 +++++++++++++++++++++++ app/addons/news/routes.js | 37 +++++++++++++++++++++++++++++++++++ devserver.js | 2 +- settings.json.default.json | 3 ++- 7 files changed, 110 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 047db07..2d7315c 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ app/addons/* !app/addons/cors !app/addons/setup !app/addons/search +!app/addons/news settings.json* i18n.json !settings.json.default diff --git a/app/addons/news/assets/less/news.less b/app/addons/news/assets/less/news.less new file mode 100644 index 0000000..f5674a4 --- /dev/null +++ b/app/addons/news/assets/less/news.less @@ -0,0 +1,16 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +#news-page { + width: 100%; + height: 100%; +} diff --git a/app/addons/news/base.js b/app/addons/news/base.js new file mode 100644 index 0000000..cebd785 --- /dev/null +++ b/app/addons/news/base.js @@ -0,0 +1,28 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +import FauxtonAPI from "../../core/api"; +import News from "./routes"; +import "./assets/less/news.less"; + +News.initialize = function () { + FauxtonAPI.addHeaderLink({ + id: 'News', + title: 'News', + icon: 'fonticon-clipboard', + href: '#/news', + bottomNav: true, + top: true + }); +}; + +export default News; diff --git a/app/addons/news/components.js b/app/addons/news/components.js new file mode 100644 index 0000000..c780ef5 --- /dev/null +++ b/app/addons/news/components.js @@ -0,0 +1,25 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +import React from "react"; + +const NewsPage = () => { + return ( + <div id="news-page" className=""> + <iframe src="https://blog.couchdb.org" width="100%" height="100%"></iframe> + </div> + ); +}; + +export default { + NewsPage: NewsPage +}; diff --git a/app/addons/news/routes.js b/app/addons/news/routes.js new file mode 100644 index 0000000..fd152eb --- /dev/null +++ b/app/addons/news/routes.js @@ -0,0 +1,37 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +import React from 'react'; +import FauxtonAPI from "../../core/api"; +import NewsComponents from "./components"; +import {OnePaneSimpleLayout} from '../components/layouts'; + +var NewsRouteObject = FauxtonAPI.RouteObject.extend({ + selectedHeader: 'News', + hideApiBar: true, + hideNotificationCenter: true, + routes: { + 'news': 'news' + }, + roles: ['fx_loggedIn'], + news: function () { + return <OnePaneSimpleLayout + component={<NewsComponents.NewsPage/>} + crumbs={[ + {'name': 'News'} + ]} + />; + } +}); +NewsRouteObject.RouteObjects = [NewsRouteObject]; + +export default NewsRouteObject; diff --git a/devserver.js b/devserver.js index 8d76bd6..3d858c0 100644 --- a/devserver.js +++ b/devserver.js @@ -51,7 +51,7 @@ const devSetup = function (cb) { }); }; -const defaultHeaderValue = "default-src 'self'; child-src 'self' blob:; img-src 'self' data:; font-src 'self'; " + +const defaultHeaderValue = "default-src 'self'; child-src 'self' blob: https://blog.couchdb.org; img-src 'self' data:; font-src 'self'; " + "script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"; function getCspHeaders () { if (!settings.contentSecurityPolicy) { diff --git a/settings.json.default.json b/settings.json.default.json index d11150f..02979f9 100644 --- a/settings.json.default.json +++ b/settings.json.default.json @@ -14,7 +14,8 @@ { "name": "permissions" }, { "name": "auth" }, { "name": "verifyinstall" }, - { "name": "documentation" } + { "name": "documentation" }, + { "name": "news" } ], "template": { "development": {