# give/4.18.0.1/src/Campaigns/resources/hooks/index.tsx

GiveWP – Donation Plugin and Fundraising Platform, version 4.18.0.1. 25 lines.

- Page: https://pluginprobe.com/plugins/give/4.18.0.1/code/src/Campaigns/resources/hooks/index.tsx
- Raw: https://pluginprobe.com/plugins/give/4.18.0.1/raw/src/Campaigns/resources/hooks/index.tsx
- Modified: 2025-03-31T19:17:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.18.0.1/code/src/Campaigns/resources/hooks/index.tsx#L10-L20`.

```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);
        },
    ];
}

```
