diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json index 767d06e..84c68a1 100644 --- a/webapp/i18n/en.json +++ b/webapp/i18n/en.json @@ -92,6 +92,7 @@ "badges.types.empty": "No types yet", "badges.types.no_badges": "No achievements in this type", "badges.rhs.back_to_types": "Back to types", + "badges.rhs.back_to_achievements": "Back to achievements", "badges.modal.allowlist_create": "Allowlist for creation", "badges.modal.allowlist_create_help": "Users who can create achievements of this type.", diff --git a/webapp/i18n/ru.json b/webapp/i18n/ru.json index 476d09a..e88f171 100644 --- a/webapp/i18n/ru.json +++ b/webapp/i18n/ru.json @@ -92,6 +92,7 @@ "badges.types.empty": "Типов пока нет", "badges.types.no_badges": "В этом типе нет достижений", "badges.rhs.back_to_types": "Назад к типам", + "badges.rhs.back_to_achievements": "Назад к достижениям", "badges.modal.allowlist_create": "Список допущенных к созданию", "badges.modal.allowlist_create_help": "Пользователи, которые могут создавать достижения этого типа.", diff --git a/webapp/src/components/back_button/back_button.scss b/webapp/src/components/back_button/back_button.scss new file mode 100644 index 0000000..a81143c --- /dev/null +++ b/webapp/src/components/back_button/back_button.scss @@ -0,0 +1,13 @@ +.BackButton { + background: none; + border: none; + padding: 0; + font-size: 12px; + color: var(--button-bg, #166de0); + cursor: pointer; + text-align: left; + + &:hover { + text-decoration: underline; + } +} diff --git a/webapp/src/components/back_button/back_button.tsx b/webapp/src/components/back_button/back_button.tsx new file mode 100644 index 0000000..02997ee --- /dev/null +++ b/webapp/src/components/back_button/back_button.tsx @@ -0,0 +1,29 @@ +import React from 'react'; + +import {RHSState} from '../../types/general'; + +import './back_button.scss'; + +type Props = { + targetView: RHSState; + onNavigate: (view: RHSState) => void; + children: React.ReactNode; +} + +const BackButton: React.FC = ({ + targetView, + onNavigate, + children, +}) => { + return ( + + ); +}; + +export default BackButton; diff --git a/webapp/src/components/rhs/all_badges.scss b/webapp/src/components/rhs/all_badges.scss index e823688..11b3c0c 100644 --- a/webapp/src/components/rhs/all_badges.scss +++ b/webapp/src/components/rhs/all_badges.scss @@ -116,20 +116,6 @@ gap: 4px; } - &__backButton { - background: none; - border: none; - padding: 0; - font-size: 12px; - color: var(--button-bg, #166de0); - cursor: pointer; - text-align: left; - - &:hover { - text-decoration: underline; - } - } - &__filterTitle { font-size: 15px; font-weight: 600; diff --git a/webapp/src/components/rhs/all_badges.tsx b/webapp/src/components/rhs/all_badges.tsx index 883d191..24dae12 100644 --- a/webapp/src/components/rhs/all_badges.tsx +++ b/webapp/src/components/rhs/all_badges.tsx @@ -13,6 +13,8 @@ import {RHSState} from '../../types/general'; import {IMAGE_TYPE_EMOJI, RHS_STATE_DETAIL, RHS_STATE_TYPES} from '../../constants'; import {isCreateBadgeModalVisible, getEditBadgeModalData} from '../../selectors'; +import BackButton from 'components/back_button/back_button'; + import AllBadgesRow from './all_badges_row'; import './all_badges.scss'; @@ -93,16 +95,15 @@ const AllBadges: React.FC = ({filterTypeId, filterTypeName, actions}) => {isFiltered && (
- + {filterTypeName}
diff --git a/webapp/src/components/rhs/badge_details.scss b/webapp/src/components/rhs/badge_details.scss index 8853ac0..8f072f4 100644 --- a/webapp/src/components/rhs/badge_details.scss +++ b/webapp/src/components/rhs/badge_details.scss @@ -64,6 +64,10 @@ } } + &__backHeader { + padding: 4px; + } + &__editButton { position: absolute; top: 12px; diff --git a/webapp/src/components/rhs/badge_details.tsx b/webapp/src/components/rhs/badge_details.tsx index 539282a..0549488 100644 --- a/webapp/src/components/rhs/badge_details.tsx +++ b/webapp/src/components/rhs/badge_details.tsx @@ -8,11 +8,13 @@ import {BadgeDetails, BadgeID} from '../../types/badges'; import Client from '../../client/api'; import {RHSState} from '../../types/general'; -import {RHS_STATE_MY, RHS_STATE_OTHER} from '../../constants'; +import {RHS_STATE_MY, RHS_STATE_OTHER, RHS_STATE_TYPES} from '../../constants'; import BadgeImage from '../utils/badge_image'; import {markdown} from 'utils/markdown'; +import BackButton from '../../components/back_button/back_button'; + import RHSScrollbars from './rhs_scrollbars'; import UserRow from './user_row'; @@ -124,6 +126,17 @@ class BadgeDetailsComponent extends React.PureComponent { }); return (
+
+ + + +