mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 17:43:47 +00:00
feat: admin partner settings page, partner section visibility toggle, custom requisites text
- New AdminPartnerSettings page with validation (pattern from AdminTicketSettings) - Settings gear button on AdminPartners header - Hide partner/withdrawal sections when partner_section_visible is false - Use custom requisites_text as label in withdrawal form - i18n keys for ru/en
This commit is contained in:
@@ -113,6 +113,26 @@ export interface PartnerStats {
|
||||
total_earnings_kopeks: number;
|
||||
}
|
||||
|
||||
// ==================== Partner Settings types ====================
|
||||
|
||||
export interface PartnerSettings {
|
||||
withdrawal_enabled: boolean;
|
||||
withdrawal_min_amount_kopeks: number;
|
||||
withdrawal_cooldown_days: number;
|
||||
withdrawal_requisites_text: string;
|
||||
partner_section_visible: boolean;
|
||||
referral_program_enabled: boolean;
|
||||
}
|
||||
|
||||
export interface PartnerSettingsUpdate {
|
||||
withdrawal_enabled?: boolean;
|
||||
withdrawal_min_amount_kopeks?: number;
|
||||
withdrawal_cooldown_days?: number;
|
||||
withdrawal_requisites_text?: string;
|
||||
partner_section_visible?: boolean;
|
||||
referral_program_enabled?: boolean;
|
||||
}
|
||||
|
||||
export const partnerApi = {
|
||||
// User endpoints
|
||||
getStatus: async (): Promise<PartnerStatusResponse> => {
|
||||
@@ -191,4 +211,18 @@ export const partnerApi = {
|
||||
unassignCampaign: async (userId: number, campaignId: number): Promise<void> => {
|
||||
await apiClient.post(`/cabinet/admin/partners/${userId}/campaigns/${campaignId}/unassign`);
|
||||
},
|
||||
|
||||
// Settings
|
||||
getPartnerSettings: async (): Promise<PartnerSettings> => {
|
||||
const response = await apiClient.get<PartnerSettings>('/cabinet/admin/partners/settings');
|
||||
return response.data;
|
||||
},
|
||||
|
||||
updatePartnerSettings: async (data: PartnerSettingsUpdate): Promise<PartnerSettings> => {
|
||||
const response = await apiClient.patch<PartnerSettings>(
|
||||
'/cabinet/admin/partners/settings',
|
||||
data,
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -14,6 +14,7 @@ export interface WithdrawalBalanceResponse {
|
||||
is_withdrawal_enabled: boolean;
|
||||
can_request: boolean;
|
||||
cannot_request_reason: string | null;
|
||||
requisites_text: string;
|
||||
}
|
||||
|
||||
export interface WithdrawalCreateRequest {
|
||||
|
||||
Reference in New Issue
Block a user