@drodil/backstage-plugin-qeta 3.24.5 → 3.25.1

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.
Files changed (46) hide show
  1. package/dist/components/ArticlePage/ArticlePage.esm.js +21 -11
  2. package/dist/components/ArticlePage/ArticlePage.esm.js.map +1 -1
  3. package/dist/components/ArticlesPage/ArticlesPage.esm.js +24 -15
  4. package/dist/components/ArticlesPage/ArticlesPage.esm.js.map +1 -1
  5. package/dist/components/AskPage/AskPage.esm.js +22 -15
  6. package/dist/components/AskPage/AskPage.esm.js.map +1 -1
  7. package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js +5 -2
  8. package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js.map +1 -1
  9. package/dist/components/CollectionPage/CollectionPage.esm.js +34 -25
  10. package/dist/components/CollectionPage/CollectionPage.esm.js.map +1 -1
  11. package/dist/components/CollectionsPage/CollectionsPage.esm.js +17 -12
  12. package/dist/components/CollectionsPage/CollectionsPage.esm.js.map +1 -1
  13. package/dist/components/EntityPage/EntityPage.esm.js +96 -65
  14. package/dist/components/EntityPage/EntityPage.esm.js.map +1 -1
  15. package/dist/components/FavoritePage/FavoritePage.esm.js +34 -22
  16. package/dist/components/FavoritePage/FavoritePage.esm.js.map +1 -1
  17. package/dist/components/HomePage/HomePage.esm.js +34 -16
  18. package/dist/components/HomePage/HomePage.esm.js.map +1 -1
  19. package/dist/components/ModeratorPage/ModeratorPage.esm.js +19 -9
  20. package/dist/components/ModeratorPage/ModeratorPage.esm.js.map +1 -1
  21. package/dist/components/PostsTableCard/Content.esm.js +2 -2
  22. package/dist/components/PostsTableCard/Content.esm.js.map +1 -1
  23. package/dist/components/QetaPage/QetaPage.esm.js +120 -85
  24. package/dist/components/QetaPage/QetaPage.esm.js.map +1 -1
  25. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.esm.js +70 -34
  26. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.esm.js.map +1 -1
  27. package/dist/components/QuestionPage/QuestionPage.esm.js +79 -42
  28. package/dist/components/QuestionPage/QuestionPage.esm.js.map +1 -1
  29. package/dist/components/QuestionsPage/QuestionsPage.esm.js +54 -43
  30. package/dist/components/QuestionsPage/QuestionsPage.esm.js.map +1 -1
  31. package/dist/components/Statistics/GlobalStatsContent.esm.js +10 -4
  32. package/dist/components/Statistics/GlobalStatsContent.esm.js.map +1 -1
  33. package/dist/components/Statistics/StatisticsPage.esm.js +11 -2
  34. package/dist/components/Statistics/StatisticsPage.esm.js.map +1 -1
  35. package/dist/components/TagPage/TagPage.esm.js +88 -58
  36. package/dist/components/TagPage/TagPage.esm.js.map +1 -1
  37. package/dist/components/UserPage/UserPage.esm.js +60 -40
  38. package/dist/components/UserPage/UserPage.esm.js.map +1 -1
  39. package/dist/components/UserPage/UserStatsContent.esm.js +10 -4
  40. package/dist/components/UserPage/UserStatsContent.esm.js.map +1 -1
  41. package/dist/components/UsersPage/UsersPage.esm.js +30 -20
  42. package/dist/components/UsersPage/UsersPage.esm.js.map +1 -1
  43. package/dist/components/WritePage/WritePage.esm.js +14 -11
  44. package/dist/components/WritePage/WritePage.esm.js.map +1 -1
  45. package/dist/index.d.ts +6 -6
  46. package/package.json +24 -17
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalStatsContent.esm.js","sources":["../../../src/components/Statistics/GlobalStatsContent.tsx"],"sourcesContent":["import {\n StatsChart,\n SummaryStatsGrid,\n useQetaApi,\n} from '@drodil/backstage-plugin-qeta-react';\nimport React from 'react';\nimport { Card, CardContent, Grid } from '@material-ui/core';\n\nexport const GlobalStatsContent = () => {\n const {\n value: response,\n loading,\n error,\n } = useQetaApi(api => api.getGlobalStats(), []);\n if (loading || error || !response) {\n return null;\n }\n return (\n <Grid container>\n <Grid item xs={12}>\n <Card>\n <CardContent>\n <StatsChart data={response.statistics} />\n </CardContent>\n </Card>\n </Grid>\n <Grid item xs={12}>\n <SummaryStatsGrid stats={response} />\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;AAQO,MAAM,qBAAqB,MAAM;AACtC,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,QAAA;AAAA,IACP,OAAA;AAAA,IACA;AAAA,MACE,UAAW,CAAA,CAAA,GAAA,KAAO,IAAI,cAAe,EAAA,EAAG,EAAE,CAAA;AAC9C,EAAI,IAAA,OAAA,IAAW,KAAS,IAAA,CAAC,QAAU,EAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAA,sCACZ,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,sBACZ,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,sCACE,UAAW,EAAA,EAAA,IAAA,EAAM,QAAS,CAAA,UAAA,EAAY,CACzC,CACF,CACF,CAAA,sCACC,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,sBACZ,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,KAAO,EAAA,QAAA,EAAU,CACrC,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"GlobalStatsContent.esm.js","sources":["../../../src/components/Statistics/GlobalStatsContent.tsx"],"sourcesContent":["import {\n StatsChart,\n SummaryStatsGrid,\n useQetaApi,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Card, CardContent, CircularProgress, Grid } from '@material-ui/core';\n\nexport const GlobalStatsContent = () => {\n const {\n value: response,\n loading,\n error,\n } = useQetaApi(api => api.getGlobalStats(), []);\n if (error) {\n return null;\n }\n return (\n <Grid container>\n <Grid item xs={12}>\n <Card>\n <CardContent>\n {!loading && response && <StatsChart data={response.statistics} />}\n {loading && <CircularProgress />}\n </CardContent>\n </Card>\n </Grid>\n <Grid item xs={12}>\n {!loading && response && <SummaryStatsGrid stats={response} />}\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;AAOO,MAAM,qBAAqB,MAAM;AACtC,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,QAAA;AAAA,IACP,OAAA;AAAA,IACA;AAAA,MACE,UAAW,CAAA,CAAA,GAAA,KAAO,IAAI,cAAe,EAAA,EAAG,EAAE,CAAA;AAC9C,EAAA,IAAI,KAAO,EAAA;AACT,IAAO,OAAA,IAAA;AAAA;AAET,EACE,uBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IACb,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,IAAA,EAAA,EAAK,MAAI,IAAC,EAAA,EAAA,EAAI,IACb,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EACC,+BAAC,WACE,EAAA,EAAA,QAAA,EAAA;AAAA,MAAA,CAAC,WAAW,QAAY,oBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,IAAA,EAAM,SAAS,UAAY,EAAA,CAAA;AAAA,MAC/D,OAAA,wBAAY,gBAAiB,EAAA,EAAA;AAAA,KAAA,EAChC,GACF,CACF,EAAA,CAAA;AAAA,oBACC,GAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAC,EAAI,EAAA,EAAA,EACZ,QAAC,EAAA,CAAA,OAAA,IAAW,QAAY,oBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,KAAA,EAAO,UAAU,CAC9D,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,11 +1,20 @@
1
- import React from 'react';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { ContentHeader } from '@backstage/core-components';
3
3
  import { ButtonContainer, AskQuestionButton, WriteArticleButton, TopRankingUsers } from '@drodil/backstage-plugin-qeta-react';
4
4
  import { GlobalStatsContent } from './GlobalStatsContent.esm.js';
5
5
  import { Grid } from '@material-ui/core';
6
6
 
7
7
  const StatisticsPage = () => {
8
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ContentHeader, { title: "Statistics" }, /* @__PURE__ */ React.createElement(ButtonContainer, null, /* @__PURE__ */ React.createElement(AskQuestionButton, null), /* @__PURE__ */ React.createElement(WriteArticleButton, null))), /* @__PURE__ */ React.createElement(Grid, { container: true }, /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12 }, /* @__PURE__ */ React.createElement(GlobalStatsContent, null)), /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12 }, /* @__PURE__ */ React.createElement(TopRankingUsers, { limit: 10 }))));
8
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
9
+ /* @__PURE__ */ jsx(ContentHeader, { title: "Statistics", children: /* @__PURE__ */ jsxs(ButtonContainer, { children: [
10
+ /* @__PURE__ */ jsx(AskQuestionButton, {}),
11
+ /* @__PURE__ */ jsx(WriteArticleButton, {})
12
+ ] }) }),
13
+ /* @__PURE__ */ jsxs(Grid, { container: true, children: [
14
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(GlobalStatsContent, {}) }),
15
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(TopRankingUsers, { limit: 10 }) })
16
+ ] })
17
+ ] });
9
18
  };
10
19
 
11
20
  export { StatisticsPage };
@@ -1 +1 @@
1
- {"version":3,"file":"StatisticsPage.esm.js","sources":["../../../src/components/Statistics/StatisticsPage.tsx"],"sourcesContent":["import React from 'react';\nimport { ContentHeader } from '@backstage/core-components';\nimport {\n AskQuestionButton,\n ButtonContainer,\n TopRankingUsers,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { GlobalStatsContent } from './GlobalStatsContent';\nimport { Grid } from '@material-ui/core';\n\nexport const StatisticsPage = () => {\n return (\n <>\n <ContentHeader title=\"Statistics\">\n <ButtonContainer>\n <AskQuestionButton />\n <WriteArticleButton />\n </ButtonContainer>\n </ContentHeader>\n <Grid container>\n <Grid item xs={12}>\n <GlobalStatsContent />\n </Grid>\n <Grid item xs={12}>\n <TopRankingUsers limit={10} />\n </Grid>\n </Grid>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,iBAAiB,MAAM;AAClC,EAAA,iFAEK,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,OAAM,YACnB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,uCACE,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,IAAkB,CACnB,kBAAA,KAAA,CAAA,aAAA,CAAC,wBAAmB,CACtB,CACF,mBACC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,WAAS,IACb,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,MAAC,EAAI,EAAA,EAAA,EAAA,sCACZ,kBAAmB,EAAA,IAAA,CACtB,mBACC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,MAAI,IAAC,EAAA,EAAA,EAAI,sBACZ,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,EAAgB,OAAO,EAAI,EAAA,CAC9B,CACF,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"StatisticsPage.esm.js","sources":["../../../src/components/Statistics/StatisticsPage.tsx"],"sourcesContent":["import { ContentHeader } from '@backstage/core-components';\nimport {\n AskQuestionButton,\n ButtonContainer,\n TopRankingUsers,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { GlobalStatsContent } from './GlobalStatsContent';\nimport { Grid } from '@material-ui/core';\n\nexport const StatisticsPage = () => {\n return (\n <>\n <ContentHeader title=\"Statistics\">\n <ButtonContainer>\n <AskQuestionButton />\n <WriteArticleButton />\n </ButtonContainer>\n </ContentHeader>\n <Grid container>\n <Grid item xs={12}>\n <GlobalStatsContent />\n </Grid>\n <Grid item xs={12}>\n <TopRankingUsers limit={10} />\n </Grid>\n </Grid>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,iBAAiB,MAAM;AAClC,EAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAM,YACnB,EAAA,QAAA,kBAAA,IAAA,CAAC,eACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,iBAAkB,EAAA,EAAA,CAAA;AAAA,0BAClB,kBAAmB,EAAA,EAAA;AAAA,KAAA,EACtB,CACF,EAAA,CAAA;AAAA,oBACA,IAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IACb,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,QAAK,IAAI,EAAA,IAAA,EAAC,IAAI,EACb,EAAA,QAAA,kBAAA,GAAA,CAAC,sBAAmB,CACtB,EAAA,CAAA;AAAA,sBACA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,IACb,QAAC,kBAAA,GAAA,CAAA,eAAA,EAAA,EAAgB,KAAO,EAAA,EAAA,EAAI,CAC9B,EAAA;AAAA,KACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,5 @@
1
- import React, { useEffect } from 'react';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useState, useEffect } from 'react';
2
3
  import { ContentHeader } from '@backstage/core-components';
3
4
  import { useParams } from 'react-router-dom';
4
5
  import { useTranslation, qetaApiRef, ButtonContainer, TagFollowButton, AskQuestionButton, WriteArticleButton, MarkdownRenderer, PostsContainer, TagsGrid, FollowedTagsList, PostHighlightList } from '@drodil/backstage-plugin-qeta-react';
@@ -9,7 +10,7 @@ import { Grid, Card, CardContent, Typography } from '@material-ui/core';
9
10
  const TagPage = () => {
10
11
  const { tag } = useParams();
11
12
  const { t } = useTranslation();
12
- const [resp, setResp] = React.useState();
13
+ const [resp, setResp] = useState();
13
14
  const qetaApi = useApi(qetaApiRef);
14
15
  useEffect(() => {
15
16
  if (!tag) {
@@ -22,62 +23,91 @@ const TagPage = () => {
22
23
  }
23
24
  });
24
25
  }, [qetaApi, tag]);
25
- return /* @__PURE__ */ React.createElement(Grid, { container: true, spacing: 4 }, /* @__PURE__ */ React.createElement(Grid, { item: true, md: 12, lg: 9, xl: 10 }, /* @__PURE__ */ React.createElement(ContentHeader, { title: tag ? `#${tag}` : t("tagPage.defaultTitle") }, /* @__PURE__ */ React.createElement(ButtonContainer, null, tag && /* @__PURE__ */ React.createElement(TagFollowButton, { tag }), /* @__PURE__ */ React.createElement(AskQuestionButton, { tags: tag ? [tag] : void 0 }), /* @__PURE__ */ React.createElement(WriteArticleButton, { tags: tag ? [tag] : void 0 }))), resp && /* @__PURE__ */ React.createElement(Card, { variant: "outlined", style: { marginBottom: "1em" } }, /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(Typography, { variant: "caption" }, t("common.posts", {
26
- count: resp.postsCount,
27
- itemType: "post"
28
- }), " \xB7 ", t("common.followers", { count: resp.followerCount })), resp.description && /* @__PURE__ */ React.createElement(MarkdownRenderer, { content: resp.description }))), tag ? /* @__PURE__ */ React.createElement(
29
- PostsContainer,
30
- {
31
- tags: [tag ?? ""],
32
- filterPanelProps: { showTagFilter: false }
33
- }
34
- ) : /* @__PURE__ */ React.createElement(TagsGrid, null)), /* @__PURE__ */ React.createElement(Grid, { item: true, lg: 3, xl: 2 }, /* @__PURE__ */ React.createElement(FollowedTagsList, null), resp && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
35
- PostHighlightList,
36
- {
37
- type: "hot",
38
- title: t("highlights.hotQuestions.title"),
39
- noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
40
- icon: /* @__PURE__ */ React.createElement(Whatshot, { fontSize: "small" }),
41
- options: { tags: [resp.tag] },
42
- postType: "question"
43
- }
44
- ), /* @__PURE__ */ React.createElement(
45
- PostHighlightList,
46
- {
47
- type: "unanswered",
48
- title: t("highlights.unanswered.title"),
49
- noQuestionsLabel: t("highlights.unanswered.noQuestionsLabel"),
50
- options: { tags: [resp.tag] },
51
- postType: "question"
52
- }
53
- ), /* @__PURE__ */ React.createElement(
54
- PostHighlightList,
55
- {
56
- type: "incorrect",
57
- title: t("highlights.incorrect.title"),
58
- noQuestionsLabel: t("highlights.incorrect.noQuestionsLabel"),
59
- options: { tags: [resp.tag] },
60
- postType: "question"
61
- }
62
- )), !resp && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
63
- PostHighlightList,
64
- {
65
- type: "hot",
66
- title: t("highlights.hotQuestions.title"),
67
- noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
68
- icon: /* @__PURE__ */ React.createElement(Whatshot, { fontSize: "small" }),
69
- postType: "question"
70
- }
71
- ), /* @__PURE__ */ React.createElement(
72
- PostHighlightList,
73
- {
74
- type: "hot",
75
- title: t("highlights.hotArticles.title"),
76
- noQuestionsLabel: t("highlights.hotArticles.noArticlesLabel"),
77
- icon: /* @__PURE__ */ React.createElement(Whatshot, { fontSize: "small" }),
78
- postType: "article"
79
- }
80
- ))));
26
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 4, children: [
27
+ /* @__PURE__ */ jsxs(Grid, { item: true, md: 12, lg: 9, xl: 10, children: [
28
+ /* @__PURE__ */ jsx(ContentHeader, { title: tag ? `#${tag}` : t("tagPage.defaultTitle"), children: /* @__PURE__ */ jsxs(ButtonContainer, { children: [
29
+ tag && /* @__PURE__ */ jsx(TagFollowButton, { tag }),
30
+ /* @__PURE__ */ jsx(AskQuestionButton, { tags: tag ? [tag] : void 0 }),
31
+ /* @__PURE__ */ jsx(WriteArticleButton, { tags: tag ? [tag] : void 0 })
32
+ ] }) }),
33
+ resp && /* @__PURE__ */ jsx(Card, { variant: "outlined", style: { marginBottom: "1em" }, children: /* @__PURE__ */ jsxs(CardContent, { children: [
34
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", children: [
35
+ t("common.posts", {
36
+ count: resp.postsCount,
37
+ itemType: "post"
38
+ }),
39
+ " \xB7 ",
40
+ t("common.followers", { count: resp.followerCount })
41
+ ] }),
42
+ resp.description && /* @__PURE__ */ jsx(MarkdownRenderer, { content: resp.description })
43
+ ] }) }),
44
+ tag ? /* @__PURE__ */ jsx(
45
+ PostsContainer,
46
+ {
47
+ tags: [tag ?? ""],
48
+ filterPanelProps: { showTagFilter: false }
49
+ }
50
+ ) : /* @__PURE__ */ jsx(TagsGrid, {})
51
+ ] }),
52
+ /* @__PURE__ */ jsxs(Grid, { item: true, lg: 3, xl: 2, children: [
53
+ /* @__PURE__ */ jsx(FollowedTagsList, {}),
54
+ resp && /* @__PURE__ */ jsxs(Fragment, { children: [
55
+ /* @__PURE__ */ jsx(
56
+ PostHighlightList,
57
+ {
58
+ type: "hot",
59
+ title: t("highlights.hotQuestions.title"),
60
+ noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
61
+ icon: /* @__PURE__ */ jsx(Whatshot, { fontSize: "small" }),
62
+ options: { tags: [resp.tag] },
63
+ postType: "question"
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsx(
67
+ PostHighlightList,
68
+ {
69
+ type: "unanswered",
70
+ title: t("highlights.unanswered.title"),
71
+ noQuestionsLabel: t("highlights.unanswered.noQuestionsLabel"),
72
+ options: { tags: [resp.tag] },
73
+ postType: "question"
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsx(
77
+ PostHighlightList,
78
+ {
79
+ type: "incorrect",
80
+ title: t("highlights.incorrect.title"),
81
+ noQuestionsLabel: t("highlights.incorrect.noQuestionsLabel"),
82
+ options: { tags: [resp.tag] },
83
+ postType: "question"
84
+ }
85
+ )
86
+ ] }),
87
+ !resp && /* @__PURE__ */ jsxs(Fragment, { children: [
88
+ /* @__PURE__ */ jsx(
89
+ PostHighlightList,
90
+ {
91
+ type: "hot",
92
+ title: t("highlights.hotQuestions.title"),
93
+ noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
94
+ icon: /* @__PURE__ */ jsx(Whatshot, { fontSize: "small" }),
95
+ postType: "question"
96
+ }
97
+ ),
98
+ /* @__PURE__ */ jsx(
99
+ PostHighlightList,
100
+ {
101
+ type: "hot",
102
+ title: t("highlights.hotArticles.title"),
103
+ noQuestionsLabel: t("highlights.hotArticles.noArticlesLabel"),
104
+ icon: /* @__PURE__ */ jsx(Whatshot, { fontSize: "small" }),
105
+ postType: "article"
106
+ }
107
+ )
108
+ ] })
109
+ ] })
110
+ ] });
81
111
  };
82
112
 
83
113
  export { TagPage };
@@ -1 +1 @@
1
- {"version":3,"file":"TagPage.esm.js","sources":["../../../src/components/TagPage/TagPage.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { useParams } from 'react-router-dom';\nimport {\n AskQuestionButton,\n ButtonContainer,\n FollowedTagsList,\n MarkdownRenderer,\n PostHighlightList,\n PostsContainer,\n qetaApiRef,\n TagFollowButton,\n TagsGrid,\n useTranslation,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport Whatshot from '@material-ui/icons/Whatshot';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { TagResponse } from '@drodil/backstage-plugin-qeta-common';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\n\nexport const TagPage = () => {\n const { tag } = useParams();\n const { t } = useTranslation();\n const [resp, setResp] = React.useState<undefined | TagResponse>();\n\n const qetaApi = useApi(qetaApiRef);\n\n useEffect(() => {\n if (!tag) {\n setResp(undefined);\n return;\n }\n\n qetaApi.getTag(tag).then(res => {\n if (res) {\n setResp(res);\n }\n });\n }, [qetaApi, tag]);\n\n return (\n <Grid container spacing={4}>\n <Grid item md={12} lg={9} xl={10}>\n <ContentHeader title={tag ? `#${tag}` : t('tagPage.defaultTitle')}>\n <ButtonContainer>\n {tag && <TagFollowButton tag={tag} />}\n <AskQuestionButton tags={tag ? [tag] : undefined} />\n <WriteArticleButton tags={tag ? [tag] : undefined} />\n </ButtonContainer>\n </ContentHeader>\n {resp && (\n <Card variant=\"outlined\" style={{ marginBottom: '1em' }}>\n <CardContent>\n <Typography variant=\"caption\">\n {t('common.posts', {\n count: resp.postsCount,\n itemType: 'post',\n })}\n {' · '}\n {t('common.followers', { count: resp.followerCount })}\n </Typography>\n {resp.description && (\n <MarkdownRenderer content={resp.description} />\n )}\n </CardContent>\n </Card>\n )}\n {tag ? (\n <PostsContainer\n tags={[tag ?? '']}\n filterPanelProps={{ showTagFilter: false }}\n />\n ) : (\n <TagsGrid />\n )}\n </Grid>\n <Grid item lg={3} xl={2}>\n <FollowedTagsList />\n {resp && (\n <>\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n\n <PostHighlightList\n type=\"unanswered\"\n title={t('highlights.unanswered.title')}\n noQuestionsLabel={t('highlights.unanswered.noQuestionsLabel')}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"incorrect\"\n title={t('highlights.incorrect.title')}\n noQuestionsLabel={t('highlights.incorrect.noQuestionsLabel')}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n </>\n )}\n {!resp && (\n <>\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotArticles.title')}\n noQuestionsLabel={t('highlights.hotArticles.noArticlesLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"article\"\n />\n </>\n )}\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAqBO,MAAM,UAAU,MAAM;AAC3B,EAAM,MAAA,EAAE,GAAI,EAAA,GAAI,SAAU,EAAA;AAC1B,EAAM,MAAA,EAAE,CAAE,EAAA,GAAI,cAAe,EAAA;AAC7B,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,MAAM,QAAkC,EAAA;AAEhE,EAAM,MAAA,OAAA,GAAU,OAAO,UAAU,CAAA;AAEjC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,GAAK,EAAA;AACR,MAAA,OAAA,CAAQ,KAAS,CAAA,CAAA;AACjB,MAAA;AAAA;AAGF,IAAA,OAAA,CAAQ,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,CAAO,GAAA,KAAA;AAC9B,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,OAAA,CAAQ,GAAG,CAAA;AAAA;AACb,KACD,CAAA;AAAA,GACA,EAAA,CAAC,OAAS,EAAA,GAAG,CAAC,CAAA;AAEjB,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAC,SAAS,CACvB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,EAAI,EAAA,EAAA,EAAI,GAAG,EAAI,EAAA,EAAA,EAAA,kBAC3B,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,KAAO,EAAA,GAAA,GAAM,CAAI,CAAA,EAAA,GAAG,KAAK,CAAE,CAAA,sBAAsB,CAC9D,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,uBACE,GAAO,oBAAA,KAAA,CAAA,aAAA,CAAC,eAAgB,EAAA,EAAA,GAAA,EAAU,mBAClC,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,EAAkB,IAAM,EAAA,GAAA,GAAM,CAAC,GAAG,CAAI,GAAA,KAAA,CAAA,EAAW,mBACjD,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,EAAmB,IAAM,EAAA,GAAA,GAAM,CAAC,GAAG,CAAI,GAAA,KAAA,CAAA,EAAW,CACrD,CACF,CAAA,EACC,IACC,oBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,OAAA,EAAQ,UAAW,EAAA,KAAA,EAAO,EAAE,YAAc,EAAA,KAAA,EAC9C,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,mCACE,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,SAAA,EAAA,EACjB,EAAE,cAAgB,EAAA;AAAA,IACjB,OAAO,IAAK,CAAA,UAAA;AAAA,IACZ,QAAU,EAAA;AAAA,GACX,GACA,QACA,EAAA,CAAA,CAAE,oBAAoB,EAAE,KAAA,EAAO,IAAK,CAAA,aAAA,EAAe,CACtD,GACC,IAAK,CAAA,WAAA,wCACH,gBAAiB,EAAA,EAAA,OAAA,EAAS,KAAK,WAAa,EAAA,CAEjD,CACF,CAAA,EAED,GACC,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,CAAC,GAAA,IAAO,EAAE,CAAA;AAAA,MAChB,gBAAA,EAAkB,EAAE,aAAA,EAAe,KAAM;AAAA;AAAA,sBAG1C,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,IAAS,CAEd,CAAA,sCACC,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,GAAG,EAAI,EAAA,CAAA,EAAA,sCACnB,gBAAiB,EAAA,IAAA,CAAA,EACjB,wBAEG,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,+BAA+B,CAAA;AAAA,MACxC,gBAAA,EAAkB,EAAE,0CAA0C,CAAA;AAAA,MAC9D,IAAM,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,MACjC,SAAS,EAAE,IAAA,EAAM,CAAC,IAAA,CAAK,GAAG,CAAE,EAAA;AAAA,MAC5B,QAAS,EAAA;AAAA;AAAA,GAGX,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,YAAA;AAAA,MACL,KAAA,EAAO,EAAE,6BAA6B,CAAA;AAAA,MACtC,gBAAA,EAAkB,EAAE,wCAAwC,CAAA;AAAA,MAC5D,SAAS,EAAE,IAAA,EAAM,CAAC,IAAA,CAAK,GAAG,CAAE,EAAA;AAAA,MAC5B,QAAS,EAAA;AAAA;AAAA,GAEX,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,WAAA;AAAA,MACL,KAAA,EAAO,EAAE,4BAA4B,CAAA;AAAA,MACrC,gBAAA,EAAkB,EAAE,uCAAuC,CAAA;AAAA,MAC3D,SAAS,EAAE,IAAA,EAAM,CAAC,IAAA,CAAK,GAAG,CAAE,EAAA;AAAA,MAC5B,QAAS,EAAA;AAAA;AAAA,GAEb,CAAA,EAED,CAAC,IAAA,oBAEE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,+BAA+B,CAAA;AAAA,MACxC,gBAAA,EAAkB,EAAE,0CAA0C,CAAA;AAAA,MAC9D,IAAM,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,MACjC,QAAS,EAAA;AAAA;AAAA,GAEX,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,8BAA8B,CAAA;AAAA,MACvC,gBAAA,EAAkB,EAAE,wCAAwC,CAAA;AAAA,MAC5D,IAAM,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,MACjC,QAAS,EAAA;AAAA;AAAA,GAEb,CAEJ,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TagPage.esm.js","sources":["../../../src/components/TagPage/TagPage.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { useParams } from 'react-router-dom';\nimport {\n AskQuestionButton,\n ButtonContainer,\n FollowedTagsList,\n MarkdownRenderer,\n PostHighlightList,\n PostsContainer,\n qetaApiRef,\n TagFollowButton,\n TagsGrid,\n useTranslation,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport Whatshot from '@material-ui/icons/Whatshot';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { TagResponse } from '@drodil/backstage-plugin-qeta-common';\nimport { Card, CardContent, Grid, Typography } from '@material-ui/core';\n\nexport const TagPage = () => {\n const { tag } = useParams();\n const { t } = useTranslation();\n const [resp, setResp] = useState<undefined | TagResponse>();\n\n const qetaApi = useApi(qetaApiRef);\n\n useEffect(() => {\n if (!tag) {\n setResp(undefined);\n return;\n }\n\n qetaApi.getTag(tag).then(res => {\n if (res) {\n setResp(res);\n }\n });\n }, [qetaApi, tag]);\n\n return (\n <Grid container spacing={4}>\n <Grid item md={12} lg={9} xl={10}>\n <ContentHeader title={tag ? `#${tag}` : t('tagPage.defaultTitle')}>\n <ButtonContainer>\n {tag && <TagFollowButton tag={tag} />}\n <AskQuestionButton tags={tag ? [tag] : undefined} />\n <WriteArticleButton tags={tag ? [tag] : undefined} />\n </ButtonContainer>\n </ContentHeader>\n {resp && (\n <Card variant=\"outlined\" style={{ marginBottom: '1em' }}>\n <CardContent>\n <Typography variant=\"caption\">\n {t('common.posts', {\n count: resp.postsCount,\n itemType: 'post',\n })}\n {' · '}\n {t('common.followers', { count: resp.followerCount })}\n </Typography>\n {resp.description && (\n <MarkdownRenderer content={resp.description} />\n )}\n </CardContent>\n </Card>\n )}\n {tag ? (\n <PostsContainer\n tags={[tag ?? '']}\n filterPanelProps={{ showTagFilter: false }}\n />\n ) : (\n <TagsGrid />\n )}\n </Grid>\n <Grid item lg={3} xl={2}>\n <FollowedTagsList />\n {resp && (\n <>\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n\n <PostHighlightList\n type=\"unanswered\"\n title={t('highlights.unanswered.title')}\n noQuestionsLabel={t('highlights.unanswered.noQuestionsLabel')}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"incorrect\"\n title={t('highlights.incorrect.title')}\n noQuestionsLabel={t('highlights.incorrect.noQuestionsLabel')}\n options={{ tags: [resp.tag] }}\n postType=\"question\"\n />\n </>\n )}\n {!resp && (\n <>\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotArticles.title')}\n noQuestionsLabel={t('highlights.hotArticles.noArticlesLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"article\"\n />\n </>\n )}\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
2
3
  import { ContentHeader } from '@backstage/core-components';
3
4
  import { useParams, useSearchParams } from 'react-router-dom';
4
5
  import { useUserInfo, useTranslation, useIdentityApi, UserFollowButton, ButtonContainer, AskQuestionButton, WriteArticleButton, PostsContainer, PostsGrid, CollectionsGrid, AnswersContainer } from '@drodil/backstage-plugin-qeta-react';
@@ -21,45 +22,64 @@ const UserPage = () => {
21
22
  setSearchParams({});
22
23
  setTab(newValue);
23
24
  };
24
- const title = /* @__PURE__ */ React.createElement(Box, { style: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ React.createElement(Box, { style: { display: "inline-block", marginRight: "0.5em" } }, /* @__PURE__ */ React.createElement(Avatar, { src: user?.spec?.profile?.picture, alt: name, variant: "rounded" }, initials)), /* @__PURE__ */ React.createElement(Typography, { variant: "h5", component: "h2" }, name), !loadingUser && !userError && currentUser?.userEntityRef !== identity && /* @__PURE__ */ React.createElement(
25
- UserFollowButton,
26
- {
27
- userRef: identity,
28
- style: { marginLeft: "0.5em" }
29
- }
30
- ));
31
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ContentHeader, { titleComponent: title, description: secondaryTitle }, /* @__PURE__ */ React.createElement(ButtonContainer, null, /* @__PURE__ */ React.createElement(AskQuestionButton, null), /* @__PURE__ */ React.createElement(WriteArticleButton, null))), /* @__PURE__ */ React.createElement(TabContext, { value: tab }, /* @__PURE__ */ React.createElement(Box, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React.createElement(
32
- TabList,
33
- {
34
- onChange: handleChange,
35
- "aria-label": t("userPage.profileTab")
36
- },
37
- /* @__PURE__ */ React.createElement(Tab, { label: t("userPage.statistics"), value: "statistics" }),
38
- /* @__PURE__ */ React.createElement(Tab, { label: t("userPage.questions"), value: "questions" }),
39
- /* @__PURE__ */ React.createElement(Tab, { label: t("userPage.articles"), value: "articles" }),
40
- /* @__PURE__ */ React.createElement(Tab, { label: t("userPage.collections"), value: "collections" }),
41
- /* @__PURE__ */ React.createElement(Tab, { label: t("userPage.answers"), value: "answers" })
42
- )), /* @__PURE__ */ React.createElement(TabPanel, { value: "statistics" }, /* @__PURE__ */ React.createElement(UserStatsContent, { userRef: identity ?? "" })), /* @__PURE__ */ React.createElement(TabPanel, { value: "questions" }, /* @__PURE__ */ React.createElement(
43
- PostsContainer,
44
- {
45
- author: identity ?? "",
46
- showNoQuestionsBtn: false,
47
- type: "question"
48
- }
49
- )), /* @__PURE__ */ React.createElement(TabPanel, { value: "articles" }, /* @__PURE__ */ React.createElement(
50
- PostsGrid,
51
- {
52
- author: identity ?? "",
53
- type: "article",
54
- showNoQuestionsBtn: false
55
- }
56
- )), /* @__PURE__ */ React.createElement(TabPanel, { value: "collections" }, /* @__PURE__ */ React.createElement(CollectionsGrid, { owner: identity ?? "" })), /* @__PURE__ */ React.createElement(TabPanel, { value: "answers" }, /* @__PURE__ */ React.createElement(
57
- AnswersContainer,
58
- {
59
- author: identity ?? "",
60
- title: t("userPage.answers")
61
- }
62
- ))));
25
+ const title = /* @__PURE__ */ jsxs(Box, { style: { display: "flex", alignItems: "center" }, children: [
26
+ /* @__PURE__ */ jsx(Box, { style: { display: "inline-block", marginRight: "0.5em" }, children: /* @__PURE__ */ jsx(Avatar, { src: user?.spec?.profile?.picture, alt: name, variant: "rounded", children: initials }) }),
27
+ /* @__PURE__ */ jsx(Typography, { variant: "h5", component: "h2", children: name }),
28
+ !loadingUser && !userError && currentUser?.userEntityRef !== identity && /* @__PURE__ */ jsx(
29
+ UserFollowButton,
30
+ {
31
+ userRef: identity,
32
+ style: { marginLeft: "0.5em" }
33
+ }
34
+ )
35
+ ] });
36
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
37
+ /* @__PURE__ */ jsx(ContentHeader, { titleComponent: title, description: secondaryTitle, children: /* @__PURE__ */ jsxs(ButtonContainer, { children: [
38
+ /* @__PURE__ */ jsx(AskQuestionButton, {}),
39
+ /* @__PURE__ */ jsx(WriteArticleButton, {})
40
+ ] }) }),
41
+ /* @__PURE__ */ jsxs(TabContext, { value: tab, children: [
42
+ /* @__PURE__ */ jsx(Box, { sx: { borderBottom: 1, borderColor: "divider" }, children: /* @__PURE__ */ jsxs(
43
+ TabList,
44
+ {
45
+ onChange: handleChange,
46
+ "aria-label": t("userPage.profileTab"),
47
+ children: [
48
+ /* @__PURE__ */ jsx(Tab, { label: t("userPage.statistics"), value: "statistics" }),
49
+ /* @__PURE__ */ jsx(Tab, { label: t("userPage.questions"), value: "questions" }),
50
+ /* @__PURE__ */ jsx(Tab, { label: t("userPage.articles"), value: "articles" }),
51
+ /* @__PURE__ */ jsx(Tab, { label: t("userPage.collections"), value: "collections" }),
52
+ /* @__PURE__ */ jsx(Tab, { label: t("userPage.answers"), value: "answers" })
53
+ ]
54
+ }
55
+ ) }),
56
+ /* @__PURE__ */ jsx(TabPanel, { value: "statistics", children: /* @__PURE__ */ jsx(UserStatsContent, { userRef: identity ?? "" }) }),
57
+ /* @__PURE__ */ jsx(TabPanel, { value: "questions", children: /* @__PURE__ */ jsx(
58
+ PostsContainer,
59
+ {
60
+ author: identity ?? "",
61
+ showNoQuestionsBtn: false,
62
+ type: "question"
63
+ }
64
+ ) }),
65
+ /* @__PURE__ */ jsx(TabPanel, { value: "articles", children: /* @__PURE__ */ jsx(
66
+ PostsGrid,
67
+ {
68
+ author: identity ?? "",
69
+ type: "article",
70
+ showNoQuestionsBtn: false
71
+ }
72
+ ) }),
73
+ /* @__PURE__ */ jsx(TabPanel, { value: "collections", children: /* @__PURE__ */ jsx(CollectionsGrid, { owner: identity ?? "" }) }),
74
+ /* @__PURE__ */ jsx(TabPanel, { value: "answers", children: /* @__PURE__ */ jsx(
75
+ AnswersContainer,
76
+ {
77
+ author: identity ?? "",
78
+ title: t("userPage.answers")
79
+ }
80
+ ) })
81
+ ] })
82
+ ] });
63
83
  };
64
84
 
65
85
  export { UserPage };
@@ -1 +1 @@
1
- {"version":3,"file":"UserPage.esm.js","sources":["../../../src/components/UserPage/UserPage.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { useParams, useSearchParams } from 'react-router-dom';\nimport {\n AnswersContainer,\n AskQuestionButton,\n ButtonContainer,\n CollectionsGrid,\n PostsContainer,\n PostsGrid,\n useIdentityApi,\n UserFollowButton,\n useTranslation,\n useUserInfo,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { UserStatsContent } from './UserStatsContent';\nimport { TabContext, TabList, TabPanel } from '@material-ui/lab';\nimport { Avatar, Box, Tab, Typography } from '@material-ui/core';\n\nexport const UserPage = () => {\n const identity = useParams()['*'] ?? 'unknown';\n const { name, initials, user, secondaryTitle } = useUserInfo(identity);\n const [tab, setTab] = useState('statistics');\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useSearchParams();\n const {\n value: currentUser,\n loading: loadingUser,\n error: userError,\n } = useIdentityApi(api => api.getBackstageIdentity(), []);\n\n const handleChange = (_event: React.ChangeEvent<{}>, newValue: string) => {\n setSearchParams({});\n setTab(newValue);\n };\n const title = (\n <Box style={{ display: 'flex', alignItems: 'center' }}>\n <Box style={{ display: 'inline-block', marginRight: '0.5em' }}>\n <Avatar src={user?.spec?.profile?.picture} alt={name} variant=\"rounded\">\n {initials}\n </Avatar>\n </Box>\n <Typography variant=\"h5\" component=\"h2\">\n {name}\n </Typography>\n {!loadingUser &&\n !userError &&\n currentUser?.userEntityRef !== identity && (\n <UserFollowButton\n userRef={identity}\n style={{ marginLeft: '0.5em' }}\n />\n )}\n </Box>\n );\n\n return (\n <>\n <ContentHeader titleComponent={title} description={secondaryTitle}>\n <ButtonContainer>\n <AskQuestionButton />\n <WriteArticleButton />\n </ButtonContainer>\n </ContentHeader>\n <TabContext value={tab}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n onChange={handleChange}\n aria-label={t('userPage.profileTab')}\n >\n <Tab label={t('userPage.statistics')} value=\"statistics\" />\n <Tab label={t('userPage.questions')} value=\"questions\" />\n <Tab label={t('userPage.articles')} value=\"articles\" />\n <Tab label={t('userPage.collections')} value=\"collections\" />\n <Tab label={t('userPage.answers')} value=\"answers\" />\n </TabList>\n </Box>\n <TabPanel value=\"statistics\">\n <UserStatsContent userRef={identity ?? ''} />\n </TabPanel>\n <TabPanel value=\"questions\">\n <PostsContainer\n author={identity ?? ''}\n showNoQuestionsBtn={false}\n type=\"question\"\n />\n </TabPanel>\n <TabPanel value=\"articles\">\n <PostsGrid\n author={identity ?? ''}\n type=\"article\"\n showNoQuestionsBtn={false}\n />\n </TabPanel>\n <TabPanel value=\"collections\">\n <CollectionsGrid owner={identity ?? ''} />\n </TabPanel>\n <TabPanel value=\"answers\">\n <AnswersContainer\n author={identity ?? ''}\n title={t('userPage.answers')}\n />\n </TabPanel>\n </TabContext>\n </>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserPage.esm.js","sources":["../../../src/components/UserPage/UserPage.tsx"],"sourcesContent":["import { ChangeEvent, useState } from 'react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { useParams, useSearchParams } from 'react-router-dom';\nimport {\n AnswersContainer,\n AskQuestionButton,\n ButtonContainer,\n CollectionsGrid,\n PostsContainer,\n PostsGrid,\n useIdentityApi,\n UserFollowButton,\n useTranslation,\n useUserInfo,\n WriteArticleButton,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { UserStatsContent } from './UserStatsContent';\nimport { TabContext, TabList, TabPanel } from '@material-ui/lab';\nimport { Avatar, Box, Tab, Typography } from '@material-ui/core';\n\nexport const UserPage = () => {\n const identity = useParams()['*'] ?? 'unknown';\n const { name, initials, user, secondaryTitle } = useUserInfo(identity);\n const [tab, setTab] = useState('statistics');\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useSearchParams();\n const {\n value: currentUser,\n loading: loadingUser,\n error: userError,\n } = useIdentityApi(api => api.getBackstageIdentity(), []);\n\n const handleChange = (_event: ChangeEvent<{}>, newValue: string) => {\n setSearchParams({});\n setTab(newValue);\n };\n const title = (\n <Box style={{ display: 'flex', alignItems: 'center' }}>\n <Box style={{ display: 'inline-block', marginRight: '0.5em' }}>\n <Avatar src={user?.spec?.profile?.picture} alt={name} variant=\"rounded\">\n {initials}\n </Avatar>\n </Box>\n <Typography variant=\"h5\" component=\"h2\">\n {name}\n </Typography>\n {!loadingUser &&\n !userError &&\n currentUser?.userEntityRef !== identity && (\n <UserFollowButton\n userRef={identity}\n style={{ marginLeft: '0.5em' }}\n />\n )}\n </Box>\n );\n\n return (\n <>\n <ContentHeader titleComponent={title} description={secondaryTitle}>\n <ButtonContainer>\n <AskQuestionButton />\n <WriteArticleButton />\n </ButtonContainer>\n </ContentHeader>\n <TabContext value={tab}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n onChange={handleChange}\n aria-label={t('userPage.profileTab')}\n >\n <Tab label={t('userPage.statistics')} value=\"statistics\" />\n <Tab label={t('userPage.questions')} value=\"questions\" />\n <Tab label={t('userPage.articles')} value=\"articles\" />\n <Tab label={t('userPage.collections')} value=\"collections\" />\n <Tab label={t('userPage.answers')} value=\"answers\" />\n </TabList>\n </Box>\n <TabPanel value=\"statistics\">\n <UserStatsContent userRef={identity ?? ''} />\n </TabPanel>\n <TabPanel value=\"questions\">\n <PostsContainer\n author={identity ?? ''}\n showNoQuestionsBtn={false}\n type=\"question\"\n />\n </TabPanel>\n <TabPanel value=\"articles\">\n <PostsGrid\n author={identity ?? ''}\n type=\"article\"\n showNoQuestionsBtn={false}\n />\n </TabPanel>\n <TabPanel value=\"collections\">\n <CollectionsGrid owner={identity ?? ''} />\n </TabPanel>\n <TabPanel value=\"answers\">\n <AnswersContainer\n author={identity ?? ''}\n title={t('userPage.answers')}\n />\n </TabPanel>\n </TabContext>\n </>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import { useQetaApi, StatsChart, SummaryStatsGrid } from '@drodil/backstage-plugin-qeta-react';
2
- import React from 'react';
3
- import { Grid, Card, CardContent } from '@material-ui/core';
3
+ import { Grid, Card, CardContent, CircularProgress } from '@material-ui/core';
4
4
 
5
5
  const UserStatsContent = (props) => {
6
6
  const {
@@ -8,10 +8,16 @@ const UserStatsContent = (props) => {
8
8
  loading,
9
9
  error
10
10
  } = useQetaApi((api) => api.getUserStats(props.userRef), []);
11
- if (loading || error || !response) {
11
+ if (error) {
12
12
  return null;
13
13
  }
14
- return /* @__PURE__ */ React.createElement(Grid, { container: true }, /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12 }, /* @__PURE__ */ React.createElement(Card, null, /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(StatsChart, { data: response.statistics })))), /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12 }, /* @__PURE__ */ React.createElement(SummaryStatsGrid, { stats: response })));
14
+ return /* @__PURE__ */ jsxs(Grid, { container: true, children: [
15
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, { children: [
16
+ !loading && response && /* @__PURE__ */ jsx(StatsChart, { data: response.statistics }),
17
+ loading && /* @__PURE__ */ jsx(CircularProgress, {})
18
+ ] }) }) }),
19
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, children: !loading && response && /* @__PURE__ */ jsx(SummaryStatsGrid, { stats: response }) })
20
+ ] });
15
21
  };
16
22
 
17
23
  export { UserStatsContent };
@@ -1 +1 @@
1
- {"version":3,"file":"UserStatsContent.esm.js","sources":["../../../src/components/UserPage/UserStatsContent.tsx"],"sourcesContent":["import {\n StatsChart,\n SummaryStatsGrid,\n useQetaApi,\n} from '@drodil/backstage-plugin-qeta-react';\nimport React from 'react';\nimport { Card, CardContent, Grid } from '@material-ui/core';\n\nexport const UserStatsContent = (props: { userRef: string }) => {\n const {\n value: response,\n loading,\n error,\n } = useQetaApi(api => api.getUserStats(props.userRef), []);\n if (loading || error || !response) {\n return null;\n }\n return (\n <Grid container>\n <Grid item xs={12}>\n <Card>\n <CardContent>\n <StatsChart data={response.statistics} />\n </CardContent>\n </Card>\n </Grid>\n <Grid item xs={12}>\n <SummaryStatsGrid stats={response} />\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;AAQa,MAAA,gBAAA,GAAmB,CAAC,KAA+B,KAAA;AAC9D,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,QAAA;AAAA,IACP,OAAA;AAAA,IACA;AAAA,GACF,GAAI,WAAW,CAAO,GAAA,KAAA,GAAA,CAAI,aAAa,KAAM,CAAA,OAAO,CAAG,EAAA,EAAE,CAAA;AACzD,EAAI,IAAA,OAAA,IAAW,KAAS,IAAA,CAAC,QAAU,EAAA;AACjC,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAA,sCACZ,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,sBACZ,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,sCACE,UAAW,EAAA,EAAA,IAAA,EAAM,QAAS,CAAA,UAAA,EAAY,CACzC,CACF,CACF,CAAA,sCACC,IAAK,EAAA,EAAA,IAAA,EAAI,IAAC,EAAA,EAAA,EAAI,sBACZ,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,KAAO,EAAA,QAAA,EAAU,CACrC,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"UserStatsContent.esm.js","sources":["../../../src/components/UserPage/UserStatsContent.tsx"],"sourcesContent":["import {\n StatsChart,\n SummaryStatsGrid,\n useQetaApi,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Card, CardContent, CircularProgress, Grid } from '@material-ui/core';\n\nexport const UserStatsContent = (props: { userRef: string }) => {\n const {\n value: response,\n loading,\n error,\n } = useQetaApi(api => api.getUserStats(props.userRef), []);\n if (error) {\n return null;\n }\n return (\n <Grid container>\n <Grid item xs={12}>\n <Card>\n <CardContent>\n {!loading && response && <StatsChart data={response.statistics} />}\n {loading && <CircularProgress />}\n </CardContent>\n </Card>\n </Grid>\n <Grid item xs={12}>\n {!loading && response && <SummaryStatsGrid stats={response} />}\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;AAOa,MAAA,gBAAA,GAAmB,CAAC,KAA+B,KAAA;AAC9D,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,QAAA;AAAA,IACP,OAAA;AAAA,IACA;AAAA,GACF,GAAI,WAAW,CAAO,GAAA,KAAA,GAAA,CAAI,aAAa,KAAM,CAAA,OAAO,CAAG,EAAA,EAAE,CAAA;AACzD,EAAA,IAAI,KAAO,EAAA;AACT,IAAO,OAAA,IAAA;AAAA;AAET,EACE,uBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IACb,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,IAAA,EAAA,EAAK,MAAI,IAAC,EAAA,EAAA,EAAI,IACb,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EACC,+BAAC,WACE,EAAA,EAAA,QAAA,EAAA;AAAA,MAAA,CAAC,WAAW,QAAY,oBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,IAAA,EAAM,SAAS,UAAY,EAAA,CAAA;AAAA,MAC/D,OAAA,wBAAY,gBAAiB,EAAA,EAAA;AAAA,KAAA,EAChC,GACF,CACF,EAAA,CAAA;AAAA,oBACC,GAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAC,EAAI,EAAA,EAAA,EACZ,QAAC,EAAA,CAAA,OAAA,IAAW,QAAY,oBAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,KAAA,EAAO,UAAU,CAC9D,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useTranslation, UsersGrid, FollowedUsersList, PostHighlightList } from '@drodil/backstage-plugin-qeta-react';
3
3
  import { ContentHeader } from '@backstage/core-components';
4
4
  import { Grid } from '@material-ui/core';
@@ -6,25 +6,35 @@ import Whatshot from '@material-ui/icons/Whatshot';
6
6
 
7
7
  const UsersPage = () => {
8
8
  const { t } = useTranslation();
9
- return /* @__PURE__ */ React.createElement(Grid, { container: true, spacing: 4 }, /* @__PURE__ */ React.createElement(Grid, { item: true, md: 12, lg: 9, xl: 10 }, /* @__PURE__ */ React.createElement(ContentHeader, { title: t("usersPage.title") }), /* @__PURE__ */ React.createElement(UsersGrid, null)), /* @__PURE__ */ React.createElement(Grid, { item: true, lg: 3, xl: 2 }, /* @__PURE__ */ React.createElement(FollowedUsersList, null), /* @__PURE__ */ React.createElement(
10
- PostHighlightList,
11
- {
12
- type: "hot",
13
- title: t("highlights.hotQuestions.title"),
14
- noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
15
- icon: /* @__PURE__ */ React.createElement(Whatshot, { fontSize: "small" }),
16
- postType: "question"
17
- }
18
- ), /* @__PURE__ */ React.createElement(
19
- PostHighlightList,
20
- {
21
- type: "hot",
22
- title: t("highlights.hotArticles.title"),
23
- noQuestionsLabel: t("highlights.hotArticles.noArticlesLabel"),
24
- icon: /* @__PURE__ */ React.createElement(Whatshot, { fontSize: "small" }),
25
- postType: "article"
26
- }
27
- )));
9
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 4, children: [
10
+ /* @__PURE__ */ jsxs(Grid, { item: true, md: 12, lg: 9, xl: 10, children: [
11
+ /* @__PURE__ */ jsx(ContentHeader, { title: t("usersPage.title") }),
12
+ /* @__PURE__ */ jsx(UsersGrid, {})
13
+ ] }),
14
+ /* @__PURE__ */ jsxs(Grid, { item: true, lg: 3, xl: 2, children: [
15
+ /* @__PURE__ */ jsx(FollowedUsersList, {}),
16
+ /* @__PURE__ */ jsx(
17
+ PostHighlightList,
18
+ {
19
+ type: "hot",
20
+ title: t("highlights.hotQuestions.title"),
21
+ noQuestionsLabel: t("highlights.hotQuestions.noQuestionsLabel"),
22
+ icon: /* @__PURE__ */ jsx(Whatshot, { fontSize: "small" }),
23
+ postType: "question"
24
+ }
25
+ ),
26
+ /* @__PURE__ */ jsx(
27
+ PostHighlightList,
28
+ {
29
+ type: "hot",
30
+ title: t("highlights.hotArticles.title"),
31
+ noQuestionsLabel: t("highlights.hotArticles.noArticlesLabel"),
32
+ icon: /* @__PURE__ */ jsx(Whatshot, { fontSize: "small" }),
33
+ postType: "article"
34
+ }
35
+ )
36
+ ] })
37
+ ] });
28
38
  };
29
39
 
30
40
  export { UsersPage };
@@ -1 +1 @@
1
- {"version":3,"file":"UsersPage.esm.js","sources":["../../../src/components/UsersPage/UsersPage.tsx"],"sourcesContent":["import React from 'react';\nimport {\n FollowedUsersList,\n PostHighlightList,\n UsersGrid,\n useTranslation,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { Grid } from '@material-ui/core';\nimport Whatshot from '@material-ui/icons/Whatshot';\n\nexport const UsersPage = () => {\n const { t } = useTranslation();\n\n return (\n <Grid container spacing={4}>\n <Grid item md={12} lg={9} xl={10}>\n <ContentHeader title={t('usersPage.title')} />\n <UsersGrid />\n </Grid>\n <Grid item lg={3} xl={2}>\n <FollowedUsersList />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotArticles.title')}\n noQuestionsLabel={t('highlights.hotArticles.noArticlesLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"article\"\n />\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,YAAY,MAAM;AAC7B,EAAM,MAAA,EAAE,CAAE,EAAA,GAAI,cAAe,EAAA;AAE7B,EAAA,2CACG,IAAK,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,OAAA,EAAS,qBACtB,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAC,IAAI,EAAI,EAAA,EAAA,EAAI,CAAG,EAAA,EAAA,EAAI,sBAC3B,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,KAAO,EAAA,CAAA,CAAE,iBAAiB,CAAG,EAAA,CAAA,kBAC3C,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,IAAU,CACb,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,MAAC,EAAI,EAAA,CAAA,EAAG,IAAI,CACpB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,uBAAkB,CACnB,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,+BAA+B,CAAA;AAAA,MACxC,gBAAA,EAAkB,EAAE,0CAA0C,CAAA;AAAA,MAC9D,IAAM,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,MACjC,QAAS,EAAA;AAAA;AAAA,GAEX,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,KAAA,EAAO,EAAE,8BAA8B,CAAA;AAAA,MACvC,gBAAA,EAAkB,EAAE,wCAAwC,CAAA;AAAA,MAC5D,IAAM,kBAAA,KAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,MACjC,QAAS,EAAA;AAAA;AAAA,GAEb,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"UsersPage.esm.js","sources":["../../../src/components/UsersPage/UsersPage.tsx"],"sourcesContent":["import {\n FollowedUsersList,\n PostHighlightList,\n UsersGrid,\n useTranslation,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { ContentHeader } from '@backstage/core-components';\nimport { Grid } from '@material-ui/core';\nimport Whatshot from '@material-ui/icons/Whatshot';\n\nexport const UsersPage = () => {\n const { t } = useTranslation();\n\n return (\n <Grid container spacing={4}>\n <Grid item md={12} lg={9} xl={10}>\n <ContentHeader title={t('usersPage.title')} />\n <UsersGrid />\n </Grid>\n <Grid item lg={3} xl={2}>\n <FollowedUsersList />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotQuestions.title')}\n noQuestionsLabel={t('highlights.hotQuestions.noQuestionsLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"question\"\n />\n <PostHighlightList\n type=\"hot\"\n title={t('highlights.hotArticles.title')}\n noQuestionsLabel={t('highlights.hotArticles.noArticlesLabel')}\n icon={<Whatshot fontSize=\"small\" />}\n postType=\"article\"\n />\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,YAAY,MAAM;AAC7B,EAAM,MAAA,EAAE,CAAE,EAAA,GAAI,cAAe,EAAA;AAE7B,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAC,SAAS,CACvB,EAAA,QAAA,EAAA;AAAA,oBAAC,IAAA,CAAA,IAAA,EAAA,EAAK,MAAI,IAAC,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,CAAA,EAAG,IAAI,EAC5B,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAO,CAAE,CAAA,iBAAiB,CAAG,EAAA,CAAA;AAAA,0BAC3C,SAAU,EAAA,EAAA;AAAA,KACb,EAAA,CAAA;AAAA,yBACC,IAAK,EAAA,EAAA,IAAA,EAAI,MAAC,EAAI,EAAA,CAAA,EAAG,IAAI,CACpB,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,iBAAkB,EAAA,EAAA,CAAA;AAAA,sBACnB,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,KAAA;AAAA,UACL,KAAA,EAAO,EAAE,+BAA+B,CAAA;AAAA,UACxC,gBAAA,EAAkB,EAAE,0CAA0C,CAAA;AAAA,UAC9D,IAAM,kBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,UACjC,QAAS,EAAA;AAAA;AAAA,OACX;AAAA,sBACA,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,KAAA;AAAA,UACL,KAAA,EAAO,EAAE,8BAA8B,CAAA;AAAA,UACvC,gBAAA,EAAkB,EAAE,wCAAwC,CAAA;AAAA,UAC5D,IAAM,kBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,UACjC,QAAS,EAAA;AAAA;AAAA;AACX,KACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { useParams, useSearchParams } from 'react-router-dom';
3
3
  import { filterTags } from '@drodil/backstage-plugin-qeta-common';
4
4
  import { useTranslation, PostForm } from '@drodil/backstage-plugin-qeta-react';
@@ -24,16 +24,19 @@ const WritePage = () => {
24
24
  } else {
25
25
  title = t("writePage.title.newArticle");
26
26
  }
27
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ContentHeader, { title }), /* @__PURE__ */ React.createElement(Grid, { container: true, spacing: 3, direction: "column" }, /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(InfoCard, null, /* @__PURE__ */ React.createElement(
28
- PostForm,
29
- {
30
- id,
31
- entity,
32
- entityPage,
33
- tags,
34
- type: "article"
35
- }
36
- )))));
27
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
28
+ /* @__PURE__ */ jsx(ContentHeader, { title }),
29
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, direction: "column", children: /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(InfoCard, { children: /* @__PURE__ */ jsx(
30
+ PostForm,
31
+ {
32
+ id,
33
+ entity,
34
+ entityPage,
35
+ tags,
36
+ type: "article"
37
+ }
38
+ ) }) }) })
39
+ ] });
37
40
  };
38
41
 
39
42
  export { WritePage };