@drodil/backstage-plugin-qeta-react 3.48.2 → 3.49.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 (143) hide show
  1. package/dist/components/AIAnswerCard/AIAnswerCard.esm.js +4 -7
  2. package/dist/components/AIAnswerCard/AIAnswerCard.esm.js.map +1 -1
  3. package/dist/components/AnswerForm/AnswerForm.esm.js +12 -6
  4. package/dist/components/AnswerForm/AnswerForm.esm.js.map +1 -1
  5. package/dist/components/AnswersContainer/AnswerList.esm.js +2 -2
  6. package/dist/components/AnswersContainer/AnswerList.esm.js.map +1 -1
  7. package/dist/components/AnswersContainer/AnswerListItem.esm.js +162 -98
  8. package/dist/components/AnswersContainer/AnswerListItem.esm.js.map +1 -1
  9. package/dist/components/ArticleContent/ArticleContent.esm.js +1 -2
  10. package/dist/components/ArticleContent/ArticleContent.esm.js.map +1 -1
  11. package/dist/components/AuthorBox/AuthorBox.esm.js +3 -3
  12. package/dist/components/AuthorBox/AuthorBox.esm.js.map +1 -1
  13. package/dist/components/Buttons/AddToCollectionButton.esm.js +3 -11
  14. package/dist/components/Buttons/AddToCollectionButton.esm.js.map +1 -1
  15. package/dist/components/Buttons/AskQuestionButton.esm.js +5 -8
  16. package/dist/components/Buttons/AskQuestionButton.esm.js.map +1 -1
  17. package/dist/components/Buttons/ButtonContainer.esm.js +2 -4
  18. package/dist/components/Buttons/ButtonContainer.esm.js.map +1 -1
  19. package/dist/components/Buttons/ContentHeaderButton.esm.js +27 -0
  20. package/dist/components/Buttons/ContentHeaderButton.esm.js.map +1 -0
  21. package/dist/components/Buttons/CreateCollectionButton.esm.js +3 -5
  22. package/dist/components/Buttons/CreateCollectionButton.esm.js.map +1 -1
  23. package/dist/components/Buttons/CreateLinkButton.esm.js +5 -8
  24. package/dist/components/Buttons/CreateLinkButton.esm.js.map +1 -1
  25. package/dist/components/Buttons/OpenLinkButton.esm.js +9 -2
  26. package/dist/components/Buttons/OpenLinkButton.esm.js.map +1 -1
  27. package/dist/components/Buttons/WriteArticleButton.esm.js +5 -8
  28. package/dist/components/Buttons/WriteArticleButton.esm.js.map +1 -1
  29. package/dist/components/CollectionsGrid/CollectionsGrid.esm.js +1 -0
  30. package/dist/components/CollectionsGrid/CollectionsGrid.esm.js.map +1 -1
  31. package/dist/components/CollectionsGrid/CollectionsGridContent.esm.js +3 -13
  32. package/dist/components/CollectionsGrid/CollectionsGridContent.esm.js.map +1 -1
  33. package/dist/components/CollectionsGrid/CollectionsGridItem.esm.js +157 -55
  34. package/dist/components/CollectionsGrid/CollectionsGridItem.esm.js.map +1 -1
  35. package/dist/components/CommentSection/CommentForm.esm.js +49 -20
  36. package/dist/components/CommentSection/CommentForm.esm.js.map +1 -1
  37. package/dist/components/CommentSection/CommentListItem.esm.js +38 -32
  38. package/dist/components/CommentSection/CommentListItem.esm.js.map +1 -1
  39. package/dist/components/CommentSection/CommentSection.esm.js +3 -2
  40. package/dist/components/CommentSection/CommentSection.esm.js.map +1 -1
  41. package/dist/components/ContentHeader/ContentHeader.esm.js +83 -0
  42. package/dist/components/ContentHeader/ContentHeader.esm.js.map +1 -0
  43. package/dist/components/ContentHeaderCard/ContentHeaderCard.esm.js +151 -0
  44. package/dist/components/ContentHeaderCard/ContentHeaderCard.esm.js.map +1 -0
  45. package/dist/components/EntitiesGrid/EntitiesGrid.esm.js +63 -23
  46. package/dist/components/EntitiesGrid/EntitiesGrid.esm.js.map +1 -1
  47. package/dist/components/EntitiesGrid/EntitiesGridContent.esm.js +1 -1
  48. package/dist/components/EntitiesGrid/EntitiesGridContent.esm.js.map +1 -1
  49. package/dist/components/EntitiesGrid/EntitiesGridItem.esm.js +103 -49
  50. package/dist/components/EntitiesGrid/EntitiesGridItem.esm.js.map +1 -1
  51. package/dist/components/FilterPanel/DateRangeFilter.esm.js +5 -5
  52. package/dist/components/FilterPanel/DateRangeFilter.esm.js.map +1 -1
  53. package/dist/components/FilterPanel/FilterPanel.esm.js +171 -96
  54. package/dist/components/FilterPanel/FilterPanel.esm.js.map +1 -1
  55. package/dist/components/FollowedLists/FollowedCollectionsList.esm.js +66 -4
  56. package/dist/components/FollowedLists/FollowedCollectionsList.esm.js.map +1 -1
  57. package/dist/components/FollowedLists/FollowedEntitiesList.esm.js +67 -6
  58. package/dist/components/FollowedLists/FollowedEntitiesList.esm.js.map +1 -1
  59. package/dist/components/FollowedLists/FollowedTagsList.esm.js +66 -5
  60. package/dist/components/FollowedLists/FollowedTagsList.esm.js.map +1 -1
  61. package/dist/components/FollowedLists/FollowedUsersList.esm.js +72 -10
  62. package/dist/components/FollowedLists/FollowedUsersList.esm.js.map +1 -1
  63. package/dist/components/GridItemStyles/useGridItemStyles.esm.js +16 -6
  64. package/dist/components/GridItemStyles/useGridItemStyles.esm.js.map +1 -1
  65. package/dist/components/HeaderImageInput/HeaderImageInput.esm.js +1 -1
  66. package/dist/components/HeaderImageInput/HeaderImageInput.esm.js.map +1 -1
  67. package/dist/components/HomePageCards/ImpactCard.esm.js +95 -31
  68. package/dist/components/HomePageCards/ImpactCard.esm.js.map +1 -1
  69. package/dist/components/LeftMenu/LeftMenu.esm.js +237 -121
  70. package/dist/components/LeftMenu/LeftMenu.esm.js.map +1 -1
  71. package/dist/components/MarkdownEditor/MarkdownEditor.esm.js +7 -1
  72. package/dist/components/MarkdownEditor/MarkdownEditor.esm.js.map +1 -1
  73. package/dist/components/MarkdownRenderer/MarkdownRenderer.esm.js +2 -2
  74. package/dist/components/MarkdownRenderer/MarkdownRenderer.esm.js.map +1 -1
  75. package/dist/components/PostForm/EntitiesInput.esm.js +6 -1
  76. package/dist/components/PostForm/EntitiesInput.esm.js.map +1 -1
  77. package/dist/components/PostForm/PostForm.esm.js +24 -10
  78. package/dist/components/PostForm/PostForm.esm.js.map +1 -1
  79. package/dist/components/PostForm/TagInput.esm.js +4 -3
  80. package/dist/components/PostForm/TagInput.esm.js.map +1 -1
  81. package/dist/components/PostHighlightList/PostHighlightList.esm.js +51 -31
  82. package/dist/components/PostHighlightList/PostHighlightList.esm.js.map +1 -1
  83. package/dist/components/PostsContainer/PostList.esm.js +1 -1
  84. package/dist/components/PostsContainer/PostList.esm.js.map +1 -1
  85. package/dist/components/PostsContainer/PostListItem.esm.js +125 -133
  86. package/dist/components/PostsContainer/PostListItem.esm.js.map +1 -1
  87. package/dist/components/PostsContainer/PostsContainer.esm.js +1 -1
  88. package/dist/components/PostsGrid/PostsGrid.esm.js +2 -2
  89. package/dist/components/PostsGrid/PostsGrid.esm.js.map +1 -1
  90. package/dist/components/PostsGrid/PostsGridContent.esm.js +1 -2
  91. package/dist/components/PostsGrid/PostsGridContent.esm.js.map +1 -1
  92. package/dist/components/PostsGrid/PostsGridItem.esm.js +123 -53
  93. package/dist/components/PostsGrid/PostsGridItem.esm.js.map +1 -1
  94. package/dist/components/QetaContext/QetaContext.esm.js +26 -0
  95. package/dist/components/QetaContext/QetaContext.esm.js.map +1 -0
  96. package/dist/components/StatsChart/StatsChart.esm.js +143 -103
  97. package/dist/components/StatsChart/StatsChart.esm.js.map +1 -1
  98. package/dist/components/SuggestionsCard/SuggestionsCard.esm.js +51 -10
  99. package/dist/components/SuggestionsCard/SuggestionsCard.esm.js.map +1 -1
  100. package/dist/components/TagsAndEntities/EntityChip.esm.js +8 -7
  101. package/dist/components/TagsAndEntities/EntityChip.esm.js.map +1 -1
  102. package/dist/components/TagsAndEntities/TagChip.esm.js +11 -7
  103. package/dist/components/TagsAndEntities/TagChip.esm.js.map +1 -1
  104. package/dist/components/TagsAndEntities/UserChip.esm.js +7 -41
  105. package/dist/components/TagsAndEntities/UserChip.esm.js.map +1 -1
  106. package/dist/components/TagsGrid/TagGridItem.esm.js +221 -113
  107. package/dist/components/TagsGrid/TagGridItem.esm.js.map +1 -1
  108. package/dist/components/TagsGrid/TagsGrid.esm.js +93 -53
  109. package/dist/components/TagsGrid/TagsGrid.esm.js.map +1 -1
  110. package/dist/components/TagsGrid/TagsGridContent.esm.js +1 -1
  111. package/dist/components/TagsGrid/TagsGridContent.esm.js.map +1 -1
  112. package/dist/components/TemplateList/TemplateList.esm.js +1 -1
  113. package/dist/components/TemplateList/TemplateList.esm.js.map +1 -1
  114. package/dist/components/TopRankingUsersCard/TopRankingUsersCard.esm.js +21 -6
  115. package/dist/components/TopRankingUsersCard/TopRankingUsersCard.esm.js.map +1 -1
  116. package/dist/components/UsersGrid/UsersGrid.esm.js +53 -15
  117. package/dist/components/UsersGrid/UsersGrid.esm.js.map +1 -1
  118. package/dist/components/UsersGrid/UsersGridContent.esm.js +1 -1
  119. package/dist/components/UsersGrid/UsersGridContent.esm.js.map +1 -1
  120. package/dist/components/UsersGrid/UsersGridItem.esm.js +143 -77
  121. package/dist/components/UsersGrid/UsersGridItem.esm.js.map +1 -1
  122. package/dist/components/Utility/ClickableLink.esm.js +28 -0
  123. package/dist/components/Utility/ClickableLink.esm.js.map +1 -0
  124. package/dist/components/Utility/QetaGridHeader.esm.js +1 -0
  125. package/dist/components/Utility/QetaGridHeader.esm.js.map +1 -1
  126. package/dist/components/Utility/VoteButtonContainer.esm.js +10 -5
  127. package/dist/components/Utility/VoteButtonContainer.esm.js.map +1 -1
  128. package/dist/index.d.ts +151 -33
  129. package/dist/index.esm.js +7 -4
  130. package/dist/index.esm.js.map +1 -1
  131. package/dist/translation.esm.js +65 -11
  132. package/dist/translation.esm.js.map +1 -1
  133. package/package.json +2 -2
  134. package/dist/components/CollectionCard/CollectionCard.esm.js +0 -81
  135. package/dist/components/CollectionCard/CollectionCard.esm.js.map +0 -1
  136. package/dist/components/ExtensionContext/ExtensionContext.esm.js +0 -23
  137. package/dist/components/ExtensionContext/ExtensionContext.esm.js.map +0 -1
  138. package/dist/components/SummaryStatsGrid/SummaryStatsGrid.esm.js +0 -154
  139. package/dist/components/SummaryStatsGrid/SummaryStatsGrid.esm.js.map +0 -1
  140. package/dist/components/TagsAndEntities/CollectionChip.esm.js +0 -92
  141. package/dist/components/TagsAndEntities/CollectionChip.esm.js.map +0 -1
  142. package/dist/components/Utility/SmallAvatar.esm.js +0 -18
  143. package/dist/components/Utility/SmallAvatar.esm.js.map +0 -1
@@ -1,124 +1,190 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useRouteRef } from '@backstage/core-plugin-api';
3
- import { useNavigate } from 'react-router-dom';
4
3
  import { useEntityPresentation } from '@backstage/plugin-catalog-react';
5
4
  import { userRouteRef } from '../../routes.esm.js';
6
- import { parseEntityRef } from '@backstage/catalog-model';
7
5
  import '../../api.esm.js';
8
6
  import 'react-use';
9
7
  import 'react';
10
8
  import { useEntityAuthor } from '../../hooks/useEntityAuthor.esm.js';
11
- import { useUserFollow } from '../../hooks/useUserFollow.esm.js';
12
9
  import { useIdentityApi } from '../../hooks/useIdentityApi.esm.js';
13
10
  import '@backstage/plugin-permission-react';
14
11
  import '@drodil/backstage-plugin-qeta-common';
15
12
  import '@backstage/plugin-permission-common';
16
- import { Grid, Card, CardActionArea, CardHeader, Tooltip, Avatar, CardContent, Typography, CardActions, Button } from '@material-ui/core';
17
- import VisibilityOff from '@material-ui/icons/VisibilityOff';
13
+ import { makeStyles, Grid, Card, Box, Avatar, Tooltip, Typography, CardContent } from '@material-ui/core';
14
+ import { UserFollowButton } from '../Buttons/UserFollowButton.esm.js';
18
15
  import Visibility from '@material-ui/icons/Visibility';
16
+ import QuestionAnswerIcon from '@material-ui/icons/QuestionAnswer';
17
+ import ThumbUp from '@material-ui/icons/ThumbUp';
18
+ import CheckCircle from '@material-ui/icons/CheckCircle';
19
+ import DescriptionIcon from '@material-ui/icons/Description';
20
+ import LinkIcon from '@material-ui/icons/Link';
19
21
  import { qetaTranslationRef } from '../../translation.esm.js';
20
22
  import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
21
23
  import useGridItemStyles from '../GridItemStyles/useGridItemStyles.esm.js';
24
+ import { ClickableLink } from '../Utility/ClickableLink.esm.js';
22
25
 
26
+ const useStyles = makeStyles((theme) => ({
27
+ statsGrid: {
28
+ marginTop: "auto"
29
+ },
30
+ statItem: {
31
+ padding: theme.spacing(1),
32
+ borderRadius: theme.shape.borderRadius,
33
+ width: "100%",
34
+ height: "100%",
35
+ justifyContent: "center"
36
+ },
37
+ flexColumn: {
38
+ display: "flex",
39
+ flexDirection: "column"
40
+ }
41
+ }));
23
42
  const UsersGridItem = (props) => {
24
43
  const { user } = props;
25
44
  const classes = useGridItemStyles();
45
+ const localClasses = useStyles();
26
46
  const userRoute = useRouteRef(userRouteRef);
27
- const navigate = useNavigate();
28
47
  const { t } = useTranslationRef(qetaTranslationRef);
29
- const compound = parseEntityRef(user.userRef);
30
- const { primaryTitle, Icon } = useEntityPresentation(compound);
48
+ const { primaryTitle, Icon } = useEntityPresentation(user.userRef);
31
49
  const {
32
50
  name,
33
51
  initials,
34
52
  user: userEntity,
35
53
  secondaryTitle
36
54
  } = useEntityAuthor(user);
37
- const users = useUserFollow();
38
55
  const {
39
56
  value: currentUser,
40
57
  loading: loadingUser,
41
58
  error: userError
42
59
  } = useIdentityApi((api) => api.getBackstageIdentity(), []);
43
- return /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 4, xl: 3, children: /* @__PURE__ */ jsxs(Card, { className: classes.card, variant: "outlined", children: [
60
+ const href = `${userRoute()}/${user.userRef}`;
61
+ return /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 6, xl: 4, children: /* @__PURE__ */ jsx(Card, { className: classes.card, children: /* @__PURE__ */ jsxs(ClickableLink, { href, ariaLabel: primaryTitle, children: [
44
62
  /* @__PURE__ */ jsxs(
45
- CardActionArea,
63
+ Box,
46
64
  {
47
- onClick: () => navigate(`${userRoute()}/${user.userRef}`),
65
+ className: classes.cardHeader,
66
+ display: "flex",
67
+ alignItems: "center",
48
68
  children: [
49
- /* @__PURE__ */ jsx(
50
- CardHeader,
69
+ Icon && /* @__PURE__ */ jsx(
70
+ Avatar,
51
71
  {
52
- className: classes.cardHeader,
53
- title: /* @__PURE__ */ jsx(Tooltip, { title: secondaryTitle ?? "", arrow: true, children: /* @__PURE__ */ jsx("span", { className: classes.ellipsis, children: primaryTitle }) }),
54
- titleTypographyProps: { variant: "h6" },
55
- avatar: Icon ? /* @__PURE__ */ jsx(
56
- Avatar,
57
- {
58
- src: userEntity?.spec?.profile?.picture,
59
- className: "avatar",
60
- alt: name,
61
- variant: "rounded",
62
- children: initials
63
- }
64
- ) : null
72
+ src: userEntity?.spec?.profile?.picture,
73
+ className: "avatar",
74
+ alt: name,
75
+ variant: "rounded",
76
+ style: { marginRight: 16 },
77
+ children: initials
65
78
  }
66
79
  ),
67
- /* @__PURE__ */ jsx(CardContent, { className: classes.cardContent, children: /* @__PURE__ */ jsxs(Typography, { className: classes.stats, variant: "caption", children: [
68
- t("common.posts", {
69
- count: user.totalQuestions,
70
- itemType: "question"
71
- }),
72
- " \xB7 ",
73
- t("common.answersCount", {
74
- count: user.totalAnswers
75
- }),
76
- " \xB7 ",
77
- t("common.posts", {
78
- count: user.totalArticles,
79
- itemType: "article"
80
- }),
81
- " \xB7 ",
82
- t("common.posts", {
83
- count: user.totalLinks,
84
- itemType: "link"
85
- }),
86
- " \xB7 ",
87
- t("common.posts", {
88
- count: user.totalComments,
89
- itemType: "comment"
90
- }),
91
- " \xB7 ",
92
- t("common.votesCount", {
93
- count: user.totalVotes
94
- }),
95
- " \xB7 ",
96
- t("common.viewsShort", {
97
- count: user.totalViews
98
- })
99
- ] }) })
80
+ /* @__PURE__ */ jsx(Box, { flex: 1, minWidth: 0, children: /* @__PURE__ */ jsx(Tooltip, { title: secondaryTitle ?? "", arrow: true, children: /* @__PURE__ */ jsx(Typography, { variant: "h6", noWrap: true, children: primaryTitle }) }) }),
81
+ !loadingUser && !userError && currentUser?.userEntityRef !== user.userRef ? /* @__PURE__ */ jsx(
82
+ Box,
83
+ {
84
+ flexShrink: 0,
85
+ onClick: (e) => {
86
+ e.preventDefault();
87
+ e.stopPropagation();
88
+ },
89
+ children: /* @__PURE__ */ jsx(UserFollowButton, { userRef: user.userRef })
90
+ }
91
+ ) : null
100
92
  ]
101
93
  }
102
94
  ),
103
- !loadingUser && !userError && currentUser?.userEntityRef !== user.userRef && /* @__PURE__ */ jsx(CardActions, { className: classes.cardActions, children: /* @__PURE__ */ jsx(Grid, { container: true, justifyContent: "center", children: /* @__PURE__ */ jsx(Grid, { item: true, children: /* @__PURE__ */ jsx(Tooltip, { title: t("userButton.tooltip"), children: /* @__PURE__ */ jsx(
104
- Button,
95
+ /* @__PURE__ */ jsx(
96
+ CardContent,
105
97
  {
106
- className: classes.actionButton,
107
- size: "small",
108
- variant: "outlined",
109
- color: users.isFollowingUser(user.userRef) ? "secondary" : "primary",
110
- onClick: () => {
111
- if (users.isFollowingUser(user.userRef)) {
112
- users.unfollowUser(user.userRef);
113
- } else {
114
- users.followUser(user.userRef);
115
- }
116
- },
117
- startIcon: users.isFollowingUser(user.userRef) ? /* @__PURE__ */ jsx(VisibilityOff, {}) : /* @__PURE__ */ jsx(Visibility, {}),
118
- children: users.isFollowingUser(user.userRef) ? t("userButton.unfollow") : t("userButton.follow")
98
+ className: `${classes.cardContent} ${localClasses.flexColumn}`,
99
+ children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 1, className: localClasses.statsGrid, children: [
100
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
101
+ Box,
102
+ {
103
+ display: "flex",
104
+ flexDirection: "column",
105
+ alignItems: "center",
106
+ className: localClasses.statItem,
107
+ children: [
108
+ /* @__PURE__ */ jsx(QuestionAnswerIcon, { fontSize: "small", color: "disabled" }),
109
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalQuestions }),
110
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.questions") })
111
+ ]
112
+ }
113
+ ) }),
114
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
115
+ Box,
116
+ {
117
+ display: "flex",
118
+ flexDirection: "column",
119
+ alignItems: "center",
120
+ className: localClasses.statItem,
121
+ children: [
122
+ /* @__PURE__ */ jsx(CheckCircle, { fontSize: "small", color: "disabled" }),
123
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalAnswers }),
124
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.answers") })
125
+ ]
126
+ }
127
+ ) }),
128
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
129
+ Box,
130
+ {
131
+ display: "flex",
132
+ flexDirection: "column",
133
+ alignItems: "center",
134
+ className: localClasses.statItem,
135
+ children: [
136
+ /* @__PURE__ */ jsx(ThumbUp, { fontSize: "small", color: "disabled" }),
137
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalVotes }),
138
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.votes") })
139
+ ]
140
+ }
141
+ ) }),
142
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
143
+ Box,
144
+ {
145
+ display: "flex",
146
+ flexDirection: "column",
147
+ alignItems: "center",
148
+ className: localClasses.statItem,
149
+ children: [
150
+ /* @__PURE__ */ jsx(DescriptionIcon, { fontSize: "small", color: "disabled" }),
151
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalArticles }),
152
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.articles") })
153
+ ]
154
+ }
155
+ ) }),
156
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
157
+ Box,
158
+ {
159
+ display: "flex",
160
+ flexDirection: "column",
161
+ alignItems: "center",
162
+ className: localClasses.statItem,
163
+ children: [
164
+ /* @__PURE__ */ jsx(Visibility, { fontSize: "small", color: "disabled" }),
165
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalViews }),
166
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.views") })
167
+ ]
168
+ }
169
+ ) }),
170
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 4, children: /* @__PURE__ */ jsxs(
171
+ Box,
172
+ {
173
+ display: "flex",
174
+ flexDirection: "column",
175
+ alignItems: "center",
176
+ className: localClasses.statItem,
177
+ children: [
178
+ /* @__PURE__ */ jsx(LinkIcon, { fontSize: "small", color: "disabled" }),
179
+ /* @__PURE__ */ jsx(Typography, { variant: "body2", style: { fontWeight: 600 }, children: user.totalLinks }),
180
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "textSecondary", children: t("common.links") })
181
+ ]
182
+ }
183
+ ) })
184
+ ] })
119
185
  }
120
- ) }) }) }) })
121
- ] }) });
186
+ )
187
+ ] }) }) });
122
188
  };
123
189
 
124
190
  export { UsersGridItem };
@@ -1 +1 @@
1
- {"version":3,"file":"UsersGridItem.esm.js","sources":["../../../src/components/UsersGrid/UsersGridItem.tsx"],"sourcesContent":["import { UserResponse } from '@drodil/backstage-plugin-qeta-common';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { useNavigate } from 'react-router-dom';\nimport { useEntityPresentation } from '@backstage/plugin-catalog-react';\nimport { userRouteRef } from '../../routes';\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { useIdentityApi, useUserFollow } from '../../hooks';\nimport { useEntityAuthor } from '../../hooks/useEntityAuthor';\nimport {\n Avatar,\n Button,\n Card,\n CardActionArea,\n CardActions,\n CardContent,\n CardHeader,\n Grid,\n Tooltip,\n Typography,\n} from '@material-ui/core';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\nimport Visibility from '@material-ui/icons/Visibility';\nimport { qetaTranslationRef } from '../../translation.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport useGridItemStyles from '../GridItemStyles/useGridItemStyles';\n\nexport const UsersGridItem = (props: { user: UserResponse }) => {\n const { user } = props;\n const classes = useGridItemStyles();\n const userRoute = useRouteRef(userRouteRef);\n const navigate = useNavigate();\n const { t } = useTranslationRef(qetaTranslationRef);\n const compound = parseEntityRef(user.userRef);\n const { primaryTitle, Icon } = useEntityPresentation(compound);\n const {\n name,\n initials,\n user: userEntity,\n secondaryTitle,\n } = useEntityAuthor(user);\n const users = useUserFollow();\n const {\n value: currentUser,\n loading: loadingUser,\n error: userError,\n } = useIdentityApi(api => api.getBackstageIdentity(), []);\n\n return (\n <Grid item xs={12} sm={6} md={4} xl={3}>\n <Card className={classes.card} variant=\"outlined\">\n <CardActionArea\n onClick={() => navigate(`${userRoute()}/${user.userRef}`)}\n >\n <CardHeader\n className={classes.cardHeader}\n title={\n <Tooltip title={secondaryTitle ?? ''} arrow>\n <span className={classes.ellipsis}>{primaryTitle}</span>\n </Tooltip>\n }\n titleTypographyProps={{ variant: 'h6' }}\n avatar={\n Icon ? (\n <Avatar\n src={userEntity?.spec?.profile?.picture}\n className=\"avatar\"\n alt={name}\n variant=\"rounded\"\n >\n {initials}\n </Avatar>\n ) : null\n }\n />\n <CardContent className={classes.cardContent}>\n <Typography className={classes.stats} variant=\"caption\">\n {t('common.posts', {\n count: user.totalQuestions,\n itemType: 'question',\n })}\n {' · '}\n {t('common.answersCount', {\n count: user.totalAnswers,\n })}\n {' · '}\n {t('common.posts', {\n count: user.totalArticles,\n itemType: 'article',\n })}\n {' · '}\n {t('common.posts', {\n count: user.totalLinks,\n itemType: 'link',\n })}\n {' · '}\n {t('common.posts', {\n count: user.totalComments,\n itemType: 'comment',\n })}\n {' · '}\n {t('common.votesCount', {\n count: user.totalVotes,\n })}\n {' · '}\n {t('common.viewsShort', {\n count: user.totalViews,\n })}\n </Typography>\n </CardContent>\n </CardActionArea>\n {!loadingUser &&\n !userError &&\n currentUser?.userEntityRef !== user.userRef && (\n <CardActions className={classes.cardActions}>\n <Grid container justifyContent=\"center\">\n <Grid item>\n <Tooltip title={t('userButton.tooltip')}>\n <Button\n className={classes.actionButton}\n size=\"small\"\n variant=\"outlined\"\n color={\n users.isFollowingUser(user.userRef)\n ? 'secondary'\n : 'primary'\n }\n onClick={() => {\n if (users.isFollowingUser(user.userRef)) {\n users.unfollowUser(user.userRef);\n } else {\n users.followUser(user.userRef);\n }\n }}\n startIcon={\n users.isFollowingUser(user.userRef) ? (\n <VisibilityOff />\n ) : (\n <Visibility />\n )\n }\n >\n {users.isFollowingUser(user.userRef)\n ? t('userButton.unfollow')\n : t('userButton.follow')}\n </Button>\n </Tooltip>\n </Grid>\n </Grid>\n </CardActions>\n )}\n </Card>\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsersGridItem.esm.js","sources":["../../../src/components/UsersGrid/UsersGridItem.tsx"],"sourcesContent":["import { UserResponse } from '@drodil/backstage-plugin-qeta-common';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { useEntityPresentation } from '@backstage/plugin-catalog-react';\nimport { userRouteRef } from '../../routes';\nimport { useIdentityApi } from '../../hooks';\nimport { useEntityAuthor } from '../../hooks/useEntityAuthor';\nimport {\n Avatar,\n Box,\n Card,\n CardContent,\n Grid,\n makeStyles,\n Tooltip,\n Typography,\n} from '@material-ui/core';\nimport { UserFollowButton } from '../Buttons/UserFollowButton';\nimport Visibility from '@material-ui/icons/Visibility';\nimport QuestionAnswerIcon from '@material-ui/icons/QuestionAnswer';\nimport ThumbUpIcon from '@material-ui/icons/ThumbUp';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport LinkIcon from '@material-ui/icons/Link';\nimport { qetaTranslationRef } from '../../translation.ts';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport useGridItemStyles from '../GridItemStyles/useGridItemStyles';\nimport { ClickableLink } from '../Utility/ClickableLink';\n\nconst useStyles = makeStyles(theme => ({\n statsGrid: {\n marginTop: 'auto',\n },\n statItem: {\n padding: theme.spacing(1),\n borderRadius: theme.shape.borderRadius,\n width: '100%',\n height: '100%',\n justifyContent: 'center',\n },\n flexColumn: {\n display: 'flex',\n flexDirection: 'column',\n },\n}));\n\nexport const UsersGridItem = (props: { user: UserResponse }) => {\n const { user } = props;\n const classes = useGridItemStyles();\n const localClasses = useStyles();\n const userRoute = useRouteRef(userRouteRef);\n const { t } = useTranslationRef(qetaTranslationRef);\n const { primaryTitle, Icon } = useEntityPresentation(user.userRef);\n const {\n name,\n initials,\n user: userEntity,\n secondaryTitle,\n } = useEntityAuthor(user);\n const {\n value: currentUser,\n loading: loadingUser,\n error: userError,\n } = useIdentityApi(api => api.getBackstageIdentity(), []);\n\n const href = `${userRoute()}/${user.userRef}`;\n\n return (\n <Grid item xs={12} md={6} xl={4}>\n <Card className={classes.card}>\n <ClickableLink href={href} ariaLabel={primaryTitle}>\n <Box\n className={classes.cardHeader}\n display=\"flex\"\n alignItems=\"center\"\n >\n {Icon && (\n <Avatar\n src={userEntity?.spec?.profile?.picture}\n className=\"avatar\"\n alt={name}\n variant=\"rounded\"\n style={{ marginRight: 16 }}\n >\n {initials}\n </Avatar>\n )}\n <Box flex={1} minWidth={0}>\n <Tooltip title={secondaryTitle ?? ''} arrow>\n <Typography variant=\"h6\" noWrap>\n {primaryTitle}\n </Typography>\n </Tooltip>\n </Box>\n {!loadingUser &&\n !userError &&\n currentUser?.userEntityRef !== user.userRef ? (\n <Box\n flexShrink={0}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <UserFollowButton userRef={user.userRef} />\n </Box>\n ) : null}\n </Box>\n <CardContent\n className={`${classes.cardContent} ${localClasses.flexColumn}`}\n >\n <Grid container spacing={1} className={localClasses.statsGrid}>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <QuestionAnswerIcon fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalQuestions}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.questions')}\n </Typography>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <CheckCircleIcon fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalAnswers}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.answers')}\n </Typography>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <ThumbUpIcon fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalVotes}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.votes')}\n </Typography>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <DescriptionIcon fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalArticles}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.articles')}\n </Typography>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <Visibility fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalViews}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.views')}\n </Typography>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n className={localClasses.statItem}\n >\n <LinkIcon fontSize=\"small\" color=\"disabled\" />\n <Typography variant=\"body2\" style={{ fontWeight: 600 }}>\n {user.totalLinks}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {t('common.links')}\n </Typography>\n </Box>\n </Grid>\n </Grid>\n </CardContent>\n </ClickableLink>\n </Card>\n </Grid>\n );\n};\n"],"names":["CheckCircleIcon","ThumbUpIcon"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useNavigate } from 'react-router-dom';
3
+
4
+ const ClickableLink = (props) => {
5
+ const { href, children, ariaLabel } = props;
6
+ const navigate = useNavigate();
7
+ return /* @__PURE__ */ jsx(
8
+ "a",
9
+ {
10
+ href,
11
+ onClick: (e) => {
12
+ e.preventDefault();
13
+ navigate(href);
14
+ },
15
+ "aria-label": ariaLabel,
16
+ style: {
17
+ textDecoration: "none",
18
+ color: "inherit",
19
+ display: "block",
20
+ cursor: "pointer"
21
+ },
22
+ children
23
+ }
24
+ );
25
+ };
26
+
27
+ export { ClickableLink };
28
+ //# sourceMappingURL=ClickableLink.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClickableLink.esm.js","sources":["../../../src/components/Utility/ClickableLink.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nexport interface ClickableLinkProps {\n href: string;\n children: ReactNode;\n ariaLabel?: string;\n}\n\nexport const ClickableLink = (props: ClickableLinkProps) => {\n const { href, children, ariaLabel } = props;\n const navigate = useNavigate();\n\n return (\n <a\n href={href}\n onClick={(e: React.MouseEvent) => {\n e.preventDefault();\n navigate(href);\n }}\n aria-label={ariaLabel}\n style={{\n textDecoration: 'none',\n color: 'inherit',\n display: 'block',\n cursor: 'pointer',\n }}\n >\n {children}\n </a>\n );\n};\n"],"names":[],"mappings":";;;AASa,MAAA,aAAA,GAAgB,CAAC,KAA8B,KAAA;AAC1D,EAAA,MAAM,EAAE,IAAA,EAAM,QAAU,EAAA,SAAA,EAAc,GAAA,KAAA;AACtC,EAAA,MAAM,WAAW,WAAY,EAAA;AAE7B,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,OAAA,EAAS,CAAC,CAAwB,KAAA;AAChC,QAAA,CAAA,CAAE,cAAe,EAAA;AACjB,QAAA,QAAA,CAAS,IAAI,CAAA;AAAA,OACf;AAAA,MACA,YAAY,EAAA,SAAA;AAAA,MACZ,KAAO,EAAA;AAAA,QACL,cAAgB,EAAA,MAAA;AAAA,QAChB,KAAO,EAAA,SAAA;AAAA,QACP,OAAS,EAAA,OAAA;AAAA,QACT,MAAQ,EAAA;AAAA,OACV;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;;;"}
@@ -23,6 +23,7 @@ const QetaGridHeader = ({
23
23
  Typography,
24
24
  {
25
25
  variant: "h6",
26
+ component: "h2",
26
27
  style: { fontWeight: 500, paddingBottom: 2 },
27
28
  children: title
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QetaGridHeader.esm.js","sources":["../../../src/components/Utility/QetaGridHeader.tsx"],"sourcesContent":["import { Box, Grid, Typography } from '@material-ui/core';\nimport { SearchBar } from '../SearchBar/SearchBar';\n\nexport type QetaGridHeaderProps = {\n title: React.ReactNode;\n searchBarLabel: string;\n loading: boolean;\n onSearch: (val: string) => void;\n buttons?: React.ReactNode;\n};\n\nexport const QetaGridHeader = ({\n title,\n searchBarLabel,\n loading,\n onSearch,\n buttons,\n}: QetaGridHeaderProps) => {\n return (\n <Box mb={3}>\n <Grid container alignItems=\"flex-end\" justifyContent=\"space-between\">\n <Grid item xs={12} md={4}>\n <SearchBar\n onSearch={onSearch}\n label={searchBarLabel}\n loading={loading}\n />\n </Grid>\n </Grid>\n <Box mt={2} mb={2}>\n <Grid container alignItems=\"center\" justifyContent=\"space-between\">\n <Grid item>\n {!loading && (\n <Typography\n variant=\"h6\"\n style={{ fontWeight: 500, paddingBottom: 2 }}\n >\n {title}\n </Typography>\n )}\n </Grid>\n {buttons && <Grid item>{buttons}</Grid>}\n </Grid>\n </Box>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;AAWO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAA2B,KAAA;AACzB,EACE,uBAAA,IAAA,CAAC,GAAI,EAAA,EAAA,EAAA,EAAI,CACP,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,UAAA,EAAW,YAAW,cAAe,EAAA,eAAA,EACnD,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAC,EAAI,EAAA,EAAA,EAAI,IAAI,CACrB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,KAAO,EAAA,cAAA;AAAA,QACP;AAAA;AAAA,OAEJ,CACF,EAAA,CAAA;AAAA,oBACC,GAAA,CAAA,GAAA,EAAA,EAAI,EAAI,EAAA,CAAA,EAAG,EAAI,EAAA,CAAA,EACd,QAAC,kBAAA,IAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAC,UAAW,EAAA,QAAA,EAAS,gBAAe,eACjD,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IACP,EAAA,QAAA,EAAA,CAAC,OACA,oBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,IAAA;AAAA,UACR,KAAO,EAAA,EAAE,UAAY,EAAA,GAAA,EAAK,eAAe,CAAE,EAAA;AAAA,UAE1C,QAAA,EAAA;AAAA;AAAA,OAGP,EAAA,CAAA;AAAA,MACC,OAAW,oBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,MAAE,QAAQ,EAAA,OAAA,EAAA;AAAA,KAAA,EAClC,CACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"QetaGridHeader.esm.js","sources":["../../../src/components/Utility/QetaGridHeader.tsx"],"sourcesContent":["import { Box, Grid, Typography } from '@material-ui/core';\nimport { SearchBar } from '../SearchBar/SearchBar';\n\nexport type QetaGridHeaderProps = {\n title: React.ReactNode;\n searchBarLabel: string;\n loading: boolean;\n onSearch: (val: string) => void;\n buttons?: React.ReactNode;\n};\n\nexport const QetaGridHeader = ({\n title,\n searchBarLabel,\n loading,\n onSearch,\n buttons,\n}: QetaGridHeaderProps) => {\n return (\n <Box mb={3}>\n <Grid container alignItems=\"flex-end\" justifyContent=\"space-between\">\n <Grid item xs={12} md={4}>\n <SearchBar\n onSearch={onSearch}\n label={searchBarLabel}\n loading={loading}\n />\n </Grid>\n </Grid>\n <Box mt={2} mb={2}>\n <Grid container alignItems=\"center\" justifyContent=\"space-between\">\n <Grid item>\n {!loading && (\n <Typography\n variant=\"h6\"\n component=\"h2\"\n style={{ fontWeight: 500, paddingBottom: 2 }}\n >\n {title}\n </Typography>\n )}\n </Grid>\n {buttons && <Grid item>{buttons}</Grid>}\n </Grid>\n </Box>\n </Box>\n );\n};\n"],"names":[],"mappings":";;;;AAWO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAA2B,KAAA;AACzB,EACE,uBAAA,IAAA,CAAC,GAAI,EAAA,EAAA,EAAA,EAAI,CACP,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,UAAA,EAAW,YAAW,cAAe,EAAA,eAAA,EACnD,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EAAK,IAAI,EAAA,IAAA,EAAC,EAAI,EAAA,EAAA,EAAI,IAAI,CACrB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,KAAO,EAAA,cAAA;AAAA,QACP;AAAA;AAAA,OAEJ,CACF,EAAA,CAAA;AAAA,oBACC,GAAA,CAAA,GAAA,EAAA,EAAI,EAAI,EAAA,CAAA,EAAG,EAAI,EAAA,CAAA,EACd,QAAC,kBAAA,IAAA,CAAA,IAAA,EAAA,EAAK,SAAS,EAAA,IAAA,EAAC,UAAW,EAAA,QAAA,EAAS,gBAAe,eACjD,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,IACP,EAAA,QAAA,EAAA,CAAC,OACA,oBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,IAAA;AAAA,UACR,SAAU,EAAA,IAAA;AAAA,UACV,KAAO,EAAA,EAAE,UAAY,EAAA,GAAA,EAAK,eAAe,CAAE,EAAA;AAAA,UAE1C,QAAA,EAAA;AAAA;AAAA,OAGP,EAAA,CAAA;AAAA,MACC,OAAW,oBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAI,MAAE,QAAQ,EAAA,OAAA,EAAA;AAAA,KAAA,EAClC,CACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;;;;"}
@@ -2,13 +2,18 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { makeStyles } from '@material-ui/core';
3
3
 
4
4
  const useStyles = makeStyles(
5
- () => ({
5
+ (theme) => ({
6
6
  root: {
7
7
  textAlign: "center",
8
- width: "32px",
9
- marginLeft: "5px",
10
- display: "inline-block",
11
- verticalAlign: "top"
8
+ width: "auto",
9
+ minWidth: "40px",
10
+ marginLeft: "0",
11
+ marginRight: theme.spacing(1),
12
+ display: "flex",
13
+ flexDirection: "column",
14
+ alignItems: "center",
15
+ verticalAlign: "top",
16
+ padding: theme.spacing(0.5)
12
17
  }
13
18
  }),
14
19
  { name: "QetaVoteButtonContainer" }
@@ -1 +1 @@
1
- {"version":3,"file":"VoteButtonContainer.esm.js","sources":["../../../src/components/Utility/VoteButtonContainer.tsx"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { ReactNode } from 'react';\n\nconst useStyles = makeStyles(\n () => ({\n root: {\n textAlign: 'center',\n width: '32px',\n marginLeft: '5px',\n display: 'inline-block',\n verticalAlign: 'top',\n },\n }),\n { name: 'QetaVoteButtonContainer' },\n);\n\nexport const VoteButtonContainer = (props: { children: ReactNode }) => {\n const styles = useStyles();\n return <div className={styles.root}>{props.children}</div>;\n};\n"],"names":[],"mappings":";;;AAGA,MAAM,SAAY,GAAA,UAAA;AAAA,EAChB,OAAO;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,SAAW,EAAA,QAAA;AAAA,MACX,KAAO,EAAA,MAAA;AAAA,MACP,UAAY,EAAA,KAAA;AAAA,MACZ,OAAS,EAAA,cAAA;AAAA,MACT,aAAe,EAAA;AAAA;AACjB,GACF,CAAA;AAAA,EACA,EAAE,MAAM,yBAA0B;AACpC,CAAA;AAEa,MAAA,mBAAA,GAAsB,CAAC,KAAmC,KAAA;AACrE,EAAA,MAAM,SAAS,SAAU,EAAA;AACzB,EAAA,2BAAQ,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,IAAA,EAAO,gBAAM,QAAS,EAAA,CAAA;AACtD;;;;"}
1
+ {"version":3,"file":"VoteButtonContainer.esm.js","sources":["../../../src/components/Utility/VoteButtonContainer.tsx"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport { ReactNode } from 'react';\n\nconst useStyles = makeStyles(\n theme => ({\n root: {\n textAlign: 'center',\n width: 'auto',\n minWidth: '40px',\n marginLeft: '0',\n marginRight: theme.spacing(1),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n verticalAlign: 'top',\n padding: theme.spacing(0.5),\n },\n }),\n { name: 'QetaVoteButtonContainer' },\n);\n\nexport const VoteButtonContainer = (props: { children: ReactNode }) => {\n const styles = useStyles();\n return <div className={styles.root}>{props.children}</div>;\n};\n"],"names":[],"mappings":";;;AAGA,MAAM,SAAY,GAAA,UAAA;AAAA,EAChB,CAAU,KAAA,MAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,SAAW,EAAA,QAAA;AAAA,MACX,KAAO,EAAA,MAAA;AAAA,MACP,QAAU,EAAA,MAAA;AAAA,MACV,UAAY,EAAA,GAAA;AAAA,MACZ,WAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC5B,OAAS,EAAA,MAAA;AAAA,MACT,aAAe,EAAA,QAAA;AAAA,MACf,UAAY,EAAA,QAAA;AAAA,MACZ,aAAe,EAAA,KAAA;AAAA,MACf,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,GAAG;AAAA;AAC5B,GACF,CAAA;AAAA,EACA,EAAE,MAAM,yBAA0B;AACpC,CAAA;AAEa,MAAA,mBAAA,GAAsB,CAAC,KAAmC,KAAA;AACrE,EAAA,MAAM,SAAS,SAAU,EAAA;AACzB,EAAA,2BAAQ,KAAI,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,IAAA,EAAO,gBAAM,QAAS,EAAA,CAAA;AACtD;;;;"}