Skip to content

Commit 41876bb

Browse files
Add feedback mechanism
1 parent 27f1e8d commit 41876bb

File tree

4 files changed

+108
-3
lines changed

4 files changed

+108
-3
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"clsx": "^2.0.0",
2424
"docusaurus-plugin-sass": "^0.2.5",
2525
"prism-react-renderer": "^2.3.0",
26+
"pushfeedback-react": "^0.1.40",
2627
"react": "^18.0.0",
2728
"react-dom": "^18.0.0",
2829
"sass": "^1.77.8"

src/components/CallToActionButton/CallToActionButton.module.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121
text-align: center;
2222

2323
transition: all 200ms ease-out 10ms;
24-
24+
color: white;
25+
2526
&:hover {
2627
box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.1);
2728
transform: scale(1.05);
2829
border: #0a2313 solid 1px;
2930
text-decoration: none;
3031
}
31-
32-
color: white;
32+
3333

3434
a:hover {
3535
color: white !important;

src/theme/DocItem/Footer/index.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import React, {useEffect} from 'react';
2+
import Footer from '@theme-original/DocItem/Footer';
3+
4+
import { FeedbackButton } from 'pushfeedback-react';
5+
import { defineCustomElements } from 'pushfeedback/loader';
6+
import 'pushfeedback/dist/pushfeedback/pushfeedback.css';
7+
8+
function FeedbackWidget() {
9+
const buttonThumbsUp = <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg>;
10+
const buttonThumbsDown = <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"></path></svg>;
11+
// Replace with your PROJECT_ID
12+
const projectId = 'o0spo5x3r6';
13+
14+
useEffect(() => {
15+
if (typeof window !== 'undefined') {
16+
defineCustomElements(window);
17+
}
18+
}, []);
19+
20+
return(
21+
<div className="feedback-widget margin-top--md margin-bottom--md">
22+
<div className="margin-bottom--sm">
23+
<b>Was this helpful?</b>
24+
</div>
25+
<span class="feedback-widget-positive">
26+
<FeedbackButton project={projectId} rating="1" custom-font="True" button-style="default" modal-position="center">
27+
<button className="button button--outline button--primary button--sm" title="Yes">
28+
{buttonThumbsUp}
29+
</button>
30+
</FeedbackButton>
31+
</span>
32+
<span class="feedback-widget-negative margin-left--sm">
33+
<FeedbackButton project={projectId} rating="0" custom-font="True" button-style="default" modal-position="center">
34+
<button className="button button--outline button--primary button--sm" title="No">
35+
{buttonThumbsDown}
36+
</button>
37+
</FeedbackButton>
38+
</span>
39+
</div>
40+
);
41+
}
42+
43+
export default function FooterWrapper(props) {
44+
return (
45+
<>
46+
<FeedbackWidget/>
47+
<Footer {...props} />
48+
</>
49+
);
50+
}

yarn.lock

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2959,6 +2959,11 @@
29592959
p-map "^4.0.0"
29602960
webpack-sources "^3.2.2"
29612961

2962+
"@stencil/core@^2.13.0":
2963+
version "2.22.3"
2964+
resolved "https://registry.yarnpkg.com/@stencil/core/-/core-2.22.3.tgz#83987e20bba855c450f6d6780e3a20192603f13f"
2965+
integrity sha512-kmVA0M/HojwsfkeHsifvHVIYe4l5tin7J5+DLgtl8h6WWfiMClND5K3ifCXXI2ETDNKiEk21p6jql3Fx9o2rng==
2966+
29622967
"@svgr/babel-plugin-add-jsx-attribute@^6.5.1":
29632968
version "6.5.1"
29642969
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba"
@@ -3957,6 +3962,11 @@ balanced-match@^1.0.0:
39573962
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
39583963
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
39593964

3965+
base64-arraybuffer@^1.0.2:
3966+
version "1.0.2"
3967+
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
3968+
integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
3969+
39603970
batch@0.6.1:
39613971
version "0.6.1"
39623972
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
@@ -4655,6 +4665,13 @@ css-declaration-sorter@^6.3.1:
46554665
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71"
46564666
integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==
46574667

4668+
css-line-break@^2.1.0:
4669+
version "2.1.0"
4670+
resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-2.1.0.tgz#bfef660dfa6f5397ea54116bb3cb4873edbc4fa0"
4671+
integrity sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==
4672+
dependencies:
4673+
utrie "^1.0.2"
4674+
46584675
css-loader@^6.8.1:
46594676
version "6.11.0"
46604677
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba"
@@ -6197,6 +6214,14 @@ html-webpack-plugin@^5.5.3:
61976214
pretty-error "^4.0.0"
61986215
tapable "^2.0.0"
61996216

6217+
html2canvas@^1.4.1:
6218+
version "1.4.1"
6219+
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
6220+
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
6221+
dependencies:
6222+
css-line-break "^2.1.0"
6223+
text-segmentation "^1.0.3"
6224+
62006225
htmlparser2@^6.1.0:
62016226
version "6.1.0"
62026227
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
@@ -8651,6 +8676,21 @@ pupa@^3.1.0:
86518676
dependencies:
86528677
escape-goat "^4.0.0"
86538678

8679+
pushfeedback-react@^0.1.40:
8680+
version "0.1.40"
8681+
resolved "https://registry.yarnpkg.com/pushfeedback-react/-/pushfeedback-react-0.1.40.tgz#28e550b4c38d41cd4f244ed89929a8185329a838"
8682+
integrity sha512-He2ssVfWi4MTRb46+i0gGlV4+CC9NolF+Hb2aZHgm+GqNHtOEd/Hw5IstxmcDUyjlD//Pvtbx+0ZeE4+HEOrxA==
8683+
dependencies:
8684+
pushfeedback "^0.1.40"
8685+
8686+
pushfeedback@^0.1.40:
8687+
version "0.1.40"
8688+
resolved "https://registry.yarnpkg.com/pushfeedback/-/pushfeedback-0.1.40.tgz#b287817af79cea68a1f6add75d2bbb85c5032c3a"
8689+
integrity sha512-ft2+KIZTeFnH7JWOaW0ZmaK2Co5Z0V8NlvtZqaCMIj1wWW3Aa4ylMyPfAtYRQ2mmRyf9O7K4BNhjkORw/1zIuA==
8690+
dependencies:
8691+
"@stencil/core" "^2.13.0"
8692+
html2canvas "^1.4.1"
8693+
86548694
qs@6.11.0:
86558695
version "6.11.0"
86568696
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
@@ -9979,6 +10019,13 @@ terser@^5.10.0, terser@^5.15.1, terser@^5.26.0:
997910019
commander "^2.20.0"
998010020
source-map-support "~0.5.20"
998110021

10022+
text-segmentation@^1.0.3:
10023+
version "1.0.3"
10024+
resolved "https://registry.yarnpkg.com/text-segmentation/-/text-segmentation-1.0.3.tgz#52a388159efffe746b24a63ba311b6ac9f2d7943"
10025+
integrity sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==
10026+
dependencies:
10027+
utrie "^1.0.2"
10028+
998210029
text-table@^0.2.0:
998310030
version "0.2.0"
998410031
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -10390,6 +10437,13 @@ utils-merge@1.0.1:
1039010437
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
1039110438
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
1039210439

10440+
utrie@^1.0.2:
10441+
version "1.0.2"
10442+
resolved "https://registry.yarnpkg.com/utrie/-/utrie-1.0.2.tgz#d42fe44de9bc0119c25de7f564a6ed1b2c87a645"
10443+
integrity sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==
10444+
dependencies:
10445+
base64-arraybuffer "^1.0.2"
10446+
1039310447
uuid@^8.3.2:
1039410448
version "8.3.2"
1039510449
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"

0 commit comments

Comments
 (0)