@drodil/backstage-plugin-qeta-react 3.2.0 → 3.3.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.
- package/dist/components/AnswerForm/AnswerForm.esm.js +15 -7
- package/dist/components/AnswerForm/AnswerForm.esm.js.map +1 -1
- package/dist/components/Buttons/UserFollowButton.esm.js +34 -0
- package/dist/components/Buttons/UserFollowButton.esm.js.map +1 -0
- package/dist/components/CollectionForm/CollectionForm.esm.js +23 -38
- package/dist/components/CollectionForm/CollectionForm.esm.js.map +1 -1
- package/dist/components/EntitiesGrid/EntitiesGridItem.esm.js +3 -3
- package/dist/components/EntitiesGrid/EntitiesGridItem.esm.js.map +1 -1
- package/dist/components/HeaderImageInput/HeaderImageInput.esm.js +56 -0
- package/dist/components/HeaderImageInput/HeaderImageInput.esm.js.map +1 -0
- package/dist/components/HomePageCards/PostsCard.esm.js +1 -1
- package/dist/components/MarkdownEditor/MarkdownEditor.esm.js +8 -3
- package/dist/components/MarkdownEditor/MarkdownEditor.esm.js.map +1 -1
- package/dist/components/PostForm/PostForm.esm.js +22 -37
- package/dist/components/PostForm/PostForm.esm.js.map +1 -1
- package/dist/components/PostsContainer/NoPostsCard.esm.js +8 -5
- package/dist/components/PostsContainer/NoPostsCard.esm.js.map +1 -1
- package/dist/components/PostsContainer/PostList.esm.js +1 -1
- package/dist/components/PostsContainer/PostList.esm.js.map +1 -1
- package/dist/components/PostsContainer/PostsContainer.esm.js +2 -0
- package/dist/components/PostsContainer/PostsContainer.esm.js.map +1 -1
- package/dist/components/PostsGrid/PostsGrid.esm.js +2 -0
- package/dist/components/PostsGrid/PostsGrid.esm.js.map +1 -1
- package/dist/components/PostsGrid/PostsGridContent.esm.js +1 -1
- package/dist/components/PostsGrid/PostsGridContent.esm.js.map +1 -1
- package/dist/components/QuestionCard/QuestionCard.esm.js +7 -3
- package/dist/components/QuestionCard/QuestionCard.esm.js.map +1 -1
- package/dist/components/TagsGrid/TagGridItem.esm.js +3 -3
- package/dist/components/TagsGrid/TagGridItem.esm.js.map +1 -1
- package/dist/components/UsersGrid/UsersGridItem.esm.js +25 -3
- package/dist/components/UsersGrid/UsersGridItem.esm.js.map +1 -1
- package/dist/index.d.ts +16 -6
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/routes.esm.js +1 -1
- package/dist/routes.esm.js.map +1 -1
- package/dist/translation.esm.js +11 -1
- package/dist/translation.esm.js.map +1 -1
- package/dist/utils/hooks.esm.js +49 -3
- package/dist/utils/hooks.esm.js.map +1 -1
- package/dist/utils/utils.esm.js +3 -2
- package/dist/utils/utils.esm.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { truncate, removeMarkdownFormatting } from '@drodil/backstage-plugin-qeta-common';
|
|
2
|
-
import { Grid, Card, CardActionArea, CardHeader, CardContent, Typography, CardActions, Button } from '@material-ui/core';
|
|
2
|
+
import { Grid, Card, CardActionArea, CardHeader, CardContent, Typography, CardActions, Tooltip, Button } from '@material-ui/core';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { useRouteRef } from '@backstage/core-plugin-api';
|
|
5
5
|
import { tagRouteRef } from '../../routes.esm.js';
|
|
@@ -29,7 +29,7 @@ const TagGridItem = (props) => {
|
|
|
29
29
|
/* @__PURE__ */ React.createElement(CardActionArea, { onClick: () => navigate(tagRoute({ tag: tag.tag })) }, /* @__PURE__ */ React.createElement(CardHeader, { title: tag.tag }), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(Typography, { variant: "caption" }, t("common.posts", { count: tag.postsCount, itemType: "post" }), " \xB7 ", t("common.followers", { count: tag.followerCount })), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, " ", DOMPurify.sanitize(
|
|
30
30
|
truncate(removeMarkdownFormatting(tag.description ?? ""), 150)
|
|
31
31
|
)))),
|
|
32
|
-
/* @__PURE__ */ React.createElement(CardActions, { style: { marginTop: "auto" } }, /* @__PURE__ */ React.createElement(Grid, { container: true, justifyContent: "center" }, /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(
|
|
32
|
+
/* @__PURE__ */ React.createElement(CardActions, { style: { marginTop: "auto" } }, /* @__PURE__ */ React.createElement(Grid, { container: true, justifyContent: "center" }, /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(Tooltip, { title: t("tagButton.tooltip") }, /* @__PURE__ */ React.createElement(
|
|
33
33
|
Button,
|
|
34
34
|
{
|
|
35
35
|
size: "small",
|
|
@@ -44,7 +44,7 @@ const TagGridItem = (props) => {
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
tags.isFollowingTag(tag.tag) ? t("tagButton.unfollow") : t("tagButton.follow")
|
|
47
|
-
)), /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(
|
|
47
|
+
))), /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(
|
|
48
48
|
Button,
|
|
49
49
|
{
|
|
50
50
|
size: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagGridItem.esm.js","sources":["../../../src/components/TagsGrid/TagGridItem.tsx"],"sourcesContent":["import {\n removeMarkdownFormatting,\n TagResponse,\n truncate,\n} from '@drodil/backstage-plugin-qeta-common';\nimport {\n Button,\n Card,\n CardActionArea,\n CardActions,\n CardContent,\n CardHeader,\n Grid,\n Typography,\n} from '@material-ui/core';\nimport React from 'react';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { tagRouteRef } from '../../routes';\nimport { useNavigate } from 'react-router-dom';\nimport { useTranslation } from '../../utils';\nimport { useTagsFollow } from '../../utils/hooks';\nimport { EditTagModal } from './EditTagModal';\nimport DOMPurify from 'dompurify';\n\nexport const TagGridItem = (props: {\n tag: TagResponse;\n onTagEdit: () => void;\n}) => {\n const { tag, onTagEdit } = props;\n const tagRoute = useRouteRef(tagRouteRef);\n const navigate = useNavigate();\n const { t } = useTranslation();\n const tags = useTagsFollow();\n\n const [editModalOpen, setEditModalOpen] = React.useState(false);\n const handleEditModalOpen = () => setEditModalOpen(true);\n const handleEditModalClose = () => {\n setEditModalOpen(false);\n onTagEdit();\n };\n\n return (\n <Grid item xs={4}>\n <Card\n variant=\"outlined\"\n style={{ height: '100%', display: 'flex', flexDirection: 'column' }}\n >\n <CardActionArea onClick={() => navigate(tagRoute({ tag: tag.tag }))}>\n <CardHeader title={tag.tag} />\n <CardContent>\n <Typography variant=\"caption\">\n {t('common.posts', { count: tag.postsCount, itemType: 'post' })}\n {' · '}\n {t('common.followers', { count: tag.followerCount })}\n </Typography>\n <Typography variant=\"body2\">\n {' '}\n {DOMPurify.sanitize(\n truncate(removeMarkdownFormatting(tag.description ?? ''), 150),\n )}\n </Typography>\n </CardContent>\n </CardActionArea>\n <CardActions style={{ marginTop: 'auto' }}>\n <Grid container justifyContent=\"center\">\n <Grid item>\n <Button\n
|
|
1
|
+
{"version":3,"file":"TagGridItem.esm.js","sources":["../../../src/components/TagsGrid/TagGridItem.tsx"],"sourcesContent":["import {\n removeMarkdownFormatting,\n TagResponse,\n truncate,\n} from '@drodil/backstage-plugin-qeta-common';\nimport {\n Button,\n Card,\n CardActionArea,\n CardActions,\n CardContent,\n CardHeader,\n Grid,\n Tooltip,\n Typography,\n} from '@material-ui/core';\nimport React from 'react';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { tagRouteRef } from '../../routes';\nimport { useNavigate } from 'react-router-dom';\nimport { useTranslation } from '../../utils';\nimport { useTagsFollow } from '../../utils/hooks';\nimport { EditTagModal } from './EditTagModal';\nimport DOMPurify from 'dompurify';\n\nexport const TagGridItem = (props: {\n tag: TagResponse;\n onTagEdit: () => void;\n}) => {\n const { tag, onTagEdit } = props;\n const tagRoute = useRouteRef(tagRouteRef);\n const navigate = useNavigate();\n const { t } = useTranslation();\n const tags = useTagsFollow();\n\n const [editModalOpen, setEditModalOpen] = React.useState(false);\n const handleEditModalOpen = () => setEditModalOpen(true);\n const handleEditModalClose = () => {\n setEditModalOpen(false);\n onTagEdit();\n };\n\n return (\n <Grid item xs={4}>\n <Card\n variant=\"outlined\"\n style={{ height: '100%', display: 'flex', flexDirection: 'column' }}\n >\n <CardActionArea onClick={() => navigate(tagRoute({ tag: tag.tag }))}>\n <CardHeader title={tag.tag} />\n <CardContent>\n <Typography variant=\"caption\">\n {t('common.posts', { count: tag.postsCount, itemType: 'post' })}\n {' · '}\n {t('common.followers', { count: tag.followerCount })}\n </Typography>\n <Typography variant=\"body2\">\n {' '}\n {DOMPurify.sanitize(\n truncate(removeMarkdownFormatting(tag.description ?? ''), 150),\n )}\n </Typography>\n </CardContent>\n </CardActionArea>\n <CardActions style={{ marginTop: 'auto' }}>\n <Grid container justifyContent=\"center\">\n <Grid item>\n <Tooltip title={t('tagButton.tooltip')}>\n <Button\n size=\"small\"\n variant=\"outlined\"\n color={tags.isFollowingTag(tag.tag) ? 'secondary' : 'primary'}\n onClick={() => {\n if (tags.isFollowingTag(tag.tag)) {\n tags.unfollowTag(tag.tag);\n } else {\n tags.followTag(tag.tag);\n }\n }}\n >\n {tags.isFollowingTag(tag.tag)\n ? t('tagButton.unfollow')\n : t('tagButton.follow')}\n </Button>\n </Tooltip>\n </Grid>\n <Grid item>\n <Button\n size=\"small\"\n onClick={handleEditModalOpen}\n variant=\"outlined\"\n >\n {t('tagButton.edit')}\n </Button>\n </Grid>\n </Grid>\n </CardActions>\n </Card>\n <EditTagModal\n tag={tag}\n open={editModalOpen}\n onClose={handleEditModalClose}\n />\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Grid, Card, CardActionArea, CardHeader, Avatar, CardContent, Typography } from '@material-ui/core';
|
|
1
|
+
import { Grid, Card, CardActionArea, CardHeader, Avatar, CardContent, Typography, CardActions, Tooltip, Button } from '@material-ui/core';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { useRouteRef } from '@backstage/core-plugin-api';
|
|
4
4
|
import { useNavigate } from 'react-router-dom';
|
|
5
|
-
import { useTranslation, useEntityAuthor } from '../../utils/hooks.esm.js';
|
|
5
|
+
import { useTranslation, useEntityAuthor, useUserFollow, useIdentityApi } from '../../utils/hooks.esm.js';
|
|
6
6
|
import { useEntityPresentation } from '@backstage/plugin-catalog-react';
|
|
7
7
|
import { userRouteRef } from '../../routes.esm.js';
|
|
8
8
|
import { parseEntityRef } from '@backstage/catalog-model';
|
|
@@ -15,6 +15,12 @@ const UsersGridItem = (props) => {
|
|
|
15
15
|
const compound = parseEntityRef(user.userRef);
|
|
16
16
|
const { primaryTitle, Icon } = useEntityPresentation(compound);
|
|
17
17
|
const { name, initials, user: userEntity } = useEntityAuthor(user);
|
|
18
|
+
const users = useUserFollow();
|
|
19
|
+
const {
|
|
20
|
+
value: currentUser,
|
|
21
|
+
loading: loadingUser,
|
|
22
|
+
error: userError
|
|
23
|
+
} = useIdentityApi((api) => api.getBackstageIdentity(), []);
|
|
18
24
|
return /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 4 }, /* @__PURE__ */ React.createElement(
|
|
19
25
|
Card,
|
|
20
26
|
{
|
|
@@ -58,7 +64,23 @@ const UsersGridItem = (props) => {
|
|
|
58
64
|
}), " \xB7 ", t("common.viewsShort", {
|
|
59
65
|
count: user.totalViews
|
|
60
66
|
})))
|
|
61
|
-
)
|
|
67
|
+
),
|
|
68
|
+
!loadingUser && !userError && currentUser?.userEntityRef !== user.userRef && /* @__PURE__ */ React.createElement(CardActions, { style: { marginTop: "auto" } }, /* @__PURE__ */ React.createElement(Grid, { container: true, justifyContent: "center" }, /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(Tooltip, { title: t("userButton.tooltip") }, /* @__PURE__ */ React.createElement(
|
|
69
|
+
Button,
|
|
70
|
+
{
|
|
71
|
+
size: "small",
|
|
72
|
+
variant: "outlined",
|
|
73
|
+
color: users.isFollowingUser(user.userRef) ? "secondary" : "primary",
|
|
74
|
+
onClick: () => {
|
|
75
|
+
if (users.isFollowingUser(user.userRef)) {
|
|
76
|
+
users.unfollowUser(user.userRef);
|
|
77
|
+
} else {
|
|
78
|
+
users.followUser(user.userRef);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
users.isFollowingUser(user.userRef) ? t("userButton.unfollow") : t("userButton.follow")
|
|
83
|
+
)))))
|
|
62
84
|
));
|
|
63
85
|
};
|
|
64
86
|
|
|
@@ -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 {\n Avatar,\n Card,\n CardActionArea,\n CardContent,\n CardHeader,\n Grid,\n Typography,\n} from '@material-ui/core';\nimport React from 'react';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { useNavigate } from 'react-router-dom';\nimport { useTranslation } from '../../utils';\nimport { useEntityAuthor } from '../../utils/hooks';\nimport { useEntityPresentation } from '@backstage/plugin-catalog-react';\nimport { userRouteRef } from '../../routes';\nimport { parseEntityRef } from '@backstage/catalog-model';\n\nexport const UsersGridItem = (props: { user: UserResponse }) => {\n const { user } = props;\n const userRoute = useRouteRef(userRouteRef);\n const navigate = useNavigate();\n const { t } = useTranslation();\n const compound = parseEntityRef(user.userRef);\n const { primaryTitle, Icon } = useEntityPresentation(compound);\n const { name, initials, user: userEntity } = useEntityAuthor(user);\n\n return (\n <Grid item xs={4}>\n <Card\n variant=\"outlined\"\n style={{ height: '100%', display: 'flex', flexDirection: 'column' }}\n >\n <CardActionArea\n onClick={() => navigate(`${userRoute()}/${user.userRef}`)}\n >\n <CardHeader\n title={primaryTitle}\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>\n <Typography variant=\"caption\">\n {t('common.posts', {\n count: user.totalQuestions,\n itemType: 'question',\n })}\n {' · '}\n {t('common.answers', {\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.totalComments,\n itemType: 'comment',\n })}\n {' · '}\n {t('common.votes', {\n count: user.totalVotes,\n })}\n {' · '}\n {t('common.viewsShort', {\n count: user.totalViews,\n })}\n </Typography>\n </CardContent>\n </CardActionArea>\n </Card>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"UsersGridItem.esm.js","sources":["../../../src/components/UsersGrid/UsersGridItem.tsx"],"sourcesContent":["import { UserResponse } from '@drodil/backstage-plugin-qeta-common';\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 React from 'react';\nimport { useRouteRef } from '@backstage/core-plugin-api';\nimport { useNavigate } from 'react-router-dom';\nimport { useIdentityApi, useTranslation } from '../../utils';\nimport { useEntityAuthor, useUserFollow } from '../../utils/hooks';\nimport { useEntityPresentation } from '@backstage/plugin-catalog-react';\nimport { userRouteRef } from '../../routes';\nimport { parseEntityRef } from '@backstage/catalog-model';\n\nexport const UsersGridItem = (props: { user: UserResponse }) => {\n const { user } = props;\n const userRoute = useRouteRef(userRouteRef);\n const navigate = useNavigate();\n const { t } = useTranslation();\n const compound = parseEntityRef(user.userRef);\n const { primaryTitle, Icon } = useEntityPresentation(compound);\n const { name, initials, user: userEntity } = 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={4}>\n <Card\n variant=\"outlined\"\n style={{ height: '100%', display: 'flex', flexDirection: 'column' }}\n >\n <CardActionArea\n onClick={() => navigate(`${userRoute()}/${user.userRef}`)}\n >\n <CardHeader\n title={primaryTitle}\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>\n <Typography variant=\"caption\">\n {t('common.posts', {\n count: user.totalQuestions,\n itemType: 'question',\n })}\n {' · '}\n {t('common.answers', {\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.totalComments,\n itemType: 'comment',\n })}\n {' · '}\n {t('common.votes', {\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 style={{ marginTop: 'auto' }}>\n <Grid container justifyContent=\"center\">\n <Grid item>\n <Tooltip title={t('userButton.tooltip')}>\n <Button\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 >\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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare const collectionCreateRouteRef: _backstage_core_plugin_api.SubRouteRef<u
|
|
|
22
22
|
declare const collectionEditRouteRef: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/collections/:id/edit">>;
|
|
23
23
|
declare const writeRouteRef: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
24
24
|
declare const articlesRouteRef: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
25
|
-
declare const articleRouteRef: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/
|
|
25
|
+
declare const articleRouteRef: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/articles/:id">>;
|
|
26
26
|
declare const usersRouteRef: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
27
27
|
declare const userRouteRef: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
28
28
|
declare const editQuestionRouteRef: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/questions/:id/edit">>;
|
|
@@ -94,8 +94,8 @@ declare const useTranslation: () => {
|
|
|
94
94
|
readonly "answerList.errorLoading": "Could not load answers";
|
|
95
95
|
readonly "answerList.noAnswers": "No answers";
|
|
96
96
|
readonly "answerList.limitSelect": "Answers per page";
|
|
97
|
-
readonly "common.article": "article";
|
|
98
97
|
readonly "common.question": "question";
|
|
98
|
+
readonly "common.article": "article";
|
|
99
99
|
readonly "common.score": "{{score}} score";
|
|
100
100
|
readonly "common.post": "post";
|
|
101
101
|
readonly "common.comments": "Comments";
|
|
@@ -129,15 +129,18 @@ declare const useTranslation: () => {
|
|
|
129
129
|
readonly "anonymousCheckbox.tooltip": "By enabling this, other users won't be able to see you as an author";
|
|
130
130
|
readonly "anonymousCheckbox.answerAnonymously": "Answer anonymously";
|
|
131
131
|
readonly "anonymousCheckbox.postAnonymously": "Post anonymously";
|
|
132
|
+
readonly "fileInput.label": "Header image";
|
|
133
|
+
readonly "fileInput.helperText": "URL of the header image to be used";
|
|
134
|
+
readonly "fileInput.uploadHeaderImage": "Upload image";
|
|
135
|
+
readonly "fileInput.preview": "Preview image";
|
|
132
136
|
readonly "collectionForm.errorPosting": "Could not create collection";
|
|
133
|
-
readonly "collectionForm.uploadHeaderImage": "Upload header image";
|
|
134
137
|
readonly "collectionForm.titleInput.label": "Title";
|
|
135
138
|
readonly "collectionForm.titleInput.helperText": "Name of the colleciton";
|
|
136
139
|
readonly "collectionForm.descriptionInput.placeholder": "Collection description, what does it contain?";
|
|
137
140
|
readonly "collectionForm.submit.existingCollection": "Save";
|
|
138
141
|
readonly "collectionForm.submit.newCollection": "Create";
|
|
139
|
-
readonly "postForm.errorPosting": "Could not post {{type}}";
|
|
140
142
|
readonly "postForm.uploadHeaderImage": "Upload header image";
|
|
143
|
+
readonly "postForm.errorPosting": "Could not post {{type}}";
|
|
141
144
|
readonly "postForm.titleInput.label": "Title";
|
|
142
145
|
readonly "postForm.titleInput.helperText": "Write good title for your {{type}} that people can understand";
|
|
143
146
|
readonly "postForm.submit.existingPost": "Save";
|
|
@@ -334,6 +337,9 @@ declare const useTranslation: () => {
|
|
|
334
337
|
readonly "entityButton.tooltip": "By following an entity, you will get notified when ever a new post for that entity is posted";
|
|
335
338
|
readonly "entityButton.follow": "Follow";
|
|
336
339
|
readonly "entityButton.unfollow": "Unfollow";
|
|
340
|
+
readonly "userButton.tooltip": "By following a user, you will get notified when ever a new post by that user is posted";
|
|
341
|
+
readonly "userButton.follow": "Follow";
|
|
342
|
+
readonly "userButton.unfollow": "Unfollow";
|
|
337
343
|
}>;
|
|
338
344
|
};
|
|
339
345
|
type QetaFormClassKey = 'headerImage' | 'postButton' | 'postForm';
|
|
@@ -466,6 +472,10 @@ declare const AddToCollectionButton: (props: {
|
|
|
466
472
|
|
|
467
473
|
declare const BackToCollectionsButton: () => React.JSX.Element;
|
|
468
474
|
|
|
475
|
+
declare const UserFollowButton: (props: {
|
|
476
|
+
userRef: string;
|
|
477
|
+
}) => React.JSX.Element | null;
|
|
478
|
+
|
|
469
479
|
declare const PostHighlightList: (props: {
|
|
470
480
|
type: string;
|
|
471
481
|
title: string;
|
|
@@ -598,7 +608,7 @@ type QetaVoteButtonsClassKey = 'qetaCorrectAnswerSelected' | 'qetaCorrectAnswer'
|
|
|
598
608
|
|
|
599
609
|
type QetaArticleButtonsClassKey = 'container' | 'scoreText';
|
|
600
610
|
|
|
601
|
-
type QetaMarkdownEditorClassKey = 'markdownEditor' | 'markdownEditorError' | 'markdownPreview';
|
|
611
|
+
type QetaMarkdownEditorClassKey = 'markdownEditor' | 'markdownEditorError' | 'markdownPreview' | 'suggestionsDropdown';
|
|
602
612
|
|
|
603
613
|
type QetaAuthorBoxClassKey = 'authorBox' | 'authorLink';
|
|
604
614
|
|
|
@@ -617,4 +627,4 @@ type QetaOverrides = Overrides & {
|
|
|
617
627
|
[Name in keyof QetaComponentsNameToClassKey]?: Partial<StyleRules<QetaComponentsNameToClassKey[Name]>>;
|
|
618
628
|
};
|
|
619
629
|
|
|
620
|
-
export { AddToCollectionButton, AnswerCard, AnswerForm, AnswerList, AnswerListItem, AnswersContainer, ArticleContent, AskQuestionButton, AuthorLink, BackToArticlesButton, BackToCollectionsButton, BackToQuestionsButton, CollectionCard, CollectionForm, CollectionsGrid, CreateCollectionButton, DeleteModal, EntitiesGrid, EntityFollowButton, FilterPanel, FollowedEntitiesList, FollowedTagsList, ImpactCard, LeftMenu, LeftMenuButton, MarkdownRenderer, PostForm, PostHighlightList, PostList, PostListItem, PostsCard, PostsContainer, PostsGrid, type QetaLeftMenuClassKey, type QetaOverrides, QuestionCard, QuestionsTable, RelativeTimeWithTooltip, StatsChart, SummaryStatsGrid, TagFollowButton, TagsGrid, TopRankingUsers, TrophyIcon, UpdatedByLink, UserLink, UsersGrid, WriteArticleButton, articleRouteRef, articlesRouteRef, askRouteRef, collectionCreateRouteRef, collectionEditRouteRef, collectionRouteRef, collectionsRouteRef, editArticleRouteRef, editQuestionRouteRef, entitiesRouteRef, entityRouteRef, favoriteQuestionsRouteRef, qetaApiRef, qetaRouteRef, questionRouteRef, questionsRouteRef, statisticsRouteRef, tagRouteRef, tagsRouteRef, useIdentityApi, useQetaApi, useStyles, useTranslation, userRouteRef, usersRouteRef, writeRouteRef };
|
|
630
|
+
export { AddToCollectionButton, AnswerCard, AnswerForm, AnswerList, AnswerListItem, AnswersContainer, ArticleContent, AskQuestionButton, AuthorLink, BackToArticlesButton, BackToCollectionsButton, BackToQuestionsButton, CollectionCard, CollectionForm, CollectionsGrid, CreateCollectionButton, DeleteModal, EntitiesGrid, EntityFollowButton, FilterPanel, FollowedEntitiesList, FollowedTagsList, ImpactCard, LeftMenu, LeftMenuButton, MarkdownRenderer, PostForm, PostHighlightList, PostList, PostListItem, PostsCard, PostsContainer, PostsGrid, type QetaLeftMenuClassKey, type QetaOverrides, QuestionCard, QuestionsTable, RelativeTimeWithTooltip, StatsChart, SummaryStatsGrid, TagFollowButton, TagsGrid, TopRankingUsers, TrophyIcon, UpdatedByLink, UserFollowButton, UserLink, UsersGrid, WriteArticleButton, articleRouteRef, articlesRouteRef, askRouteRef, collectionCreateRouteRef, collectionEditRouteRef, collectionRouteRef, collectionsRouteRef, editArticleRouteRef, editQuestionRouteRef, entitiesRouteRef, entityRouteRef, favoriteQuestionsRouteRef, qetaApiRef, qetaRouteRef, questionRouteRef, questionsRouteRef, statisticsRouteRef, tagRouteRef, tagsRouteRef, useIdentityApi, useQetaApi, useStyles, useTranslation, userRouteRef, usersRouteRef, writeRouteRef };
|
package/dist/index.esm.js
CHANGED
|
@@ -17,6 +17,7 @@ export { WriteArticleButton } from './components/Buttons/WriteArticleButton.esm.
|
|
|
17
17
|
export { CreateCollectionButton } from './components/Buttons/CreateCollectionButton.esm.js';
|
|
18
18
|
export { AddToCollectionButton } from './components/Buttons/AddToCollectionButton.esm.js';
|
|
19
19
|
export { BackToCollectionsButton } from './components/Buttons/BackToCollectionsButton.esm.js';
|
|
20
|
+
export { UserFollowButton } from './components/Buttons/UserFollowButton.esm.js';
|
|
20
21
|
export { PostHighlightList } from './components/PostHighlightList/PostHighlightList.esm.js';
|
|
21
22
|
export { MarkdownRenderer } from './components/MarkdownRenderer/MarkdownRenderer.esm.js';
|
|
22
23
|
export { DeleteModal } from './components/DeleteModal/DeleteModal.esm.js';
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/routes.esm.js
CHANGED
|
@@ -61,7 +61,7 @@ const articlesRouteRef = createSubRouteRef({
|
|
|
61
61
|
const articleRouteRef = createSubRouteRef({
|
|
62
62
|
id: "qeta.article",
|
|
63
63
|
parent: qetaRouteRef,
|
|
64
|
-
path: "/
|
|
64
|
+
path: "/articles/:id"
|
|
65
65
|
});
|
|
66
66
|
const usersRouteRef = createSubRouteRef({
|
|
67
67
|
id: "qeta.users",
|
package/dist/routes.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["import { createRouteRef, createSubRouteRef } from '@backstage/core-plugin-api';\n\nexport const qetaRouteRef = createRouteRef({\n id: 'qeta',\n});\n\nexport const askRouteRef = createSubRouteRef({\n id: 'qeta.ask',\n parent: qetaRouteRef,\n path: '/ask',\n});\n\nexport const favoriteQuestionsRouteRef = createSubRouteRef({\n id: 'qeta.favoriteQuestions',\n parent: qetaRouteRef,\n path: '/questions/favorite',\n});\n\nexport const statisticsRouteRef = createSubRouteRef({\n id: 'qeta.statistics',\n parent: qetaRouteRef,\n path: '/statistics',\n});\n\nexport const questionsRouteRef = createSubRouteRef({\n id: 'qeta.questions',\n parent: qetaRouteRef,\n path: '/questions',\n});\n\nexport const questionRouteRef = createSubRouteRef({\n id: 'qeta.question',\n parent: qetaRouteRef,\n path: '/questions/:id',\n});\n\nexport const collectionsRouteRef = createSubRouteRef({\n id: 'qeta.collections',\n parent: qetaRouteRef,\n path: '/collections',\n});\n\nexport const collectionRouteRef = createSubRouteRef({\n id: 'qeta.collection',\n parent: qetaRouteRef,\n path: '/collections/:id',\n});\n\nexport const collectionCreateRouteRef = createSubRouteRef({\n id: 'qeta.collection.create',\n parent: qetaRouteRef,\n path: '/collections/create',\n});\n\nexport const collectionEditRouteRef = createSubRouteRef({\n id: 'qeta.collection.edit',\n parent: qetaRouteRef,\n path: '/collections/:id/edit',\n});\n\nexport const writeRouteRef = createSubRouteRef({\n id: 'qeta.write',\n parent: qetaRouteRef,\n path: '/write',\n});\n\nexport const articlesRouteRef = createSubRouteRef({\n id: 'qeta.articles',\n parent: qetaRouteRef,\n path: '/articles',\n});\n\nexport const articleRouteRef = createSubRouteRef({\n id: 'qeta.article',\n parent: qetaRouteRef,\n path: '/
|
|
1
|
+
{"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["import { createRouteRef, createSubRouteRef } from '@backstage/core-plugin-api';\n\nexport const qetaRouteRef = createRouteRef({\n id: 'qeta',\n});\n\nexport const askRouteRef = createSubRouteRef({\n id: 'qeta.ask',\n parent: qetaRouteRef,\n path: '/ask',\n});\n\nexport const favoriteQuestionsRouteRef = createSubRouteRef({\n id: 'qeta.favoriteQuestions',\n parent: qetaRouteRef,\n path: '/questions/favorite',\n});\n\nexport const statisticsRouteRef = createSubRouteRef({\n id: 'qeta.statistics',\n parent: qetaRouteRef,\n path: '/statistics',\n});\n\nexport const questionsRouteRef = createSubRouteRef({\n id: 'qeta.questions',\n parent: qetaRouteRef,\n path: '/questions',\n});\n\nexport const questionRouteRef = createSubRouteRef({\n id: 'qeta.question',\n parent: qetaRouteRef,\n path: '/questions/:id',\n});\n\nexport const collectionsRouteRef = createSubRouteRef({\n id: 'qeta.collections',\n parent: qetaRouteRef,\n path: '/collections',\n});\n\nexport const collectionRouteRef = createSubRouteRef({\n id: 'qeta.collection',\n parent: qetaRouteRef,\n path: '/collections/:id',\n});\n\nexport const collectionCreateRouteRef = createSubRouteRef({\n id: 'qeta.collection.create',\n parent: qetaRouteRef,\n path: '/collections/create',\n});\n\nexport const collectionEditRouteRef = createSubRouteRef({\n id: 'qeta.collection.edit',\n parent: qetaRouteRef,\n path: '/collections/:id/edit',\n});\n\nexport const writeRouteRef = createSubRouteRef({\n id: 'qeta.write',\n parent: qetaRouteRef,\n path: '/write',\n});\n\nexport const articlesRouteRef = createSubRouteRef({\n id: 'qeta.articles',\n parent: qetaRouteRef,\n path: '/articles',\n});\n\nexport const articleRouteRef = createSubRouteRef({\n id: 'qeta.article',\n parent: qetaRouteRef,\n path: '/articles/:id',\n});\n\nexport const usersRouteRef = createSubRouteRef({\n id: 'qeta.users',\n parent: qetaRouteRef,\n path: '/users',\n});\n\nexport const userRouteRef = createSubRouteRef({\n id: 'qeta.user',\n parent: qetaRouteRef,\n path: '/users/*',\n});\n\nexport const editQuestionRouteRef = createSubRouteRef({\n id: 'qeta.editQuestion',\n parent: qetaRouteRef,\n path: '/questions/:id/edit',\n});\n\nexport const editArticleRouteRef = createSubRouteRef({\n id: 'qeta.editArticle',\n parent: qetaRouteRef,\n path: '/articles/:id/edit',\n});\n\nexport const tagsRouteRef = createSubRouteRef({\n id: 'qeta.tags',\n parent: qetaRouteRef,\n path: '/tags',\n});\n\nexport const tagRouteRef = createSubRouteRef({\n id: 'qeta.tag',\n parent: qetaRouteRef,\n path: '/tags/:tag',\n});\n\nexport const entitiesRouteRef = createSubRouteRef({\n id: 'qeta.entities',\n parent: qetaRouteRef,\n path: '/entities',\n});\n\nexport const entityRouteRef = createSubRouteRef({\n id: 'qeta.entity',\n parent: qetaRouteRef,\n path: '/entities/:entityRef',\n});\n"],"names":[],"mappings":"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"}
|
package/dist/translation.esm.js
CHANGED
|
@@ -58,9 +58,14 @@ const qetaTranslationRef = createTranslationRef({
|
|
|
58
58
|
answerAnonymously: "Answer anonymously",
|
|
59
59
|
postAnonymously: "Post anonymously"
|
|
60
60
|
},
|
|
61
|
+
fileInput: {
|
|
62
|
+
label: "Header image",
|
|
63
|
+
helperText: "URL of the header image to be used",
|
|
64
|
+
uploadHeaderImage: "Upload image",
|
|
65
|
+
preview: "Preview image"
|
|
66
|
+
},
|
|
61
67
|
collectionForm: {
|
|
62
68
|
errorPosting: "Could not create collection",
|
|
63
|
-
uploadHeaderImage: "Upload header image",
|
|
64
69
|
titleInput: {
|
|
65
70
|
label: "Title",
|
|
66
71
|
helperText: "Name of the colleciton"
|
|
@@ -458,6 +463,11 @@ const qetaTranslationRef = createTranslationRef({
|
|
|
458
463
|
follow: "Follow",
|
|
459
464
|
unfollow: "Unfollow",
|
|
460
465
|
tooltip: "By following an entity, you will get notified when ever a new post for that entity is posted"
|
|
466
|
+
},
|
|
467
|
+
userButton: {
|
|
468
|
+
follow: "Follow",
|
|
469
|
+
unfollow: "Unfollow",
|
|
470
|
+
tooltip: "By following a user, you will get notified when ever a new post by that user is posted"
|
|
461
471
|
}
|
|
462
472
|
}
|
|
463
473
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["import {\n createTranslationRef,\n createTranslationResource,\n} from '@backstage/core-plugin-api/alpha';\n\n/** @alpha */\nexport const qetaTranslationRef = createTranslationRef({\n id: 'qeta',\n messages: {\n pluginName: 'Q&A',\n answerList: {\n errorLoading: 'Could not load answers',\n noAnswers: 'No answers',\n limitSelect: 'Answers per page',\n },\n common: {\n post: 'post',\n question: 'question',\n article: 'article',\n score: '{{score}} score',\n comments: 'Comments',\n anonymousAuthor: 'Anonymous',\n answers_zero: 'No answers',\n answers_one: '{{count}} answer',\n answers_other: '{{count}} answers',\n views_zero: 'Viewed {{count}} times',\n views_one: 'Viewed {{count}} time',\n views_other: 'Viewed {{count}} times',\n viewsShort_zero: '0 views',\n viewsShort_one: '{{count}} view',\n viewsShort_other: '{{count}} views',\n votes_zero: '0 votes',\n votes_one: '{{count}} vote',\n votes_other: '{{count}} votes',\n posts_zero: 'No {{itemType}}s',\n posts_one: '{{count}} {{itemType}}',\n posts_other: '{{count}} {{itemType}}s',\n collections_zero: 'No collections',\n collections_one: '{{count}} collection',\n collections_other: '{{count}} collections',\n followers_zero: 'No followers',\n followers_one: '{{count}} follower',\n followers_other: '{{count}} followers',\n },\n answer: {\n questionTitle: 'Q: {{question}}',\n answeredTime: 'answered',\n },\n answerContainer: {\n title: {\n answersBy: 'Answers by',\n answersAbout: 'Answers about',\n answersTagged: `Answers tagged with {{tags}}`,\n },\n search: {\n label: 'Search for answers',\n placeholder: 'Search...',\n },\n },\n anonymousCheckbox: {\n tooltip:\n \"By enabling this, other users won't be able to see you as an author\",\n answerAnonymously: 'Answer anonymously',\n postAnonymously: 'Post anonymously',\n },\n collectionForm: {\n errorPosting: 'Could not create collection',\n uploadHeaderImage: 'Upload header image',\n titleInput: {\n label: 'Title',\n helperText: 'Name of the colleciton',\n },\n descriptionInput: {\n placeholder: 'Collection description, what does it contain?',\n },\n submit: {\n existingCollection: 'Save',\n newCollection: 'Create',\n },\n },\n postForm: {\n errorPosting: 'Could not post {{type}}',\n uploadHeaderImage: 'Upload header image',\n titleInput: {\n label: 'Title',\n helperText:\n 'Write good title for your {{type}} that people can understand',\n },\n contentInput: {\n placeholder: 'Your {{type}}',\n },\n submit: {\n existingPost: 'Save',\n newPost: 'Post',\n },\n },\n answerForm: {\n errorPosting: 'Could not post answer',\n contentInput: {\n placeholder: 'Your answer',\n },\n submit: {\n existingAnswer: 'Save',\n newAnswer: 'Post',\n },\n },\n entitiesInput: {\n label: 'Entities',\n placeholder: 'Type or select entities',\n helperText: 'Add up to {{max}} entities this question relates to',\n },\n tagsInput: {\n label: 'Tags',\n placeholder: 'Type or select tags',\n helperText: 'Add up to {{max}} tags to categorize your question',\n },\n askPage: {\n title: {\n existingQuestion: 'Edit question',\n entityQuestion: 'Ask a question about {{entity}}',\n newQuestion: 'Ask a question',\n },\n },\n writePage: {\n title: {\n existingArticle: 'Edit article',\n entityArticle: 'Write an article about {{entity}}',\n newArticle: 'New article',\n },\n },\n collectionCreatePage: {\n title: {\n existingCollection: 'Edit collection',\n newCollection: 'New collection',\n },\n },\n askQuestionButton: {\n title: 'Ask a question',\n },\n addToCollectionButton: {\n title: 'Collections',\n manage: 'Add or remove this post from collections',\n close: 'Close',\n },\n writeArticleButton: {\n title: 'Write an article',\n },\n createCollectionButton: {\n title: 'Create collection',\n },\n backToQuestionsButton: {\n title: 'Back',\n },\n backToCollectionsButton: {\n title: 'Back',\n },\n commentList: {\n deleteLink: 'delete',\n },\n commentSection: {\n input: {\n placeholder: 'Your comment',\n },\n addComment: 'Add comment',\n post: 'Post',\n },\n editTagModal: {\n title: 'Edit tag {{tag}}',\n description: 'Tag description',\n errorPosting: 'Failed to edit',\n saveButton: 'Save',\n cancelButton: 'Cancel',\n },\n deleteModal: {\n title: {\n question: 'Are you sure you want to delete this post?',\n answer: 'Are you sure you want to delete this answer?',\n collection: 'Are you sure you want to delete this collection?',\n },\n errorDeleting: 'Failed to delete',\n deleteButton: 'Delete',\n cancelButton: 'Cancel',\n },\n favoritePage: {\n title: 'Favorited posts',\n },\n leftMenu: {\n home: 'Home',\n questions: 'Questions',\n articles: 'Articles',\n profile: 'Profile',\n tags: 'Tags',\n entities: 'Entities',\n favoriteQuestions: 'Favorites',\n statistics: 'Statistics',\n collections: 'Collections',\n content: 'Content',\n community: 'Community',\n users: 'Users',\n },\n homePage: {\n title: 'Home',\n },\n impactCard: {\n title: 'Your impact',\n views: 'views',\n contributions: 'Your contributions helped {{lastWeek}} people this week',\n },\n rightMenu: {\n followedEntities: 'Followed entities',\n followedTags: 'Followed tags',\n },\n highlights: {\n loadError: 'Failed to load questions',\n own: {\n title: 'Your latest questions',\n noQuestionsLabel: 'No questions',\n },\n hotQuestions: {\n title: 'Hot questions',\n noQuestionsLabel: 'No questions',\n },\n hotArticles: {\n title: 'Hot articles',\n noArticlesLabel: 'No articles',\n },\n unanswered: {\n title: 'Unanswered questions',\n noQuestionsLabel: 'No unanswered questions',\n },\n incorrect: {\n title: 'Questions without correct answer',\n noQuestionsLabel: 'No questions without correct answers',\n },\n },\n questionsPage: {\n title: 'All questions',\n },\n articlesPage: {\n title: 'All articles',\n },\n userLink: {\n anonymous: 'Anonymous',\n },\n articlePage: {\n errorLoading: 'Could not load article',\n editButton: 'Edit this article',\n deleteButton: 'Delete this article',\n },\n collectionsPage: {\n title: 'Collections',\n },\n collectionPage: {\n description: 'Description',\n info: 'You can add questions and articles to the collection from question and article pages',\n },\n questionPage: {\n errorLoading: 'Could not load question',\n editButton: 'Edit',\n sortAnswers: {\n label: 'Sort answers',\n default: 'Default',\n createdDesc: 'Created (desc)',\n createdAsc: 'Created (asc)',\n scoreDesc: 'Score (desc)',\n scoreAsc: 'Score (asc)',\n commentsDesc: 'Comments (desc)',\n commentsAsc: 'Comments (asc)',\n authorDesc: 'Author (desc)',\n authorAsc: 'Author (asc)',\n updatedDesc: 'Updated (desc)',\n updatedAsc: 'Updated (asc)',\n },\n },\n authorBox: {\n postedAtTime: 'Posted',\n updatedAtTime: 'Updated',\n updatedBy: 'by',\n },\n favorite: {\n remove: 'Remove this post from favorites',\n add: 'Mark this post as favorite',\n },\n link: {\n post: 'Copy link to this post to clipboard',\n answer: 'Copy link to this answer to clipboard',\n aria: 'Copy link to clipboard',\n },\n voteButtons: {\n answer: {\n markCorrect: 'Mark this answer correct',\n markIncorrect: 'Mark this answer incorrect',\n marked: 'This answer has been marked as correct',\n good: 'This answer is good',\n bad: 'This answer is not good',\n own: 'You cannot vote your own answer',\n },\n question: {\n good: 'This post is good',\n bad: 'This post is not good',\n own: 'You cannot vote your own post',\n },\n },\n datePicker: {\n from: 'From date',\n to: 'To date',\n invalidRange:\n \"Date range invalid, 'To date' should be greater than 'From date'\",\n range: {\n label: 'Date range',\n default: 'Select',\n last7days: 'Last 7 days',\n last30days: 'Last 30 days',\n custom: 'Custom',\n },\n },\n filterPanel: {\n filterButton: 'Filter',\n noAnswers: {\n label: 'No answers',\n },\n noCorrectAnswers: {\n label: 'No correct answers',\n },\n noVotes: {\n label: 'No votes',\n },\n orderBy: {\n label: 'Order by',\n created: 'Created',\n views: 'Views',\n score: 'Score',\n answers: 'Answers',\n updated: 'Updated',\n },\n order: {\n label: 'Order',\n asc: 'Ascending',\n desc: 'Descending',\n },\n filters: {\n label: 'Filters',\n entity: {\n label: 'Entity',\n placeholder: 'Type or select entity',\n },\n tag: {\n label: 'Tag',\n placeholder: 'Type or select tag',\n },\n },\n },\n postsList: {\n errorLoading: 'Could not load {{itemType}}s',\n postsPerPage: '{{itemType}}s per page',\n },\n postsContainer: {\n title: {\n by: `{{itemType}}s by`,\n about: '{{itemType}}s about',\n tagged: `{{itemType}} tagged with {{tags}}`,\n favorite: 'Your favorite {{itemType}}s',\n },\n search: {\n label: 'Search for {{itemType}}',\n placeholder: 'Search...',\n },\n noItems: 'No {{itemType}}s',\n createButton: 'Go ahead and create one!',\n },\n questionsTable: {\n errorLoading: 'Could not load questions',\n latest: 'Latest',\n mostViewed: 'Most viewed',\n favorites: 'Favorites',\n cells: {\n title: 'Title',\n author: 'Author',\n asked: 'Asked',\n updated: 'Last updated',\n },\n },\n statistics: {\n errorLoading: 'Could not load statistics',\n notAvailable: 'Statistics are unavailable',\n ranking: 'Ranking Q&A 🏆',\n mostQuestions: {\n title: 'Most questions',\n description: 'People who have posted most questions',\n },\n mostAnswers: {\n title: 'Most answers',\n description: 'People who have posted most answers',\n },\n topVotedQuestions: {\n title: 'Top voted questions',\n description: 'People who have the highest rated questions',\n },\n topVotedAnswers: {\n title: 'Top voted answers',\n description: 'People who have the highest rated answers',\n },\n topVotedCorrectAnswers: {\n title: 'Top voted correct answers',\n description: 'People who have the highest rated correct answers',\n },\n },\n tagPage: {\n errorLoading: 'Could not load tags',\n defaultTitle: 'Tags',\n search: {\n label: 'Search tag',\n placeholder: 'Search...',\n },\n tags_zero: 'No tags',\n tags_one: 'Showing {{count}} tag',\n tags_other: 'Showing {{count}} tags',\n },\n entitiesPage: {\n errorLoading: 'Could not load entities',\n defaultTitle: 'Entities',\n search: {\n label: 'Search entity',\n placeholder: 'Search...',\n },\n entities_zero: 'No entities',\n entities_one: 'Showing {{count}} entity',\n entities_other: 'Showing {{count}} entities',\n },\n usersPage: {\n title: 'Users',\n errorLoading: 'Could not load users',\n defaultTitle: 'users',\n search: {\n label: 'Search user',\n placeholder: 'Search...',\n },\n users_zero: 'No users',\n users_one: 'Showing {{count}} users',\n users_other: 'Showing {{count}} users',\n },\n userPage: {\n profileTab: 'Profile',\n statistics: 'Statistics',\n questions: 'Questions',\n answers: 'Answers',\n articles: 'Articles',\n },\n stats: {\n noStats: 'No statistics available. Check back later!',\n questions: 'Questions',\n answers: 'Answers',\n comments: 'Comments',\n votes: 'Votes',\n views: 'Views',\n articles: 'Articles',\n },\n tagButton: {\n follow: 'Follow',\n unfollow: 'Unfollow',\n edit: 'Edit',\n tooltip:\n 'By following a tag, you will get notified when ever a new post with that tag is posted',\n },\n entityButton: {\n follow: 'Follow',\n unfollow: 'Unfollow',\n tooltip:\n 'By following an entity, you will get notified when ever a new post for that entity is posted',\n },\n },\n});\n\nexport const qetaTranslations = createTranslationResource({\n ref: qetaTranslationRef,\n translations: {},\n});\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["import {\n createTranslationRef,\n createTranslationResource,\n} from '@backstage/core-plugin-api/alpha';\n\n/** @alpha */\nexport const qetaTranslationRef = createTranslationRef({\n id: 'qeta',\n messages: {\n pluginName: 'Q&A',\n answerList: {\n errorLoading: 'Could not load answers',\n noAnswers: 'No answers',\n limitSelect: 'Answers per page',\n },\n common: {\n post: 'post',\n question: 'question',\n article: 'article',\n score: '{{score}} score',\n comments: 'Comments',\n anonymousAuthor: 'Anonymous',\n answers_zero: 'No answers',\n answers_one: '{{count}} answer',\n answers_other: '{{count}} answers',\n views_zero: 'Viewed {{count}} times',\n views_one: 'Viewed {{count}} time',\n views_other: 'Viewed {{count}} times',\n viewsShort_zero: '0 views',\n viewsShort_one: '{{count}} view',\n viewsShort_other: '{{count}} views',\n votes_zero: '0 votes',\n votes_one: '{{count}} vote',\n votes_other: '{{count}} votes',\n posts_zero: 'No {{itemType}}s',\n posts_one: '{{count}} {{itemType}}',\n posts_other: '{{count}} {{itemType}}s',\n collections_zero: 'No collections',\n collections_one: '{{count}} collection',\n collections_other: '{{count}} collections',\n followers_zero: 'No followers',\n followers_one: '{{count}} follower',\n followers_other: '{{count}} followers',\n },\n answer: {\n questionTitle: 'Q: {{question}}',\n answeredTime: 'answered',\n },\n answerContainer: {\n title: {\n answersBy: 'Answers by',\n answersAbout: 'Answers about',\n answersTagged: `Answers tagged with {{tags}}`,\n },\n search: {\n label: 'Search for answers',\n placeholder: 'Search...',\n },\n },\n anonymousCheckbox: {\n tooltip:\n \"By enabling this, other users won't be able to see you as an author\",\n answerAnonymously: 'Answer anonymously',\n postAnonymously: 'Post anonymously',\n },\n fileInput: {\n label: 'Header image',\n helperText: 'URL of the header image to be used',\n uploadHeaderImage: 'Upload image',\n preview: 'Preview image',\n },\n collectionForm: {\n errorPosting: 'Could not create collection',\n titleInput: {\n label: 'Title',\n helperText: 'Name of the colleciton',\n },\n descriptionInput: {\n placeholder: 'Collection description, what does it contain?',\n },\n submit: {\n existingCollection: 'Save',\n newCollection: 'Create',\n },\n },\n postForm: {\n errorPosting: 'Could not post {{type}}',\n uploadHeaderImage: 'Upload header image',\n titleInput: {\n label: 'Title',\n helperText:\n 'Write good title for your {{type}} that people can understand',\n },\n contentInput: {\n placeholder: 'Your {{type}}',\n },\n submit: {\n existingPost: 'Save',\n newPost: 'Post',\n },\n },\n answerForm: {\n errorPosting: 'Could not post answer',\n contentInput: {\n placeholder: 'Your answer',\n },\n submit: {\n existingAnswer: 'Save',\n newAnswer: 'Post',\n },\n },\n entitiesInput: {\n label: 'Entities',\n placeholder: 'Type or select entities',\n helperText: 'Add up to {{max}} entities this question relates to',\n },\n tagsInput: {\n label: 'Tags',\n placeholder: 'Type or select tags',\n helperText: 'Add up to {{max}} tags to categorize your question',\n },\n askPage: {\n title: {\n existingQuestion: 'Edit question',\n entityQuestion: 'Ask a question about {{entity}}',\n newQuestion: 'Ask a question',\n },\n },\n writePage: {\n title: {\n existingArticle: 'Edit article',\n entityArticle: 'Write an article about {{entity}}',\n newArticle: 'New article',\n },\n },\n collectionCreatePage: {\n title: {\n existingCollection: 'Edit collection',\n newCollection: 'New collection',\n },\n },\n askQuestionButton: {\n title: 'Ask a question',\n },\n addToCollectionButton: {\n title: 'Collections',\n manage: 'Add or remove this post from collections',\n close: 'Close',\n },\n writeArticleButton: {\n title: 'Write an article',\n },\n createCollectionButton: {\n title: 'Create collection',\n },\n backToQuestionsButton: {\n title: 'Back',\n },\n backToCollectionsButton: {\n title: 'Back',\n },\n commentList: {\n deleteLink: 'delete',\n },\n commentSection: {\n input: {\n placeholder: 'Your comment',\n },\n addComment: 'Add comment',\n post: 'Post',\n },\n editTagModal: {\n title: 'Edit tag {{tag}}',\n description: 'Tag description',\n errorPosting: 'Failed to edit',\n saveButton: 'Save',\n cancelButton: 'Cancel',\n },\n deleteModal: {\n title: {\n question: 'Are you sure you want to delete this post?',\n answer: 'Are you sure you want to delete this answer?',\n collection: 'Are you sure you want to delete this collection?',\n },\n errorDeleting: 'Failed to delete',\n deleteButton: 'Delete',\n cancelButton: 'Cancel',\n },\n favoritePage: {\n title: 'Favorited posts',\n },\n leftMenu: {\n home: 'Home',\n questions: 'Questions',\n articles: 'Articles',\n profile: 'Profile',\n tags: 'Tags',\n entities: 'Entities',\n favoriteQuestions: 'Favorites',\n statistics: 'Statistics',\n collections: 'Collections',\n content: 'Content',\n community: 'Community',\n users: 'Users',\n },\n homePage: {\n title: 'Home',\n },\n impactCard: {\n title: 'Your impact',\n views: 'views',\n contributions: 'Your contributions helped {{lastWeek}} people this week',\n },\n rightMenu: {\n followedEntities: 'Followed entities',\n followedTags: 'Followed tags',\n },\n highlights: {\n loadError: 'Failed to load questions',\n own: {\n title: 'Your latest questions',\n noQuestionsLabel: 'No questions',\n },\n hotQuestions: {\n title: 'Hot questions',\n noQuestionsLabel: 'No questions',\n },\n hotArticles: {\n title: 'Hot articles',\n noArticlesLabel: 'No articles',\n },\n unanswered: {\n title: 'Unanswered questions',\n noQuestionsLabel: 'No unanswered questions',\n },\n incorrect: {\n title: 'Questions without correct answer',\n noQuestionsLabel: 'No questions without correct answers',\n },\n },\n questionsPage: {\n title: 'All questions',\n },\n articlesPage: {\n title: 'All articles',\n },\n userLink: {\n anonymous: 'Anonymous',\n },\n articlePage: {\n errorLoading: 'Could not load article',\n editButton: 'Edit this article',\n deleteButton: 'Delete this article',\n },\n collectionsPage: {\n title: 'Collections',\n },\n collectionPage: {\n description: 'Description',\n info: 'You can add questions and articles to the collection from question and article pages',\n },\n questionPage: {\n errorLoading: 'Could not load question',\n editButton: 'Edit',\n sortAnswers: {\n label: 'Sort answers',\n default: 'Default',\n createdDesc: 'Created (desc)',\n createdAsc: 'Created (asc)',\n scoreDesc: 'Score (desc)',\n scoreAsc: 'Score (asc)',\n commentsDesc: 'Comments (desc)',\n commentsAsc: 'Comments (asc)',\n authorDesc: 'Author (desc)',\n authorAsc: 'Author (asc)',\n updatedDesc: 'Updated (desc)',\n updatedAsc: 'Updated (asc)',\n },\n },\n authorBox: {\n postedAtTime: 'Posted',\n updatedAtTime: 'Updated',\n updatedBy: 'by',\n },\n favorite: {\n remove: 'Remove this post from favorites',\n add: 'Mark this post as favorite',\n },\n link: {\n post: 'Copy link to this post to clipboard',\n answer: 'Copy link to this answer to clipboard',\n aria: 'Copy link to clipboard',\n },\n voteButtons: {\n answer: {\n markCorrect: 'Mark this answer correct',\n markIncorrect: 'Mark this answer incorrect',\n marked: 'This answer has been marked as correct',\n good: 'This answer is good',\n bad: 'This answer is not good',\n own: 'You cannot vote your own answer',\n },\n question: {\n good: 'This post is good',\n bad: 'This post is not good',\n own: 'You cannot vote your own post',\n },\n },\n datePicker: {\n from: 'From date',\n to: 'To date',\n invalidRange:\n \"Date range invalid, 'To date' should be greater than 'From date'\",\n range: {\n label: 'Date range',\n default: 'Select',\n last7days: 'Last 7 days',\n last30days: 'Last 30 days',\n custom: 'Custom',\n },\n },\n filterPanel: {\n filterButton: 'Filter',\n noAnswers: {\n label: 'No answers',\n },\n noCorrectAnswers: {\n label: 'No correct answers',\n },\n noVotes: {\n label: 'No votes',\n },\n orderBy: {\n label: 'Order by',\n created: 'Created',\n views: 'Views',\n score: 'Score',\n answers: 'Answers',\n updated: 'Updated',\n },\n order: {\n label: 'Order',\n asc: 'Ascending',\n desc: 'Descending',\n },\n filters: {\n label: 'Filters',\n entity: {\n label: 'Entity',\n placeholder: 'Type or select entity',\n },\n tag: {\n label: 'Tag',\n placeholder: 'Type or select tag',\n },\n },\n },\n postsList: {\n errorLoading: 'Could not load {{itemType}}s',\n postsPerPage: '{{itemType}}s per page',\n },\n postsContainer: {\n title: {\n by: `{{itemType}}s by`,\n about: '{{itemType}}s about',\n tagged: `{{itemType}} tagged with {{tags}}`,\n favorite: 'Your favorite {{itemType}}s',\n },\n search: {\n label: 'Search for {{itemType}}',\n placeholder: 'Search...',\n },\n noItems: 'No {{itemType}}s',\n createButton: 'Go ahead and create one!',\n },\n questionsTable: {\n errorLoading: 'Could not load questions',\n latest: 'Latest',\n mostViewed: 'Most viewed',\n favorites: 'Favorites',\n cells: {\n title: 'Title',\n author: 'Author',\n asked: 'Asked',\n updated: 'Last updated',\n },\n },\n statistics: {\n errorLoading: 'Could not load statistics',\n notAvailable: 'Statistics are unavailable',\n ranking: 'Ranking Q&A 🏆',\n mostQuestions: {\n title: 'Most questions',\n description: 'People who have posted most questions',\n },\n mostAnswers: {\n title: 'Most answers',\n description: 'People who have posted most answers',\n },\n topVotedQuestions: {\n title: 'Top voted questions',\n description: 'People who have the highest rated questions',\n },\n topVotedAnswers: {\n title: 'Top voted answers',\n description: 'People who have the highest rated answers',\n },\n topVotedCorrectAnswers: {\n title: 'Top voted correct answers',\n description: 'People who have the highest rated correct answers',\n },\n },\n tagPage: {\n errorLoading: 'Could not load tags',\n defaultTitle: 'Tags',\n search: {\n label: 'Search tag',\n placeholder: 'Search...',\n },\n tags_zero: 'No tags',\n tags_one: 'Showing {{count}} tag',\n tags_other: 'Showing {{count}} tags',\n },\n entitiesPage: {\n errorLoading: 'Could not load entities',\n defaultTitle: 'Entities',\n search: {\n label: 'Search entity',\n placeholder: 'Search...',\n },\n entities_zero: 'No entities',\n entities_one: 'Showing {{count}} entity',\n entities_other: 'Showing {{count}} entities',\n },\n usersPage: {\n title: 'Users',\n errorLoading: 'Could not load users',\n defaultTitle: 'users',\n search: {\n label: 'Search user',\n placeholder: 'Search...',\n },\n users_zero: 'No users',\n users_one: 'Showing {{count}} users',\n users_other: 'Showing {{count}} users',\n },\n userPage: {\n profileTab: 'Profile',\n statistics: 'Statistics',\n questions: 'Questions',\n answers: 'Answers',\n articles: 'Articles',\n },\n stats: {\n noStats: 'No statistics available. Check back later!',\n questions: 'Questions',\n answers: 'Answers',\n comments: 'Comments',\n votes: 'Votes',\n views: 'Views',\n articles: 'Articles',\n },\n tagButton: {\n follow: 'Follow',\n unfollow: 'Unfollow',\n edit: 'Edit',\n tooltip:\n 'By following a tag, you will get notified when ever a new post with that tag is posted',\n },\n entityButton: {\n follow: 'Follow',\n unfollow: 'Unfollow',\n tooltip:\n 'By following an entity, you will get notified when ever a new post for that entity is posted',\n },\n userButton: {\n follow: 'Follow',\n unfollow: 'Unfollow',\n tooltip:\n 'By following a user, you will get notified when ever a new post by that user is posted',\n },\n },\n});\n\nexport const qetaTranslations = createTranslationResource({\n ref: qetaTranslationRef,\n translations: {},\n});\n"],"names":[],"mappings":"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"}
|
package/dist/utils/hooks.esm.js
CHANGED
|
@@ -239,7 +239,7 @@ function useVoting(resp) {
|
|
|
239
239
|
analytics.captureEvent("vote", "question", { value: 1 });
|
|
240
240
|
setEntity(response);
|
|
241
241
|
});
|
|
242
|
-
} else if ("
|
|
242
|
+
} else if ("postId" in entity) {
|
|
243
243
|
qetaApi.voteAnswerUp(entity.postId, entity.id).then((response) => {
|
|
244
244
|
setOwnVote(1);
|
|
245
245
|
analytics.captureEvent("vote", "answer", { value: 1 });
|
|
@@ -254,7 +254,7 @@ function useVoting(resp) {
|
|
|
254
254
|
analytics.captureEvent("vote", "question", { value: -1 });
|
|
255
255
|
setEntity(response);
|
|
256
256
|
});
|
|
257
|
-
} else if ("
|
|
257
|
+
} else if ("postId" in entity) {
|
|
258
258
|
qetaApi.voteAnswerDown(entity.postId, entity.id).then((response) => {
|
|
259
259
|
setOwnVote(-1);
|
|
260
260
|
analytics.captureEvent("vote", "answer", { value: -1 });
|
|
@@ -650,6 +650,52 @@ const useEntityFollow = () => {
|
|
|
650
650
|
);
|
|
651
651
|
return { entities, followEntity, unfollowEntity, isFollowingEntity, loading };
|
|
652
652
|
};
|
|
653
|
+
let followedUsers = void 0;
|
|
654
|
+
const useUserFollow = () => {
|
|
655
|
+
const [users, setUsers] = React.useState(followedUsers ?? []);
|
|
656
|
+
const [loading, setLoading] = React.useState(followedUsers === void 0);
|
|
657
|
+
const qetaApi = useApi(qetaApiRef);
|
|
658
|
+
useEffect(() => {
|
|
659
|
+
if (followedUsers === void 0) {
|
|
660
|
+
qetaApi.getFollowedUsers().then((res) => {
|
|
661
|
+
followedUsers = res.followedUserRefs;
|
|
662
|
+
setUsers(res.followedUserRefs);
|
|
663
|
+
setLoading(false);
|
|
664
|
+
});
|
|
665
|
+
} else {
|
|
666
|
+
setUsers(followedUsers);
|
|
667
|
+
}
|
|
668
|
+
}, [qetaApi]);
|
|
669
|
+
const followUser = useCallback(
|
|
670
|
+
(user) => {
|
|
671
|
+
qetaApi.followUser(user).then(() => {
|
|
672
|
+
setUsers((prev) => [...prev, user]);
|
|
673
|
+
followedUsers?.push(user);
|
|
674
|
+
});
|
|
675
|
+
},
|
|
676
|
+
[qetaApi]
|
|
677
|
+
);
|
|
678
|
+
const unfollowUser = useCallback(
|
|
679
|
+
(user) => {
|
|
680
|
+
qetaApi.unfollowUser(user).then(() => {
|
|
681
|
+
setUsers((prev) => prev.filter((t) => t !== user));
|
|
682
|
+
followedUsers = followedUsers?.filter((t) => t !== user);
|
|
683
|
+
});
|
|
684
|
+
},
|
|
685
|
+
[qetaApi]
|
|
686
|
+
);
|
|
687
|
+
const isFollowingUser = useCallback(
|
|
688
|
+
(user) => users.includes(user),
|
|
689
|
+
[users]
|
|
690
|
+
);
|
|
691
|
+
return {
|
|
692
|
+
users,
|
|
693
|
+
followUser,
|
|
694
|
+
unfollowUser,
|
|
695
|
+
isFollowingUser,
|
|
696
|
+
loading
|
|
697
|
+
};
|
|
698
|
+
};
|
|
653
699
|
|
|
654
|
-
export { useBasePath, useBaseUrl, useEntityAuthor, useEntityFollow, useEntityQueryParameter, useFormStyles, useIdentityApi, useIsDarkTheme, usePaginatedPosts, useQetaApi, useStyles, useTagsFollow, useTranslation, useVoting };
|
|
700
|
+
export { useBasePath, useBaseUrl, useEntityAuthor, useEntityFollow, useEntityQueryParameter, useFormStyles, useIdentityApi, useIsDarkTheme, usePaginatedPosts, useQetaApi, useStyles, useTagsFollow, useTranslation, useUserFollow, useVoting };
|
|
655
701
|
//# sourceMappingURL=hooks.esm.js.map
|