react-easy-wall 3.5.17 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,6 +44,7 @@ const CreateComment = ({ createCommentAvatarProps = {}, createAvatarContainerPro
44
44
  });
45
45
  const canRegistered = onlyForRegistered && user;
46
46
  const canSubscriber = onlyForSubscribers && subscription;
47
+ console.log({ canSubscriber, subscription });
47
48
  const canComment = canRegistered || canSubscriber;
48
49
  return (jsxRuntime.jsx(Card.default, { elevation: 0, children: jsxRuntime.jsxs(Box.default, { sx: { display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }, children: [user ? (jsxRuntime.jsx(Box.default, { sx: { ...sxCreateAvatarContainerProps }, children: jsxRuntime.jsx(Box.default, { sx: {
49
50
  xs: {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateComment.js","sources":["../../../../../../src/components/comment/components/create-comment/CreateComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n BoxProps,\n ButtonProps,\n Card,\n Typography,\n TypographyProps,\n} from '@mui/material';\nimport { useComment } from '../../comment.hooks';\nimport {\n ReactSimpleWysiwyg,\n ReactSimpleWysiwygProps,\n} from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useSession } from '@/components/session';\nimport { useCallAction } from '@cobuildlab/react-simple-state';\nimport { createComment, openSubscriptionCommentsStoreAction } from '../../comment.actions';\nimport { theme } from '@/shared/mui/theme';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\n\nexport type CreateCommentProps = {\n createCommentAvatarProps?: AvatarProps;\n createCommentNameTextProps?: TypographyProps;\n createCommentContainerProps?: BoxProps;\n\n createAvatarContainerProps?: BoxProps;\n createButtonContainerProps?: BoxProps;\n createTextContainerProps?: BoxProps;\n\n createCommentButtonProps?: ButtonProps;\n createCommentContentProps?: Omit<ReactSimpleWysiwygProps, 'value' | 'onChange'>;\n};\n\nexport const CreateComment: React.FC<CreateCommentProps> = ({\n createCommentAvatarProps = {},\n createAvatarContainerProps = {},\n createCommentNameTextProps = {},\n createCommentButtonProps = {},\n createCommentContentProps = {},\n createButtonContainerProps = {},\n createTextContainerProps = {},\n createCommentContainerProps = {},\n}) => {\n const { user, subscription } = useSession();\n const [html, setHtml] = useState<string>('');\n const { callAction, postId, onlyForRegistered, onlyForSubscribers } = useComment();\n\n const { sx: sxCreateCommentAvatarProps } = createCommentAvatarProps;\n const { sx: sxCreateCommentNameTextProps } = createCommentNameTextProps;\n const { sx: sxCreateCommentButtonProps } = createCommentButtonProps;\n\n const { sx: sxCreateButtonContainerProps } = createButtonContainerProps;\n const { sx: sxCreateAvatarContainerProps } = createAvatarContainerProps;\n const { sx: sxCreateTextContainerProps } = createTextContainerProps;\n const { sx: sxCreateCommentContainerProps } = createCommentContainerProps;\n\n const [callCreateComment, loading] = useCallAction(createComment, {\n onCompleted: () => {\n setHtml('');\n callAction();\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <Card elevation={0}>\n <Box sx={{ display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }}>\n {user ? (\n <Box sx={{ ...sxCreateAvatarContainerProps }}>\n <Box\n sx={{\n xs: {\n marginRight: 0,\n marginBottom: 10,\n display: 'flex',\n alignItems: 'center',\n alignContent: 'center',\n },\n md: {\n marginRight: 10,\n },\n }}>\n <Avatar\n sx={{ width: 40, height: 40, marginRight: 1, ...sxCreateCommentAvatarProps }}\n src={user?.avatar as string}\n />\n\n </Box>\n </Box>\n ) : null}\n {\n <Box component={'div'} sx={{ width: '100%', ...sxCreateTextContainerProps }}>\n <ReactSimpleWysiwyg\n value={html}\n onChange={(value) => setHtml(value)}\n {...createCommentContentProps}\n />\n </Box>\n }\n {\n <Box sx={{ ...sxCreateButtonContainerProps }}>\n <ButtonDefault\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n },\n });\n }}\n color={!subscription ? 'primary' : 'inherit'}\n isLoading={loading}\n sx={{\n marginLeft: 10,\n height: 40,\n minWidth: 130,\n '&:disabled': {\n backgroundColor: '#8B8B8B !important',\n },\n ...sxCreateCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n </Box>\n </Card>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCO;;;AAYL;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;AAKI;;AAEH;AAED;AACA;AAEA;;AASc;AACE;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACD;;AAuBD;AAAiB;AACjB;AACE;AACE;AACA;AACD;AACF;AACH;AAIE;AACA;AACA;AACA;AACE;AACD;AACD;AACD;AAQf;;"}
1
+ {"version":3,"file":"CreateComment.js","sources":["../../../../../../src/components/comment/components/create-comment/CreateComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n BoxProps,\n ButtonProps,\n Card,\n Typography,\n TypographyProps,\n} from '@mui/material';\nimport { useComment } from '../../comment.hooks';\nimport {\n ReactSimpleWysiwyg,\n ReactSimpleWysiwygProps,\n} from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useSession } from '@/components/session';\nimport { useCallAction } from '@cobuildlab/react-simple-state';\nimport { createComment, openSubscriptionCommentsStoreAction } from '../../comment.actions';\nimport { theme } from '@/shared/mui/theme';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\n\nexport type CreateCommentProps = {\n createCommentAvatarProps?: AvatarProps;\n createCommentNameTextProps?: TypographyProps;\n createCommentContainerProps?: BoxProps;\n\n createAvatarContainerProps?: BoxProps;\n createButtonContainerProps?: BoxProps;\n createTextContainerProps?: BoxProps;\n\n createCommentButtonProps?: ButtonProps;\n createCommentContentProps?: Omit<ReactSimpleWysiwygProps, 'value' | 'onChange'>;\n};\n\nexport const CreateComment: React.FC<CreateCommentProps> = ({\n createCommentAvatarProps = {},\n createAvatarContainerProps = {},\n createCommentNameTextProps = {},\n createCommentButtonProps = {},\n createCommentContentProps = {},\n createButtonContainerProps = {},\n createTextContainerProps = {},\n createCommentContainerProps = {},\n}) => {\n const { user, subscription } = useSession();\n const [html, setHtml] = useState<string>('');\n const { callAction, postId, onlyForRegistered, onlyForSubscribers } = useComment();\n\n const { sx: sxCreateCommentAvatarProps } = createCommentAvatarProps;\n const { sx: sxCreateCommentNameTextProps } = createCommentNameTextProps;\n const { sx: sxCreateCommentButtonProps } = createCommentButtonProps;\n\n const { sx: sxCreateButtonContainerProps } = createButtonContainerProps;\n const { sx: sxCreateAvatarContainerProps } = createAvatarContainerProps;\n const { sx: sxCreateTextContainerProps } = createTextContainerProps;\n const { sx: sxCreateCommentContainerProps } = createCommentContainerProps;\n\n const [callCreateComment, loading] = useCallAction(createComment, {\n onCompleted: () => {\n setHtml('');\n callAction();\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n console.log({ canSubscriber, subscription });\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <Card elevation={0}>\n <Box sx={{ display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }}>\n {user ? (\n <Box sx={{ ...sxCreateAvatarContainerProps }}>\n <Box\n sx={{\n xs: {\n marginRight: 0,\n marginBottom: 10,\n display: 'flex',\n alignItems: 'center',\n alignContent: 'center',\n },\n md: {\n marginRight: 10,\n },\n }}>\n <Avatar\n sx={{ width: 40, height: 40, marginRight: 1, ...sxCreateCommentAvatarProps }}\n src={user?.avatar as string}\n />\n </Box>\n </Box>\n ) : null}\n {\n <Box component={'div'} sx={{ width: '100%', ...sxCreateTextContainerProps }}>\n <ReactSimpleWysiwyg\n value={html}\n onChange={(value) => setHtml(value)}\n {...createCommentContentProps}\n />\n </Box>\n }\n {\n <Box sx={{ ...sxCreateButtonContainerProps }}>\n <ButtonDefault\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n },\n });\n }}\n color={!subscription ? 'primary' : 'inherit'}\n isLoading={loading}\n sx={{\n marginLeft: 10,\n height: 40,\n minWidth: 130,\n '&:disabled': {\n backgroundColor: '#8B8B8B !important',\n },\n ...sxCreateCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n </Box>\n </Card>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCO;;;AAYL;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;AAKI;;AAEH;AAED;AACA;;AAIA;;AASc;AACE;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACD;;AAsBD;AAAiB;AACjB;AACE;AACE;AACA;AACD;AACF;AACH;AAIE;AACA;AACA;AACA;AACE;AACD;AACD;AACD;AAQf;;"}
@@ -20,7 +20,7 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
20
20
  const { user, subscription } = session_hooks.useSession();
21
21
  const { message, commentId } = index.libExports.useStore(comment_store.replyCommentStore);
22
22
  const [html, setHtml] = React.useState(message);
23
- const { callAction, postId } = comment_hooks.useComment();
23
+ const { callAction, postId, onlyForSubscribers, onlyForRegistered } = comment_hooks.useComment();
24
24
  const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;
25
25
  const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;
26
26
  const [callCreateComment, loading] = index.libExports.useCallAction(comment_actions.createReplyComment, {
@@ -29,6 +29,10 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
29
29
  comment_actions.replyCommentStoreAction('', 0);
30
30
  },
31
31
  });
32
+ const canRegistered = onlyForRegistered && user;
33
+ const canSubscriber = onlyForSubscribers && subscription;
34
+ console.log({ canSubscriber, subscription });
35
+ const canComment = canRegistered || canSubscriber;
32
36
  return (jsxRuntime.jsx(index_es.EditorProvider, { children: jsxRuntime.jsx(Card.default, { elevation: 0, children: jsxRuntime.jsx(CardHeader.default, { sx: {
33
37
  p: 0,
34
38
  '& > .MuiCardHeader-action': {
@@ -40,7 +44,7 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
40
44
  borderRadius: '50%',
41
45
  },
42
46
  }, avatar: user ? (jsxRuntime.jsx(Avatar.default, { sx: { width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }, src: user?.avatar })) : null, title: jsxRuntime.jsx(ReactSimpleWysiwyg.ReactSimpleWysiwyg, { value: html, onChange: (value) => setHtml(value) }), action: jsxRuntime.jsx(Box.default, { ml: 2, children: jsxRuntime.jsx(ButtonDefault.ButtonDefault, { disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, disabled: !(html && user), onClick: () => {
43
- if (!subscription)
47
+ if (!canComment)
44
48
  return comment_actions.openSubscriptionCommentsStoreAction(true);
45
49
  callCreateComment({
46
50
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateReplyComment.js","sources":["../../../../../../src/components/comment/components/reply-comment/CreateReplyComment.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n ButtonProps,\n Card,\n CardHeader,\n} from '@mui/material';\nimport { EditorProvider } from 'react-simple-wysiwyg';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\nimport { useComment } from '../../comment.hooks';\nimport { ReactSimpleWysiwyg } from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useCallAction, useStore } from '@cobuildlab/react-simple-state';\nimport { replyCommentStore } from '../../comment.store';\nimport {\n createReplyComment,\n openSubscriptionCommentsStoreAction,\n replyCommentStoreAction,\n} from '../../comment.actions';\nimport { useSession } from '../../../session/session.hooks';\n\nexport type CreateReplyCommentProps = {\n createReplyCommentAvatarProps?: AvatarProps;\n createReplyCommentButtonProps?: ButtonProps;\n};\n\nexport const CreateReplyComment: React.FC<CreateReplyCommentProps> = ({\n createReplyCommentAvatarProps = {},\n createReplyCommentButtonProps = {},\n}) => {\n const { user, subscription } = useSession();\n const { message, commentId } = useStore(replyCommentStore);\n const [html, setHtml] = useState<string>(message);\n const { callAction, postId } = useComment();\n\n const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;\n const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;\n\n const [callCreateComment, loading] = useCallAction(createReplyComment, {\n onCompleted: () => {\n callAction();\n replyCommentStoreAction('', 0);\n },\n });\n\n return (\n <EditorProvider>\n <Card elevation={0}>\n <CardHeader\n sx={{\n p: 0,\n '& > .MuiCardHeader-action': {\n marginTop: 0,\n marginRight: 0,\n },\n '& > .MuiCardHeader-avatar': {\n outline: '1px solid #eaecf1',\n borderRadius: '50%',\n },\n }}\n avatar={\n user ? (\n <Avatar\n sx={{ width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }}\n src={user?.avatar as string}\n />\n ) : null\n }\n title={<ReactSimpleWysiwyg value={html} onChange={(value) => setHtml(value)} />}\n action={\n <Box ml={2}>\n <ButtonDefault\n disableFocusRipple\n disableRipple\n disableTouchRipple\n disabled={!(html && user)}\n onClick={() => {\n if (!subscription) return openSubscriptionCommentsStoreAction(true);\n\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n comment_id: commentId,\n },\n });\n }}\n color=\"primary\"\n isLoading={loading}\n sx={{\n minWidth: 130,\n ...sxCreateReplyCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n />\n </Card>\n </EditorProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA4BO;;;;;AASL;AACA;;;AAII;AACA;;AAEH;AAED;AAKU;AACA;AACE;AACA;AACD;AACD;AACE;AACA;AACD;AACF;AAkBO;AAAmB;AAEnB;AACE;AACE;AACA;AACA;AACD;AACF;;AAKD;AACA;AACD;AASjB;;"}
1
+ {"version":3,"file":"CreateReplyComment.js","sources":["../../../../../../src/components/comment/components/reply-comment/CreateReplyComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport { Avatar, AvatarProps, Box, ButtonProps, Card, CardHeader } from '@mui/material';\nimport { EditorProvider } from 'react-simple-wysiwyg';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\nimport { useComment } from '../../comment.hooks';\nimport { ReactSimpleWysiwyg } from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useCallAction, useStore } from '@cobuildlab/react-simple-state';\nimport { replyCommentStore } from '../../comment.store';\nimport {\n createReplyComment,\n openSubscriptionCommentsStoreAction,\n replyCommentStoreAction,\n} from '../../comment.actions';\nimport { useSession } from '../../../session/session.hooks';\n\nexport type CreateReplyCommentProps = {\n createReplyCommentAvatarProps?: AvatarProps;\n createReplyCommentButtonProps?: ButtonProps;\n};\n\nexport const CreateReplyComment: React.FC<CreateReplyCommentProps> = ({\n createReplyCommentAvatarProps = {},\n createReplyCommentButtonProps = {},\n}) => {\n const { user, subscription } = useSession();\n const { message, commentId } = useStore(replyCommentStore);\n const [html, setHtml] = useState<string>(message);\n const { callAction, postId, onlyForSubscribers, onlyForRegistered } = useComment();\n\n const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;\n const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;\n\n const [callCreateComment, loading] = useCallAction(createReplyComment, {\n onCompleted: () => {\n callAction();\n replyCommentStoreAction('', 0);\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n console.log({ canSubscriber, subscription });\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <EditorProvider>\n <Card elevation={0}>\n <CardHeader\n sx={{\n p: 0,\n '& > .MuiCardHeader-action': {\n marginTop: 0,\n marginRight: 0,\n },\n '& > .MuiCardHeader-avatar': {\n outline: '1px solid #eaecf1',\n borderRadius: '50%',\n },\n }}\n avatar={\n user ? (\n <Avatar\n sx={{ width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }}\n src={user?.avatar as string}\n />\n ) : null\n }\n title={<ReactSimpleWysiwyg value={html} onChange={(value) => setHtml(value)} />}\n action={\n <Box ml={2}>\n <ButtonDefault\n disableFocusRipple\n disableRipple\n disableTouchRipple\n disabled={!(html && user)}\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n comment_id: commentId,\n },\n });\n }}\n color=\"primary\"\n isLoading={loading}\n sx={{\n minWidth: 130,\n ...sxCreateReplyCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n />\n </Card>\n </EditorProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAqBO;;;;AAOL;AAEA;AACA;;;AAII;AACA;;AAEH;AAED;AACA;;AAIA;AAEA;AAKU;AACA;AACE;AACA;AACD;AACD;AACE;AACA;AACD;AACF;AAkBO;AAAiB;AAEjB;AACE;AACE;AACA;AACA;AACD;AACF;;AAKD;AACA;AACD;AASjB;;"}
@@ -10,7 +10,7 @@ const Paywall = ({ children, PaywallSubscriptionComponent, PaywallRegisterCompon
10
10
  if (!subscription && postPremium) {
11
11
  return PaywallSubscriptionComponent;
12
12
  }
13
- if (!(user && postRegister)) {
13
+ if (!user && postRegister) {
14
14
  return PaywallRegisterComponent;
15
15
  }
16
16
  return children;
@@ -1 +1 @@
1
- {"version":3,"file":"Paywall.js","sources":["../../../../src/components/paywall/Paywall.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react';\nimport { useSession } from '../session/session.hooks';\n\nexport interface PaywallProps {\n children?: React.ReactNode;\n PaywallSubscriptionComponent?: React.ReactNode;\n PaywallRegisterComponent?: React.ReactNode;\n LoadingComponent?: React.ReactNode;\n postPremium?: boolean;\n postRegister?: boolean;\n}\n\nexport const Paywall: React.FC<PaywallProps> = ({\n children,\n PaywallSubscriptionComponent,\n PaywallRegisterComponent,\n LoadingComponent,\n postPremium = false,\n postRegister = false,\n}) => {\n const { user, subscription, loading } = useSession();\n\n if (loading) return LoadingComponent;\n\n if (!subscription && postPremium) {\n return PaywallSubscriptionComponent;\n }\n\n if (!(user && postRegister)) {\n return PaywallRegisterComponent;\n }\n\n return children;\n};\n"],"names":[],"mappings":";;;;;;;AAwBE;AAAa;AAEb;AACE;;AAGF;AACE;;AAGF;AACF;;"}
1
+ {"version":3,"file":"Paywall.js","sources":["../../../../src/components/paywall/Paywall.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { useSession } from '../session/session.hooks';\n\nexport interface PaywallProps {\n children?: React.ReactNode;\n PaywallSubscriptionComponent?: React.ReactNode;\n PaywallRegisterComponent?: React.ReactNode;\n LoadingComponent?: React.ReactNode;\n postPremium?: boolean;\n postRegister?: boolean;\n}\n\nexport const Paywall: React.FC<PaywallProps> = ({\n children,\n PaywallSubscriptionComponent,\n PaywallRegisterComponent,\n LoadingComponent,\n postPremium = false,\n postRegister = false,\n}) => {\n const { user, subscription, loading } = useSession();\n\n if (loading) return LoadingComponent;\n\n if (!subscription && postPremium) {\n return PaywallSubscriptionComponent;\n }\n\n if (!user && postRegister) {\n return PaywallRegisterComponent;\n }\n\n return children;\n};\n"],"names":[],"mappings":";;;;;;;AAwBE;AAAa;AAEb;AACE;;AAGF;AACE;;AAGF;AACF;;"}
@@ -42,6 +42,7 @@ const CreateComment = ({ createCommentAvatarProps = {}, createAvatarContainerPro
42
42
  });
43
43
  const canRegistered = onlyForRegistered && user;
44
44
  const canSubscriber = onlyForSubscribers && subscription;
45
+ console.log({ canSubscriber, subscription });
45
46
  const canComment = canRegistered || canSubscriber;
46
47
  return (jsx(Card, { elevation: 0, children: jsxs(Box, { sx: { display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }, children: [user ? (jsx(Box, { sx: { ...sxCreateAvatarContainerProps }, children: jsx(Box, { sx: {
47
48
  xs: {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateComment.js","sources":["../../../../../../src/components/comment/components/create-comment/CreateComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n BoxProps,\n ButtonProps,\n Card,\n Typography,\n TypographyProps,\n} from '@mui/material';\nimport { useComment } from '../../comment.hooks';\nimport {\n ReactSimpleWysiwyg,\n ReactSimpleWysiwygProps,\n} from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useSession } from '@/components/session';\nimport { useCallAction } from '@cobuildlab/react-simple-state';\nimport { createComment, openSubscriptionCommentsStoreAction } from '../../comment.actions';\nimport { theme } from '@/shared/mui/theme';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\n\nexport type CreateCommentProps = {\n createCommentAvatarProps?: AvatarProps;\n createCommentNameTextProps?: TypographyProps;\n createCommentContainerProps?: BoxProps;\n\n createAvatarContainerProps?: BoxProps;\n createButtonContainerProps?: BoxProps;\n createTextContainerProps?: BoxProps;\n\n createCommentButtonProps?: ButtonProps;\n createCommentContentProps?: Omit<ReactSimpleWysiwygProps, 'value' | 'onChange'>;\n};\n\nexport const CreateComment: React.FC<CreateCommentProps> = ({\n createCommentAvatarProps = {},\n createAvatarContainerProps = {},\n createCommentNameTextProps = {},\n createCommentButtonProps = {},\n createCommentContentProps = {},\n createButtonContainerProps = {},\n createTextContainerProps = {},\n createCommentContainerProps = {},\n}) => {\n const { user, subscription } = useSession();\n const [html, setHtml] = useState<string>('');\n const { callAction, postId, onlyForRegistered, onlyForSubscribers } = useComment();\n\n const { sx: sxCreateCommentAvatarProps } = createCommentAvatarProps;\n const { sx: sxCreateCommentNameTextProps } = createCommentNameTextProps;\n const { sx: sxCreateCommentButtonProps } = createCommentButtonProps;\n\n const { sx: sxCreateButtonContainerProps } = createButtonContainerProps;\n const { sx: sxCreateAvatarContainerProps } = createAvatarContainerProps;\n const { sx: sxCreateTextContainerProps } = createTextContainerProps;\n const { sx: sxCreateCommentContainerProps } = createCommentContainerProps;\n\n const [callCreateComment, loading] = useCallAction(createComment, {\n onCompleted: () => {\n setHtml('');\n callAction();\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <Card elevation={0}>\n <Box sx={{ display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }}>\n {user ? (\n <Box sx={{ ...sxCreateAvatarContainerProps }}>\n <Box\n sx={{\n xs: {\n marginRight: 0,\n marginBottom: 10,\n display: 'flex',\n alignItems: 'center',\n alignContent: 'center',\n },\n md: {\n marginRight: 10,\n },\n }}>\n <Avatar\n sx={{ width: 40, height: 40, marginRight: 1, ...sxCreateCommentAvatarProps }}\n src={user?.avatar as string}\n />\n\n </Box>\n </Box>\n ) : null}\n {\n <Box component={'div'} sx={{ width: '100%', ...sxCreateTextContainerProps }}>\n <ReactSimpleWysiwyg\n value={html}\n onChange={(value) => setHtml(value)}\n {...createCommentContentProps}\n />\n </Box>\n }\n {\n <Box sx={{ ...sxCreateButtonContainerProps }}>\n <ButtonDefault\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n },\n });\n }}\n color={!subscription ? 'primary' : 'inherit'}\n isLoading={loading}\n sx={{\n marginLeft: 10,\n height: 40,\n minWidth: 130,\n '&:disabled': {\n backgroundColor: '#8B8B8B !important',\n },\n ...sxCreateCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n </Box>\n </Card>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCO;;;AAYL;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;AAKI;;AAEH;AAED;AACA;AAEA;;AASc;AACE;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACD;;AAuBD;AAAiB;AACjB;AACE;AACE;AACA;AACD;AACF;AACH;AAIE;AACA;AACA;AACA;AACE;AACD;AACD;AACD;AAQf;;"}
1
+ {"version":3,"file":"CreateComment.js","sources":["../../../../../../src/components/comment/components/create-comment/CreateComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n BoxProps,\n ButtonProps,\n Card,\n Typography,\n TypographyProps,\n} from '@mui/material';\nimport { useComment } from '../../comment.hooks';\nimport {\n ReactSimpleWysiwyg,\n ReactSimpleWysiwygProps,\n} from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useSession } from '@/components/session';\nimport { useCallAction } from '@cobuildlab/react-simple-state';\nimport { createComment, openSubscriptionCommentsStoreAction } from '../../comment.actions';\nimport { theme } from '@/shared/mui/theme';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\n\nexport type CreateCommentProps = {\n createCommentAvatarProps?: AvatarProps;\n createCommentNameTextProps?: TypographyProps;\n createCommentContainerProps?: BoxProps;\n\n createAvatarContainerProps?: BoxProps;\n createButtonContainerProps?: BoxProps;\n createTextContainerProps?: BoxProps;\n\n createCommentButtonProps?: ButtonProps;\n createCommentContentProps?: Omit<ReactSimpleWysiwygProps, 'value' | 'onChange'>;\n};\n\nexport const CreateComment: React.FC<CreateCommentProps> = ({\n createCommentAvatarProps = {},\n createAvatarContainerProps = {},\n createCommentNameTextProps = {},\n createCommentButtonProps = {},\n createCommentContentProps = {},\n createButtonContainerProps = {},\n createTextContainerProps = {},\n createCommentContainerProps = {},\n}) => {\n const { user, subscription } = useSession();\n const [html, setHtml] = useState<string>('');\n const { callAction, postId, onlyForRegistered, onlyForSubscribers } = useComment();\n\n const { sx: sxCreateCommentAvatarProps } = createCommentAvatarProps;\n const { sx: sxCreateCommentNameTextProps } = createCommentNameTextProps;\n const { sx: sxCreateCommentButtonProps } = createCommentButtonProps;\n\n const { sx: sxCreateButtonContainerProps } = createButtonContainerProps;\n const { sx: sxCreateAvatarContainerProps } = createAvatarContainerProps;\n const { sx: sxCreateTextContainerProps } = createTextContainerProps;\n const { sx: sxCreateCommentContainerProps } = createCommentContainerProps;\n\n const [callCreateComment, loading] = useCallAction(createComment, {\n onCompleted: () => {\n setHtml('');\n callAction();\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n console.log({ canSubscriber, subscription });\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <Card elevation={0}>\n <Box sx={{ display: { xs: 'block', md: 'flex' }, ...sxCreateCommentContainerProps }}>\n {user ? (\n <Box sx={{ ...sxCreateAvatarContainerProps }}>\n <Box\n sx={{\n xs: {\n marginRight: 0,\n marginBottom: 10,\n display: 'flex',\n alignItems: 'center',\n alignContent: 'center',\n },\n md: {\n marginRight: 10,\n },\n }}>\n <Avatar\n sx={{ width: 40, height: 40, marginRight: 1, ...sxCreateCommentAvatarProps }}\n src={user?.avatar as string}\n />\n </Box>\n </Box>\n ) : null}\n {\n <Box component={'div'} sx={{ width: '100%', ...sxCreateTextContainerProps }}>\n <ReactSimpleWysiwyg\n value={html}\n onChange={(value) => setHtml(value)}\n {...createCommentContentProps}\n />\n </Box>\n }\n {\n <Box sx={{ ...sxCreateButtonContainerProps }}>\n <ButtonDefault\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n },\n });\n }}\n color={!subscription ? 'primary' : 'inherit'}\n isLoading={loading}\n sx={{\n marginLeft: 10,\n height: 40,\n minWidth: 130,\n '&:disabled': {\n backgroundColor: '#8B8B8B !important',\n },\n ...sxCreateCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n </Box>\n </Card>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCO;;;AAYL;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;AAKI;;AAEH;AAED;AACA;;AAIA;;AASc;AACE;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACD;;AAsBD;AAAiB;AACjB;AACE;AACE;AACA;AACD;AACF;AACH;AAIE;AACA;AACA;AACA;AACE;AACD;AACD;AACD;AAQf;;"}
@@ -18,7 +18,7 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
18
18
  const { user, subscription } = useSession();
19
19
  const { message, commentId } = libExports.useStore(replyCommentStore);
20
20
  const [html, setHtml] = useState(message);
21
- const { callAction, postId } = useComment();
21
+ const { callAction, postId, onlyForSubscribers, onlyForRegistered } = useComment();
22
22
  const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;
23
23
  const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;
24
24
  const [callCreateComment, loading] = libExports.useCallAction(createReplyComment, {
@@ -27,6 +27,10 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
27
27
  replyCommentStoreAction('', 0);
28
28
  },
29
29
  });
30
+ const canRegistered = onlyForRegistered && user;
31
+ const canSubscriber = onlyForSubscribers && subscription;
32
+ console.log({ canSubscriber, subscription });
33
+ const canComment = canRegistered || canSubscriber;
30
34
  return (jsx(EditorProvider, { children: jsx(Card, { elevation: 0, children: jsx(CardHeader, { sx: {
31
35
  p: 0,
32
36
  '& > .MuiCardHeader-action': {
@@ -38,7 +42,7 @@ const CreateReplyComment = ({ createReplyCommentAvatarProps = {}, createReplyCom
38
42
  borderRadius: '50%',
39
43
  },
40
44
  }, avatar: user ? (jsx(Avatar, { sx: { width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }, src: user?.avatar })) : null, title: jsx(ReactSimpleWysiwyg, { value: html, onChange: (value) => setHtml(value) }), action: jsx(Box, { ml: 2, children: jsx(ButtonDefault, { disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, disabled: !(html && user), onClick: () => {
41
- if (!subscription)
45
+ if (!canComment)
42
46
  return openSubscriptionCommentsStoreAction(true);
43
47
  callCreateComment({
44
48
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateReplyComment.js","sources":["../../../../../../src/components/comment/components/reply-comment/CreateReplyComment.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react';\nimport {\n Avatar,\n AvatarProps,\n Box,\n ButtonProps,\n Card,\n CardHeader,\n} from '@mui/material';\nimport { EditorProvider } from 'react-simple-wysiwyg';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\nimport { useComment } from '../../comment.hooks';\nimport { ReactSimpleWysiwyg } from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useCallAction, useStore } from '@cobuildlab/react-simple-state';\nimport { replyCommentStore } from '../../comment.store';\nimport {\n createReplyComment,\n openSubscriptionCommentsStoreAction,\n replyCommentStoreAction,\n} from '../../comment.actions';\nimport { useSession } from '../../../session/session.hooks';\n\nexport type CreateReplyCommentProps = {\n createReplyCommentAvatarProps?: AvatarProps;\n createReplyCommentButtonProps?: ButtonProps;\n};\n\nexport const CreateReplyComment: React.FC<CreateReplyCommentProps> = ({\n createReplyCommentAvatarProps = {},\n createReplyCommentButtonProps = {},\n}) => {\n const { user, subscription } = useSession();\n const { message, commentId } = useStore(replyCommentStore);\n const [html, setHtml] = useState<string>(message);\n const { callAction, postId } = useComment();\n\n const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;\n const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;\n\n const [callCreateComment, loading] = useCallAction(createReplyComment, {\n onCompleted: () => {\n callAction();\n replyCommentStoreAction('', 0);\n },\n });\n\n return (\n <EditorProvider>\n <Card elevation={0}>\n <CardHeader\n sx={{\n p: 0,\n '& > .MuiCardHeader-action': {\n marginTop: 0,\n marginRight: 0,\n },\n '& > .MuiCardHeader-avatar': {\n outline: '1px solid #eaecf1',\n borderRadius: '50%',\n },\n }}\n avatar={\n user ? (\n <Avatar\n sx={{ width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }}\n src={user?.avatar as string}\n />\n ) : null\n }\n title={<ReactSimpleWysiwyg value={html} onChange={(value) => setHtml(value)} />}\n action={\n <Box ml={2}>\n <ButtonDefault\n disableFocusRipple\n disableRipple\n disableTouchRipple\n disabled={!(html && user)}\n onClick={() => {\n if (!subscription) return openSubscriptionCommentsStoreAction(true);\n\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n comment_id: commentId,\n },\n });\n }}\n color=\"primary\"\n isLoading={loading}\n sx={{\n minWidth: 130,\n ...sxCreateReplyCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n />\n </Card>\n </EditorProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA4BO;;;;;AASL;AACA;;;AAII;AACA;;AAEH;AAED;AAKU;AACA;AACE;AACA;AACD;AACD;AACE;AACA;AACD;AACF;AAkBO;AAAmB;AAEnB;AACE;AACE;AACA;AACA;AACD;AACF;;AAKD;AACA;AACD;AASjB;;"}
1
+ {"version":3,"file":"CreateReplyComment.js","sources":["../../../../../../src/components/comment/components/reply-comment/CreateReplyComment.tsx"],"sourcesContent":["'use client';\nimport React, { useState } from 'react';\nimport { Avatar, AvatarProps, Box, ButtonProps, Card, CardHeader } from '@mui/material';\nimport { EditorProvider } from 'react-simple-wysiwyg';\nimport { ButtonDefault } from '@/shared/components/buttons/ButtonDefault';\nimport { useComment } from '../../comment.hooks';\nimport { ReactSimpleWysiwyg } from '@/shared/components/react-editor/ReactSimpleWysiwyg';\nimport { useCallAction, useStore } from '@cobuildlab/react-simple-state';\nimport { replyCommentStore } from '../../comment.store';\nimport {\n createReplyComment,\n openSubscriptionCommentsStoreAction,\n replyCommentStoreAction,\n} from '../../comment.actions';\nimport { useSession } from '../../../session/session.hooks';\n\nexport type CreateReplyCommentProps = {\n createReplyCommentAvatarProps?: AvatarProps;\n createReplyCommentButtonProps?: ButtonProps;\n};\n\nexport const CreateReplyComment: React.FC<CreateReplyCommentProps> = ({\n createReplyCommentAvatarProps = {},\n createReplyCommentButtonProps = {},\n}) => {\n const { user, subscription } = useSession();\n const { message, commentId } = useStore(replyCommentStore);\n const [html, setHtml] = useState<string>(message);\n const { callAction, postId, onlyForSubscribers, onlyForRegistered } = useComment();\n\n const { sx: sxCreateReplyCommentAvatarProps } = createReplyCommentAvatarProps;\n const { sx: sxCreateReplyCommentButtonProps } = createReplyCommentButtonProps;\n\n const [callCreateComment, loading] = useCallAction(createReplyComment, {\n onCompleted: () => {\n callAction();\n replyCommentStoreAction('', 0);\n },\n });\n\n const canRegistered = onlyForRegistered && user;\n const canSubscriber = onlyForSubscribers && subscription;\n\n console.log({ canSubscriber, subscription });\n\n const canComment = canRegistered || canSubscriber;\n\n return (\n <EditorProvider>\n <Card elevation={0}>\n <CardHeader\n sx={{\n p: 0,\n '& > .MuiCardHeader-action': {\n marginTop: 0,\n marginRight: 0,\n },\n '& > .MuiCardHeader-avatar': {\n outline: '1px solid #eaecf1',\n borderRadius: '50%',\n },\n }}\n avatar={\n user ? (\n <Avatar\n sx={{ width: 40, height: 40, ...sxCreateReplyCommentAvatarProps }}\n src={user?.avatar as string}\n />\n ) : null\n }\n title={<ReactSimpleWysiwyg value={html} onChange={(value) => setHtml(value)} />}\n action={\n <Box ml={2}>\n <ButtonDefault\n disableFocusRipple\n disableRipple\n disableTouchRipple\n disabled={!(html && user)}\n onClick={() => {\n if (!canComment) return openSubscriptionCommentsStoreAction(true);\n\n callCreateComment({\n data: {\n message: html,\n post_id: postId,\n comment_id: commentId,\n },\n });\n }}\n color=\"primary\"\n isLoading={loading}\n sx={{\n minWidth: 130,\n ...sxCreateReplyCommentButtonProps,\n }}>\n Comentar\n </ButtonDefault>\n </Box>\n }\n />\n </Card>\n </EditorProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAqBO;;;;AAOL;AAEA;AACA;;;AAII;AACA;;AAEH;AAED;AACA;;AAIA;AAEA;AAKU;AACA;AACE;AACA;AACD;AACD;AACE;AACA;AACD;AACF;AAkBO;AAAiB;AAEjB;AACE;AACE;AACA;AACA;AACD;AACF;;AAKD;AACA;AACD;AASjB;;"}
@@ -8,7 +8,7 @@ const Paywall = ({ children, PaywallSubscriptionComponent, PaywallRegisterCompon
8
8
  if (!subscription && postPremium) {
9
9
  return PaywallSubscriptionComponent;
10
10
  }
11
- if (!(user && postRegister)) {
11
+ if (!user && postRegister) {
12
12
  return PaywallRegisterComponent;
13
13
  }
14
14
  return children;
@@ -1 +1 @@
1
- {"version":3,"file":"Paywall.js","sources":["../../../../src/components/paywall/Paywall.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react';\nimport { useSession } from '../session/session.hooks';\n\nexport interface PaywallProps {\n children?: React.ReactNode;\n PaywallSubscriptionComponent?: React.ReactNode;\n PaywallRegisterComponent?: React.ReactNode;\n LoadingComponent?: React.ReactNode;\n postPremium?: boolean;\n postRegister?: boolean;\n}\n\nexport const Paywall: React.FC<PaywallProps> = ({\n children,\n PaywallSubscriptionComponent,\n PaywallRegisterComponent,\n LoadingComponent,\n postPremium = false,\n postRegister = false,\n}) => {\n const { user, subscription, loading } = useSession();\n\n if (loading) return LoadingComponent;\n\n if (!subscription && postPremium) {\n return PaywallSubscriptionComponent;\n }\n\n if (!(user && postRegister)) {\n return PaywallRegisterComponent;\n }\n\n return children;\n};\n"],"names":[],"mappings":";;;;;AAwBE;AAAa;AAEb;AACE;;AAGF;AACE;;AAGF;AACF;;"}
1
+ {"version":3,"file":"Paywall.js","sources":["../../../../src/components/paywall/Paywall.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { useSession } from '../session/session.hooks';\n\nexport interface PaywallProps {\n children?: React.ReactNode;\n PaywallSubscriptionComponent?: React.ReactNode;\n PaywallRegisterComponent?: React.ReactNode;\n LoadingComponent?: React.ReactNode;\n postPremium?: boolean;\n postRegister?: boolean;\n}\n\nexport const Paywall: React.FC<PaywallProps> = ({\n children,\n PaywallSubscriptionComponent,\n PaywallRegisterComponent,\n LoadingComponent,\n postPremium = false,\n postRegister = false,\n}) => {\n const { user, subscription, loading } = useSession();\n\n if (loading) return LoadingComponent;\n\n if (!subscription && postPremium) {\n return PaywallSubscriptionComponent;\n }\n\n if (!user && postRegister) {\n return PaywallRegisterComponent;\n }\n\n return children;\n};\n"],"names":[],"mappings":";;;;;AAwBE;AAAa;AAEb;AACE;;AAGF;AACE;;AAGF;AACF;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-easy-wall",
3
- "version": "3.5.17",
3
+ "version": "3.6.0",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/index.d.ts",