{"version":3,"file":"js/Home-Home-page.771c7c37b84bbcc5b3f7.js","mappings":"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","sources":["webpack://fider/./public/assets/images/undraw-no-data.svg","webpack://fider/./public/assets/images/heroicons-chat-alt-2.svg","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","webpack://fider/./public/assets/images/heroicons-check.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\": \"undraw-no-data\",\n \"use\": \"undraw-no-data-usage\",\n \"viewBox\": \"0 0 647.636 632.174\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","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-chat-alt-2\",\n \"use\": \"heroicons-chat-alt-2-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import React from \"react\"\nimport { Post, Tag, CurrentUser } from \"@fider/models\"\nimport { ShowTag, ShowPostResponse, VoteCounter, Markdown, Icon } from \"@fider/components\"\nimport IconChatAlt2 from \"@fider/assets/images/heroicons-chat-alt-2.svg\"\nimport { HStack, VStack } from \"@fider/components/layout\"\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
\n \n \n \n {props.post.title}\n \n {props.post.commentsCount > 0 && (\n \n {props.post.commentsCount} \n \n )}\n \n \n \n {props.tags.length >= 1 && (\n \n {props.tags.map((tag) => (\n \n ))}\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 { PageTitle, Loader } from \"@fider/components\"\nimport { ListPosts } from \"./ListPosts\"\nimport { actions } from \"@fider/services\"\n\nimport { t } from \"@lingui/macro\"\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 const title = t({ id: \"home.similar.title\", message: \"Similar posts\" })\n const subtitle = t({ id: \"home.similar.subtitle\", message: \"Consider voting on existing posts instead.\" })\n\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\"\nimport { t, Trans } from \"@lingui/macro\"\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 \n \n \n \n )\n\n return (\n <>\n \n
\n \n {title && details()}\n \n \n )\n}\n","import React, { useState } from \"react\"\nimport { PostStatus } from \"@fider/models\"\nimport { Dropdown } from \"@fider/components\"\nimport { HStack } from \"@fider/components/layout\"\nimport { useFider } from \"@fider/hooks\"\nimport { t, Trans } from \"@lingui/macro\"\n\ninterface PostFilterProps {\n activeView: string\n countPerStatus: { [key: string]: number }\n viewChanged: (name: string) => void\n}\n\ninterface OptionItem {\n value: string\n label: string\n count?: number\n}\n\nexport const PostFilter = (props: PostFilterProps) => {\n const fider = useFider()\n const [view, setView] = useState(props.activeView)\n\n const handleChangeView = (item: OptionItem) => () => {\n setView(item.value)\n props.viewChanged(item.value)\n }\n\n const options: OptionItem[] = [\n { value: \"trending\", label: t({ id: \"home.postfilter.option.trending\", message: \"Trending\" }) },\n { value: \"recent\", label: t({ id: \"home.postfilter.option.recent\", message: \"Recent\" }) },\n { value: \"most-wanted\", label: t({ id: \"home.postfilter.option.mostwanted\", message: \"Most Wanted\" }) },\n { value: \"most-discussed\", label: t({ id: \"home.postfilter.option.mostdiscussed\", message: \"Most Discussed\" }) },\n ]\n\n if (fider.session.isAuthenticated) {\n options.push({ value: \"my-votes\", label: t({ id: \"home.postfilter.option.myvotes\", message: \"My Votes\" }) })\n }\n\n PostStatus.All.filter((s) => s.filterable && props.countPerStatus[s.value]).forEach((s) => {\n const id = `enum.poststatus.${s.value.toString()}`\n options.push({\n label: t({ id, message: s.title }),\n value: s.value,\n count: props.countPerStatus[s.value],\n })\n })\n\n const selectedItem = options.filter((x) => x.value === view)\n const label = selectedItem.length > 0 ? selectedItem[0].label : options[0].label\n\n return (\n \n \n View\n \n {label}}>\n {options.map((o) => (\n \n \n {o.label}\n
{o.count && o.count > 0 && {o.count}}
\n
\n
\n ))}\n
\n
\n )\n}\n","import React, { useState } from \"react\"\nimport { Tag } from \"@fider/models\"\nimport { Dropdown, Icon, ShowTag } from \"@fider/components\"\nimport IconCheck from \"@fider/assets/images/heroicons-check.svg\"\nimport { HStack } from \"@fider/components/layout\"\nimport { plural, t, Trans } from \"@lingui/macro\"\n\ninterface TagsFilterProps {\n tags: Tag[]\n selected: string[]\n selectionChanged: (selected: string[]) => void\n}\n\nexport const TagsFilter = (props: TagsFilterProps) => {\n const [selected, setSelected] = useState(props.selected)\n\n const toggle = (item: Tag) => () => {\n const idx = selected.indexOf(item.slug)\n const next = idx >= 0 ? selected.splice(idx, 1) && selected : selected.concat(item.slug)\n setSelected(next)\n props.selectionChanged(next)\n }\n\n const count = selected.length\n const label =\n count >= 1\n ? plural(count, {\n one: `# tag`,\n other: `# tags`,\n })\n : t({ id: \"home.tagsfilter.selected.none\", message: \"Any tag\" })\n\n return (\n \n \n with\n \n {label}}>\n {props.tags.map((t) => (\n \n \n \n \n {t.name}\n \n \n ))}\n \n \n )\n}\n","import \"./PostsContainer.scss\"\n\nimport React from \"react\"\n\nimport { Post, Tag, CurrentUser } from \"@fider/models\"\nimport { Loader, Input } from \"@fider/components\"\nimport { actions, navigator, querystring } from \"@fider/services\"\nimport IconSearch from \"@fider/assets/images/heroicons-search.svg\"\nimport IconX from \"@fider/assets/images/heroicons-x.svg\"\nimport { PostFilter } from \"./PostFilter\"\nimport { ListPosts } from \"./ListPosts\"\nimport { TagsFilter } from \"./TagsFilter\"\nimport { t, Trans } from \"@lingui/macro\"\n\ninterface PostsContainerProps {\n user?: CurrentUser\n posts: Post[]\n tags: Tag[]\n countPerStatus: { [key: string]: number }\n}\n\ninterface PostsContainerState {\n loading: boolean\n posts?: Post[]\n view: string\n tags: string[]\n query: string\n limit?: number\n}\n\nexport class PostsContainer extends React.Component {\n constructor(props: PostsContainerProps) {\n super(props)\n\n this.state = {\n posts: this.props.posts,\n loading: false,\n view: querystring.get(\"view\"),\n query: querystring.get(\"query\"),\n tags: querystring.getArray(\"tags\"),\n limit: querystring.getNumber(\"limit\"),\n }\n }\n\n private changeFilterCriteria(obj: Pick, reset: boolean): void {\n this.setState(obj, () => {\n const query = this.state.query.trim().toLowerCase()\n navigator.replaceState(\n querystring.stringify({\n tags: this.state.tags,\n query,\n view: this.state.view,\n limit: this.state.limit,\n })\n )\n\n this.searchPosts(query, this.state.view, this.state.limit, this.state.tags, reset)\n })\n }\n\n private timer?: number\n private async searchPosts(query: string, view: string, limit: number | undefined, tags: string[], reset: boolean) {\n window.clearTimeout(this.timer)\n this.setState({ posts: reset ? undefined : this.state.posts, loading: true })\n this.timer = window.setTimeout(() => {\n actions.searchPosts({ query, view, limit, tags }).then((response) => {\n if (response.ok && this.state.loading) {\n this.setState({ loading: false, posts: response.data })\n }\n })\n }, 500)\n }\n\n private handleViewChanged = (view: string) => {\n this.changeFilterCriteria({ view }, true)\n }\n\n private handleTagsFilterChanged = (tags: string[]) => {\n this.changeFilterCriteria({ tags }, true)\n }\n\n private handleSearchFilterChanged = (query: string) => {\n this.changeFilterCriteria({ query }, true)\n }\n\n private clearSearch = () => {\n this.changeFilterCriteria({ query: \"\" }, true)\n }\n\n private showMore = (event: React.MouseEvent | React.TouchEvent): void => {\n event.preventDefault()\n this.changeFilterCriteria({ limit: (this.state.limit || 30) + 10 }, false)\n }\n\n private getShowMoreLink = (): string | undefined => {\n if (this.state.posts && this.state.posts.length >= (this.state.limit || 30)) {\n return querystring.set(\"limit\", (this.state.limit || 30) + 10)\n }\n }\n\n public render() {\n const showMoreLink = this.getShowMoreLink()\n\n return (\n
\n
\n {!this.state.query && (\n
\n \n {this.props.tags.length > 0 && }\n
\n )}\n
\n \n
\n
\n \n {this.state.loading && }\n {showMoreLink && (\n \n )}\n
\n )\n }\n}\n","import \"./Home.page.scss\"\nimport NoDataIllustration from \"@fider/assets/images/undraw-no-data.svg\"\n\nimport React, { useState } from \"react\"\nimport { Post, Tag, PostStatus } from \"@fider/models\"\nimport { Markdown, Hint, PoweredByFider, Icon, Header } from \"@fider/components\"\nimport { SimilarPosts } from \"./components/SimilarPosts\"\nimport { PostInput } from \"./components/PostInput\"\nimport { PostsContainer } from \"./components/PostsContainer\"\nimport { useFider } from \"@fider/hooks\"\nimport { VStack } from \"@fider/components/layout\"\n\nimport { t, Trans } from \"@lingui/macro\"\n\nexport interface HomePageProps {\n posts: Post[]\n tags: Tag[]\n countPerStatus: { [key: string]: number }\n}\n\nexport interface HomePageState {\n title: string\n}\n\nconst Lonely = () => {\n const fider = useFider()\n\n return (\n
\n \n

\n \n It's recommended that you create at least 3 suggestions here before sharing this site. The initial content is important to\n start engaging your audience.\n \n

\n
\n \n

\n No posts have been created yet.\n

\n
\n )\n}\n\nconst HomePage = (props: HomePageProps) => {\n const fider = useFider()\n const [title, setTitle] = useState(\"\")\n\n const defaultWelcomeMessage = t({\n id: \"home.form.defaultwelcomemessage\",\n message: `We'd love to hear what you're thinking about.\n\nWhat can we do better? This is the place for you to vote, discuss and share ideas.`,\n })\n\n const defaultInvitation = t({\n id: \"home.form.defaultinvitation\",\n message: \"Enter your suggestion here...\",\n })\n\n const isLonely = () => {\n const len = Object.keys(props.countPerStatus).length\n if (len === 0) {\n return true\n }\n\n if (len === 1 && PostStatus.Deleted.value in props.countPerStatus) {\n return true\n }\n\n return false\n }\n\n return (\n <>\n
\n
\n
\n \n \n \n \n \n
\n
\n {isLonely() ? (\n \n ) : title ? (\n \n ) : (\n \n )}\n \n
\n
\n \n )\n}\n\nexport default HomePage\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-check\",\n \"use\": \"heroicons-check-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","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-search\",\n \"use\": \"heroicons-search-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\"\n});\nvar result = sprite.add(symbol);\nexport default symbol"],"names":["symbol","ListPostItem","props","React","HStack","center","className","VoteCounter","post","VStack","spacing","justify","href","number","slug","title","commentsCount","Icon","sprite","IconChatAlt2","Markdown","maxLength","text","description","style","ShowPostResponse","status","response","tags","length","map","tag","ShowTag","key","id","link","ListPosts","posts","emptyText","divide","filter","indexOf","SimilarPosts","constructor","super","_defineProperty","this","state","loading","actions","query","then","x","ok","setState","data","getDerivedStateFromProps","nextProps","prevState","componentDidMount","loadSimilarPosts","componentDidUpdate","window","clearTimeout","timer","setTimeout","render","i18n","_","message","subtitle","PageTitle","Loader","CACHE_TITLE_KEY","CACHE_DESCRIPTION_KEY","PostInput","getCachedValue","fider","session","isAuthenticated","cache","get","useFider","titleRef","useRef","setTitle","useState","setDescription","isSignInModalOpen","setIsSignInModalOpen","attachments","setAttachments","error","setError","undefined","useEffect","onTitleChanged","SignInModal","isOpen","onClose","hideModal","Form","Input","field","disabled","isReadOnly","noTabFocus","inputRef","onFocus","handleTitleFocus","current","blur","value","onChange","set","placeholder","TextArea","minRows","MultiImageUploader","maxUploads","Button","type","variant","onClick","async","result","remove","location","event","preventEnable","Trans","PostFilter","view","setView","activeView","options","label","push","PostStatus","All","s","filterable","countPerStatus","forEach","toString","count","selectedItem","Dropdown","renderHandle","o","ListItem","item","viewChanged","TagsFilter","selected","setSelected","t","idx","next","splice","concat","selectionChanged","IconCheck","includes","circular","name","PostsContainer","changeFilterCriteria","preventDefault","limit","querystring","obj","reset","trim","toLowerCase","navigator","replaceState","searchPosts","showMoreLink","getShowMoreLink","handleViewChanged","handleTagsFilterChanged","icon","IconX","IconSearch","onIconClick","clearSearch","handleSearchFilterChanged","showMore","Lonely","Hint","permanentCloseKey","condition","user","isAdministrator","components","0","NoDataIllustration","height","defaultWelcomeMessage","defaultInvitation","Header","tenant","welcomeMessage","invitation","PoweredByFider","slot","isLonely","len","Object","keys","Deleted"],"sourceRoot":""}