diff --git a/public/assets/mail-unread.png b/public/assets/mail-unread.png new file mode 100644 index 00000000..c7bddfac Binary files /dev/null and b/public/assets/mail-unread.png differ diff --git a/public/assets/mail.png b/public/assets/mail.png new file mode 100644 index 00000000..6072b242 Binary files /dev/null and b/public/assets/mail.png differ diff --git a/src/components/account-bar/account-bar.module.css b/src/components/account-bar/account-bar.module.css index 26ff8d2c..a460ec9b 100644 --- a/src/components/account-bar/account-bar.module.css +++ b/src/components/account-bar/account-bar.module.css @@ -25,7 +25,7 @@ } .separator { - color: var(--text-primary); + color: var(--gray-contrast); margin: 0px .7ex 0px .7ex; cursor: default; } @@ -103,4 +103,32 @@ .dropdownChoice:hover { background-color: var(--background-primary); +} + +.mailIcon { + background-repeat: no-repeat; + background-position: center; + width: 15px; + height: 10px; + display: inline-block; + vertical-align: middle; +} + +.mailIconRead { + background-image: url('/public/assets/mail.png'); +} + +.mailIconUnread { + background-image: url('/public/assets/mail-unread.png'); +} + +.mailUnreadCount { + background-color: var(--orange); + color: #FFF; + font-size: 8px; + font-weight: bold; + padding: 0px 3px; + margin-left: 3px; + border-radius: 2px; + display: inline-block; } \ No newline at end of file diff --git a/src/components/account-bar/account-bar.tsx b/src/components/account-bar/account-bar.tsx index 9171fd1f..d5ce9dcd 100644 --- a/src/components/account-bar/account-bar.tsx +++ b/src/components/account-bar/account-bar.tsx @@ -29,6 +29,9 @@ const AccountBar = () => { const accountDropdownClass = isAccountDropdownOpen ? styles.visible : styles.hidden; const accountSelectButtonRef = useRef(null); + const [isMailUnread, setIsMailUnread] = useState(false); + const mailClass = isMailUnread ? styles.mailIconUnread : styles.mailIconRead; + let submitLink = '/submit'; if (isSubplebbit) { submitLink = `/p/${subplebbitAddress}/submit`; @@ -99,8 +102,9 @@ const AccountBar = () => { | - e.preventDefault()}> - ✉️ + {e.preventDefault(); setIsMailUnread(!isMailUnread)}}> + + {isMailUnread && 1} | diff --git a/src/themes.css b/src/themes.css index 8e3efc37..91f78499 100644 --- a/src/themes.css +++ b/src/themes.css @@ -1,4 +1,9 @@ :root .light { + --orange: #FF7500; + --green: #228822; + --yellow: goldenrod; + --red: red; + --gray-contrast: #888; --filter: brightness(100%); --background: white; --background-primary: #cee3f8; @@ -13,7 +18,6 @@ --text-primary: #369; --button-border-primary: #c4dbf1; --button-border-primary-hover: #879eb4; - --green: #228822; --text-info: #888; --border-primary: #5f99cf; --border-text: gray; @@ -27,8 +31,6 @@ --play-button-hover: url("/public/assets/buttons/play-button-hover.png"); --close-button: url("/public/assets/buttons/close-button.png"); --close-button-hover: url("/public/assets/buttons/close-button-hover.png"); - --yellow: goldenrod; - --red: red; --button-large: url('/public/assets/buttons/button-large.png'); --button-large-hover: url('/public/assets/buttons/button-large-hover.png'); --button-large-nub: url('/public/assets/buttons/button-large-nub.png'); @@ -38,6 +40,11 @@ } :root .dark { + --orange: #FF7500; + --green: #228822; + --yellow: rgb(200, 171, 0); + --red: rgb(200, 0, 0); + --gray-contrast: #c7c7c7; --filter: brightness(80%); --background: #0f0f0f; --background-primary: #1f1f1f; @@ -52,7 +59,6 @@ --text-primary: #c7c7c7; --button-border-primary: #1f1f1f; --button-border-primary-hover: #3e3e3e; - --green: #228822; --text-info: #757575; --border-primary: #1f1f1f; --border-text: #3e3e3e; @@ -66,8 +72,6 @@ --play-button-hover: url("/public/assets/buttons/play-button-hover.png"); --close-button: url("/public/assets/buttons/close-button-dark.png"); --close-button-hover: url("/public/assets/buttons/close-button-hover.png"); - --yellow: rgb(200, 171, 0); - --red: rgb(200, 0, 0); --button-large: url('/public/assets/buttons/button-large-dark.png'); --button-large-hover: url('/public/assets/buttons/button-large-hover-dark.png'); --button-large-nub: url('/public/assets/buttons/button-large-nub-dark.png');