{ (!project.status || project.status === PROJECT_STATUS_DRAFT) &&
@@ -129,6 +131,7 @@ const SpecSection = props => {
wrapperClass="project-refcode"
maxLength={ PROJECT_REF_CODE_MAX_LENGTH }
theme="paper-form-dotted"
+ disabled={ queryParamRefCode && queryParamRefCode.length > 0 }
/>
Optional
diff --git a/src/projects/detail/containers/Specification.scss b/src/projects/detail/containers/Specification.scss
index 479c254fc..f5c1ac7fc 100644
--- a/src/projects/detail/containers/Specification.scss
+++ b/src/projects/detail/containers/Specification.scss
@@ -188,6 +188,10 @@ $title-color: $tc-gray-80;
border-radius: 4px;
position: relative;
+ form > div {
+ box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
+ }
+
.title {
color: $tc-gray-80;
@include roboto-bold;
diff --git a/src/routes.jsx b/src/routes.jsx
index a3fdf65ae..756340b31 100644
--- a/src/routes.jsx
+++ b/src/routes.jsx
@@ -30,6 +30,12 @@ browserHistory.listen(location => {
window.analytics.page('Project Specification')
} else if (/^\/$/.test(location.pathname)) {
window.analytics.page('Connect Home')
+ } else if (/^new-project\/$/.test(location.pathname)) {
+ window.analytics.page('New Project : Select Product')
+ } else if (/^new-project\/incomplete$/.test(location.pathname)) {
+ window.analytics.page('New Project : Incomplete Project')
+ } else if (/^new-project\/[a-zA-Z0-9\_]+$/.test(location.pathname)) {
+ window.analytics.page('New Project : Project Details')
}
}
})
@@ -81,9 +87,13 @@ const validateCreateProjectParams = (nextState, replace, callback) => {
const product = nextState.params.product
const productCategory = findProductCategory(product)
if (product && product.trim().length > 0 && !productCategory) {
- replace('/404')
+ // workaround to add URL for incomplete project confirmation step
+ // ideally we should have better URL naming which resolves each route with distinct patterns
+ if (product !== 'incomplete') {
+ replace('/404')
+ }
}
- callback()
+ callback()
}
const renderTopBarWithProjectsToolBar = () =>