{"version":3,"file":"static/js/7156.33348d87.chunk.js","mappings":"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","sources":["common/hooks/useDelayedState.ts","components/shared/Button/DarkButton.tsx","components/shared/CharacterComment/index.tsx","components/shared/Dialog/CenterDialog.tsx","components/shared/Dialog/GuestMessageLimitDialog/GuestMessageLimitDialog.tsx","components/shared/User/OtherUserPanel/components/FriendButtonArea/functions.tsx","../node_modules/@material-ui/icons/PersonAdd.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\r\n\r\nexport function useDelayedState(\r\n state: T,\r\n checkOpen: (state: T) => boolean,\r\n timeoutMilliSecond: number\r\n): { delayedState: T; delayedOpen: boolean } {\r\n const [delayedState, setDelayedState] = useState(state);\r\n useEffect(() => {\r\n if (checkOpen(state)) {\r\n // When it opens\r\n setDelayedState(state);\r\n return;\r\n }\r\n\r\n // When it closes\r\n const timeoutId = setTimeout(() => {\r\n setDelayedState(state);\r\n }, timeoutMilliSecond);\r\n return () => {\r\n clearTimeout(timeoutId);\r\n };\r\n }, [state, timeoutMilliSecond, checkOpen]);\r\n\r\n return { delayedState, delayedOpen: checkOpen(delayedState) };\r\n}\r\n","import Button, { ButtonProps } from \"@material-ui/core/Button\";\r\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { BaseCSSProperties } from \"@material-ui/core/styles/withStyles\";\r\nimport { forwardRef } from \"react\";\r\nimport { spaceBetween } from \"../../../common/util/Array/spaceBetween\";\r\n\r\ntype Props = { style?: BaseCSSProperties } & Omit<\r\n ButtonProps,\r\n \"style\" | \"buttonRef\"\r\n>;\r\n\r\nexport const DarkButton = forwardRef(\r\n ({ style, className, ...rest }, ref) => {\r\n const c = useStyles({ style });\r\n return (\r\n \r\n );\r\n }\r\n);\r\nconst useStyles = makeStyles(\r\n ({ palette }) => ({\r\n button: ({ style }) => ({\r\n backgroundColor: palette.grey[800],\r\n \"&:hover\": {\r\n backgroundColor: palette.grey[700],\r\n },\r\n color: \"white\",\r\n fontSize: \"medium\",\r\n ...style,\r\n }),\r\n })\r\n);\r\n","import { makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { BaseCSSProperties } from \"@material-ui/core/styles/withStyles\";\r\nimport * as React from \"react\";\r\nimport * as consts from \"../../../common/consts\";\r\nimport { spaceBetween } from \"../../../common/util/Array/spaceBetween\";\r\nimport \"./CharacterComment.css\";\r\n\r\ntype TProps = {\r\n imgNumber: number;\r\n screenWidth: number;\r\n comment: string | React.ReactNode;\r\n style?: BaseCSSProperties;\r\n commentStyle?: BaseCSSProperties;\r\n imgStyle?: BaseCSSProperties;\r\n containerRef?: React.RefObject;\r\n className?: string;\r\n};\r\nexport default function CharacterComment(props: TProps) {\r\n const {\r\n imgNumber,\r\n screenWidth,\r\n comment,\r\n style,\r\n commentStyle,\r\n imgStyle,\r\n containerRef,\r\n className,\r\n } = props;\r\n const c = useStyles({ style, imgStyle, screenWidth, commentStyle });\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {comment}\r\n
\r\n
\r\n \r\n );\r\n}\r\nconst useStyles = makeStyles<\r\n Theme,\r\n {\r\n style?: BaseCSSProperties;\r\n imgStyle?: BaseCSSProperties;\r\n commentStyle?: BaseCSSProperties;\r\n screenWidth: number;\r\n }\r\n>({\r\n container: ({ style }) => ({ ...style }),\r\n ninjaPic: ({ imgStyle, screenWidth }) => ({\r\n width: (screenWidth * 2) / 10,\r\n ...imgStyle,\r\n }),\r\n comment: ({ screenWidth, commentStyle }) => ({\r\n width: screenWidth > 767 ? (screenWidth * 7) / 10 - 15 : \"100%\",\r\n ...commentStyle,\r\n }),\r\n});\r\n","import Button from \"@material-ui/core/Button\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { BaseCSSProperties } from \"@material-ui/core/styles/withStyles\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { ReactNode, useEffect, useState } from \"react\";\r\nimport { AppState } from \"../../../common/appState\";\r\nimport { useOpenAnimationFinished } from \"../../../common/hooks/panelAndDialog/useOpenAnimationFinished\";\r\nimport { usePanelAndDialogOpenOrder } from \"../../../common/hooks/panelAndDialog/usePanelAndDialogOpenOrder\";\r\nimport { spaceBetween } from \"../../../common/util/Array/spaceBetween\";\r\nimport { zIndex } from \"../../zApps/Layout/zIndex\";\r\nimport ShurikenProgress from \"../Animations/ShurikenProgress\";\r\n\r\nexport function CenterDialog({\r\n open,\r\n transitionMilliseconds = 0,\r\n style,\r\n className,\r\n darkLayerStyle,\r\n children,\r\n onClose,\r\n withoutCloseButton,\r\n globalDialogState,\r\n isChildrenUnmounted,\r\n}: {\r\n open: boolean;\r\n transitionMilliseconds?: number;\r\n style?: BaseCSSProperties;\r\n className?: string;\r\n darkLayerStyle?: BaseCSSProperties;\r\n children: ReactNode;\r\n onClose?: () => void;\r\n withoutCloseButton?: boolean;\r\n globalDialogState?: AppState[keyof AppState]; // When the dialog's global state changed, zIndex increases (especially when targetId changes)\r\n isChildrenUnmounted?: boolean;\r\n}) {\r\n const { openedOrder } = usePanelAndDialogOpenOrder(\r\n globalDialogState,\r\n open,\r\n transitionMilliseconds\r\n );\r\n\r\n const c = useResultDialogStyles({\r\n transitionDuration: `${transitionMilliseconds}ms`,\r\n style,\r\n darkLayerStyle,\r\n openedOrder,\r\n });\r\n\r\n const [isContentShown, setIsContentShown] = useState(false);\r\n\r\n useEffect(() => {\r\n if (open && !isContentShown) {\r\n // when it opens\r\n setTimeout(() => {\r\n setIsContentShown(open);\r\n }, 10);\r\n return;\r\n }\r\n\r\n if (!open && isContentShown) {\r\n // when it closes\r\n setTimeout(() => {\r\n setIsContentShown(false);\r\n }, transitionMilliseconds);\r\n }\r\n }, [open, transitionMilliseconds]);\r\n\r\n const isCompletelyOpened = open && isContentShown;\r\n const { isOpenAnimationFinished } = useOpenAnimationFinished(\r\n isCompletelyOpened,\r\n transitionMilliseconds\r\n );\r\n\r\n if (!open && !isContentShown) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {\r\n ev.stopPropagation();\r\n }}\r\n >\r\n {!withoutCloseButton && (\r\n \r\n \r\n \r\n )}\r\n {isChildrenUnmounted && open ? (\r\n \r\n ) : (\r\n children\r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nconst useResultDialogStyles = makeStyles<\r\n Theme,\r\n {\r\n transitionDuration: string;\r\n style?: BaseCSSProperties;\r\n darkLayerStyle?: BaseCSSProperties;\r\n openedOrder: number; // 0 to 30, The last opened panel or dialog is 0.\r\n }\r\n>(({ palette }) => ({\r\n darkLayer: ({ transitionDuration, darkLayerStyle, openedOrder }) => ({\r\n position: \"fixed\",\r\n top: 0,\r\n left: 0,\r\n width: \"100%\",\r\n height: \"100%\",\r\n backgroundColor: \"rgba(0,0,0,0.7)\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n transitionProperty: \"opacity\",\r\n transitionDuration,\r\n zIndex: zIndex.panelAndDialog.darkLayer(openedOrder),\r\n ...darkLayerStyle,\r\n }),\r\n opacity0: { opacity: 0 },\r\n opacity1: { opacity: 1 },\r\n card: ({ style, openedOrder }) => ({\r\n width: \"100%\",\r\n maxWidth: 350,\r\n height: \"100%\",\r\n maxHeight: 350,\r\n backgroundColor: \"white\",\r\n borderRadius: 16,\r\n zIndex: zIndex.panelAndDialog.panelOrDialog(openedOrder),\r\n ...style,\r\n }),\r\n closeButton: {\r\n borderRadius: \"50%\",\r\n maxWidth: 28,\r\n maxHeight: 28,\r\n minWidth: 28,\r\n minHeight: 28,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n backgroundColor: palette.success.main,\r\n \"&:hover\": {\r\n backgroundColor: palette.success.light,\r\n },\r\n color: \"white\",\r\n lineHeight: 1,\r\n marginLeft: \"auto\",\r\n marginTop: 3,\r\n marginRight: 3,\r\n padding: 0,\r\n },\r\n closeIcon: { width: 20, height: 20 },\r\n}));\r\n","import { makeStyles } from \"@material-ui/core/styles\";\r\nimport PersonAddIcon from \"@material-ui/icons/PersonAdd\";\r\nimport { useState } from \"react\";\r\nimport { changeAppState, useAppState } from \"../../../../common/appState\";\r\nimport { useDelayedState } from \"../../../../common/hooks/useDelayedState\";\r\nimport { useScreenSize } from \"../../../../common/hooks/useScreenSize\";\r\nimport { spaceBetween } from \"../../../../common/util/Array/spaceBetween\";\r\nimport { DarkButton } from \"../../Button/DarkButton\";\r\nimport { PrimaryButton } from \"../../Button/PrimaryButton\";\r\nimport CharacterComment from \"../../CharacterComment\";\r\nimport { fetchAddFriend } from \"../../User/OtherUserPanel/components/FriendButtonArea/functions\";\r\nimport { CenterDialog } from \"../CenterDialog\";\r\nimport { GuestMessageLimitDialogState } from \"./types\";\r\n\r\nconst transitionMilliseconds = 300;\r\n\r\nexport default function GuestMessageLimitDialog() {\r\n const [dialogState, setDialogState] = useAppState(\r\n \"guestMessageLimitDialogState\"\r\n );\r\n\r\n const { delayedState, delayedOpen } = useDelayedState(\r\n dialogState,\r\n state => state.type !== \"close\",\r\n transitionMilliseconds\r\n );\r\n\r\n return (\r\n {\r\n setDialogState({ type: \"close\" });\r\n }}\r\n transitionMilliseconds={transitionMilliseconds}\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n }}\r\n globalDialogState={dialogState}\r\n >\r\n {delayedOpen && }\r\n \r\n );\r\n}\r\n\r\nfunction DialogContent({\r\n dialogState,\r\n}: {\r\n dialogState: GuestMessageLimitDialogState;\r\n}) {\r\n const c = useMyFriendsLimitDialogStyles();\r\n const { screenWidth } = useScreenSize();\r\n const [submitting, setSubmitting] = useState(false);\r\n const [requestButtonPushed, setRequestButtonPushed] = useState(false);\r\n const [user] = useAppState(\"user\");\r\n const [relatedUsers] = useAppState(\"relatedUsers\");\r\n\r\n if (!user || dialogState.type === \"close\") {\r\n return null;\r\n }\r\n\r\n const { targetUser } = dialogState;\r\n const requestFromMe = relatedUsers.find(\r\n u => u.userId === targetUser.userId\r\n )?.requestFromMe;\r\n const alreadyRequested = requestFromMe && !requestFromMe.canceled;\r\n\r\n const h2Title =\r\n alreadyRequested && requestButtonPushed ? (\r\n

\r\n Success!\r\n

\r\n ) : (\r\n

Message limit!

\r\n );\r\n\r\n const characterComment =\r\n alreadyRequested && requestButtonPushed ? (\r\n
Friend request sent!
\r\n ) : (\r\n
\r\n Only one message can be sent to someone who is not your friend!\r\n
\r\n );\r\n\r\n return (\r\n
\r\n
{h2Title}
\r\n\r\n \r\n\r\n {alreadyRequested ? (\r\n {\r\n changeAppState(\"guestMessageLimitDialogState\", {\r\n type: \"close\",\r\n });\r\n }}\r\n >\r\n OK\r\n \r\n ) : (\r\n }\r\n onClick={async () => {\r\n setRequestButtonPushed(true);\r\n setSubmitting(true);\r\n await fetchAddFriend(user.userId, targetUser.userId);\r\n setSubmitting(false);\r\n }}\r\n disabled={submitting}\r\n >\r\n Add Friend\r\n \r\n )}\r\n
\r\n );\r\n}\r\nconst useMyFriendsLimitDialogStyles = makeStyles(theme => ({\r\n title: {\r\n marginBottom: 0,\r\n },\r\n successColor: {\r\n color: theme.palette.success.main,\r\n },\r\n container: {\r\n margin: \"10px 0\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n height: 280,\r\n maxWidth: 288,\r\n },\r\n commentContainer: { whiteSpace: \"pre-wrap\" },\r\n}));\r\n\r\n","import { changeAppState } from \"../../../../../../common/appState\";\r\nimport { fetchPost } from \"../../../../../../common/util/fetch\";\r\nimport { RelatedUser } from \"../../../types\";\r\n\r\nexport async function fetchUnfriend(myUserId: number, toUserId: number) {\r\n const relatedUsers = await fetchPost<\r\n { myUserId: number; toUserId: number },\r\n RelatedUser[]\r\n >(\"api/Friend/Unfriend\", { myUserId, toUserId });\r\n\r\n if (\"error\" in relatedUsers) {\r\n return;\r\n }\r\n changeAppState(\"relatedUsers\", relatedUsers);\r\n}\r\n\r\nexport async function fetchCancelRequest(myUserId: number, toUserId: number) {\r\n const relatedUsers = await fetchPost<\r\n { myUserId: number; toUserId: number },\r\n RelatedUser[]\r\n >(\"api/Friend/CancelFriendRequest\", { myUserId, toUserId });\r\n\r\n if (\"error\" in relatedUsers) {\r\n return;\r\n }\r\n changeAppState(\"relatedUsers\", relatedUsers);\r\n}\r\n\r\nexport async function fetchAddFriend(myUserId: number, toUserId: number) {\r\n const result = await fetchPost<\r\n { myUserId: number; toUserId: number },\r\n {\r\n friendsLimit: \"ok\" | \"MyFriendsLimit\";\r\n relatedUsers: RelatedUser[];\r\n }\r\n >(\"api/Friend/SendFriendRequest\", { myUserId, toUserId });\r\n\r\n if (\"error\" in result) {\r\n return;\r\n }\r\n changeAppState(\"relatedUsers\", result.relatedUsers);\r\n\r\n if (result.friendsLimit === \"MyFriendsLimit\") {\r\n changeAppState(\"friendsLimitDialogState\", { type: \"myLimit\" });\r\n }\r\n}\r\n\r\nexport async function fetchApprove(myUserId: number, requesterUserId: number) {\r\n const result = await fetchPost<\r\n { myUserId: number; requesterUserId: number },\r\n {\r\n friendsLimit: \"ok\" | \"MyFriendsLimit\" | \"TheirFriendsLimit\";\r\n relatedUsers: RelatedUser[];\r\n }\r\n >(\"api/Friend/ApproveFriendRequest\", { myUserId, requesterUserId });\r\n\r\n if (\"error\" in result) {\r\n return;\r\n }\r\n changeAppState(\"relatedUsers\", result.relatedUsers);\r\n\r\n switch (result.friendsLimit) {\r\n case \"MyFriendsLimit\": {\r\n changeAppState(\"friendsLimitDialogState\", { type: \"myLimit\" });\r\n break;\r\n }\r\n case \"TheirFriendsLimit\": {\r\n changeAppState(\"friendsLimitDialogState\", {\r\n type: \"theirLimit\",\r\n targetUserId: requesterUserId,\r\n });\r\n break;\r\n }\r\n }\r\n}\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'PersonAdd');\n\nexports.default = _default;"],"names":["useDelayedState","state","checkOpen","timeoutMilliSecond","_useState","useState","_useState2","_slicedToArray","delayedState","setDelayedState","useEffect","timeoutId","setTimeout","clearTimeout","delayedOpen","DarkButton","forwardRef","_ref","ref","style","className","rest","_objectWithoutProperties","_excluded","c","useStyles","_jsx","Button","_objectSpread","spaceBetween","button","makeStyles","_ref2","palette","_ref3","backgroundColor","grey","color","fontSize","CharacterComment","props","imgNumber","screenWidth","comment","commentStyle","imgStyle","containerRef","_jsxs","container","children","src","concat","consts","alt","ninjaPic","width","CenterDialog","open","_ref$transitionMillis","transitionMilliseconds","darkLayerStyle","onClose","withoutCloseButton","globalDialogState","isChildrenUnmounted","openedOrder","usePanelAndDialogOpenOrder","useResultDialogStyles","transitionDuration","isContentShown","setIsContentShown","isCompletelyOpened","isOpenAnimationFinished","useOpenAnimationFinished","darkLayer","opacity1","opacity0","onClick","undefined","Card","card","ev","stopPropagation","variant","closeButton","CloseIcon","closeIcon","ShurikenProgress","size","height","position","top","left","display","justifyContent","alignItems","transitionProperty","zIndex","opacity","_ref4","maxWidth","maxHeight","borderRadius","minWidth","minHeight","success","main","light","lineHeight","marginLeft","marginTop","marginRight","padding","GuestMessageLimitDialog","_useAppState","useAppState","_useAppState2","dialogState","setDialogState","_useDelayedState","type","flexDirection","DialogContent","_relatedUsers$find","useMyFriendsLimitDialogStyles","useScreenSize","submitting","setSubmitting","_useState3","_useState4","requestButtonPushed","setRequestButtonPushed","_useAppState3","user","_useAppState5","relatedUsers","targetUser","requestFromMe","find","u","userId","alreadyRequested","canceled","h2Title","title","successColor","characterComment","commentContainer","Math","min","margin","fullWidth","changeAppState","PrimaryButton","startIcon","PersonAddIcon","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","fetchAddFriend","stop","disabled","theme","marginBottom","whiteSpace","fetchUnfriend","_x","_x2","_fetchUnfriend","apply","arguments","myUserId","toUserId","fetchPost","sent","abrupt","fetchCancelRequest","_x3","_x4","_fetchCancelRequest","_callee2","_context2","_x5","_x6","_fetchAddFriend","_callee3","result","_context3","friendsLimit","fetchApprove","_x7","_x8","_fetchApprove","_callee4","requesterUserId","_context4","t0","targetUserId","_interopRequireDefault","require","_interopRequireWildcard","exports","React","_default","default","createElement","d"],"sourceRoot":""}