Skip to content

YH-2018: add feature flag handling, update tarrif buttun to show with…#157

Open
Buffik wants to merge 4 commits into
developfrom
feature/YH-2018
Open

YH-2018: add feature flag handling, update tarrif buttun to show with…#157
Buffik wants to merge 4 commits into
developfrom
feature/YH-2018

Conversation

@Buffik

@Buffik Buffik commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

… flag

Добавлена логика получения и обработки фича-флагов
Отображение в хэдере кнопки "Тарифы" теперь зависит от флага public.subscription.show-tariffs

);

return response.data.reduce<FeatureFlags>((acc, item) => {
if (!isFeatureFlagType(item.flag)) return acc;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ISSUE] - Не очень понимаю зачем эта проверка. Давай уберем ее?

publicSubscriptionShowTariffs: 'public.subscription.show-tariffs',
} as const satisfies Record<string, FeatureFlagType>;

export const featureFlags: FeatureFlags = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ISSUe] - Не вже смысла мокать флаги. Какб будто двойная работа

@@ -0,0 +1,20 @@
import { FeatureFlagType, FeatureFlags } from '../types/featureFlag';

export const FEATURE_FLAGS = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ISSUE] - не кажется достаточно иметь простой тип с перечислением доступных фича флагов. В данном случае он 1

А там где ты используешь этот объект я бы просто указывал public.subscription.show-tariffs, так как типизация все равно не позволит чтото другое указать и автоподстановка будет работать. По крайней мере мы по проектам такой подход используем

}

export const FeatureFlagProvider = ({ children }: FeatureFlagProviderProps) => {
const [flags, setFlags] = useState<FeatureFlags>(featureFlags);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ISSUE] - А зачем нам вообще нужен этот стейт?

return response.data.reduce<FeatureFlags>((acc, item) => {
if (!isFeatureFlagType(item.flag)) return acc;

acc[item.flag] = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[SUGGESTION] - Предложение сделать этот объект проще
acc[item.flag] = item.enabled

@Buffik Buffik added the review label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants