diff --git a/src/food-market.web/src/pages/OrganizationSettingsPage.tsx b/src/food-market.web/src/pages/OrganizationSettingsPage.tsx index 9a6fbcc..22f6f0a 100644 --- a/src/food-market.web/src/pages/OrganizationSettingsPage.tsx +++ b/src/food-market.web/src/pages/OrganizationSettingsPage.tsx @@ -8,6 +8,7 @@ import { Field, TextInput, Select, Checkbox } from '@/components/Field' import { FormSkeleton } from '@/components/Skeleton' import { useCountries } from '@/lib/useLookups' import { useOrgSettings, type OrgSettings } from '@/lib/useOrgSettings' +import { useMe } from '@/lib/useMe' interface DemoSeedSummary { alreadySeeded: boolean @@ -228,10 +229,16 @@ interface TelegramStatus { */ function TelegramSection() { const qc = useQueryClient() + // Hotfix: Telegram-binding — advanced-only (RequiresAdvancedMode). + // В простом режиме не фетчим — иначе 403 на reload настроек org. + const me = useMe() + const isAdvanced = !!me.data?.advancedMode || !!me.data?.roles?.includes('SuperAdmin') const status = useQuery({ queryKey: ['/api/organization/telegram/status'], queryFn: async () => (await api.get('/api/organization/telegram/status')).data, + enabled: isAdvanced, }) + if (!isAdvanced) return null const [chatIdInput, setChatIdInput] = useState('') const bind = useMutation({ mutationFn: async () => {