{"version":3,"file":"js/ShowPost-ShowPost-page.7fcec310ddc8be48e93a.js","mappings":"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","sources":["webpack://fider/./public/assets/images/heroicons-lock.svg","webpack://fider/./public/pages/ShowPost/components/LockStatus.tsx","webpack://fider/./public/pages/ShowPost/components/PostLockingModal.tsx","webpack://fider/./public/assets/images/heroicons-chevron-up.svg","webpack://fider/./public/pages/ShowPost/components/ImageGallery.tsx","webpack://fider/./public/pages/ShowPost/components/ShowComment.tsx","webpack://fider/./public/pages/ShowPost/components/CommentInput.tsx","webpack://fider/./public/pages/ShowPost/components/DiscussionPanel.tsx","webpack://fider/./public/pages/ShowPost/components/TagListItem.tsx","webpack://fider/./public/pages/ShowPost/components/TagsPanel.tsx","webpack://fider/./public/assets/images/heroicons-plus.svg","webpack://fider/./public/pages/ShowPost/components/FollowButton.tsx","webpack://fider/./public/pages/ShowPost/components/VoteSection.tsx","webpack://fider/./public/pages/ShowPost/components/DeletePostModal.tsx","webpack://fider/./public/pages/ShowPost/components/PostSearch.tsx","webpack://fider/./public/pages/ShowPost/components/ResponseModal.tsx","webpack://fider/./public/pages/ShowPost/components/VotesModal.tsx","webpack://fider/./public/pages/ShowPost/components/VotesPanel.tsx","webpack://fider/./public/pages/ShowPost/ShowPost.page.tsx","webpack://fider/./public/assets/images/heroicons-check.svg","webpack://fider/./public/assets/images/heroicons-dots-horizontal.svg","webpack://fider/./public/assets/images/heroicons-search.svg"],"sourcesContent":["import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-lock\",\n \"use\": \"heroicons-lock-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import React from \"react\"\nimport { Post } from \"@fider/models\"\nimport { UserName, Moment } from \"@fider/components\"\nimport { useFider } from \"@fider/hooks\"\nimport { Trans } from \"@lingui/react/macro\"\nimport { Icon } from \"@fider/components\"\nimport HeroIconLock from \"@fider/assets/images/heroicons-lock.svg\"\n\ninterface LockStatusProps {\n post: Post\n}\n\nexport const LockStatus = (props: LockStatusProps) => {\n const { post } = props\n const fider = useFider()\n\n if (!post.lockedSettings || !post.lockedSettings.locked) {\n return null\n }\n\n return (\n
\n
\n
\n \n
\n \n
\n This post has been locked\n
\n
\n \n {post.lockedSettings.lockMessage && (\n
\n {post.lockedSettings.lockMessage}\n
\n )}\n \n
\n
\n Locked by{\" \"}\n \n
\n
\n \n
\n
\n
\n )\n}","import React, { useState } from \"react\"\nimport { Post } from \"@fider/models\"\nimport { Modal, Button, TextArea } from \"@fider/components\"\nimport { actions } from \"@fider/services\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface PostLockingModalProps {\n post: Post\n isOpen: boolean\n onClose: () => void\n mode: \"lock\" | \"unlock\"\n}\n\nexport const PostLockingModal = (props: PostLockingModalProps) => {\n const [message, setMessage] = useState(\"\")\n const isLockMode = props.mode === \"lock\"\n\n const submit = async () => {\n const response = isLockMode \n ? await actions.lockPost(props.post.number, message)\n : await actions.unlockPost(props.post.number)\n \n if (response.ok) {\n location.reload()\n }\n }\n\n return (\n \n \n {isLockMode ? (\n Lock Post\n ) : (\n Unlock Post\n )}\n \n \n

\n {isLockMode ? (\n \n Locking this post will prevent users from commenting, voting, or editing it. \n Only administrators and collaborators can unlock a locked post.\n \n ) : (\n \n Unlocking this post will allow users to comment, vote, and edit it again. \n Are you sure you want to unlock this post?\n \n )}\n

\n {isLockMode && (\n \n )}\n
\n \n \n \n \n
\n )\n}","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-chevron-up\",\n \"use\": \"heroicons-chevron-up-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import React, { useState, useEffect, useCallback, useRef } from \"react\"\nimport { uploadedImageURL } from \"@fider/services\"\nimport { Modal, Button, Loader } from \"@fider/components\"\nimport { ImageViewer } from \"@fider/components\"\nimport \"./ImageGallery.scss\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface ImageGalleryProps {\n bkeys: string[]\n}\n\nexport const ImageGallery: React.FC = ({ bkeys }) => {\n const [showModal, setShowModal] = useState(false)\n const [currentIndex, setCurrentIndex] = useState(0)\n const [loadedPreview, setLoadedPreview] = useState(false)\n const [touchStart, setTouchStart] = useState(null)\n const [touchEnd, setTouchEnd] = useState(null)\n const [touchStartY, setTouchStartY] = useState(null)\n const [touchEndY, setTouchEndY] = useState(null)\n const [isFullscreen, setIsFullscreen] = useState(false)\n const [scale, setScale] = useState(1)\n const [isPinching, setIsPinching] = useState(false)\n const [lastDistance, setLastDistance] = useState(0)\n const containerRef = useRef(null)\n\n const openModal = (index: number) => {\n setCurrentIndex(index)\n setLoadedPreview(false)\n setShowModal(true)\n setScale(1)\n }\n\n const closeModal = () => {\n if (isFullscreen) {\n exitFullscreen()\n }\n setShowModal(false)\n setScale(1)\n }\n\n const goToNext = useCallback(() => {\n setLoadedPreview(false)\n setScale(1)\n setCurrentIndex((prev) => (prev + 1) % bkeys.length)\n }, [bkeys.length])\n\n const goToPrevious = useCallback(() => {\n setLoadedPreview(false)\n setScale(1)\n setCurrentIndex((prev) => (prev - 1 + bkeys.length) % bkeys.length)\n }, [bkeys.length])\n\n const onPreviewLoad = () => {\n setLoadedPreview(true)\n }\n\n const toggleFullscreen = () => {\n if (isFullscreen) {\n exitFullscreen()\n } else {\n enterFullscreen()\n }\n }\n\n const enterFullscreen = () => {\n const element = containerRef.current\n if (element) {\n if (element.requestFullscreen) {\n element.requestFullscreen()\n } else if ((element as any).webkitRequestFullscreen) {\n (element as any).webkitRequestFullscreen()\n } else if ((element as any).mozRequestFullScreen) {\n (element as any).mozRequestFullScreen()\n } else if ((element as any).msRequestFullscreen) {\n (element as any).msRequestFullscreen()\n }\n setIsFullscreen(true)\n }\n }\n\n const exitFullscreen = () => {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if ((document as any).webkitExitFullscreen) {\n (document as any).webkitExitFullscreen()\n } else if ((document as any).mozCancelFullScreen) {\n (document as any).mozCancelFullScreen()\n } else if ((document as any).msExitFullscreen) {\n (document as any).msExitFullscreen()\n }\n setIsFullscreen(false)\n }\n\n useEffect(() => {\n const handleFullscreenChange = () => {\n setIsFullscreen(!!document.fullscreenElement)\n }\n\n document.addEventListener(\"fullscreenchange\", handleFullscreenChange)\n document.addEventListener(\"webkitfullscreenchange\", handleFullscreenChange)\n document.addEventListener(\"mozfullscreenchange\", handleFullscreenChange)\n document.addEventListener(\"MSFullscreenChange\", handleFullscreenChange)\n\n return () => {\n document.removeEventListener(\"fullscreenchange\", handleFullscreenChange)\n document.removeEventListener(\"webkitfullscreenchange\", handleFullscreenChange)\n document.removeEventListener(\"mozfullscreenchange\", handleFullscreenChange)\n document.removeEventListener(\"MSFullscreenChange\", handleFullscreenChange)\n }\n }, [])\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!showModal) return\n\n switch (e.key) {\n case \"ArrowLeft\":\n goToPrevious()\n break\n case \"ArrowRight\":\n goToNext()\n break\n case \"Escape\":\n closeModal()\n break\n case \"f\":\n toggleFullscreen()\n break\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown)\n }\n }, [showModal, goToNext, goToPrevious, toggleFullscreen])\n\n const handleTouchStart = (e: React.TouchEvent) => {\n if (e.touches.length === 2) {\n setIsPinching(true)\n const dist = getDistanceBetweenTouches(e)\n setLastDistance(dist)\n return\n }\n\n setTouchEnd(null)\n setTouchStart(e.targetTouches[0].clientX)\n setTouchEndY(null)\n setTouchStartY(e.targetTouches[0].clientY)\n }\n\n const handleTouchMove = (e: React.TouchEvent) => {\n if (isPinching && e.touches.length === 2) {\n e.preventDefault()\n const newDistance = getDistanceBetweenTouches(e)\n const scaleFactor = 0.01\n const newScale = scale + ((newDistance - lastDistance) * scaleFactor)\n \n if (newScale >= 0.5 && newScale <= 3) {\n setScale(newScale)\n }\n setLastDistance(newDistance)\n return\n }\n\n if (e.touches.length === 1) {\n setTouchEnd(e.targetTouches[0].clientX)\n setTouchEndY(e.targetTouches[0].clientY)\n }\n }\n\n const getDistanceBetweenTouches = (e: React.TouchEvent) => {\n if (e.touches.length < 2) return 0\n \n const dx = e.touches[0].clientX - e.touches[1].clientX\n const dy = e.touches[0].clientY - e.touches[1].clientY\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n const handleTouchEnd = () => {\n setIsPinching(false)\n\n if (!touchStart || !touchEnd || !touchStartY || !touchEndY) return\n \n const horizontalDistance = touchStart - touchEnd\n const verticalDistance = touchStartY - touchEndY\n \n if (Math.abs(horizontalDistance) > Math.abs(verticalDistance)) {\n const isLeftSwipe = horizontalDistance > 50\n const isRightSwipe = horizontalDistance < -50\n \n if (isLeftSwipe) {\n goToNext()\n }\n \n if (isRightSwipe) {\n goToPrevious()\n }\n } else {\n const isUpSwipe = verticalDistance > 70\n \n if (isUpSwipe) {\n closeModal()\n }\n }\n }\n\n const resetZoom = () => {\n setScale(1)\n }\n\n if (bkeys.length === 1) {\n return \n }\n\n const gridColumns = bkeys.length === 2 ? 2 : bkeys.length === 3 ? 3 : 2;\n const gridRows = bkeys.length <= 3 ? 1 : 2;\n\n return (\n
\n
\n {bkeys.slice(0, 4).map((bkey, index) => (\n
openModal(index)}\n >\n \"\"\n {bkeys.length > 4 && index === 3 && (\n
\n +{bkeys.length - 4}\n
\n )}\n
\n ))}\n
\n\n \n \n
\n {!loadedPreview && }\n \"\"\n \n {bkeys.length > 1 && (\n
\n \n \n
\n {currentIndex + 1} / {bkeys.length}\n
\n \n \n\n \n \n {isFullscreen ? \"Exit Fullscreen\" : \"Fullscreen\"}\n \n \n\n {scale !== 1 && (\n \n Reset Zoom\n \n )}\n
\n )}\n
\n
\n\n \n \n \n
\n
\n )\n}","import React, { useEffect, useRef, useState } from \"react\"\nimport { Comment, Post, ImageUpload, isPostLocked } from \"@fider/models\"\nimport {\n Reactions,\n Avatar,\n UserName,\n Moment,\n Form,\n Button,\n Markdown,\n Modal,\n ImageViewer,\n MultiImageUploader,\n Dropdown,\n Icon,\n CommentEditor,\n} from \"@fider/components\"\nimport { HStack } from \"@fider/components/layout\"\nimport { formatDate, Failure, actions, notify, copyToClipboard, classSet, clearUrlHash } from \"@fider/services\"\nimport { useFider } from \"@fider/hooks\"\nimport IconDotsHorizontal from \"@fider/assets/images/heroicons-dots-horizontal.svg\"\nimport { t } from \"@lingui/core/macro\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface ShowCommentProps {\n post: Post\n comment: Comment\n highlighted?: boolean\n onToggleReaction?: () => void\n}\n\nexport const ShowComment = (props: ShowCommentProps) => {\n const fider = useFider()\n const node = useRef(null)\n const [isEditing, setIsEditing] = useState(false)\n const [newContent, setNewContent] = useState(props.comment.content)\n const [isDeleteConfirmationModalOpen, setIsDeleteConfirmationModalOpen] = useState(false)\n const [attachments, setAttachments] = useState([])\n const [localReactionCounts, setLocalReactionCounts] = useState(props.comment.reactionCounts)\n const emojiSelectorRef = useRef(null)\n\n const [error, setError] = useState()\n\n const handleClick = (e: MouseEvent) => {\n if (node.current == null || !node.current.contains(e.target as Node)) {\n clearUrlHash()\n }\n }\n\n useEffect(() => {\n if (props.highlighted) {\n document.addEventListener(\"mousedown\", handleClick)\n return () => {\n document.removeEventListener(\"mousedown\", handleClick)\n }\n }\n }, [props.highlighted])\n\n const canEditComment = (): boolean => {\n if (fider.session.isAuthenticated) {\n if (fider.session.user.isCollaborator || fider.session.user.isAdministrator) {\n return true\n }\n \n return props.comment.user.id === fider.session.user.id && !isPostLocked(props.post)\n }\n return false\n }\n\n const clearError = () => setError(undefined)\n\n const cancelEdit = async () => {\n setIsEditing(false)\n setNewContent(props.comment.content)\n clearError()\n }\n\n const saveEdit = async () => {\n const response = await actions.updateComment(props.post.number, props.comment.id, newContent, attachments)\n if (response.ok) {\n location.reload()\n } else {\n setError(response.error)\n }\n }\n\n const closeModal = async () => {\n setIsDeleteConfirmationModalOpen(false)\n }\n\n const deleteComment = async () => {\n const response = await actions.deleteComment(props.post.number, props.comment.id)\n if (response.ok) {\n location.reload()\n }\n }\n\n const toggleReaction = async (emoji: string) => {\n const response = await actions.toggleCommentReaction(props.post.number, comment.id, emoji)\n if (response.ok) {\n const added = response.data.added\n\n setLocalReactionCounts((prevCounts) => {\n const newCounts = [...(prevCounts ?? [])]\n const reactionIndex = newCounts.findIndex((r) => r.emoji === emoji)\n if (reactionIndex !== -1) {\n const newCount = added ? newCounts[reactionIndex].count + 1 : newCounts[reactionIndex].count - 1\n if (newCount === 0) {\n newCounts.splice(reactionIndex, 1)\n } else {\n newCounts[reactionIndex] = {\n ...newCounts[reactionIndex],\n count: newCount,\n includesMe: added,\n }\n }\n } else if (added) {\n newCounts.push({ emoji, count: 1, includesMe: true })\n }\n return newCounts\n })\n }\n }\n\n const onActionSelected = (action: string) => () => {\n if (action === \"copylink\") {\n window.location.hash = `#comment-${props.comment.id}`\n copyToClipboard(window.location.href).then(\n () => notify.success(t({ id: \"showpost.comment.copylink.success\", message: \"Successfully copied comment link to clipboard\" })),\n () => notify.error(t({ id: \"showpost.comment.copylink.error\", message: \"Could not copy comment link, please copy page URL\" }))\n )\n } else if (action === \"edit\") {\n setIsEditing(true)\n clearError()\n } else if (action === \"delete\") {\n setIsDeleteConfirmationModalOpen(true)\n }\n }\n\n const modal = () => {\n return (\n \n \n Delete Comment\n \n \n

\n \n This process is irreversible. Are you sure?\n \n

\n
\n\n \n \n \n \n
\n )\n }\n\n const comment = props.comment\n\n const editedMetadata = !!comment.editedAt && !!comment.editedBy && (\n · edited\n )\n\n const classList = classSet({\n \"flex-grow rounded-md p-2\": true,\n \"bg-gray-100\": !props.highlighted,\n \"highlighted-comment\": props.highlighted,\n })\n\n return (\n
\n \n {modal()}\n
\n \n
\n
\n
\n \n \n {\" \"}\n
\n · {editedMetadata}\n
\n
\n {!isEditing && (\n }>\n \n Copy link\n \n {canEditComment() && (\n <>\n \n \n Edit\n \n \n Delete\n \n \n )}\n \n )}\n
\n
\n
\n {isEditing ? (\n
\n \n \n \n \n \n ) : (\n <>\n \n {comment.attachments && comment.attachments.map((x) => )}\n \n \n )}\n
\n
\n
\n
\n )\n}\n","import React, { useState } from \"react\"\n\nimport { Post, ImageUpload, isPostLocked } from \"@fider/models\"\nimport { Avatar, UserName, Button, Form, MultiImageUploader } from \"@fider/components\"\nimport { SignInModal } from \"@fider/components\"\n\nimport { cache, actions, Failure } from \"@fider/services\"\nimport { HStack } from \"@fider/components/layout\"\nimport { i18n } from \"@lingui/core\"\nimport { Trans } from \"@lingui/react/macro\"\n\nimport { CommentEditor } from \"@fider/components\"\nimport { useFider } from \"@fider/hooks\"\n\ninterface CommentInputProps {\n post: Post\n}\n\nconst CACHE_TITLE_KEY = \"CommentInput-Comment-\"\n\nexport const CommentInput = (props: CommentInputProps) => {\n const getCacheKey = () => `${CACHE_TITLE_KEY}${props.post.id}`\n\n const getContentFromCache = () => {\n return cache.session.get(getCacheKey())\n }\n\n const fider = useFider()\n // const inputRef = useRef()\n const [content, setContent] = useState((fider.session.isAuthenticated && getContentFromCache()) || \"\")\n const [isSignInModalOpen, setIsSignInModalOpen] = useState(false)\n const [attachments, setAttachments] = useState([])\n const [error, setError] = useState(undefined)\n\n const settings = fider.session.tenant.generalSettings || {\n maxImagesPerComment: 2,\n commentingDisabledFor: [] as string[],\n commentingGloballyDisabled: false\n }\n \n // TODO: refactor the mess that is this check logic\n const isCommentingDisabled = !fider.session.isAuthenticated || \n isPostLocked(props.post) || \n (fider.session.user?.role !== \"administrator\" && \n (settings.commentingGloballyDisabled || \n settings.commentingDisabledFor?.includes(fider.session.user?.role || \"\") || false))\n\n const hideModal = () => setIsSignInModalOpen(false)\n const clearError = () => setError(undefined)\n\n const submit = async () => {\n clearError()\n\n const result = await actions.createComment(props.post.number, content, attachments)\n if (result.ok) {\n cache.session.remove(getCacheKey())\n location.reload()\n } else {\n setError(result.error)\n }\n }\n\n const editorFocused = () => {\n if (!fider.session.isAuthenticated) {\n setIsSignInModalOpen(true)\n }\n }\n\n const commentChanged = (newContent: string) => {\n setContent(newContent)\n cache.session.set(getCacheKey(), newContent)\n }\n\n const hasContent = content?.length > 0\n\n return (\n <>\n \n \n {fider.session.isAuthenticated && }\n
\n
\n {isCommentingDisabled && fider.session.isAuthenticated && (\n
\n \n Commenting has been disabled by the administrators.\n \n
\n )}\n {fider.session.isAuthenticated && (\n
\n \n
\n )}\n \n {hasContent && !isCommentingDisabled && (\n <>\n \n \n \n )}\n \n
\n
\n \n )\n}\n","import React from \"react\"\nimport { CurrentUser, Comment, Post } from \"@fider/models\"\nimport { ShowComment } from \"./ShowComment\"\nimport { CommentInput } from \"./CommentInput\"\nimport { VStack } from \"@fider/components/layout\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface DiscussionPanelProps {\n user?: CurrentUser\n post: Post\n comments: Comment[]\n highlightedComment?: number\n}\n\nexport const DiscussionPanel = (props: DiscussionPanelProps) => {\n return (\n <>\n \n \n Discussion\n \n \n {props.comments.map((c) => (\n \n ))}\n \n \n \n \n )\n}\n","import React from \"react\"\nimport { Tag } from \"@fider/models\"\nimport { ShowTag } from \"@fider/components\"\nimport { HStack } from \"@fider/components/layout\"\n\ninterface TagListItemProps {\n tag: Tag\n assigned: boolean\n onClick: (tag: Tag) => void\n}\n\nexport const TagListItem = (props: TagListItemProps) => {\n const onClick = () => {\n props.onClick(props.tag)\n }\n\n const getTagTooltip = () => {\n return props.assigned ? `${props.tag.name} (currently assigned)` : props.tag.name\n }\n\n return (\n
\n \n \n \n
\n )\n}","import React, { useState, useMemo, useEffect } from \"react\"\nimport { Post, Tag } from \"@fider/models\"\nimport { actions } from \"@fider/services\"\nimport { ShowTag, Button, Input } from \"@fider/components\"\nimport { TagListItem } from \"./TagListItem\"\nimport { useFider } from \"@fider/hooks\"\n\nimport { HStack, VStack } from \"@fider/components/layout\"\nimport { Trans } from \"@lingui/react/macro\"\n\nexport interface TagsPanelProps {\n post: Post\n tags: Tag[]\n}\n\nexport const TagsPanel = (props: TagsPanelProps) => {\n const fider = useFider()\n const canEdit = fider.session.isAuthenticated && (fider.session.user.isCollaborator || fider.session.user.isModerator || fider.session.user.isAdministrator) && props.tags.length > 0\n\n const [isEditing, setIsEditing] = useState(false)\n const [assignedTags, setAssignedTags] = useState(props.tags.filter((t) => props.post.tags.indexOf(t.slug) >= 0))\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [recentlyUsedTags, setRecentlyUsedTags] = useState([])\n \n useEffect(() => {\n if (isEditing) {\n try {\n const recentTagSlugs = JSON.parse(localStorage.getItem(\"fider_recent_tags\") || \"[]\")\n const recentTags = props.tags.filter(tag => recentTagSlugs.includes(tag.slug))\n setRecentlyUsedTags(recentTags.slice(0, 5))\n } catch (e) {\n console.error(\"Failed to load recent tags\", e)\n }\n }\n }, [isEditing, props.tags])\n\n const saveRecentTag = (tag: Tag) => {\n try {\n const recentTagSlugs = JSON.parse(localStorage.getItem(\"fider_recent_tags\") || \"[]\")\n const updatedRecentTags = [\n tag.slug,\n ...recentTagSlugs.filter((slug: string) => slug !== tag.slug)\n ].slice(0, 10)\n \n localStorage.setItem(\"fider_recent_tags\", JSON.stringify(updatedRecentTags))\n } catch (e) {\n console.error(\"Failed to save recent tags\", e)\n }\n }\n\n const assignOrUnassignTag = async (tag: Tag) => {\n const idx = assignedTags.indexOf(tag)\n let nextAssignedTags: Tag[] = []\n\n if (idx >= 0) {\n const response = await actions.unassignTag(tag.slug, props.post.number)\n if (response.ok) {\n nextAssignedTags = [...assignedTags]\n nextAssignedTags.splice(idx, 1)\n }\n } else {\n const response = await actions.assignTag(tag.slug, props.post.number)\n if (response.ok) {\n nextAssignedTags = [...assignedTags, tag]\n saveRecentTag(tag)\n }\n }\n\n setAssignedTags(nextAssignedTags)\n }\n\n const onSubtitleClick = () => {\n if (canEdit) {\n setIsEditing(!isEditing)\n if (!isEditing) {\n setSearchQuery(\"\")\n }\n }\n }\n\n const clearAllTags = async () => {\n if (assignedTags.length === 0) return\n if (!window.confirm(\"Are you sure you want to remove all tags from this post?\")) return\n const promises = assignedTags.map(tag => actions.unassignTag(tag.slug, props.post.number))\n await Promise.all(promises)\n \n setAssignedTags([])\n }\n\n const filteredTags = useMemo(() => {\n if (!searchQuery.trim()) return props.tags\n const query = searchQuery.toLowerCase()\n return props.tags.filter(\n tag => tag.name.toLowerCase().includes(query) || tag.slug.toLowerCase().includes(query)\n )\n }, [props.tags, searchQuery])\n\n const groupedTags = useMemo(() => {\n if (searchQuery.trim()) return null\n \n const groups: { [key: string]: Tag[] } = {}\n props.tags.forEach(tag => {\n const firstChar = tag.name.charAt(0).toUpperCase()\n if (!groups[firstChar]) groups[firstChar] = []\n groups[firstChar].push(tag)\n })\n return groups\n }, [props.tags, searchQuery])\n\n if (!canEdit && assignedTags.length === 0) {\n return null\n }\n\n const tagsList = (\n \n {assignedTags.length > 0 &&\n assignedTags.map((tag) => )}\n {canEdit && (\n \n \n Edit tags\n \n \n )}\n \n )\n\n const renderTagsGrid = () => {\n if (groupedTags && !searchQuery.trim()) {\n return (\n <>\n {recentlyUsedTags.length > 0 && (\n
\n
\n Recently Used\n
\n
\n {recentlyUsedTags.map(tag => (\n = 0} \n onClick={assignOrUnassignTag} \n />\n ))}\n
\n
\n )}\n \n {Object.entries(groupedTags).sort().map(([letter, tags]) => (\n
\n
{letter}
\n
\n {tags.map(tag => (\n = 0} \n onClick={assignOrUnassignTag} \n />\n ))}\n
\n
\n ))}\n \n )\n }\n \n return (\n
\n {filteredTags.map(tag => (\n = 0} \n onClick={assignOrUnassignTag} \n />\n ))}\n
\n )\n }\n\n const editTagsList = props.tags.length > 0 && (\n \n
\n \n
\n \n
\n \n
\n {assignedTags.length} / {props.tags.length}\n
\n
\n
\n \n {filteredTags.length > 0 ? (\n
\n {renderTagsGrid()}\n
\n ) : (\n
\n No tags found\n
\n )}\n \n \n
\n {assignedTags.length > 0 && (\n \n )}\n
\n \n
\n
\n )\n\n if (fider.isReadOnly) {\n return (\n \n \n Tags\n \n {tagsList}\n \n )\n }\n\n return (\n \n {!isEditing ? (\n \n {tagsList}\n \n ) : (\n
\n {editTagsList}\n
\n )}\n
\n )\n}","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-plus\",\n \"use\": \"heroicons-plus-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import React, { useState } from \"react\"\nimport { Button, Icon } from \"@fider/components\"\nimport { actions } from \"@fider/services\"\nimport { useFider } from \"@fider/hooks\"\nimport IconPlus from \"@fider/assets/images/heroicons-plus.svg\"\nimport IconCheck from \"@fider/assets/images/heroicons-check.svg\"\nimport { VStack } from \"@fider/components/layout\"\nimport { Trans } from \"@lingui/macro\"\nimport { Post, isPostLocked } from \"@fider/models\"\n\nexport interface NotificationsPanelProps {\n post: Post\n subscribed: boolean\n}\n\nexport const FollowButton = (props: NotificationsPanelProps) => {\n const fider = useFider()\n const [subscribed, setSubscribed] = useState(props.subscribed)\n const isLocked = isPostLocked(props.post) || fider.isReadOnly\n\n const subscribeOrUnsubscribe = async () => {\n const action = subscribed ? actions.unsubscribe : actions.subscribe\n\n const response = await action(props.post.number)\n if (response.ok) {\n setSubscribed(!subscribed)\n }\n }\n\n if (!fider.session.isAuthenticated) {\n return null\n }\n\n const button = subscribed ? (\n \n ) : (\n \n )\n\n return {button}\n}","import \"./VoteSection.scss\"\n\nimport React, { useState } from \"react\"\nimport { Post, PostStatus, isPostLocked } from \"@fider/models\"\nimport { actions, classSet } from \"@fider/services\"\nimport { Button, Icon, SignInModal } from \"@fider/components\"\nimport { useFider } from \"@fider/hooks\"\nimport IconThumbsUp from \"@fider/assets/images/heroicons-thumbsup.svg\"\nimport IconThumbsDown from \"@fider/assets/images/heroicons-thumbsdown.svg\"\nimport { Trans } from \"@lingui/macro\"\nimport { HStack } from \"@fider/components/layout\"\n\ninterface VoteSectionProps {\n post: Post\n votes: number\n}\n\nexport const VoteSection = (props: VoteSectionProps) => {\n const fider = useFider()\n const [voteType, setVoteType] = useState<'up' | 'down' | 'none'>(\n props.post.voteType === 1 ? 'up' : props.post.voteType === -1 ? 'down' : 'none'\n )\n const [votes, setVotes] = useState(props.votes)\n const [isSignInModalOpen, setIsSignInModalOpen] = useState(false)\n\n const handleVote = async (type: 'up' | 'down') => {\n if (!fider.session.isAuthenticated) {\n setIsSignInModalOpen(true)\n return\n }\n\n const status = PostStatus.Get(props.post.status)\n if (status.closed || fider.isReadOnly) {\n return\n }\n\n let response;\n let newVoteType: 'up' | 'down' | 'none';\n let countChange = 0;\n\n if (voteType === type) {\n response = await actions.removeVote(props.post.number);\n newVoteType = 'none';\n countChange = type === 'up' ? -1 : 1;\n } \n \n else if (voteType !== 'none') {\n response = await actions.toggleVote(props.post.number, type);\n newVoteType = type;\n countChange = type === 'up' ? 2 : -2;\n } \n\n else {\n if (type === 'up') {\n response = await actions.addVote(props.post.number);\n newVoteType = 'up';\n countChange = 1;\n } else {\n response = await actions.addDownVote(props.post.number);\n newVoteType = 'down';\n countChange = -1;\n }\n }\n\n if (response.ok) {\n setVotes(votes + countChange);\n setVoteType(newVoteType);\n }\n }\n\n const hideModal = () => setIsSignInModalOpen(false)\n\n const status = PostStatus.Get(props.post.status)\n const isDisabled = status.closed || fider.isReadOnly || isPostLocked(props.post)\n\n const countClassName = classSet({\n \"c-vote-section__count\": true,\n \"c-vote-section__count--positive\": votes > 0 && voteType === 'up',\n \"c-vote-section__count--negative\": votes < 0 || voteType === 'down',\n \"c-vote-section__count--neutral\": votes === 0,\n })\n\n const upButtonClassName = classSet({\n \"c-vote-section__button\": true,\n \"c-vote-section__button--up\": true,\n \"voted\": voteType === 'up'\n })\n\n const downButtonClassName = classSet({\n \"c-vote-section__button\": true,\n \"c-vote-section__button--down\": true,\n \"voted\": voteType === 'down'\n })\n\n const voteLabel = votes === 1 ? \"Vote\" : \"Votes\"\n\n return (\n <>\n \n
\n \n \n
\n \n {votes}\n \n {voteLabel}\n
\n \n \n
\n \n )\n}\n","import React, { useState } from \"react\"\nimport { PostStatus, Post } from \"@fider/models\"\nimport { actions, navigator, Failure } from \"@fider/services\"\nimport { Form, Modal, Button, TextArea } from \"@fider/components\"\nimport { useFider } from \"@fider/hooks\"\nimport { i18n } from \"@lingui/core\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface DeletePostModalProps {\n post: Post\n showModal: boolean\n onModalClose: () => void\n}\n\nexport const DeletePostModal = (props: DeletePostModalProps) => {\n const fider = useFider()\n const [text, setText] = useState(\"\")\n const [error, setError] = useState()\n\n const handleDelete = async () => {\n const response = await actions.deletePost(props.post.number, text)\n if (response.ok) {\n props.onModalClose()\n navigator.goHome()\n } else if (response.error) {\n setError(response.error)\n }\n }\n\n const status = PostStatus.Get(props.post.status)\n if (\n !fider.session.isAuthenticated ||\n (!(fider.session.user.isAdministrator || fider.session.user.isCollaborator || fider.session.user.isModerator)) ||\n status.closed\n ) {\n return null\n }\n\n const modal = (\n \n \n
\n \n \n \n This operation cannot be undone.\n \n \n \n \n
\n\n \n \n \n \n
\n )\n\n return modal\n}\n","import React, { useEffect, useState } from \"react\"\nimport IconSearch from \"@fider/assets/images/heroicons-search.svg\"\nimport { Input, ShowPostStatus } from \"@fider/components\"\nimport { actions } from \"@fider/services\"\nimport { Post, PostStatus } from \"@fider/models\"\nimport { HStack, VStack } from \"@fider/components/layout\"\nimport { i18n } from \"@lingui/core\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface PostSearchProps {\n exclude?: number[]\n onChanged(postNumber: number): void\n}\n\nexport const PostSearch = (props: PostSearchProps) => {\n const [query, setQuery] = useState(\"\")\n const [posts, setPosts] = useState([])\n const [selectedPost, setSelectedPost] = useState()\n\n useEffect(() => {\n if (!query) {\n return\n }\n\n const timer = setTimeout(() => {\n actions.searchPosts({ query, limit: 6 }).then((res) => {\n if (res.ok) {\n const filteredPosts =\n props.exclude && props.exclude.length > 0 ? res.data.filter((i) => props.exclude && props.exclude.indexOf(i.number) === -1) : res.data\n setPosts(filteredPosts)\n }\n })\n }, 500)\n\n return () => {\n clearTimeout(timer)\n }\n }, [query])\n\n const selectPost = (post: Post) => () => {\n props.onChanged(post.number)\n setSelectedPost(post)\n }\n\n return (\n <>\n \n
\n {posts.map((p) => (\n \n \n #{p.number} · ·{\" \"}\n \n {p.votesCount} votes\n \n \n {p.title}\n \n ))}\n
\n \n )\n}\n","import React from \"react\"\n\nimport { Modal, Button, DisplayError, Select, Form, TextArea, Field, SelectOption } from \"@fider/components\"\nimport { Post, PostStatus } from \"@fider/models\"\n\nimport { actions, Failure } from \"@fider/services\"\nimport { PostSearch } from \"./PostSearch\"\nimport { i18n } from \"@lingui/core\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface ResponseModalProps {\n post: Post\n showModal: boolean\n onCloseModal: () => void\n}\n\ninterface ResponseModalState {\n status: string\n text: string\n originalNumber: number\n error?: Failure\n}\n\nexport class ResponseModal extends React.Component {\n constructor(props: ResponseModalProps) {\n super(props)\n\n this.state = {\n status: this.props.post.status,\n originalNumber: 0,\n text: this.props.post.response ? this.props.post.response.text : \"\",\n }\n }\n\n private submit = async () => {\n const result = await actions.respond(this.props.post.number, this.state)\n if (result.ok) {\n location.reload()\n } else {\n this.setState({\n error: result.error,\n })\n }\n }\n\n private setStatus = (opt?: SelectOption) => {\n if (opt) {\n this.setState({ status: opt.value })\n }\n }\n\n private setOriginalNumber = (originalNumber: number) => {\n this.setState({ originalNumber })\n }\n\n private setText = (text: string) => {\n this.setState({ text })\n }\n\n public render() {\n const options = PostStatus.All.map((s) => {\n const id = `enum.poststatus.${s.value.toString()}`\n return {\n value: s.value.toString(),\n label: i18n._(id, { message: s.title }),\n }\n })\n\n const modal = (\n \n \n
\n \n
\n ) : (\n <>\n

{this.props.post.title}

\n {isPostLocked(this.props.post) && }\n \n )}\n \n\n this.setShowDeleteModal(false)} showModal={this.state.showDeleteModal} post={this.props.post} />\n {Fider.session.isAuthenticated && (Fider.session.user.isCollaborator || Fider.session.user.isModerator || Fider.session.user.isAdministrator) && (\n this.setShowResponseModal(false)} showModal={this.state.showResponseModal} post={this.props.post} />\n )}\n \n {this.state.editMode ? (\n
\n