// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

import * as React from 'react';
import { action } from '@storybook/addon-actions';
import type { Meta } from '@storybook/react';
import type { PropsType } from './ConversationNotificationsSettings.dom.tsx';
import { ConversationNotificationsSettings } from './ConversationNotificationsSettings.dom.tsx';

const { i18n } = window.SignalContext;

export default {
  title:
    'Components/Conversation/ConversationDetails/ConversationNotificationsSettings',
} satisfies Meta<PropsType>;

const getCommonProps = () => ({
  id: 'conversation-id',
  muteExpiresAt: undefined,
  conversationType: 'group' as const,
  dontNotifyForMentionsIfMuted: false,
  i18n,
  setDontNotifyForMentionsIfMuted: action('setDontNotifyForMentionsIfMuted'),
  setMuteExpiration: action('setMuteExpiration'),
});

export function GroupConversationAllDefault(): React.JSX.Element {
  return <ConversationNotificationsSettings {...getCommonProps()} />;
}

export function GroupConversationMuted(): React.JSX.Element {
  return (
    <ConversationNotificationsSettings
      {...getCommonProps()}
      muteExpiresAt={Date.UTC(2099, 5, 9)}
    />
  );
}

export function GroupConversationMentionsMuted(): React.JSX.Element {
  return (
    <ConversationNotificationsSettings
      {...getCommonProps()}
      dontNotifyForMentionsIfMuted
    />
  );
}
