Commit cb7886dc authored by Steven's avatar Steven

chore: retire telegram integration in frontend

parent d00e4fdf
This diff is collapsed.
import { Button, Divider, Input, Option, Select } from "@mui/joy";
import { useState } from "react";
import { toast } from "react-hot-toast";
import { Link } from "react-router-dom";
import { Divider, Option, Select } from "@mui/joy";
import { useCommonContext } from "@/layouts/CommonContextProvider";
import { useUserStore } from "@/store/v1";
import { Visibility } from "@/types/proto/api/v2/memo_service";
......@@ -9,7 +6,6 @@ import { UserSetting } from "@/types/proto/api/v2/user_service";
import { useTranslate } from "@/utils/i18n";
import { convertVisibilityFromString, convertVisibilityToString } from "@/utils/memo";
import AppearanceSelect from "../AppearanceSelect";
import Icon from "../Icon";
import LocaleSelect from "../LocaleSelect";
import VisibilityIcon from "../VisibilityIcon";
import WebhookSection from "./WebhookSection";
......@@ -19,7 +15,6 @@ const PreferencesSection = () => {
const commonContext = useCommonContext();
const userStore = useUserStore();
const setting = userStore.userSetting as UserSetting;
const [telegramUserId, setTelegramUserId] = useState<string>(setting.telegramUserId);
const handleLocaleSelectChange = async (locale: Locale) => {
commonContext.setLocale(locale);
......@@ -50,25 +45,6 @@ const PreferencesSection = () => {
);
};
const handleSaveTelegramUserId = async () => {
try {
await userStore.updateUserSetting(
{
telegramUserId: telegramUserId,
},
["telegram_user_id"],
);
toast.success(t("message.update-succeed"));
} catch (error: any) {
console.error(error);
toast.error(error.response.data.message);
}
};
const handleTelegramUserIdChanged = async (value: string) => {
setTelegramUserId(value);
};
return (
<div className="w-full flex flex-col gap-2 pt-2 pb-4">
<p className="font-medium text-gray-700 dark:text-gray-500">{t("common.basic")}</p>
......@@ -105,39 +81,6 @@ const PreferencesSection = () => {
<Divider className="!my-3" />
<div className="space-y-2 border rounded-md py-2 px-3 dark:border-zinc-700">
<div className="w-full flex flex-row justify-between items-center">
<div className="w-auto flex items-center">
<span className="mr-1">{t("setting.preference-section.telegram-user-id")}</span>
</div>
<Button variant="outlined" color="neutral" onClick={handleSaveTelegramUserId}>
{t("common.save")}
</Button>
</div>
<Input
className="w-full"
sx={{
fontFamily: "monospace",
fontSize: "14px",
}}
value={telegramUserId}
onChange={(event) => handleTelegramUserIdChanged(event.target.value)}
placeholder={t("setting.preference-section.telegram-user-id-placeholder")}
/>
<div className="w-full">
<Link
className="text-gray-500 text-sm inline-flex flex-row justify-start items-center hover:underline hover:text-blue-600"
to="https://usememos.com/docs/integration/telegram-bot"
target="_blank"
>
{t("common.learn-more")}
<Icon.ExternalLink className="inline w-4 h-auto ml-1" />
</Link>
</div>
</div>
<Divider className="!my-3" />
<WebhookSection />
</div>
);
......
......@@ -4,11 +4,7 @@ import { toast } from "react-hot-toast";
import { Link } from "react-router-dom";
import { workspaceSettingServiceClient } from "@/grpcweb";
import { WorkspaceSettingPrefix, useWorkspaceSettingStore } from "@/store/v1";
import {
WorkspaceGeneralSetting,
WorkspaceMemoRelatedSetting,
WorkspaceTelegramIntegrationSetting,
} from "@/types/proto/api/v2/workspace_setting_service";
import { WorkspaceGeneralSetting, WorkspaceMemoRelatedSetting } from "@/types/proto/api/v2/workspace_setting_service";
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
import { useTranslate } from "@/utils/i18n";
import { showCommonDialog } from "../Dialog/CommonDialog";
......@@ -28,12 +24,6 @@ const WorkspaceSection = () => {
workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.WORKSPACE_SETTING_MEMO_RELATED)?.memoRelatedSetting || {},
),
);
const [workspaceTelegramIntegrationSetting, setWorkspaceTelegramIntegrationSetting] = useState<WorkspaceTelegramIntegrationSetting>(
WorkspaceTelegramIntegrationSetting.fromPartial(
workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.WORKSPACE_SETTING_TELEGRAM_INTEGRATION)
?.telegramIntegrationSetting || {},
),
);
const handleAllowSignUpChanged = async (value: boolean) => {
const setting = { ...workspaceGeneralSetting, disallowSignup: !value };
......@@ -96,23 +86,6 @@ const WorkspaceSection = () => {
toast.success("Instance URL updated");
};
const handleTelegramBotTokenChanged = (value: string) => {
setWorkspaceTelegramIntegrationSetting({ ...workspaceTelegramIntegrationSetting, botToken: value });
};
const handleSaveTelegramBotToken = async () => {
try {
await workspaceSettingStore.setWorkspaceSetting({
name: `${WorkspaceSettingPrefix}${WorkspaceSettingKey.WORKSPACE_SETTING_TELEGRAM_INTEGRATION}`,
telegramIntegrationSetting: workspaceTelegramIntegrationSetting,
});
toast.success("Telegram Bot Token updated");
} catch (error: any) {
console.error(error);
toast.error(error.details);
}
};
const handleAdditionalStyleChanged = (value: string) => {
setWorkspaceGeneralSetting({ ...workspaceGeneralSetting, additionalStyle: value });
};
......@@ -290,40 +263,6 @@ const WorkspaceSection = () => {
onChange={(event) => handleMemoDisplayWithUpdatedTs(event.target.checked)}
/>
</div>
<Divider className="!my-3" />
<p className="font-medium text-gray-700 dark:text-gray-500">Integrations</p>
<div className="space-y-2 border rounded-md py-2 px-3 dark:border-zinc-700">
<div className="w-full flex flex-row justify-between items-center">
<div className="flex flex-row items-center">
<div className="w-auto flex items-center">
<span className="mr-1">{t("setting.system-section.telegram-bot-token")}</span>
</div>
</div>
<Button variant="outlined" color="neutral" onClick={handleSaveTelegramBotToken}>
{t("common.save")}
</Button>
</div>
<Input
className="w-full"
sx={{
fontFamily: "monospace",
fontSize: "14px",
}}
placeholder={t("setting.system-section.telegram-bot-token-placeholder")}
value={workspaceTelegramIntegrationSetting.botToken}
onChange={(event) => handleTelegramBotTokenChanged(event.target.value)}
/>
<div className="w-full">
<Link
className="text-gray-500 text-sm inline-flex flex-row justify-start items-center hover:underline hover:text-blue-600"
to="https://usememos.com/docs/integration/telegram-bot"
target="_blank"
>
{t("common.learn-more")}
<Icon.ExternalLink className="inline w-4 h-auto ml-1" />
</Link>
</div>
</div>
</div>
);
};
......
......@@ -194,9 +194,7 @@
"preference-section": {
"theme": "Theme",
"default-memo-visibility": "Default memo visibility",
"default-memo-sort-option": "Memo display time",
"telegram-user-id": "Telegram UserID",
"telegram-user-id-placeholder": "Send any words to your Telegram Bot as a memo"
"default-memo-sort-option": "Memo display time"
},
"storage-section": {
"current-storage": "Current object storage",
......@@ -262,9 +260,6 @@
"additional-script": "Additional script",
"additional-style-placeholder": "Additional CSS code",
"additional-script-placeholder": "Additional JavaScript code",
"telegram-bot-token": "Telegram Bot Token",
"telegram-bot-token-description": "Telegram Bot Token or API Proxy like `http…/bot<token>`",
"telegram-bot-token-placeholder": "Your Telegram Bot token",
"display-with-updated-time": "Display with updated time"
},
"appearance-option": {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment