HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/globfdxw/www/wp-content/plugins/give/src/Campaigns/resources/hooks/index.tsx
import {useState} from 'react';
import {getCampaignOptionsWindowData, handleTooltipDismiss} from '@givewp/campaigns/utils';

type NoticeId = 'givewp_campaign_form_notice' | 'givewp_campaign_settings_notice' | 'givewp_campaign_listtable_notice';

const noticesMap = {
    givewp_campaign_listtable_notice: 'showCampaignListTableNotice',
    givewp_campaign_settings_notice: 'showCampaignSettingsNotice',
    givewp_campaign_form_notice: 'showCampaignFormNotice',
};

export function useCampaignNoticeHook(id: NoticeId): [boolean, () => void] {
    const campaignWindowData = getCampaignOptionsWindowData();
    const [showTooltip, setShowTooltip] = useState<boolean>(campaignWindowData.admin[noticesMap[id]]);

    return [
        showTooltip,
        () => {
            setShowTooltip(false);
            campaignWindowData.admin[noticesMap[id]] = false;
            handleTooltipDismiss(id);
        },
    ];
}