category format controlled

This commit is contained in:
VividTruthKeeper 2022-09-10 17:14:14 +05:00
parent 797663c097
commit db3f8748a2
4 changed files with 32 additions and 5 deletions

View File

@ -2,6 +2,10 @@
select { select {
padding: 1rem 1.2rem; padding: 1rem 1.2rem;
border: 1px solid #b8b9bb; border: 1px solid #b8b9bb;
option {
text-transform: capitalize;
}
} }
&.inner { &.inner {

View File

@ -0,0 +1,3 @@
export const capitalizeFirstLetter = (string: string): string => {
return string.charAt(0).toUpperCase() + string.slice(1);
};

View File

@ -10,6 +10,7 @@ import { BiLinkExternal } from "react-icons/bi";
// Helpers // Helpers
import { parseDate } from "../helpers/parseDate"; import { parseDate } from "../helpers/parseDate";
import { capitalizeFirstLetter } from "../helpers/stringMethods";
const Post = () => { const Post = () => {
const date = new Date("0.0.0000"); const date = new Date("0.0.0000");
@ -59,7 +60,11 @@ const Post = () => {
<input <input
type="text" type="text"
readOnly readOnly
value={postData.id !== -1 ? postData.category : ""} value={
postData.id !== -1
? capitalizeFirstLetter(postData.category.toLowerCase())
: ""
}
/> />
</div> </div>
<div className="post__content__block"> <div className="post__content__block">

View File

@ -12,6 +12,7 @@ import { getPosts } from "../helpers/apiRequests";
import { PostType } from "../types/posts"; import { PostType } from "../types/posts";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { parseDate } from "../helpers/parseDate"; import { parseDate } from "../helpers/parseDate";
import { capitalizeFirstLetter } from "../helpers/stringMethods";
// Data // Data
const headers: string[] = [ const headers: string[] = [
@ -34,11 +35,14 @@ const Posts = () => {
useEffect(() => { useEffect(() => {
const categoriesTemp: string[] = categories; const categoriesTemp: string[] = categories;
if (posts[0].id !== -1) { if (posts[0].id !== -1) {
posts.map((post: PostType) => categoriesTemp.push(post.category)); posts.map((post: PostType) =>
categoriesTemp.push(capitalizeFirstLetter(post.category.toLowerCase()))
);
let categoriesTempUnique = categoriesTemp.filter((element, index) => { let categoriesTempUnique = categoriesTemp.filter((element, index) => {
return categoriesTemp.indexOf(element) === index; return categoriesTemp.indexOf(element) === index;
}); });
setCategories(categoriesTempUnique); setCategories(categoriesTempUnique);
console.log(categoriesTempUnique);
} }
}, [posts]); }, [posts]);
@ -92,7 +96,11 @@ const Posts = () => {
> >
<tr> <tr>
<td>{index + 1}</td> <td>{index + 1}</td>
<td>{post.category}</td> <td>
{capitalizeFirstLetter(
post.category.toLowerCase()
)}
</td>
<td>{post.title}</td> <td>{post.title}</td>
<td> <td>
<a <a
@ -110,7 +118,10 @@ const Posts = () => {
); );
}) })
: posts.map((post: PostType, index: number) => { : posts.map((post: PostType, index: number) => {
if (post.category === category) { if (
capitalizeFirstLetter(post.category.toLowerCase()) ===
category
) {
return ( return (
<Link <Link
className="post-link" className="post-link"
@ -119,7 +130,11 @@ const Posts = () => {
> >
<tr> <tr>
<td>{index + 1}</td> <td>{index + 1}</td>
<td>{post.category}</td> <td>
{capitalizeFirstLetter(
post.category.toLowerCase()
)}
</td>
<td>{post.title}</td> <td>{post.title}</td>
<td> <td>
<a <a