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 =>
)}
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.