From 71ca526fbe958d127ece89bda7e60d523f71e364 Mon Sep 17 00:00:00 2001 From: MTG2000 Date: Tue, 27 Sep 2022 16:16:27 +0300 Subject: [PATCH] update: improve UX of project tag, decrease font size of member role --- .../Components/FormContainer/FormContainer.tsx | 8 +++++--- .../ProjectDetailsTab/ProjectDetailsTab.tsx | 17 +++++++++++++---- .../Components/TeamMembersInput/MemberRow.tsx | 1 + .../Components/TeamTab/TeamTab.tsx | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/features/Projects/pages/ListProjectPage/Components/FormContainer/FormContainer.tsx b/src/features/Projects/pages/ListProjectPage/Components/FormContainer/FormContainer.tsx index c3e7776..3c1f62c 100644 --- a/src/features/Projects/pages/ListProjectPage/Components/FormContainer/FormContainer.tsx +++ b/src/features/Projects/pages/ListProjectPage/Components/FormContainer/FormContainer.tsx @@ -42,11 +42,13 @@ const schema: yup.SchemaOf = yup.object({ title: yup.string().trim().required("please provide a title").min(2), hashtag: yup .string() - .required("please provide a hashtag") + .required("please provide a project tag") + .matches(/^#/, "a hashtag has to start with '#'") .matches( - /^(?:#)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:(?!))){0,28}(?:[A-Za-z0-9_]))?)((?: #)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:\.(?!\.))){0,28}(?:[A-Za-z0-9_]))?))*$/, - "a hashtag should only contain letters, numbers, & underscores" + /^#[^ !@#$%^&*(),.?":{}|<>]*$/, + "your project's tag can only contain letters, numbers and '_’" ) + .max(35, 'Your project tag must be shorter than 35 characters.') .test({ name: "is unique hashtag", test: async (value, context) => { diff --git a/src/features/Projects/pages/ListProjectPage/Components/ProjectDetailsTab/ProjectDetailsTab.tsx b/src/features/Projects/pages/ListProjectPage/Components/ProjectDetailsTab/ProjectDetailsTab.tsx index 5b01022..669e46c 100644 --- a/src/features/Projects/pages/ListProjectPage/Components/ProjectDetailsTab/ProjectDetailsTab.tsx +++ b/src/features/Projects/pages/ListProjectPage/Components/ProjectDetailsTab/ProjectDetailsTab.tsx @@ -9,6 +9,7 @@ import AvatarInput from "src/Components/Inputs/FilesInputs/AvatarInput/AvatarInp import CoverImageInput from "src/Components/Inputs/FilesInputs/CoverImageInput/CoverImageInput"; import ScreenshotsInput from "src/Components/Inputs/FilesInputs/ScreenshotsInput/ScreenshotsInput"; import { BsLightningChargeFill } from "react-icons/bs"; +import InfoCard from "src/Components/InfoCard/InfoCard"; interface Props { } @@ -116,7 +117,7 @@ export default function ProjectDetailsTab(props: Props) { {errors.description.message}

}

- Hashtag* + Project tag*

- {(isUpdating && dirtyFields.hashtag) &&

- Warning: changing the hashtag of the project will break all the old links for the project. -

} {errors.hashtag &&

{errors.hashtag.message}

} + {(isUpdating && dirtyFields.hashtag) && + + ⚠️ Warning: when you change the tag of your project, existing links that use this tag will no longer work & will need to be updateded. + } + {!isUpdating && + + ℹ️ Project tag allows you to mention your project in stories, or across other platforms like Discord.
+ You can change your project’s tag later, but links that use the old tag will no longer work & need to be updated. +
+ } + diff --git a/src/features/Projects/pages/ListProjectPage/Components/TeamMembersInput/MemberRow.tsx b/src/features/Projects/pages/ListProjectPage/Components/TeamMembersInput/MemberRow.tsx index b606cc9..00cca48 100644 --- a/src/features/Projects/pages/ListProjectPage/Components/TeamMembersInput/MemberRow.tsx +++ b/src/features/Projects/pages/ListProjectPage/Components/TeamMembersInput/MemberRow.tsx @@ -40,6 +40,7 @@ export default function MemberRow({ user, onRemove, onUpdateRole, disabled, canU menuButton={{user.role} } transition> {[Team_Member_Role.Admin, Team_Member_Role.Maker].map(role => onUpdateRole(role)} key={role}>{role} )} diff --git a/src/features/Projects/pages/ListProjectPage/Components/TeamTab/TeamTab.tsx b/src/features/Projects/pages/ListProjectPage/Components/TeamTab/TeamTab.tsx index d11470c..aaba86f 100644 --- a/src/features/Projects/pages/ListProjectPage/Components/TeamTab/TeamTab.tsx +++ b/src/features/Projects/pages/ListProjectPage/Components/TeamTab/TeamTab.tsx @@ -35,7 +35,7 @@ export default function TeamTab() {

- 💡 Onboard your team: Make sure you onboard any other team members so they can help you manage this project. + ℹ️ Onboard your team: Make sure you onboard any other team members so they can help you manage this project and its development progress. To add them, they will first need to create a maker profile.