$88 GRAYBYTE WORDPRESS FILE MANAGER $16

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Campaigns/resources/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Campaigns/resources//utils.ts
import { useEntityRecord } from '@wordpress/core-data';
import { Campaign } from '@givewp/campaigns/admin/components/types';
import type { GiveCampaignOptions } from '@givewp/campaigns/types';
import apiFetch from '@wordpress/api-fetch';

declare const window: {
    GiveCampaignOptions: GiveCampaignOptions;
} & Window;

/**
 * @since 4.13.1 Return "record" instead of "campaign"
 * @since 4.0.0
 */
export function useCampaignEntityRecord(campaignId?: number) {
    const urlParams = new URLSearchParams(window.location.search);

    const {
        record: campaign,
        hasResolved,
        isResolving,
        save,
        edit,
    }: {
        record: Campaign;
        hasResolved: boolean;
        isResolving: boolean;
        save: () => any;
        edit: (data: Campaign | Partial<Campaign>) => void;
    } = useEntityRecord('givewp', 'campaign', campaignId ?? urlParams.get('id'));

    return { record: campaign, hasResolved, isResolving, save, edit };
}

/**
 * @since 4.0.0
 */
export function getCampaignOptionsWindowData(): GiveCampaignOptions {
    return window.GiveCampaignOptions;
}

export function handleTooltipDismiss(id: string) {
    return apiFetch({
        url: window.GiveCampaignOptions.adminUrl + '/admin-ajax.php?action=' + id,
        method: 'POST',
    })
}

/**
 * @since 4.0.0
 */
export function amountFormatter(currency: Intl.NumberFormatOptions['currency'], options?: Intl.NumberFormatOptions): Intl.NumberFormat {
    return new Intl.NumberFormat(navigator.language, {
        style: 'currency',
        currency: currency,
        ...options
    });
}

/**
 * @since 4.0.0
 */
export async function updateUserNoticeOptions(metaKey: string) {
    try {
        const currentUser = await apiFetch({ path: '/wp/v2/users/me' });
        // @ts-ignore
        const currentUserId = currentUser?.id;

        return await wp.data.dispatch('core').saveEntityRecord('root', 'user', {
            id: currentUserId,
            meta: {
                [metaKey]: true
            }
        });
    } catch (error) {
        console.error('Error updating user meta:', error);
    }
}

/**
 * @since 4.0.0
 */
export async function createCampaignPage(campaignId: number) {
    try {
        const response = await apiFetch({
            path: `/givewp/v3/campaigns/${campaignId}/page`,
            method: 'POST'
        });

        return response as {
            id: number,
        };
    } catch (error) {
        console.error('Error creating Campaign page:', error);
    }
}

/**
 * @since 4.13.1
 */
export async function updateCampaignStatus(campaignId: number, status: 'archived' | 'active') {
    try {
        const response = await apiFetch({
            path: `/givewp/v3/campaigns/${campaignId}`,
            method: 'PUT',
            data: { status }
        });

        return response as Campaign;
    } catch (error) {
        console.error('Error updating campaign status:', error);
    }
}


Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
admin
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
editor
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
hooks
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
store
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
views
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
types.ts
1.498 KB
1 May 2025 3.56 PM
bravrvjk / bravrvjk
0644
utils.ts
2.885 KB
18 Nov 2025 7.37 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF