Skip to content

Commit

Permalink
Merge pull request #54 from jeff-phillips-18/resource-card-names
Browse files Browse the repository at this point in the history
Update resources cards to include app name. Fix styling issues.
  • Loading branch information
jeff-phillips-18 authored Jun 8, 2021
2 parents 1c11489 + 55b6d47 commit 591f2a4
Show file tree
Hide file tree
Showing 13 changed files with 193 additions and 269 deletions.
157 changes: 50 additions & 107 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@
},
"dependencies": {
"@cloudmosaic/quickstarts": "0.0.11",
"@patternfly/patternfly": "4.87.3",
"@patternfly/react-core": "4.97.2",
"@patternfly/react-icons": "4.9.2",
"@patternfly/react-styles": "4.8.2",
"@patternfly/patternfly": "4.108.2",
"@patternfly/react-core": "4.128.2",
"@patternfly/react-icons": "4.10.11",
"@patternfly/react-styles": "4.10.11",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.0.4",
"@testing-library/user-event": "^12.1.7",
Expand Down
9 changes: 9 additions & 0 deletions frontend/src/app/App.scss
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,15 @@ html, body, #root {
}
}

.pf-c-page__main-section {
.pf-l-gallery {
--pf-l-gallery--GridTemplateColumns--max-on-xl: 330px;
--pf-l-gallery--GridTemplateColumns--max-on-lg: 330px;
--pf-l-gallery--GridTemplateColumns--max-on-md: 330px;
--pf-l-gallery--GridTemplateColumns--max-on-sm: 330px;
--pf-l-gallery--GridTemplateColumns--max: 330px;
}
}
// PF Overrides
.pf-c-page__header {
.pf-c-brand {
Expand Down
41 changes: 18 additions & 23 deletions frontend/src/components/DocCardBadges.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import React from 'react';
import * as classNames from 'classnames';
import { Tooltip } from '@patternfly/react-core';
import { Label, Tooltip } from '@patternfly/react-core';
import { SyncAltIcon, CheckCircleIcon } from '@patternfly/react-icons';
import { QuickStartContext, QuickStartContextValues } from '@cloudmosaic/quickstarts';
import { OdhDocument, OdhDocumentType } from '../types';
import { isQuickStartComplete, isQuickStartInProgress } from '../utilities/quickStartUtils';
import { DOC_TYPE_TOOLTIPS } from '../utilities/const';
import { getDuration } from '../utilities/utils';
import { getLabelColorForDocType, getDuration } from '../utilities/utils';
import { getTextForDocType } from '../pages/learningCenter/learningCenterUtils';

import './OdhCard.scss';
Expand Down Expand Up @@ -34,31 +33,27 @@ const DocCardBadges: React.FC<DocCardBadgesProps> = ({ odhDoc }) => {
}, [qsContext, docType, docName]);

const label = getTextForDocType(docType);
const typeBadgeClasses = classNames('odh-card__partner-badge odh-m-doc', {
'odh-m-documentation': docType === OdhDocumentType.Documentation,
'odh-m-tutorial': docType === OdhDocumentType.Tutorial,
'odh-m-quick-start': docType === OdhDocumentType.QuickStart,
'odh-m-how-to': docType === OdhDocumentType.HowTo,
});
const durationBadgeClasses = classNames('odh-card__partner-badge odh-m-doc odh-m-duration', {
'm-hidden': docType === OdhDocumentType.Documentation || duration === undefined,
});
const progressBadgeClasses = classNames('odh-card__partner-badge odh-m-doc', {
'm-hidden': !complete && !inProgress,
'odh-m-in-progress': inProgress,
'odh-m-complete': complete,
});

return (
<div className="odh-card__doc-badges">
<Tooltip content={DOC_TYPE_TOOLTIPS[docType]}>
<div className={typeBadgeClasses}>{label}</div>
<Label color={getLabelColorForDocType(docType)}>{label}</Label>
</Tooltip>
<div className={durationBadgeClasses}>{getDuration(duration)}</div>
<div className={progressBadgeClasses}>
{inProgress ? <SyncAltIcon /> : <CheckCircleIcon />}
{inProgress ? 'In progress' : 'Complete'}
</div>
{duration ? (
<Label variant="outline" color="grey">
{getDuration(duration)}
</Label>
) : null}
{inProgress ? (
<Label variant="outline" color="purple" icon={<SyncAltIcon />}>
In Progress
</Label>
) : null}
{complete ? (
<Label variant="outline" color="green" icon={<CheckCircleIcon />}>
Complete
</Label>
) : null}
</div>
);
};
Expand Down
21 changes: 6 additions & 15 deletions frontend/src/components/OdhAppCard.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import * as classNames from 'classnames';
import classNames from 'classnames';
import {
Card,
CardHeader,
Expand All @@ -10,32 +10,24 @@ import {
KebabToggle,
} from '@patternfly/react-core';
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
import { QuickStartContext, QuickStartContextValues } from '@cloudmosaic/quickstarts';
import { OdhApplication } from '../types';
import { getQuickStartLabel, launchQuickStart } from '../utilities/quickStartUtils';
import BrandImage from './BrandImage';
import SupportedAppTitle from './SupportedAppTitle';
import { useQuickStartCardSelected } from './useQuickStartCardSelected';

import './OdhCard.scss';
import { makeCardVisible } from '../utilities/utils';

type OdhAppCardProps = {
odhApp: OdhApplication;
};

const OdhAppCard: React.FC<OdhAppCardProps> = ({ odhApp }) => {
const [isOpen, setIsOpen] = React.useState(false);
const qsContext = React.useContext<QuickStartContextValues>(QuickStartContext);

const selected = React.useMemo(() => {
return qsContext.activeQuickStartID === odhApp.spec.quickStart;
}, [odhApp.spec.quickStart, qsContext.activeQuickStartID]);

React.useEffect(() => {
if (selected) {
makeCardVisible(odhApp.metadata.name);
}
}, [odhApp.metadata.name, selected]);
const [qsContext, selected] = useQuickStartCardSelected(
odhApp.spec.quickStart,
odhApp.metadata.name,
);

const onToggle = (value) => {
setIsOpen(value);
Expand All @@ -48,7 +40,6 @@ const OdhAppCard: React.FC<OdhAppCardProps> = ({ odhApp }) => {
const onQuickStart = (e) => {
e.preventDefault();
launchQuickStart(odhApp.spec.quickStart, qsContext);
makeCardVisible(odhApp.metadata.name);
};

const dropdownItems = [
Expand Down
Loading

0 comments on commit 591f2a4

Please sign in to comment.