YH-2018: add feature flag handling, update tarrif buttun to show with…#157
YH-2018: add feature flag handling, update tarrif buttun to show with…#157Buffik wants to merge 4 commits into
Conversation
| ); | ||
|
|
||
| return response.data.reduce<FeatureFlags>((acc, item) => { | ||
| if (!isFeatureFlagType(item.flag)) return acc; |
There was a problem hiding this comment.
[ISSUE] - Не очень понимаю зачем эта проверка. Давай уберем ее?
| publicSubscriptionShowTariffs: 'public.subscription.show-tariffs', | ||
| } as const satisfies Record<string, FeatureFlagType>; | ||
|
|
||
| export const featureFlags: FeatureFlags = { |
There was a problem hiding this comment.
[ISSUe] - Не вже смысла мокать флаги. Какб будто двойная работа
| @@ -0,0 +1,20 @@ | |||
| import { FeatureFlagType, FeatureFlags } from '../types/featureFlag'; | |||
|
|
|||
| export const FEATURE_FLAGS = { | |||
There was a problem hiding this comment.
[ISSUE] - не кажется достаточно иметь простой тип с перечислением доступных фича флагов. В данном случае он 1
А там где ты используешь этот объект я бы просто указывал public.subscription.show-tariffs, так как типизация все равно не позволит чтото другое указать и автоподстановка будет работать. По крайней мере мы по проектам такой подход используем
| } | ||
|
|
||
| export const FeatureFlagProvider = ({ children }: FeatureFlagProviderProps) => { | ||
| const [flags, setFlags] = useState<FeatureFlags>(featureFlags); |
There was a problem hiding this comment.
[ISSUE] - А зачем нам вообще нужен этот стейт?
| return response.data.reduce<FeatureFlags>((acc, item) => { | ||
| if (!isFeatureFlagType(item.flag)) return acc; | ||
|
|
||
| acc[item.flag] = { |
There was a problem hiding this comment.
[SUGGESTION] - Предложение сделать этот объект проще
acc[item.flag] = item.enabled
… flag
Добавлена логика получения и обработки фича-флагов
Отображение в хэдере кнопки "Тарифы" теперь зависит от флага public.subscription.show-tariffs