From aeffd5cc1b77b676a06e5d4a964dbce81cfc546d Mon Sep 17 00:00:00 2001 From: Xziy Date: Mon, 3 Jul 2023 06:42:32 +0300 Subject: [PATCH] add telegram Pane --- .../UserSettingsModal/TelegramPane.jsx | 44 +++++++++++++++++++ .../TelegramPane.module.scss | 6 +++ .../UserSettingsModal/UserSettingsModal.jsx | 14 +++--- 3 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 client/src/components/UserSettingsModal/TelegramPane.jsx create mode 100644 client/src/components/UserSettingsModal/TelegramPane.module.scss diff --git a/client/src/components/UserSettingsModal/TelegramPane.jsx b/client/src/components/UserSettingsModal/TelegramPane.jsx new file mode 100644 index 0000000..ad26c33 --- /dev/null +++ b/client/src/components/UserSettingsModal/TelegramPane.jsx @@ -0,0 +1,44 @@ +import React, { useCallback } from 'react'; +import PropTypes from 'prop-types'; +import { useTranslation } from 'react-i18next'; +import { Radio, Tab } from 'semantic-ui-react'; +// import CryptoJS from 'crypto-js'; + +import styles from './TelegramPane.module.scss'; + +const getHashFromUsername = (username) => { + return CryptoJS.SHA256(username).toString(); +} + +const TG_BOT_NAME = process.env.TG_BOT_NAME ?? "DebugTeamBoardBot" + +const TelegramPane = React.memo(({ subscribeToOwnCards, onUpdate, username }) => { + const [t] = useTranslation(); + + const hashedUsername = "getHashFromUsername(username)"; + const botLink = `https://t.me/${TG_BOT_NAME}?start=${hashedUsername}`; + + return ( + +

Бот телеграм

+

+ Чтобы начать получать уведомления, выполните следующие шаги: +

+
    +
  1. Зайдите в бота и нажмите на кнопку "Старт"
  2. +
  3. После этого вас перенаправят на страницу, где вам нужно будет подтвердить вашу личность.
  4. +
  5. Следуйте инструкциям на странице, чтобы завершить процесс подтверждения.
  6. +
  7. Как только вы успешно подтвердите свою личность, бот начнет присылать вам уведомления.
  8. +
+ @{TG_BOT_NAME} +
+ ); +}); + +TelegramPane.propTypes = { + subscribeToOwnCards: PropTypes.bool.isRequired, + onUpdate: PropTypes.func.isRequired, + username: PropTypes.string.isRequired, +}; + +export default TelegramPane; diff --git a/client/src/components/UserSettingsModal/TelegramPane.module.scss b/client/src/components/UserSettingsModal/TelegramPane.module.scss new file mode 100644 index 0000000..8528aab --- /dev/null +++ b/client/src/components/UserSettingsModal/TelegramPane.module.scss @@ -0,0 +1,6 @@ +:global(#app) { + .wrapper { + border: none; + box-shadow: none; + } +} diff --git a/client/src/components/UserSettingsModal/UserSettingsModal.jsx b/client/src/components/UserSettingsModal/UserSettingsModal.jsx index da4cbf5..ad7dd95 100644 --- a/client/src/components/UserSettingsModal/UserSettingsModal.jsx +++ b/client/src/components/UserSettingsModal/UserSettingsModal.jsx @@ -6,7 +6,7 @@ import { Modal, Tab } from 'semantic-ui-react'; import AccountPane from './AccountPane'; import PreferencesPane from './PreferencesPane'; import AboutPane from './AboutPane'; - +import TelegramPane from './TelegramPane'; const UserSettingsModal = React.memo( ({ email, @@ -73,11 +73,15 @@ const UserSettingsModal = React.memo( ), }, { - menuItem: t('common.aboutPlanka', { - context: 'title', - }), - render: () => , + menuItem: "Telegram", + render: () => , }, + // { + // menuItem: t('common.aboutPlanka', { + // context: 'title', + // }), + // render: () => , + // }, ]; return (