| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import usePersistedState from '../../../shared/hooks/use-persisted-state'
- import getMeta from '../../../utils/meta'
- import { Survey } from '../../../../../types/project/dashboard/survey'
- import { useCallback } from 'react'
- import Close from '@/shared/components/close'
- export default function SurveyWidget() {
- const survey: Survey = getMeta('ol-survey')
- const [dismissedSurvey, setDismissedSurvey] = usePersistedState(
- `dismissed-${survey?.name}`,
- false
- )
- const dismissSurvey = useCallback(() => {
- setDismissedSurvey(true)
- }, [setDismissedSurvey])
- if (!survey?.name || dismissedSurvey) {
- return null
- }
- return (
- <div className="user-notifications">
- <div className="notification-entry">
- <div role="alert" className="alert alert-info-alt">
- <div className="notification-body">
- {survey.preText}
- <a
- className="project-list-sidebar-survey-link"
- href={survey.url}
- target="_blank"
- rel="noreferrer noopener"
- >
- {survey.linkText}
- </a>
- </div>
- <div className="notification-close notification-close-button-style">
- <Close variant="dark" onDismiss={() => dismissSurvey()} />
- </div>
- </div>
- </div>
- </div>
- )
- }
|