Skip to content

Commit

Permalink
dev -> staging (#98)
Browse files Browse the repository at this point in the history
* chore: remove unnecessary css file from the build output

* chore: update docs regarding apache compression config

* Update bid list due date to match site-wide format

* Use position id instead of position_number to query for position details

* chore: remove unused props from components

* chore: fix err due to incorrect favicon size in manifest

* chore: remove unused props from the Home container

* chore: remove unused props from the HomePagePositionsContainer component

* fix: update profile page based on qa

* Update styles and content in Position Details page based on QA feedback

* fix: add logo to saved search title

* fix: search page updates from qa

* chore: linter fix

* chore: fix linter issue

* fix: search page updates from qa

* chore: linter fix

* Remove feedback button site-wide

* Use object in state instead of array

* Minor edits to Homepage based on QA

* fix: make the pagination link clickable area larger

* fix: use the correct button style

* fix: better accessibility for active pagination tab selection

* fix: use correct button design

* fix: use lodash get so that non-existent nested property doesn't throw error  (#45)

* Use lodash get so that non-existent nested property doesn't throw error

* Check for details.id so that components don't render with an empty object

* Align bid count with data points in ResultsCondensedCard

* Show "Available" filter to all users, not just CDOs (#46)

* Update dashboard styles and content based on QA

* Fix style for bid list container

* Move Bid Count in-line with data points on ResultsCard

* View More -> View more

* Add disabled state for BidListButton based on proposed API updates

* Use real properties from API PR, combine strings

* Use white for button text color

* feature: add remove bid to the bid tracker for draft and submitted bids

* add additional status to the canDeleteBid function

* Add react-toastify and use with bid list additions/removals (#51)

* Add react-toastify and use with bid list additions/removals

* More tests for toast-related functionality

* Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function

* feature: use the can_delete property from the bid rather than calculate client side

* Add loading spinner to Bid List button (#52)

* Compress us-flag.jpg (#53)

* Use react-linkify to automatically hyperlink URLs and email addresses in position capsule descriptions

* Authorization -> Authentication (#54)

* Authorization -> Authentication

* Rename import

* Update pagination and page size defaults in alignment with designs

* Display link, if available, in the glossary

* Add ability to edit links from Glossary editor; update styling for glossary links

* Reduce code complexity, fix long link styles

* Update snapshot

* Add bundlesize (#69)

* Add bundlsize and command

* Refine glob

* Refine maxSize target

* Chore/linter (#67)

* chore: fix linter is scss file

* fix: linter issue

* End of basic auth (#63)

* Delete login form

* Update actions

* Clean up sagas

* Remove isSAML checks

* Refactor sagas, CodeClimate fixes

* CodeClimate linting

* Upate login screen

* Simplify index

* Change to force external login

* get new custom auth working

* remove rest of the basic auth refs from server

* use env vars for env specific paths

* Bidder role - TM-371 (#68)

* Create permissions wrapper and conditionally render content based on bidder role

* remove default fallback prop

* Fix/mock auth (#70)

* fix: override some routes for the webpack dev server so auth works for local development

* fix: fix the conf so we can use the login.html when running the server in prod mode

* Default to true if can_delete property is not found

* Update snapshots

* fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE

* TM-410 - display favorites list as 4 across above the large break point (#66)

* fix: display favorites list as 4 across above the large break point

* fix: display favorites list as 4 across above the large break point

* fix: remove the auth redirect loop (#73)

* fix: remove the auth redirect loop and clean up reamining references to the LOGIN_MODE

* no conditional about url

* dev -> staging (#56) (#75)

* chore: remove unnecessary css file from the build output

* chore: update docs regarding apache compression config

* Update bid list due date to match site-wide format

* Use position id instead of position_number to query for position details

* chore: remove unused props from components

* chore: fix err due to incorrect favicon size in manifest

* chore: remove unused props from the Home container

* chore: remove unused props from the HomePagePositionsContainer component

* fix: update profile page based on qa

* Update styles and content in Position Details page based on QA feedback

* fix: add logo to saved search title

* fix: search page updates from qa

* chore: linter fix

* chore: fix linter issue

* fix: search page updates from qa

* chore: linter fix

* Remove feedback button site-wide

* Use object in state instead of array

* Minor edits to Homepage based on QA

* fix: make the pagination link clickable area larger

* fix: use the correct button style

* fix: better accessibility for active pagination tab selection

* fix: use correct button design

* fix: use lodash get so that non-existent nested property doesn't throw error  (#45)

* Use lodash get so that non-existent nested property doesn't throw error

* Check for details.id so that components don't render with an empty object

* Align bid count with data points in ResultsCondensedCard

* Show "Available" filter to all users, not just CDOs (#46)

* Update dashboard styles and content based on QA

* Fix style for bid list container

* Move Bid Count in-line with data points on ResultsCard

* View More -> View more

* Add disabled state for BidListButton based on proposed API updates

* Use real properties from API PR, combine strings

* Use white for button text color

* feature: add remove bid to the bid tracker for draft and submitted bids

* add additional status to the canDeleteBid function

* Add react-toastify and use with bid list additions/removals (#51)

* Add react-toastify and use with bid list additions/removals

* More tests for toast-related functionality

* Check if bid can be deleted and apply disabled status accordingly; update and optimize utility function

* feature: use the can_delete property from the bid rather than calculate client side

* Add loading spinner to Bid List button (#52)

* Compress us-flag.jpg (#53)

* Remove use of skill cone/code to skill (#76)

* Add Public Profile page - links from CDO portfolio, profile/public/:id route, add Assignments section to public profile, re-use of Profile Dashboard (#71)

## Relies on MetaPhase-Consulting/State-TalentMAP-API#24

* Sort bid cycles alphabetically by name (#78)

* feature: download search results in csv format. Resolves TM-439

* chore: use default variable for sort

* chore: reformat the date before file creation

* Simplified search bar v2 (#81)

*  Make use of the existing simple search bar throughout site

* Offsets for homepage

* Redesign compare page (#82)

* Redesign compare page

* Remove old table styles; handle zero comparisons with route to catch it

* feature: move the download button and use the secondary style. resolves TM-511

* fix: set a width on the cards for the favorite positions profile screen (#80)

* fix: set a width on the cards for the favorite positions profile screen. resolves TM-410

* fix: no responsiveness for bid count and favorite buttons on position card displays

* feature: fixed width for all position cards (homepage, favorites, similar positions). Resolves TM-510

* fix: remove unnecessary class and fix padding on grid for correct wrapping

* chore: fixing the wrapping for the larger width

* Fix search styles from breaking on the bidder portfolio

* Reverting the changes to the glossary card due to the new term dialog breaking

* Add link-container class back in

* Update snapshots

* Trigger circleci build

* Code smells (#86)

* Update CodeClimate exclusions for local dev

* Reduce complexity

* Comparison drawer component, add event listeners where needed, remove old comparison UI from results page

* Track old compare choices to maintain sorting during an update

* Add test coverage, use cancel tokens

* Change dropdown menu link name from "Profile" to "Dashboard"

* Remove How to Bid section from position details (#89)

* Homepage QA (#90)

* Remove Inbox icon

* Fetch notifications from any screen, since we no longer use a /login route

* Remove the BetaHeader

* Conditional rendering of Bid Count on Bid Tracker cards, update Results cards data order and style

* Break out compare elements into their own rows, add Bid List button to comparisons, use Set() for bidListToggleIsLoading

* Remove eslint-disable

* feature: include org info for domestic positions (#92)

* Remove bidListToggleIsLoading since that is handled in BidListButton container

* Display the service needs filter as a pill on the results page (#95)

* Add error handling for position details screen (#93)

* Add error handling for position details screen

* Update call to action

* Update based on design feedback

* dev -> staging

* Make icons consistent throughout profile pages (#102)

* Service Needs -> Featured (#100)

* Add hover to dropdown (#103)
  • Loading branch information
mjoyce91 authored and burgwyn committed Mar 11, 2019
1 parent 72a54f9 commit edea2ce
Show file tree
Hide file tree
Showing 136 changed files with 3,056 additions and 568 deletions.
4 changes: 3 additions & 1 deletion .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ plugins:
enabled: true
exclude_patterns:
- node_modules/
- config/ # build configuration
- build/ # build artifacts
- config/ # build configuration - config/ # build configuration
- coverage/ # test coverage
- scripts/ # build & utility scripts
- src/__mocks__/ # test objects
- src/Constants/PropTypes.js # shape definitions
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
"rc-steps": "^3.1.0",
"react": "^15.6.2",
"react-autosuggest": "^9.3.2",
"react-csv": "^1.1.1",
"react-dom": "^15.6.2",
"react-fontawesome": "^1.6.1",
"react-helmet": "^5.2.0",
Expand Down
26 changes: 17 additions & 9 deletions src/Components/AccountDropdown/AccountDropdown.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,30 @@ export class AccountDropdown extends Component {

return (
isLoading &&
<Dropdown className="account-dropdown" ref={(dropdown) => { this.dropdown = dropdown; }} removeElement>
<Dropdown
className="account-dropdown"
ref={(dropdown) => { this.dropdown = dropdown; }}
removeElement
onMouseEnter={() => this.dropdown.show()}
onMouseLeave={() => this.dropdown.hide()}
>
<DropdownTrigger href="/#">
<Avatar className="account-dropdown--avatar" {...avatar} />
{
shouldDisplayName &&
<span className="account-dropdown--name" id="account-username">{displayName}</span>
}
</DropdownTrigger>
<DropdownContent>
<div className="account-dropdown--identity account-dropdown--segment">
<div>Signed in as</div>
<strong>{displayName}</strong>
</div>
<Link className="account-dropdown--identity account-dropdown--segment account-dropdown-link" to="/profile/dashboard" onClick={this.hideDropdown}>Profile</Link>
<Link className="account-dropdown--identity account-dropdown--segment account-dropdown-link" to="/logout" onClick={this.logout}>Logout</Link>
</DropdownContent>
<div className="dropdown-content-outer-container">
<DropdownContent onMouseEnter={() => this.dropdown.show()}>
<div className="account-dropdown--identity account-dropdown--segment">
<div>Signed in as</div>
<strong>{displayName}</strong>
</div>
<Link className="account-dropdown--identity account-dropdown--segment account-dropdown-link" to="/profile/dashboard" onClick={this.hideDropdown}>Dashboard</Link>
<Link className="account-dropdown--identity account-dropdown--segment account-dropdown-link" to="/logout" onClick={this.logout}>Logout</Link>
</DropdownContent>
</div>
</Dropdown>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
exports[`AccountDropdown matches snapshot 1`] = `
<Dropdown
className="account-dropdown"
onMouseEnter={[Function]}
onMouseLeave={[Function]}
removeElement={true}
>
<DropdownTrigger
Expand All @@ -19,42 +21,49 @@ exports[`AccountDropdown matches snapshot 1`] = `
small={false}
/>
</DropdownTrigger>
<DropdownContent
className=""
<div
className="dropdown-content-outer-container"
>
<div
className="account-dropdown--identity account-dropdown--segment"
<DropdownContent
className=""
onMouseEnter={[Function]}
>
<div>
Signed in as
<div
className="account-dropdown--identity account-dropdown--segment"
>
<div>
Signed in as
</div>
<strong>
John Doe
</strong>
</div>
<strong>
John Doe
</strong>
</div>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/profile/dashboard"
>
Profile
</Link>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/logout"
>
Logout
</Link>
</DropdownContent>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/profile/dashboard"
>
Dashboard
</Link>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/logout"
>
Logout
</Link>
</DropdownContent>
</div>
</Dropdown>
`;

exports[`AccountDropdown matches snapshot when shouldDisplayName is true 1`] = `
<Dropdown
className="account-dropdown"
onMouseEnter={[Function]}
onMouseLeave={[Function]}
removeElement={true}
>
<DropdownTrigger
Expand All @@ -77,35 +86,40 @@ exports[`AccountDropdown matches snapshot when shouldDisplayName is true 1`] = `
John Doe
</span>
</DropdownTrigger>
<DropdownContent
className=""
<div
className="dropdown-content-outer-container"
>
<div
className="account-dropdown--identity account-dropdown--segment"
<DropdownContent
className=""
onMouseEnter={[Function]}
>
<div>
Signed in as
<div
className="account-dropdown--identity account-dropdown--segment"
>
<div>
Signed in as
</div>
<strong>
John Doe
</strong>
</div>
<strong>
John Doe
</strong>
</div>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/profile/dashboard"
>
Profile
</Link>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/logout"
>
Logout
</Link>
</DropdownContent>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/profile/dashboard"
>
Dashboard
</Link>
<Link
className="account-dropdown--identity account-dropdown--segment account-dropdown-link"
onClick={[Function]}
replace={false}
to="/logout"
>
Logout
</Link>
</DropdownContent>
</div>
</Dropdown>
`;
10 changes: 9 additions & 1 deletion src/Components/BidTracker/BidTrackerCard/BidTrackerCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ import {
DRAFT_PROP,
} from '../../../Constants/BidData';

const BidTrackerCard = ({ bid, acceptBid, declineBid, submitBid, deleteBid, userProfile }) => {
const BidTrackerCard = ({ bid, acceptBid, declineBid, submitBid, deleteBid, showBidCount,
userProfile }) => {
// determine whether we render an alert on top of the card
const showAlert = shouldShowAlert(bid);
// determine whether we should show the contacts section based on the status
Expand All @@ -28,6 +29,7 @@ const BidTrackerCard = ({ bid, acceptBid, declineBid, submitBid, deleteBid, user
<BidTrackerCardTop
bid={bid}
deleteBid={deleteBid}
showBidCount={showBidCount}
/>
<div className={`usa-grid-full padded-container-inner bid-tracker-bid-steps-container ${draftClass}`}>
<BidSteps bid={bid} />
Expand Down Expand Up @@ -66,6 +68,12 @@ BidTrackerCard.propTypes = {
submitBid: PropTypes.func.isRequired,
deleteBid: PropTypes.func.isRequired,
userProfile: USER_PROFILE.isRequired,
showBidCount: PropTypes.bool,
};

BidTrackerCard.defaultProps = {
showBidCount: true,
};


export default BidTrackerCard;
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ exports[`BidTrackerCardComponent matches snapshot 1`] = `
}
}
deleteBid={[Function]}
showBidCount={true}
showQuestion={true}
/>
<div
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,13 @@ const BidTrackerCardBottom = (props) => {
};

BidTrackerCardBottom.propTypes = {
reviewer: BID_REVIEWER_OBJECT.isRequired,
reviewer: BID_REVIEWER_OBJECT,
bureau: PropTypes.string.isRequired,
userProfile: USER_PROFILE.isRequired,
};

BidTrackerCardBottom.defaultProps = {
reviewer: null,
};

export default BidTrackerCardBottom;
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ import { BID_OBJECT, USER_PROFILE } from '../../../Constants/PropTypes';
import BidTrackerCard from '../BidTrackerCard';
import IsPriority from '../PriorityCards/IsPriority';
import IsOnStandby from '../PriorityCards/IsOnStandby';
import { DRAFT_PROP } from '../../../Constants/BidData';

// assign values to constants for equality checks later
const DEFAULT = 'default';
const PRIORITY = 'priority';
const STANDBY = 'standby';

// Here we'll figure out which wrapper to use around the BidTrackerCard, if any.
// We check two things - one, is there even a priority bid in the list (priorityExists).
Expand All @@ -12,22 +18,19 @@ import IsOnStandby from '../PriorityCards/IsOnStandby';
// object to the IsOnStandby component.
const BidTrackerCardContainer = ({ bid, acceptBid, declineBid, priorityExists, userProfile,
submitBid, deleteBid }) => {
const card = (
const getCard = ({ ...props }) => (
<BidTrackerCard
bid={bid}
acceptBid={acceptBid}
declineBid={declineBid}
userProfile={userProfile}
submitBid={submitBid}
deleteBid={deleteBid}
showBidCount={bid.status !== DRAFT_PROP}
{...props}
/>
);

// assign values to constants for equality checks later
const DEFAULT = 'default';
const PRIORITY = 'priority';
const STANDBY = 'standby';

// Set a displayType and change it based on priority.
// This way we can ensure that we only have one output in our return
let displayType = DEFAULT;
Expand All @@ -37,13 +40,13 @@ submitBid, deleteBid }) => {
let cardComponent;
switch (displayType) {
case PRIORITY:
cardComponent = (<IsPriority>{card}</IsPriority>);
cardComponent = (<IsPriority>{getCard({ showBidCount: false })}</IsPriority>);
break;
case STANDBY:
cardComponent = (<IsOnStandby bid={bid} deleteBid={deleteBid} />);
break;
default:
cardComponent = card;
cardComponent = getCard();
}

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ exports[`BidTrackerCardContainerComponent matches snapshot when priorityExists i
}
declineBid={[Function]}
deleteBid={[Function]}
showBidCount={true}
submitBid={[Function]}
userProfile={
Object {
Expand Down Expand Up @@ -232,6 +233,7 @@ exports[`BidTrackerCardContainerComponent matches snapshot when priorityExists i
}
declineBid={[Function]}
deleteBid={[Function]}
showBidCount={false}
submitBid={[Function]}
userProfile={
Object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,40 @@ import PropTypes from 'prop-types';
import { Link } from 'react-router-dom';
import { BID_STATISTICS_OBJECT, POST_DETAILS } from '../../../Constants/PropTypes';
import BidCount from '../../BidCount';
import { SUBMITTED_PROP } from '../../../Constants/BidData';
import { getPostName } from '../../../utilities';

const BidTrackerCardTitle = ({ title, id, status, bidStatistics, post }) => (
const BidTrackerCardTitle = ({ title, id, bidStatistics, post, showBidCount }) => (
<div className="usa-grid-full">
<div className="usa-grid-full bid-tracker-card-title-container">
<div className="bid-tracker-card-title-text">{title}</div>
<div className="bid-tracker-card-title-link">
<Link to={`/details/${id}`}>View position</Link>
</div>
</div>
{status === SUBMITTED_PROP &&
<div className="usa-grid-full">
<div className="bid-tracker-card-title-bottom">
<strong>Post:</strong> {getPostName(post)}
</div>
<span className="bid-stats">
<BidCount bidStatistics={bidStatistics} altStyle />
</span>
<div className="usa-grid-full">
<div className="bid-tracker-card-title-bottom">
<strong>Post:</strong> {getPostName(post)}
</div>
}
{
showBidCount &&
<span className="bid-stats">
<BidCount bidStatistics={bidStatistics} altStyle />
</span>
}
</div>
</div>
);

BidTrackerCardTitle.propTypes = {
title: PropTypes.string.isRequired,
id: PropTypes.number.isRequired,
status: PropTypes.string.isRequired,
bidStatistics: BID_STATISTICS_OBJECT.isRequired,
post: POST_DETAILS.isRequired,
showBidCount: PropTypes.bool,
};

BidTrackerCardTitle.defaultProps = {
showBidCount: true,
};

export default BidTrackerCardTitle;
Loading

0 comments on commit edea2ce

Please sign in to comment.