Enforce 25 character titles on front end
This commit is contained in:
@@ -36,8 +36,12 @@ const EditableProjectTitle = ({
|
|||||||
toast.success('Project updated.')
|
toast.success('Project updated.')
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
const onTitleChange = ({ target }) =>
|
const onTitleChange = ({ target }) => {
|
||||||
setNewTitle(target.value.replace(/([^a-zA-Z\d_:])/g, '-'))
|
if (target.value.length > 25) {
|
||||||
|
toast.error('Titles must be 25 or less characters')
|
||||||
|
}
|
||||||
|
setNewTitle(target.value.replace(/([^a-zA-Z\d_:])/g, '-').slice(0, 25))
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{!inEditMode && (
|
{!inEditMode && (
|
||||||
@@ -68,7 +72,7 @@ const EditableProjectTitle = ({
|
|||||||
<span className="flex items-center ml-4 border border-ch-gray-300 rounded-sm">
|
<span className="flex items-center ml-4 border border-ch-gray-300 rounded-sm">
|
||||||
<span className="ml-1">/</span>
|
<span className="ml-1">/</span>
|
||||||
<input
|
<input
|
||||||
className="pl-1 bg-ch-gray-900"
|
className="pl-1 w-64 bg-ch-gray-900"
|
||||||
value={newTitle}
|
value={newTitle}
|
||||||
onChange={onTitleChange}
|
onChange={onTitleChange}
|
||||||
ref={inputRef}
|
ref={inputRef}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import ProjectCell from 'src/components/ProjectCell'
|
|||||||
import Seo from 'src/components/Seo/Seo'
|
import Seo from 'src/components/Seo/Seo'
|
||||||
import { useIdeState } from 'src/helpers/hooks/useIdeState'
|
import { useIdeState } from 'src/helpers/hooks/useIdeState'
|
||||||
import { IdeContext } from 'src/helpers/hooks/useIdeContext'
|
import { IdeContext } from 'src/helpers/hooks/useIdeContext'
|
||||||
|
import { Toaster } from '@redwoodjs/web/toast'
|
||||||
|
|
||||||
const ProjectPage = ({ userName, projectTitle }) => {
|
const ProjectPage = ({ userName, projectTitle }) => {
|
||||||
const { currentUser } = useAuth()
|
const { currentUser } = useAuth()
|
||||||
@@ -11,6 +12,7 @@ const ProjectPage = ({ userName, projectTitle }) => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Seo title={projectTitle} description={projectTitle} lang="en-US" />
|
<Seo title={projectTitle} description={projectTitle} lang="en-US" />
|
||||||
|
<Toaster timeout={1500} />
|
||||||
<IdeContext.Provider value={{ state, thunkDispatch, project: null }}>
|
<IdeContext.Provider value={{ state, thunkDispatch, project: null }}>
|
||||||
<ProjectCell
|
<ProjectCell
|
||||||
userName={userName}
|
userName={userName}
|
||||||
|
|||||||
Reference in New Issue
Block a user