@drodil/backstage-plugin-qeta 3.59.10 → 4.0.0

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 (127) hide show
  1. package/README.md +6 -11
  2. package/config.schema.json +58 -0
  3. package/dist/components/ArticlePage/ArticlePage.esm.js +61 -15
  4. package/dist/components/ArticlePage/ArticlePage.esm.js.map +1 -1
  5. package/dist/components/ArticlesPage/ArticlesPage.esm.js +9 -22
  6. package/dist/components/ArticlesPage/ArticlesPage.esm.js.map +1 -1
  7. package/dist/components/AskPage/AskPage.esm.js +10 -7
  8. package/dist/components/AskPage/AskPage.esm.js.map +1 -1
  9. package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js +8 -5
  10. package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js.map +1 -1
  11. package/dist/components/CollectionPage/CollectionPage.esm.js +47 -87
  12. package/dist/components/CollectionPage/CollectionPage.esm.js.map +1 -1
  13. package/dist/components/CollectionsPage/CollectionsPage.esm.js +8 -5
  14. package/dist/components/CollectionsPage/CollectionsPage.esm.js.map +1 -1
  15. package/dist/components/ContentHealthCard/ContentHealthCard.esm.js +61 -89
  16. package/dist/components/ContentHealthCard/ContentHealthCard.esm.js.map +1 -1
  17. package/dist/components/ContentHealthCard/ContentHealthCard.module.css.esm.js +8 -0
  18. package/dist/components/ContentHealthCard/ContentHealthCard.module.css.esm.js.map +1 -0
  19. package/dist/components/ContentHealthCard/ReviewList.esm.js +27 -60
  20. package/dist/components/ContentHealthCard/ReviewList.esm.js.map +1 -1
  21. package/dist/components/ContentHealthCard/ReviewList.module.css.esm.js +8 -0
  22. package/dist/components/ContentHealthCard/ReviewList.module.css.esm.js.map +1 -0
  23. package/dist/components/CreateLinkPage/CreateLinkPage.esm.js +9 -6
  24. package/dist/components/CreateLinkPage/CreateLinkPage.esm.js.map +1 -1
  25. package/dist/components/EntityPage/EntityPage.esm.js +48 -58
  26. package/dist/components/EntityPage/EntityPage.esm.js.map +1 -1
  27. package/dist/components/EntityPostsContent/EntityPostsContent.esm.js +2 -3
  28. package/dist/components/EntityPostsContent/EntityPostsContent.esm.js.map +1 -1
  29. package/dist/components/FavoritePage/FavoritePage.esm.js +3 -14
  30. package/dist/components/FavoritePage/FavoritePage.esm.js.map +1 -1
  31. package/dist/components/HomePage/HomePage.esm.js +17 -60
  32. package/dist/components/HomePage/HomePage.esm.js.map +1 -1
  33. package/dist/components/HomePage/HomePage.module.css.esm.js +8 -0
  34. package/dist/components/HomePage/HomePage.module.css.esm.js.map +1 -0
  35. package/dist/components/LinkPage/LinkPage.esm.js +60 -61
  36. package/dist/components/LinkPage/LinkPage.esm.js.map +1 -1
  37. package/dist/components/LinksPage/LinksPage.esm.js +9 -16
  38. package/dist/components/LinksPage/LinksPage.esm.js.map +1 -1
  39. package/dist/components/ModeratorPage/ModeratorPage.esm.js +19 -29
  40. package/dist/components/ModeratorPage/ModeratorPage.esm.js.map +1 -1
  41. package/dist/components/ModeratorPage/ModeratorPage.module.css.esm.js +8 -0
  42. package/dist/components/ModeratorPage/ModeratorPage.module.css.esm.js.map +1 -0
  43. package/dist/components/QetaPage/QetaPage.esm.js +187 -239
  44. package/dist/components/QetaPage/QetaPage.esm.js.map +1 -1
  45. package/dist/components/QetaPage/QetaPage.module.css.esm.js +8 -0
  46. package/dist/components/QetaPage/QetaPage.module.css.esm.js.map +1 -0
  47. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.esm.js +67 -78
  48. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.esm.js.map +1 -1
  49. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.module.css.esm.js +8 -0
  50. package/dist/components/QetaSearchResultListItem/QetaSearchResultListItem.module.css.esm.js.map +1 -0
  51. package/dist/components/QuestionPage/QuestionPage.esm.js +122 -97
  52. package/dist/components/QuestionPage/QuestionPage.esm.js.map +1 -1
  53. package/dist/components/QuestionsPage/QuestionsPage.esm.js +8 -5
  54. package/dist/components/QuestionsPage/QuestionsPage.esm.js.map +1 -1
  55. package/dist/components/ReviewPage/ReviewPage.esm.js +53 -18
  56. package/dist/components/ReviewPage/ReviewPage.esm.js.map +1 -1
  57. package/dist/components/RightContent/ArticlesRightContent.esm.js +2 -2
  58. package/dist/components/RightContent/ArticlesRightContent.esm.js.map +1 -1
  59. package/dist/components/RightContent/DefaultRightContent.esm.js +2 -2
  60. package/dist/components/RightContent/DefaultRightContent.esm.js.map +1 -1
  61. package/dist/components/RightContent/EntityRightContent.esm.js +2 -2
  62. package/dist/components/RightContent/EntityRightContent.esm.js.map +1 -1
  63. package/dist/components/RightContent/LinkedPosts.esm.js +5 -19
  64. package/dist/components/RightContent/LinkedPosts.esm.js.map +1 -1
  65. package/dist/components/RightContent/LinkedPosts.module.css.esm.js +8 -0
  66. package/dist/components/RightContent/LinkedPosts.module.css.esm.js.map +1 -0
  67. package/dist/components/RightContent/LinksRightContent.esm.js +2 -2
  68. package/dist/components/RightContent/LinksRightContent.esm.js.map +1 -1
  69. package/dist/components/RightContent/PostRightContent.esm.js +4 -4
  70. package/dist/components/RightContent/PostRightContent.esm.js.map +1 -1
  71. package/dist/components/RightContent/QuestionsRightContent.esm.js +2 -2
  72. package/dist/components/RightContent/QuestionsRightContent.esm.js.map +1 -1
  73. package/dist/components/RightContent/RightContent.esm.js +46 -61
  74. package/dist/components/RightContent/RightContent.esm.js.map +1 -1
  75. package/dist/components/RightContent/RightContent.module.css.esm.js +8 -0
  76. package/dist/components/RightContent/RightContent.module.css.esm.js.map +1 -0
  77. package/dist/components/RightContent/SimilarQuestions.esm.js +3 -16
  78. package/dist/components/RightContent/SimilarQuestions.esm.js.map +1 -1
  79. package/dist/components/RightContent/SimilarQuestions.module.css.esm.js +8 -0
  80. package/dist/components/RightContent/SimilarQuestions.module.css.esm.js.map +1 -0
  81. package/dist/components/RightContent/TagRightContent.esm.js +2 -2
  82. package/dist/components/RightContent/TagRightContent.esm.js.map +1 -1
  83. package/dist/components/SettingsPage/SettingsPage.esm.js +198 -200
  84. package/dist/components/SettingsPage/SettingsPage.esm.js.map +1 -1
  85. package/dist/components/SettingsPage/SettingsPage.module.css.esm.js +8 -0
  86. package/dist/components/SettingsPage/SettingsPage.module.css.esm.js.map +1 -0
  87. package/dist/components/Statistics/GlobalStatsContent.esm.js +5 -5
  88. package/dist/components/Statistics/GlobalStatsContent.esm.js.map +1 -1
  89. package/dist/components/Statistics/StatisticsPage.esm.js +21 -20
  90. package/dist/components/Statistics/StatisticsPage.esm.js.map +1 -1
  91. package/dist/components/Statistics/StatisticsPage.module.css.esm.js +8 -0
  92. package/dist/components/Statistics/StatisticsPage.module.css.esm.js.map +1 -0
  93. package/dist/components/TagPage/TagPage.esm.js +58 -87
  94. package/dist/components/TagPage/TagPage.esm.js.map +1 -1
  95. package/dist/components/TechDocsAskQuestionAddon/TechDocsAskQuestionAddon.esm.js +23 -32
  96. package/dist/components/TechDocsAskQuestionAddon/TechDocsAskQuestionAddon.esm.js.map +1 -1
  97. package/dist/components/TechDocsAskQuestionAddon/TechDocsAskQuestionAddon.module.css.esm.js +8 -0
  98. package/dist/components/TechDocsAskQuestionAddon/TechDocsAskQuestionAddon.module.css.esm.js.map +1 -0
  99. package/dist/components/UserPage/UserPage.esm.js +158 -234
  100. package/dist/components/UserPage/UserPage.esm.js.map +1 -1
  101. package/dist/components/UserPage/UserPage.module.css.esm.js +8 -0
  102. package/dist/components/UserPage/UserPage.module.css.esm.js.map +1 -0
  103. package/dist/components/UserPage/UserStatsContent.esm.js +5 -5
  104. package/dist/components/UserPage/UserStatsContent.esm.js.map +1 -1
  105. package/dist/components/UsersPage/UsersPage.esm.js +3 -9
  106. package/dist/components/UsersPage/UsersPage.esm.js.map +1 -1
  107. package/dist/components/WritePage/WritePage.esm.js +9 -6
  108. package/dist/components/WritePage/WritePage.esm.js.map +1 -1
  109. package/dist/index.d.ts +283 -77
  110. package/dist/index.esm.js +262 -7
  111. package/dist/index.esm.js.map +1 -1
  112. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js +29 -0
  113. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js.map +1 -0
  114. package/dist/{package.json.esm.js → plugins/qeta/package.json.esm.js} +8 -13
  115. package/dist/{package.json.esm.js.map → plugins/qeta/package.json.esm.js.map} +1 -1
  116. package/package.json +9 -18
  117. package/dist/alpha.d.ts +0 -255
  118. package/dist/alpha.esm.js +0 -238
  119. package/dist/alpha.esm.js.map +0 -1
  120. package/dist/components/EntityCards/EntityPostsContainerCard.esm.js +0 -13
  121. package/dist/components/EntityCards/EntityPostsContainerCard.esm.js.map +0 -1
  122. package/dist/components/EntityCards/EntityPostsGridCard.esm.js +0 -20
  123. package/dist/components/EntityCards/EntityPostsGridCard.esm.js.map +0 -1
  124. package/dist/components/ReviewPage/index.esm.js +0 -6
  125. package/dist/components/ReviewPage/index.esm.js.map +0 -1
  126. package/dist/plugin.esm.js +0 -84
  127. package/dist/plugin.esm.js.map +0 -1
@@ -1,10 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { useSearchParams } from 'react-router-dom';
3
3
  import { useState, useEffect } from 'react';
4
- import { qetaTranslationRef, ContentHeader, CreateLinkButton, PostsContainer } from '@drodil/backstage-plugin-qeta-react';
4
+ import { qetaTranslationRef, useQetaConfig, CreateLinkButton, PostsContainer } from '@drodil/backstage-plugin-qeta-react';
5
5
  import { filterTags } from '@drodil/backstage-plugin-qeta-common';
6
- import LinkIcon from '@material-ui/icons/Link';
7
- import { Typography } from '@material-ui/core';
6
+ import { Header } from '@backstage/ui';
8
7
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
9
8
 
10
9
  const LinksPage = () => {
@@ -12,26 +11,20 @@ const LinksPage = () => {
12
11
  const [entityRef, setEntityRef] = useState(void 0);
13
12
  const [tags, setTags] = useState(void 0);
14
13
  const { t } = useTranslationRef(qetaTranslationRef);
14
+ const { disabled } = useQetaConfig();
15
15
  useEffect(() => {
16
16
  setEntityRef(searchParams.get("entity") ?? void 0);
17
17
  setTags(filterTags(searchParams.get("tags")));
18
18
  }, [searchParams, setEntityRef]);
19
+ if (disabled.links) {
20
+ return null;
21
+ }
19
22
  return /* @__PURE__ */ jsxs(Fragment, { children: [
20
23
  /* @__PURE__ */ jsx(
21
- ContentHeader,
24
+ Header,
22
25
  {
23
- titleComponent: /* @__PURE__ */ jsxs(
24
- Typography,
25
- {
26
- variant: "h4",
27
- style: { display: "flex", alignItems: "center" },
28
- children: [
29
- /* @__PURE__ */ jsx(LinkIcon, { fontSize: "large", style: { marginRight: "8px" } }),
30
- t("linksPage.title")
31
- ]
32
- }
33
- ),
34
- children: /* @__PURE__ */ jsx(CreateLinkButton, { entity: entityRef, tags })
26
+ title: t("linksPage.title"),
27
+ customActions: /* @__PURE__ */ jsx(CreateLinkButton, { entity: entityRef, tags })
35
28
  }
36
29
  ),
37
30
  /* @__PURE__ */ jsx(PostsContainer, { type: "link", defaultView: "list" })
@@ -1 +1 @@
1
- {"version":3,"file":"LinksPage.esm.js","sources":["../../../src/components/LinksPage/LinksPage.tsx"],"sourcesContent":["import { useSearchParams } from 'react-router-dom';\nimport { useEffect, useState } from 'react';\nimport {\n ContentHeader,\n CreateLinkButton,\n PostsContainer,\n qetaTranslationRef,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { filterTags } from '@drodil/backstage-plugin-qeta-common';\nimport LinkIcon from '@material-ui/icons/Link';\nimport { Typography } from '@material-ui/core';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nexport const LinksPage = () => {\n const [searchParams] = useSearchParams();\n\n const [entityRef, setEntityRef] = useState<string | undefined>(undefined);\n const [tags, setTags] = useState<string[] | undefined>(undefined);\n const { t } = useTranslationRef(qetaTranslationRef);\n useEffect(() => {\n setEntityRef(searchParams.get('entity') ?? undefined);\n setTags(filterTags(searchParams.get('tags')));\n }, [searchParams, setEntityRef]);\n\n return (\n <>\n <ContentHeader\n titleComponent={\n <Typography\n variant=\"h4\"\n style={{ display: 'flex', alignItems: 'center' }}\n >\n <LinkIcon fontSize=\"large\" style={{ marginRight: '8px' }} />\n {t('linksPage.title')}\n </Typography>\n }\n >\n <CreateLinkButton entity={entityRef} tags={tags} />\n </ContentHeader>\n <PostsContainer type=\"link\" defaultView=\"list\" />\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAaO,MAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,CAAC,YAAY,CAAA,GAAI,eAAA,EAAgB;AAEvC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAA6B,MAAS,CAAA;AACxE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAA+B,MAAS,CAAA;AAChE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,kBAAkB,CAAA;AAClD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,YAAA,CAAa,YAAA,CAAa,GAAA,CAAI,QAAQ,CAAA,IAAK,MAAS,CAAA;AACpD,IAAA,OAAA,CAAQ,UAAA,CAAW,YAAA,CAAa,GAAA,CAAI,MAAM,CAAC,CAAC,CAAA;AAAA,EAC9C,CAAA,EAAG,CAAC,YAAA,EAAc,YAAY,CAAC,CAAA;AAE/B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,cAAA,kBACE,IAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,IAAA;AAAA,YACR,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAS;AAAA,YAE/C,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,YAAS,QAAA,EAAS,OAAA,EAAQ,OAAO,EAAE,WAAA,EAAa,OAAM,EAAG,CAAA;AAAA,cACzD,EAAE,iBAAiB;AAAA;AAAA;AAAA,SACtB;AAAA,QAGF,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAY;AAAA;AAAA,KACnD;AAAA,oBACA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAK,MAAA,EAAO,aAAY,MAAA,EAAO;AAAA,GAAA,EACjD,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"LinksPage.esm.js","sources":["../../../src/components/LinksPage/LinksPage.tsx"],"sourcesContent":["import { useSearchParams } from 'react-router-dom';\nimport { useEffect, useState } from 'react';\nimport {\n CreateLinkButton,\n PostsContainer,\n qetaTranslationRef,\n useQetaConfig,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { filterTags } from '@drodil/backstage-plugin-qeta-common';\nimport { Header } from '@backstage/ui';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\n\nexport const LinksPage = () => {\n const [searchParams] = useSearchParams();\n\n const [entityRef, setEntityRef] = useState<string | undefined>(undefined);\n const [tags, setTags] = useState<string[] | undefined>(undefined);\n const { t } = useTranslationRef(qetaTranslationRef);\n const { disabled } = useQetaConfig();\n\n useEffect(() => {\n setEntityRef(searchParams.get('entity') ?? undefined);\n setTags(filterTags(searchParams.get('tags')));\n }, [searchParams, setEntityRef]);\n\n if (disabled.links) {\n return null;\n }\n\n return (\n <>\n <Header\n title={t('linksPage.title')}\n customActions={<CreateLinkButton entity={entityRef} tags={tags} />}\n />\n <PostsContainer type=\"link\" defaultView=\"list\" />\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAYO,MAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,CAAC,YAAY,CAAA,GAAI,eAAA,EAAgB;AAEvC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAA6B,MAAS,CAAA;AACxE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAA+B,MAAS,CAAA;AAChE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,kBAAkB,CAAA;AAClD,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,aAAA,EAAc;AAEnC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,YAAA,CAAa,YAAA,CAAa,GAAA,CAAI,QAAQ,CAAA,IAAK,MAAS,CAAA;AACpD,IAAA,OAAA,CAAQ,UAAA,CAAW,YAAA,CAAa,GAAA,CAAI,MAAM,CAAC,CAAC,CAAA;AAAA,EAC9C,CAAA,EAAG,CAAC,YAAA,EAAc,YAAY,CAAC,CAAA;AAE/B,EAAA,IAAI,SAAS,KAAA,EAAO;AAClB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,EAAE,iBAAiB,CAAA;AAAA,QAC1B,aAAA,kBAAe,GAAA,CAAC,gBAAA,EAAA,EAAiB,MAAA,EAAQ,WAAW,IAAA,EAAY;AAAA;AAAA,KAClE;AAAA,oBACA,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAK,MAAA,EAAO,aAAY,MAAA,EAAO;AAAA,GAAA,EACjD,CAAA;AAEJ;;;;"}
@@ -1,10 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
- import { useIsModerator, qetaTranslationRef, ContentHeader, TemplateList, PostsContainer } from '@drodil/backstage-plugin-qeta-react';
4
- import { Box, Tab } from '@material-ui/core';
5
- import { TabContext, TabList, TabPanel, Alert } from '@material-ui/lab';
3
+ import { useIsModerator, qetaTranslationRef, TemplateList, PostsContainer } from '@drodil/backstage-plugin-qeta-react';
4
+ import { Header, Tabs, TabList, Tab, TabPanel, Alert } from '@backstage/ui';
6
5
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
7
- import SettingsOutlined from '@material-ui/icons/SettingsOutlined';
6
+ import styles from './ModeratorPage.module.css.esm.js';
8
7
 
9
8
  const ModeratorPage = () => {
10
9
  const { isModerator } = useIsModerator();
@@ -13,34 +12,25 @@ const ModeratorPage = () => {
13
12
  if (!isModerator) {
14
13
  return null;
15
14
  }
16
- const handleChange = (_event, newValue) => {
17
- setTab(newValue);
18
- };
19
15
  return /* @__PURE__ */ jsxs(Fragment, { children: [
20
- /* @__PURE__ */ jsx(
21
- ContentHeader,
22
- {
23
- title: t("moderatorPage.title"),
24
- titleIcon: /* @__PURE__ */ jsx(SettingsOutlined, { fontSize: "large" })
25
- }
26
- ),
27
- /* @__PURE__ */ jsxs(TabContext, { value: tab, children: [
28
- /* @__PURE__ */ jsx(Box, { sx: { borderBottom: 1, borderColor: "divider" }, children: /* @__PURE__ */ jsxs(
29
- TabList,
30
- {
31
- onChange: handleChange,
32
- "aria-label": t("moderatorPage.tools"),
33
- children: [
34
- /* @__PURE__ */ jsx(Tab, { label: t("moderatorPage.templates"), value: "templates" }),
35
- /* @__PURE__ */ jsx(Tab, { label: t("moderatorPage.deletedPosts"), value: "deletedPosts" })
36
- ]
37
- }
38
- ) }),
39
- /* @__PURE__ */ jsxs(TabPanel, { value: "templates", style: { padding: "24px 0" }, children: [
40
- /* @__PURE__ */ jsx(Alert, { severity: "info", style: { marginBottom: "1em" }, children: t("moderatorPage.templatesInfo") }),
16
+ /* @__PURE__ */ jsx(Header, { title: t("moderatorPage.title") }),
17
+ /* @__PURE__ */ jsxs(Tabs, { selectedKey: tab, onSelectionChange: (key) => setTab(key), children: [
18
+ /* @__PURE__ */ jsxs(TabList, { "aria-label": t("moderatorPage.tools"), children: [
19
+ /* @__PURE__ */ jsx(Tab, { id: "templates", children: t("moderatorPage.templates") }),
20
+ /* @__PURE__ */ jsx(Tab, { id: "deletedPosts", children: t("moderatorPage.deletedPosts") })
21
+ ] }),
22
+ /* @__PURE__ */ jsxs(TabPanel, { id: "templates", className: styles.tabPanel, children: [
23
+ /* @__PURE__ */ jsx(
24
+ Alert,
25
+ {
26
+ status: "info",
27
+ description: t("moderatorPage.templatesInfo"),
28
+ className: styles.alert
29
+ }
30
+ ),
41
31
  /* @__PURE__ */ jsx(TemplateList, {})
42
32
  ] }),
43
- /* @__PURE__ */ jsx(TabPanel, { value: "deletedPosts", style: { padding: "24px 0" }, children: /* @__PURE__ */ jsx(
33
+ /* @__PURE__ */ jsx(TabPanel, { id: "deletedPosts", className: styles.tabPanel, children: /* @__PURE__ */ jsx(
44
34
  PostsContainer,
45
35
  {
46
36
  status: "deleted",
@@ -1 +1 @@
1
- {"version":3,"file":"ModeratorPage.esm.js","sources":["../../../src/components/ModeratorPage/ModeratorPage.tsx"],"sourcesContent":["import { ChangeEvent, useState } from 'react';\nimport {\n ContentHeader,\n PostsContainer,\n qetaTranslationRef,\n TemplateList,\n useIsModerator,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Box, Tab } from '@material-ui/core';\nimport { Alert, TabContext, TabList, TabPanel } from '@material-ui/lab';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport SettingsOutlined from '@material-ui/icons/SettingsOutlined';\n\nexport const ModeratorPage = () => {\n const { isModerator } = useIsModerator();\n const [tab, setTab] = useState('templates');\n const { t } = useTranslationRef(qetaTranslationRef);\n\n if (!isModerator) {\n return null;\n }\n\n const handleChange = (_event: ChangeEvent<{}>, newValue: string) => {\n setTab(newValue);\n };\n\n return (\n <>\n <ContentHeader\n title={t('moderatorPage.title')}\n titleIcon={<SettingsOutlined fontSize=\"large\" />}\n />\n <TabContext value={tab}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n onChange={handleChange}\n aria-label={t('moderatorPage.tools')}\n >\n <Tab label={t('moderatorPage.templates')} value=\"templates\" />\n <Tab label={t('moderatorPage.deletedPosts')} value=\"deletedPosts\" />\n </TabList>\n </Box>\n <TabPanel value=\"templates\" style={{ padding: '24px 0' }}>\n <Alert severity=\"info\" style={{ marginBottom: '1em' }}>\n {t('moderatorPage.templatesInfo')}\n </Alert>\n <TemplateList />\n </TabPanel>\n <TabPanel value=\"deletedPosts\" style={{ padding: '24px 0' }}>\n <PostsContainer\n status=\"deleted\"\n showNoQuestionsBtn={false}\n showTypeLabel\n />\n </TabPanel>\n </TabContext>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAaO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,cAAA,EAAe;AACvC,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAS,WAAW,CAAA;AAC1C,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,kBAAkB,CAAA;AAElD,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,MAAA,EAAyB,QAAA,KAAqB;AAClE,IAAA,MAAA,CAAO,QAAQ,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,EAAE,qBAAqB,CAAA;AAAA,QAC9B,SAAA,kBAAW,GAAA,CAAC,gBAAA,EAAA,EAAiB,QAAA,EAAS,OAAA,EAAQ;AAAA;AAAA,KAChD;AAAA,oBACA,IAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,GAAA,EACjB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAI,EAAA,EAAI,EAAE,cAAc,CAAA,EAAG,WAAA,EAAa,WAAU,EACjD,QAAA,kBAAA,IAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,YAAA;AAAA,UACV,YAAA,EAAY,EAAE,qBAAqB,CAAA;AAAA,UAEnC,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,OAAI,KAAA,EAAO,CAAA,CAAE,yBAAyB,CAAA,EAAG,OAAM,WAAA,EAAY,CAAA;AAAA,gCAC3D,GAAA,EAAA,EAAI,KAAA,EAAO,EAAE,4BAA4B,CAAA,EAAG,OAAM,cAAA,EAAe;AAAA;AAAA;AAAA,OACpE,EACF,CAAA;AAAA,sBACA,IAAA,CAAC,YAAS,KAAA,EAAM,WAAA,EAAY,OAAO,EAAE,OAAA,EAAS,UAAS,EACrD,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,QAAA,EAAS,MAAA,EAAO,KAAA,EAAO,EAAE,cAAc,KAAA,EAAM,EACjD,QAAA,EAAA,CAAA,CAAE,6BAA6B,CAAA,EAClC,CAAA;AAAA,4BACC,YAAA,EAAA,EAAa;AAAA,OAAA,EAChB,CAAA;AAAA,sBACA,GAAA,CAAC,YAAS,KAAA,EAAM,cAAA,EAAe,OAAO,EAAE,OAAA,EAAS,UAAS,EACxD,QAAA,kBAAA,GAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,MAAA,EAAO,SAAA;AAAA,UACP,kBAAA,EAAoB,KAAA;AAAA,UACpB,aAAA,EAAa;AAAA;AAAA,OACf,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ModeratorPage.esm.js","sources":["../../../src/components/ModeratorPage/ModeratorPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n PostsContainer,\n qetaTranslationRef,\n TemplateList,\n useIsModerator,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Alert, Header, Tab, TabList, TabPanel, Tabs } from '@backstage/ui';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport styles from './ModeratorPage.module.css';\n\nexport const ModeratorPage = () => {\n const { isModerator } = useIsModerator();\n const [tab, setTab] = useState('templates');\n const { t } = useTranslationRef(qetaTranslationRef);\n\n if (!isModerator) {\n return null;\n }\n\n return (\n <>\n <Header title={t('moderatorPage.title')} />\n <Tabs selectedKey={tab} onSelectionChange={key => setTab(key as string)}>\n <TabList aria-label={t('moderatorPage.tools')}>\n <Tab id=\"templates\">{t('moderatorPage.templates')}</Tab>\n <Tab id=\"deletedPosts\">{t('moderatorPage.deletedPosts')}</Tab>\n </TabList>\n <TabPanel id=\"templates\" className={styles.tabPanel}>\n <Alert\n status=\"info\"\n description={t('moderatorPage.templatesInfo')}\n className={styles.alert}\n />\n <TemplateList />\n </TabPanel>\n <TabPanel id=\"deletedPosts\" className={styles.tabPanel}>\n <PostsContainer\n status=\"deleted\"\n showNoQuestionsBtn={false}\n showTypeLabel\n />\n </TabPanel>\n </Tabs>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAWO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,cAAA,EAAe;AACvC,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAS,WAAW,CAAA;AAC1C,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,iBAAA,CAAkB,kBAAkB,CAAA;AAElD,EAAA,IAAI,CAAC,WAAA,EAAa;AAChB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,KAAA,EAAO,CAAA,CAAE,qBAAqB,CAAA,EAAG,CAAA;AAAA,oBACzC,IAAA,CAAC,QAAK,WAAA,EAAa,GAAA,EAAK,mBAAmB,CAAA,GAAA,KAAO,MAAA,CAAO,GAAa,CAAA,EACpE,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,OAAA,EAAA,EAAQ,YAAA,EAAY,CAAA,CAAE,qBAAqB,CAAA,EAC1C,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,WAAA,EAAa,QAAA,EAAA,CAAA,CAAE,yBAAyB,CAAA,EAAE,CAAA;AAAA,4BACjD,GAAA,EAAA,EAAI,EAAA,EAAG,cAAA,EAAgB,QAAA,EAAA,CAAA,CAAE,4BAA4B,CAAA,EAAE;AAAA,OAAA,EAC1D,CAAA;AAAA,2BACC,QAAA,EAAA,EAAS,EAAA,EAAG,WAAA,EAAY,SAAA,EAAW,OAAO,QAAA,EACzC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,MAAA,EAAO,MAAA;AAAA,YACP,WAAA,EAAa,EAAE,6BAA6B,CAAA;AAAA,YAC5C,WAAW,MAAA,CAAO;AAAA;AAAA,SACpB;AAAA,4BACC,YAAA,EAAA,EAAa;AAAA,OAAA,EAChB,CAAA;AAAA,0BACC,QAAA,EAAA,EAAS,EAAA,EAAG,cAAA,EAAe,SAAA,EAAW,OAAO,QAAA,EAC5C,QAAA,kBAAA,GAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,MAAA,EAAO,SAAA;AAAA,UACP,kBAAA,EAAoB,KAAA;AAAA,UACpB,aAAA,EAAa;AAAA;AAAA,OACf,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../node_modules_dist/style-inject/dist/style-inject.es.esm.js';
2
+
3
+ var css_248z = "@layer components {\n .ModeratorPage_tabPanel__9887015b35 {\n padding: var(--bui-space-6) 0;\n }\n\n .ModeratorPage_alert__9887015b35 {\n margin-bottom: var(--bui-space-4);\n }\n}\n";
4
+ var styles = {"tabPanel":"ModeratorPage_tabPanel__9887015b35","alert":"ModeratorPage_alert__9887015b35"};
5
+ styleInject(css_248z);
6
+
7
+ export { styles as default };
8
+ //# sourceMappingURL=ModeratorPage.module.css.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeratorPage.module.css.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,6 +1,5 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { Fragment } from 'react';
3
- import { Page, Header, Content } from '@backstage/core-components';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { Page, Content } from '@backstage/core-components';
4
3
  import { useLocation, Routes, Route } from 'react-router-dom';
5
4
  import { AskPage } from '../AskPage/AskPage.esm.js';
6
5
  import { QuestionPage } from '../QuestionPage/QuestionPage.esm.js';
@@ -8,7 +7,7 @@ import { TagPage } from '../TagPage/TagPage.esm.js';
8
7
  import { UserPage } from '../UserPage/UserPage.esm.js';
9
8
  import { FavoritePage } from '../FavoritePage/FavoritePage.esm.js';
10
9
  import { StatisticsPage } from '../Statistics/StatisticsPage.esm.js';
11
- import { QetaProvider, LeftMenuButton, LeftMenu, questionsRouteRef, askRouteRef, articlesRouteRef, writeRouteRef, linksRouteRef, createLinkRouteRef, favoriteQuestionsRouteRef, editQuestionRouteRef, editArticleRouteRef, editLinkRouteRef, questionRouteRef, linkRouteRef, articleRouteRef, tagsRouteRef, tagRouteRef, usersRouteRef, userRouteRef, statisticsRouteRef, collectionsRouteRef, collectionCreateRouteRef, collectionEditRouteRef, collectionRouteRef, entitiesRouteRef, entityRouteRef, moderatorRouteRef, reviewRouteRef, settingsRouteRef } from '@drodil/backstage-plugin-qeta-react';
10
+ import { useQetaConfig, QetaProvider, LeftMenuButton, LeftMenu, questionsRouteRef, askRouteRef, editQuestionRouteRef, questionRouteRef, articlesRouteRef, writeRouteRef, editArticleRouteRef, articleRouteRef, linksRouteRef, createLinkRouteRef, editLinkRouteRef, linkRouteRef, favoriteQuestionsRouteRef, tagsRouteRef, tagRouteRef, usersRouteRef, userRouteRef, statisticsRouteRef, collectionsRouteRef, collectionCreateRouteRef, collectionEditRouteRef, collectionRouteRef, entitiesRouteRef, entityRouteRef, moderatorRouteRef, reviewRouteRef, settingsRouteRef } from '@drodil/backstage-plugin-qeta-react';
12
11
  import { QuestionsPage } from '../QuestionsPage/QuestionsPage.esm.js';
13
12
  import { HomePage } from '../HomePage/HomePage.esm.js';
14
13
  import { ArticlesPage } from '../ArticlesPage/ArticlesPage.esm.js';
@@ -25,256 +24,205 @@ import { UsersPage } from '../UsersPage/UsersPage.esm.js';
25
24
  import { ModeratorPage } from '../ModeratorPage/ModeratorPage.esm.js';
26
25
  import { ReviewPage } from '../ReviewPage/ReviewPage.esm.js';
27
26
  import { SettingsPage } from '../SettingsPage/SettingsPage.esm.js';
28
- import { Container, Grid, Box, makeStyles } from '@material-ui/core';
27
+ import { useBreakpoint, Box } from '@backstage/ui';
29
28
  import { useSidebarSettings } from '../../hooks/useSidebarSettings.esm.js';
30
29
  import { RightContent } from '../RightContent/RightContent.esm.js';
30
+ import styles from './QetaPage.module.css.esm.js';
31
31
 
32
- const useStyles = makeStyles((theme) => ({
33
- sidebarColumn: {
34
- padding: 0,
35
- transition: "all 0.2s ease-in-out",
36
- flexShrink: 0,
37
- position: "sticky",
38
- top: theme.spacing(2),
39
- alignSelf: "flex-start",
40
- maxHeight: "calc(100dvh - 20px)",
41
- overflowX: "hidden",
42
- [theme.breakpoints.up("lg")]: {
43
- width: (props) => props.leftCompact ? 80 : 180,
44
- minWidth: (props) => props.leftCompact ? 80 : 180
45
- },
46
- [theme.breakpoints.down("md")]: {
47
- width: "100%",
48
- marginBottom: theme.spacing(1),
49
- position: "static",
50
- maxHeight: "none"
51
- },
52
- "-ms-overflow-style": "none",
53
- "scrollbar-width": "none",
54
- "&::-webkit-scrollbar": {
55
- display: "none"
56
- }
57
- },
58
- rightSidebarColumn: {
59
- padding: 0,
60
- transition: "all 0.2s ease-in-out",
61
- flexShrink: 0,
62
- position: "sticky",
63
- top: theme.spacing(2),
64
- alignSelf: "flex-start",
65
- maxHeight: "calc(100vh - 150px)",
66
- overflowY: "auto",
67
- overflowX: "hidden",
68
- // Hide scrollbar but keep scrolling functionality
69
- scrollbarWidth: "none",
70
- // Firefox
71
- "-ms-overflow-style": "none",
72
- // IE/Edge
73
- "&::-webkit-scrollbar": {
74
- display: "none"
75
- // Chrome/Safari/Edge
76
- },
77
- [theme.breakpoints.up("lg")]: {
78
- width: (props) => props.rightCompact ? 72 : 250,
79
- minWidth: (props) => props.rightCompact ? 72 : 250
80
- },
81
- [theme.breakpoints.down("md")]: {
82
- display: "none"
83
- }
84
- },
85
- mainColumn: {
86
- paddingRight: 0,
87
- minWidth: 0,
88
- transition: "all 0.2s ease-in-out",
89
- [theme.breakpoints.down("md")]: {
90
- paddingLeft: 0
91
- }
92
- }
93
- }));
94
32
  const QetaPage = (props) => {
95
33
  const {
96
- title = "Q&A",
97
- subtitle,
98
- headerElements,
99
34
  themeId = "tool",
100
- headerTooltip,
101
- headerType,
102
- headerTypeLink,
103
35
  introElement,
104
36
  remarkPlugins,
105
37
  rehypePlugins
106
38
  } = props ?? {};
107
39
  const { leftCompact, rightCompact, toggleLeft, toggleRight } = useSidebarSettings();
40
+ const { disabled } = useQetaConfig();
108
41
  const location = useLocation();
42
+ const { down } = useBreakpoint();
43
+ const isSmallScreen = down("lg");
109
44
  const hideRightSidebar = location.pathname.includes("/review") || location.pathname.includes("/moderate");
110
- const classes = useStyles({
111
- leftCompact,
112
- rightCompact
113
- });
114
- return /* @__PURE__ */ jsx(QetaProvider, { remarkPlugins, rehypePlugins, children: /* @__PURE__ */ jsxs(Page, { themeId, children: [
115
- /* @__PURE__ */ jsx(
116
- Header,
117
- {
118
- title,
119
- subtitle,
120
- type: headerType,
121
- typeLink: headerTypeLink,
122
- tooltip: headerTooltip,
123
- children: headerElements?.map((element, index) => /* @__PURE__ */ jsx(Fragment, { children: element }, index))
124
- }
125
- ),
126
- /* @__PURE__ */ jsxs(Content, { className: "qetaHomePage", children: [
127
- introElement,
128
- /* @__PURE__ */ jsx(Container, { maxWidth: "xl", children: /* @__PURE__ */ jsxs(
129
- Grid,
45
+ return /* @__PURE__ */ jsx(QetaProvider, { remarkPlugins, rehypePlugins, children: /* @__PURE__ */ jsx(Page, { themeId, children: /* @__PURE__ */ jsxs(Content, { className: "qetaHomePage", children: [
46
+ introElement,
47
+ /* @__PURE__ */ jsx(Box, { className: styles.container, children: /* @__PURE__ */ jsxs(Box, { className: styles.row, children: [
48
+ /* @__PURE__ */ jsx(
49
+ Box,
50
+ {
51
+ className: `${styles.sidebarColumn} ${leftCompact ? styles.sidebarColumnCompact : ""}`,
52
+ children: isSmallScreen ? /* @__PURE__ */ jsx(LeftMenuButton, {}) : /* @__PURE__ */ jsx(LeftMenu, { compact: leftCompact, onToggle: toggleLeft })
53
+ }
54
+ ),
55
+ /* @__PURE__ */ jsx(Box, { className: styles.mainColumn, children: /* @__PURE__ */ jsxs(Routes, { children: [
56
+ /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(HomePage, {}) }),
57
+ !disabled.questions && /* @__PURE__ */ jsxs(Fragment, { children: [
58
+ /* @__PURE__ */ jsx(
59
+ Route,
60
+ {
61
+ path: questionsRouteRef.path,
62
+ element: /* @__PURE__ */ jsx(QuestionsPage, {})
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsx(Route, { path: askRouteRef.path, element: /* @__PURE__ */ jsx(AskPage, {}) }),
66
+ /* @__PURE__ */ jsx(
67
+ Route,
68
+ {
69
+ path: editQuestionRouteRef.path,
70
+ element: /* @__PURE__ */ jsx(AskPage, {})
71
+ }
72
+ ),
73
+ /* @__PURE__ */ jsx(
74
+ Route,
75
+ {
76
+ path: questionRouteRef.path,
77
+ element: /* @__PURE__ */ jsx(QuestionPage, {})
78
+ }
79
+ )
80
+ ] }),
81
+ !disabled.articles && /* @__PURE__ */ jsxs(Fragment, { children: [
82
+ /* @__PURE__ */ jsx(
83
+ Route,
84
+ {
85
+ path: articlesRouteRef.path,
86
+ element: /* @__PURE__ */ jsx(ArticlesPage, {})
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsx(
90
+ Route,
91
+ {
92
+ path: writeRouteRef.path,
93
+ element: /* @__PURE__ */ jsx(WritePage, {})
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsx(
97
+ Route,
98
+ {
99
+ path: editArticleRouteRef.path,
100
+ element: /* @__PURE__ */ jsx(WritePage, {})
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsx(
104
+ Route,
105
+ {
106
+ path: articleRouteRef.path,
107
+ element: /* @__PURE__ */ jsx(ArticlePage, {})
108
+ }
109
+ )
110
+ ] }),
111
+ !disabled.links && /* @__PURE__ */ jsxs(Fragment, { children: [
112
+ /* @__PURE__ */ jsx(
113
+ Route,
114
+ {
115
+ path: linksRouteRef.path,
116
+ element: /* @__PURE__ */ jsx(LinksPage, {})
117
+ }
118
+ ),
119
+ /* @__PURE__ */ jsx(
120
+ Route,
121
+ {
122
+ path: createLinkRouteRef.path,
123
+ element: /* @__PURE__ */ jsx(CreateLinkPage, {})
124
+ }
125
+ ),
126
+ /* @__PURE__ */ jsx(
127
+ Route,
128
+ {
129
+ path: editLinkRouteRef.path,
130
+ element: /* @__PURE__ */ jsx(CreateLinkPage, {})
131
+ }
132
+ ),
133
+ /* @__PURE__ */ jsx(Route, { path: linkRouteRef.path, element: /* @__PURE__ */ jsx(LinkPage, {}) })
134
+ ] }),
135
+ /* @__PURE__ */ jsx(
136
+ Route,
137
+ {
138
+ path: favoriteQuestionsRouteRef.path,
139
+ element: /* @__PURE__ */ jsx(FavoritePage, {})
140
+ }
141
+ ),
142
+ !disabled.tags && /* @__PURE__ */ jsxs(Fragment, { children: [
143
+ /* @__PURE__ */ jsx(Route, { path: tagsRouteRef.path, element: /* @__PURE__ */ jsx(TagPage, {}) }),
144
+ /* @__PURE__ */ jsx(Route, { path: tagRouteRef.path, element: /* @__PURE__ */ jsx(TagPage, {}) })
145
+ ] }),
146
+ /* @__PURE__ */ jsx(Route, { path: usersRouteRef.path, element: /* @__PURE__ */ jsx(UsersPage, {}) }),
147
+ /* @__PURE__ */ jsx(Route, { path: userRouteRef.path, element: /* @__PURE__ */ jsx(UserPage, {}) }),
148
+ /* @__PURE__ */ jsx(
149
+ Route,
150
+ {
151
+ path: statisticsRouteRef.path,
152
+ element: /* @__PURE__ */ jsx(StatisticsPage, {})
153
+ }
154
+ ),
155
+ !disabled.collections && /* @__PURE__ */ jsxs(Fragment, { children: [
156
+ /* @__PURE__ */ jsx(
157
+ Route,
158
+ {
159
+ path: collectionsRouteRef.path,
160
+ element: /* @__PURE__ */ jsx(CollectionsPage, {})
161
+ }
162
+ ),
163
+ /* @__PURE__ */ jsx(
164
+ Route,
165
+ {
166
+ path: collectionCreateRouteRef.path,
167
+ element: /* @__PURE__ */ jsx(CollectionCreatePage, {})
168
+ }
169
+ ),
170
+ /* @__PURE__ */ jsx(
171
+ Route,
172
+ {
173
+ path: collectionEditRouteRef.path,
174
+ element: /* @__PURE__ */ jsx(CollectionCreatePage, {})
175
+ }
176
+ ),
177
+ /* @__PURE__ */ jsx(
178
+ Route,
179
+ {
180
+ path: collectionRouteRef.path,
181
+ element: /* @__PURE__ */ jsx(CollectionPage, {})
182
+ }
183
+ )
184
+ ] }),
185
+ !disabled.entities && /* @__PURE__ */ jsxs(Fragment, { children: [
186
+ /* @__PURE__ */ jsx(
187
+ Route,
188
+ {
189
+ path: entitiesRouteRef.path,
190
+ element: /* @__PURE__ */ jsx(EntityPage, {})
191
+ }
192
+ ),
193
+ /* @__PURE__ */ jsx(
194
+ Route,
195
+ {
196
+ path: entityRouteRef.path,
197
+ element: /* @__PURE__ */ jsx(EntityPage, {})
198
+ }
199
+ )
200
+ ] }),
201
+ /* @__PURE__ */ jsx(
202
+ Route,
203
+ {
204
+ path: moderatorRouteRef.path,
205
+ element: /* @__PURE__ */ jsx(ModeratorPage, {})
206
+ }
207
+ ),
208
+ /* @__PURE__ */ jsx(Route, { path: reviewRouteRef.path, element: /* @__PURE__ */ jsx(ReviewPage, {}) }),
209
+ /* @__PURE__ */ jsx(
210
+ Route,
211
+ {
212
+ path: settingsRouteRef.path,
213
+ element: /* @__PURE__ */ jsx(SettingsPage, {})
214
+ }
215
+ )
216
+ ] }) }),
217
+ !hideRightSidebar && /* @__PURE__ */ jsx(
218
+ Box,
130
219
  {
131
- container: true,
132
- spacing: 3,
133
- justifyContent: "flex-start",
134
- alignItems: "flex-start",
135
- children: [
136
- /* @__PURE__ */ jsxs(Grid, { item: true, className: classes.sidebarColumn, children: [
137
- /* @__PURE__ */ jsx(Box, { display: { xs: "block", lg: "none" }, children: /* @__PURE__ */ jsx(LeftMenuButton, {}) }),
138
- /* @__PURE__ */ jsx(Box, { display: { xs: "none", lg: "block" }, children: /* @__PURE__ */ jsx(LeftMenu, { compact: leftCompact, onToggle: toggleLeft }) })
139
- ] }),
140
- /* @__PURE__ */ jsx(Grid, { item: true, xs: true, className: classes.mainColumn, children: /* @__PURE__ */ jsxs(Routes, { children: [
141
- /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(HomePage, {}) }),
142
- /* @__PURE__ */ jsx(
143
- Route,
144
- {
145
- path: questionsRouteRef.path,
146
- element: /* @__PURE__ */ jsx(QuestionsPage, {})
147
- }
148
- ),
149
- /* @__PURE__ */ jsx(Route, { path: askRouteRef.path, element: /* @__PURE__ */ jsx(AskPage, {}) }),
150
- /* @__PURE__ */ jsx(
151
- Route,
152
- {
153
- path: articlesRouteRef.path,
154
- element: /* @__PURE__ */ jsx(ArticlesPage, {})
155
- }
156
- ),
157
- /* @__PURE__ */ jsx(Route, { path: writeRouteRef.path, element: /* @__PURE__ */ jsx(WritePage, {}) }),
158
- /* @__PURE__ */ jsx(Route, { path: linksRouteRef.path, element: /* @__PURE__ */ jsx(LinksPage, {}) }),
159
- /* @__PURE__ */ jsx(
160
- Route,
161
- {
162
- path: createLinkRouteRef.path,
163
- element: /* @__PURE__ */ jsx(CreateLinkPage, {})
164
- }
165
- ),
166
- /* @__PURE__ */ jsx(
167
- Route,
168
- {
169
- path: favoriteQuestionsRouteRef.path,
170
- element: /* @__PURE__ */ jsx(FavoritePage, {})
171
- }
172
- ),
173
- /* @__PURE__ */ jsx(
174
- Route,
175
- {
176
- path: editQuestionRouteRef.path,
177
- element: /* @__PURE__ */ jsx(AskPage, {})
178
- }
179
- ),
180
- /* @__PURE__ */ jsx(
181
- Route,
182
- {
183
- path: editArticleRouteRef.path,
184
- element: /* @__PURE__ */ jsx(WritePage, {})
185
- }
186
- ),
187
- /* @__PURE__ */ jsx(
188
- Route,
189
- {
190
- path: editLinkRouteRef.path,
191
- element: /* @__PURE__ */ jsx(CreateLinkPage, {})
192
- }
193
- ),
194
- /* @__PURE__ */ jsx(
195
- Route,
196
- {
197
- path: questionRouteRef.path,
198
- element: /* @__PURE__ */ jsx(QuestionPage, {})
199
- }
200
- ),
201
- /* @__PURE__ */ jsx(Route, { path: linkRouteRef.path, element: /* @__PURE__ */ jsx(LinkPage, {}) }),
202
- /* @__PURE__ */ jsx(
203
- Route,
204
- {
205
- path: articleRouteRef.path,
206
- element: /* @__PURE__ */ jsx(ArticlePage, {})
207
- }
208
- ),
209
- /* @__PURE__ */ jsx(Route, { path: tagsRouteRef.path, element: /* @__PURE__ */ jsx(TagPage, {}) }),
210
- /* @__PURE__ */ jsx(Route, { path: tagRouteRef.path, element: /* @__PURE__ */ jsx(TagPage, {}) }),
211
- /* @__PURE__ */ jsx(Route, { path: usersRouteRef.path, element: /* @__PURE__ */ jsx(UsersPage, {}) }),
212
- /* @__PURE__ */ jsx(Route, { path: userRouteRef.path, element: /* @__PURE__ */ jsx(UserPage, {}) }),
213
- /* @__PURE__ */ jsx(
214
- Route,
215
- {
216
- path: statisticsRouteRef.path,
217
- element: /* @__PURE__ */ jsx(StatisticsPage, {})
218
- }
219
- ),
220
- /* @__PURE__ */ jsx(
221
- Route,
222
- {
223
- path: collectionsRouteRef.path,
224
- element: /* @__PURE__ */ jsx(CollectionsPage, {})
225
- }
226
- ),
227
- /* @__PURE__ */ jsx(
228
- Route,
229
- {
230
- path: collectionCreateRouteRef.path,
231
- element: /* @__PURE__ */ jsx(CollectionCreatePage, {})
232
- }
233
- ),
234
- /* @__PURE__ */ jsx(
235
- Route,
236
- {
237
- path: collectionEditRouteRef.path,
238
- element: /* @__PURE__ */ jsx(CollectionCreatePage, {})
239
- }
240
- ),
241
- /* @__PURE__ */ jsx(
242
- Route,
243
- {
244
- path: collectionRouteRef.path,
245
- element: /* @__PURE__ */ jsx(CollectionPage, {})
246
- }
247
- ),
248
- /* @__PURE__ */ jsx(
249
- Route,
250
- {
251
- path: entitiesRouteRef.path,
252
- element: /* @__PURE__ */ jsx(EntityPage, {})
253
- }
254
- ),
255
- /* @__PURE__ */ jsx(Route, { path: entityRouteRef.path, element: /* @__PURE__ */ jsx(EntityPage, {}) }),
256
- /* @__PURE__ */ jsx(
257
- Route,
258
- {
259
- path: moderatorRouteRef.path,
260
- element: /* @__PURE__ */ jsx(ModeratorPage, {})
261
- }
262
- ),
263
- /* @__PURE__ */ jsx(Route, { path: reviewRouteRef.path, element: /* @__PURE__ */ jsx(ReviewPage, {}) }),
264
- /* @__PURE__ */ jsx(
265
- Route,
266
- {
267
- path: settingsRouteRef.path,
268
- element: /* @__PURE__ */ jsx(SettingsPage, {})
269
- }
270
- )
271
- ] }) }),
272
- !hideRightSidebar && /* @__PURE__ */ jsx(Grid, { item: true, className: classes.rightSidebarColumn, children: /* @__PURE__ */ jsx(RightContent, { compact: rightCompact, onToggle: toggleRight }) })
273
- ]
220
+ className: `${styles.rightSidebarColumn} ${rightCompact ? styles.rightSidebarColumnCompact : ""}`,
221
+ children: /* @__PURE__ */ jsx(RightContent, { compact: rightCompact, onToggle: toggleRight })
274
222
  }
275
- ) })
276
- ] })
277
- ] }) });
223
+ )
224
+ ] }) })
225
+ ] }) }) });
278
226
  };
279
227
 
280
228
  export { QetaPage };