diff --git a/src/apps/profiles/src/member-profile/about-me/AboutMe.tsx b/src/apps/profiles/src/member-profile/about-me/AboutMe.tsx
index 2bb8e5463..ae908f12a 100644
--- a/src/apps/profiles/src/member-profile/about-me/AboutMe.tsx
+++ b/src/apps/profiles/src/member-profile/about-me/AboutMe.tsx
@@ -9,6 +9,7 @@ import { EditMemberPropertyBtn, EmptySection } from '../../components'
import { EDIT_MODE_QUERY_PARAM, profileEditModes } from '../../config'
import { ModifyAboutMeModal } from './ModifyAboutMeModal'
+import MemberRatingCard from './MemberRatingCard/MemberRatingCard'
import styles from './AboutMe.module.scss'
interface AboutMeProps {
@@ -71,6 +72,9 @@ const AboutMe: FC = (props: AboutMeProps) => {
{' '}
{props.profile?.firstName || props.profile?.handle}
+
+
+
{memberTitleTrait?.profileSelfTitle}
{
diff --git a/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.module.scss b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.module.scss
new file mode 100644
index 000000000..1915337e1
--- /dev/null
+++ b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.module.scss
@@ -0,0 +1,36 @@
+@import '@libs/ui/styles/includes';
+
+.container {
+ background-color: $tc-white;
+ padding: $sp-3;
+ margin: $sp-4 0;
+ border-radius: 16px;
+ width: 100%;
+
+ .innerWrap {
+ background-image: linear-gradient(90deg, #05456D, #0A7AC0);
+ color: $tc-white;
+ border-radius: 10px;
+ display: flex;
+ justify-content: space-between;
+ padding: $sp-4;
+
+ .valueWrap {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .value {
+ font-size: 26px;
+ font-weight: 500;
+ font-family: $font-barlow-condensed;
+ line-height: 28px;
+ }
+
+ .name {
+ font-size: 12px;
+ line-height: 18px;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.tsx b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.tsx
new file mode 100644
index 000000000..3574e8365
--- /dev/null
+++ b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/MemberRatingCard.tsx
@@ -0,0 +1,58 @@
+/* eslint-disable jsx-a11y/anchor-is-valid */
+import { FC, useMemo } from 'react'
+
+import { useMemberStats, UserProfile, UserStats } from '~/libs/core'
+
+import styles from './MemberRatingCard.module.scss'
+
+interface MemberRatingCardProps {
+ profile: UserProfile
+}
+
+const MemberRatingCard: FC
= (props: MemberRatingCardProps) => {
+ const memberStats: UserStats | undefined = useMemberStats(props.profile.handle)
+
+ const maxPercentile: number = useMemo(() => {
+ let memberPercentile: number = 0
+ if (memberStats?.DATA_SCIENCE) {
+ memberPercentile = memberStats.DATA_SCIENCE.MARATHON_MATCH?.rank?.percentile || 0
+ if ((memberStats.DATA_SCIENCE.SRM?.rank?.percentile || 0) > memberPercentile) {
+ memberPercentile = memberStats.DATA_SCIENCE.SRM.rank?.percentile || 0
+ }
+ }
+
+ if (memberStats?.DEVELOP) {
+ memberStats.DEVELOP.subTracks.forEach((subTrack: any) => {
+ const subPercentile = subTrack.rank.percentile || subTrack.rank.overallPercentile || 0
+ if (subPercentile > memberPercentile) {
+ memberPercentile = subPercentile
+ }
+ })
+ }
+
+ return memberPercentile
+ }, [memberStats])
+
+ return memberStats?.maxRating?.rating ? (
+
+
+
+
{memberStats?.maxRating?.rating}
+
Rating
+
+
+
+ {Number(maxPercentile)
+ .toFixed(2)}
+
+
Percentile
+
+
+
+
+ ) : <>>
+}
+
+export default MemberRatingCard
diff --git a/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/index.ts b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/index.ts
new file mode 100644
index 000000000..bf3e757da
--- /dev/null
+++ b/src/apps/profiles/src/member-profile/about-me/MemberRatingCard/index.ts
@@ -0,0 +1 @@
+export { default as MemberRatingCard } from './MemberRatingCard'
diff --git a/src/apps/profiles/src/member-profile/page-layout/ProfilePageLayout.module.scss b/src/apps/profiles/src/member-profile/page-layout/ProfilePageLayout.module.scss
index cbde4c842..e6e82f481 100644
--- a/src/apps/profiles/src/member-profile/page-layout/ProfilePageLayout.module.scss
+++ b/src/apps/profiles/src/member-profile/page-layout/ProfilePageLayout.module.scss
@@ -46,6 +46,11 @@
.profileInfoLeft {
display: flex;
flex-direction: column;
+ margin-top: -60px;
+
+ @include ltelg {
+ margin-top: 0;
+ }
.skillsWrap {
display: flex;
diff --git a/src/libs/ui/lib/components/form/form-groups/form-input/input-wrapper/InputWrapper.module.scss b/src/libs/ui/lib/components/form/form-groups/form-input/input-wrapper/InputWrapper.module.scss
index 4be07ad1d..e2bc27d8e 100644
--- a/src/libs/ui/lib/components/form/form-groups/form-input/input-wrapper/InputWrapper.module.scss
+++ b/src/libs/ui/lib/components/form/form-groups/form-input/input-wrapper/InputWrapper.module.scss
@@ -87,7 +87,7 @@ $error-line-height: 14px;
&.input-error {
border-color: $red-100;
- margin-bottom: 0;
+ margin-bottom: 0 !important;
color: $red-100;
.label {