{"version":3,"sources":["webpack://fider/./public/pages/Home/components/ListPosts.tsx","webpack://fider/./public/pages/Home/components/SimilarPosts.tsx","webpack://fider/./public/pages/Home/components/PostInput.tsx","webpack://fider/./public/pages/Home/components/PostFilter.tsx","webpack://fider/./public/pages/Home/components/TagsFilter.tsx","webpack://fider/./public/pages/Home/components/PostsContainer.tsx","webpack://fider/./public/pages/Home/Home.page.tsx"],"names":["ListPostItem","props","post","className","commentsCount","href","number","slug","title","text","description","style","showUser","status","response","tags","map","tag","key","id","size","ListPosts","posts","length","emptyText","divided","filter","indexOf","SimilarPosts","super","loadSimilarPosts","this","state","loading","query","then","x","ok","setState","data","nextProps","prevState","window","clearTimeout","timer","setTimeout","subtitle","icon","dividing","CACHE_TITLE_KEY","CACHE_DESCRIPTION_KEY","PostInput","getCachedValue","fider","session","isAuthenticated","titleRef","useRef","setTitle","useState","setDescription","isSignInModalOpen","setIsSignInModalOpen","attachments","setAttachments","error","setError","undefined","useEffect","onTitleChanged","isOpen","onClose","field","noTabFocus","inputRef","onFocus","current","blur","maxLength","value","onChange","placeholder","minRows","maxUploads","previewMaxWidth","type","color","onClick","event","result","location","preventEnable","PostFilter","options","label","push","s","filterable","countPerStatus","forEach","render","activeView","header","inline","items","defaultValue","item","viewChanged","TagsFilter","selected","idx","splice","concat","selectionChanged","renderText","defaultSelection","t","name","ShowTag","circular","highlightSelected","PostsContainer","handleViewChanged","view","changeFilterCriteria","handleTagsFilterChanged","handleSearchFilterChanged","clearSearch","showMore","preventDefault","limit","getShowMoreLink","obj","reset","trim","toLowerCase","searchPosts","showMoreLink","onIconClick","onTouchEnd","Lonely","permanentCloseKey","condition","user","isAdministrator","tenant","welcomeMessage","invitation","len","Object","keys","isLonely"],"mappings":"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","file":"js/Home.page.18a54ccf54cc6a54c8d1.js","sourcesContent":["import \"./ListPosts.scss\"\n\nimport React from \"react\"\nimport { Post, Tag, CurrentUser } from \"@fider/models\"\nimport { ShowTag, ShowPostResponse, VoteCounter, MultiLineText, ListItem, List } from \"@fider/components\"\nimport { FaRegComments } from \"react-icons/fa\"\n\ninterface ListPostsProps {\n posts?: Post[]\n tags: Tag[]\n emptyText: string\n}\n\nconst ListPostItem = (props: { post: Post; user?: CurrentUser; tags: Tag[] }) => {\n return (\n \n \n
\n {props.post.commentsCount > 0 && (\n
\n {props.post.commentsCount} \n
\n )}\n \n {props.post.title}\n \n \n \n {props.tags.map((tag) => (\n \n ))}\n
\n
\n )\n}\n\nexport const ListPosts = (props: ListPostsProps) => {\n if (!props.posts) {\n return null\n }\n\n if (props.posts.length === 0) {\n return

{props.emptyText}

\n }\n\n return (\n \n {props.posts.map((post) => (\n post.tags.indexOf(tag.slug) >= 0)} />\n ))}\n \n )\n}\n","import React from \"react\"\nimport { Post, Tag, CurrentUser } from \"@fider/models\"\nimport { Heading, Loader } from \"@fider/components\"\nimport { ListPosts } from \"./ListPosts\"\nimport { actions } from \"@fider/services\"\nimport { FaRegLightbulb } from \"react-icons/fa\"\n\ninterface SimilarPostsProps {\n title: string\n tags: Tag[]\n user?: CurrentUser\n}\n\ninterface SimilarPostsState {\n title: string\n posts: Post[]\n loading: boolean\n}\n\nexport class SimilarPosts extends React.Component {\n constructor(props: SimilarPostsProps) {\n super(props)\n this.state = {\n title: props.title,\n loading: !!props.title,\n posts: [],\n }\n }\n\n public static getDerivedStateFromProps(nextProps: SimilarPostsProps, prevState: SimilarPostsState) {\n if (nextProps.title !== prevState.title) {\n return {\n loading: true,\n title: nextProps.title,\n }\n }\n return null\n }\n public componentDidMount() {\n this.loadSimilarPosts()\n }\n\n private timer?: number\n public componentDidUpdate() {\n window.clearTimeout(this.timer)\n this.timer = window.setTimeout(this.loadSimilarPosts, 500)\n }\n\n private loadSimilarPosts = () => {\n if (this.state.loading) {\n actions.searchPosts({ query: this.state.title }).then((x) => {\n if (x.ok) {\n this.setState({ loading: false, posts: x.data })\n }\n })\n }\n }\n\n public render() {\n return (\n <>\n \n {this.state.loading ? (\n \n ) : (\n \n )}\n \n )\n }\n}\n","import React, { useState, useEffect, useRef } from \"react\"\nimport { Button, ButtonClickEvent, Input, Form, TextArea, MultiImageUploader } from \"@fider/components\"\nimport { SignInModal } from \"@fider/components\"\nimport { cache, actions, Failure } from \"@fider/services\"\nimport { ImageUpload } from \"@fider/models\"\nimport { useFider } from \"@fider/hooks\"\n\ninterface PostInputProps {\n placeholder: string\n onTitleChanged: (title: string) => void\n}\n\nconst CACHE_TITLE_KEY = \"PostInput-Title\"\nconst CACHE_DESCRIPTION_KEY = \"PostInput-Description\"\n\nexport const PostInput = (props: PostInputProps) => {\n const getCachedValue = (key: string): string => {\n if (fider.session.isAuthenticated) {\n return cache.session.get(key) || \"\"\n }\n return \"\"\n }\n\n const fider = useFider()\n const titleRef = useRef()\n const [title, setTitle] = useState(getCachedValue(CACHE_TITLE_KEY))\n const [description, setDescription] = useState(getCachedValue(CACHE_DESCRIPTION_KEY))\n const [isSignInModalOpen, setIsSignInModalOpen] = useState(false)\n const [attachments, setAttachments] = useState([])\n const [error, setError] = useState(undefined)\n\n useEffect(() => {\n props.onTitleChanged(title)\n }, [title])\n\n const handleTitleFocus = () => {\n if (!fider.session.isAuthenticated && titleRef.current) {\n titleRef.current.blur()\n setIsSignInModalOpen(true)\n }\n }\n\n const handleTitleChange = (value: string) => {\n cache.session.set(CACHE_TITLE_KEY, value)\n setTitle(value)\n props.onTitleChanged(value)\n }\n\n const hideModal = () => setIsSignInModalOpen(false)\n const clearError = () => setError(undefined)\n\n const handleDescriptionChange = (value: string) => {\n cache.session.set(CACHE_DESCRIPTION_KEY, value)\n setDescription(value)\n }\n\n const submit = async (event: ButtonClickEvent) => {\n if (title) {\n const result = await actions.createPost(title, description, attachments)\n if (result.ok) {\n clearError()\n cache.session.remove(CACHE_TITLE_KEY, CACHE_DESCRIPTION_KEY)\n location.href = `/posts/${result.data.number}/${result.data.slug}`\n event.preventEnable()\n } else if (result.error) {\n setError(result.error)\n }\n }\n }\n\n const details = () => (\n <>\n