HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah_err/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);
        },
    ];
}