File tree Expand file tree Collapse file tree 5 files changed +60
-0
lines changed Expand file tree Collapse file tree 5 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 7979 "react-immutable-proptypes" : " ^2.2.0" ,
8080 "react-intl" : " 6.8.9" ,
8181 "react-motion" : " ^0.5.2" ,
82+ "react-qr-code" : " ^2.0.15" ,
8283 "react-redux" : " ^9.2.0" ,
8384 "react-router" : " ^6.28.0" ,
8485 "react-router-dom" : " ^6.28.0" ,
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
44import HeaderNotificationsContainer from '../../../containers/HeaderNotificationsContainer' ;
55import HeaderSystemMessagesContainer from '../../../containers/HeaderSystemMessagesContainer' ;
66import HeaderLanguageSwitching from '../HeaderLanguageSwitching' ;
7+ import HeaderQRCodeDropdown from '../HeaderQRCodeDropdown' ;
78import MemberGroupsDropdown from '../../Groups/MemberGroupsDropdown' ;
89import ClientOnly from '../../helpers/ClientOnly' ;
910import FetchManyResourceRenderer from '../../helpers/FetchManyResourceRenderer' ;
@@ -65,6 +66,7 @@ class Header extends Component {
6566 </ ClientOnly >
6667
6768 < ul className = "navbar-nav ms-auto" >
69+ < HeaderQRCodeDropdown />
6870 { isLoggedIn && < HeaderSystemMessagesContainer locale = { currentLang } /> }
6971 < HeaderNotificationsContainer />
7072 < HeaderLanguageSwitching availableLangs = { availableLangs } currentLang = { currentLang } setLang = { setLang } />
Original file line number Diff line number Diff line change 1+ import React from 'react' ;
2+ import { FormattedMessage } from 'react-intl' ;
3+ import { Dropdown } from 'react-bootstrap' ;
4+ import QRCode from 'react-qr-code' ;
5+
6+ import Icon from '../../icons' ;
7+
8+ const preventClickPropagation = ev => ev . stopPropagation ( ) ;
9+
10+ const HeaderQRCodeDropdown = ( ) => (
11+ < Dropdown as = "li" align = "end" navbar className = "nav-item" data-bs-theme = "light" >
12+ < Dropdown . Toggle as = "a" id = "dropdown-qr-code-link" bsPrefix = "nav-link" >
13+ < Icon icon = "qrcode" />
14+ </ Dropdown . Toggle >
15+
16+ < Dropdown . Menu rootCloseEvent = "mousedown" onMouseDown = { preventClickPropagation } >
17+ < Dropdown . Header >
18+ < FormattedMessage id = "app.QRCodeDropdown.title" defaultMessage = "QR code link to current page" />
19+ </ Dropdown . Header >
20+
21+ < Dropdown . Divider className = "mb-0" />
22+
23+ < div className = "mx-5 my-4 text-center" >
24+ < QRCode size = { 256 } value = { window . location . href } />
25+ </ div >
26+ < p className = "mx-3 small" >
27+ < code className = "small" > { window . location . href } </ code >
28+ </ p >
29+ </ Dropdown . Menu >
30+ </ Dropdown >
31+ ) ;
32+
33+ HeaderQRCodeDropdown . propTypes = { } ;
34+
35+ export default HeaderQRCodeDropdown ;
Original file line number Diff line number Diff line change 1+ import HeaderQRCodeDropdown from './HeaderQRCodeDropdown.js' ;
2+ export default HeaderQRCodeDropdown ;
Original file line number Diff line number Diff line change @@ -11887,6 +11887,13 @@ __metadata:
1188711887 languageName: node
1188811888 linkType: hard
1188911889
11890+ "qr.js@npm:0.0.0":
11891+ version: 0.0.0
11892+ resolution: "qr.js@npm:0.0.0"
11893+ checksum: 5ac6c393967bdeaa660e7fd3a501a25eb538c1f6008a4d30ab2b97bbe520e5c236530090773f1578aa0a523cdaa6923c866615e21143f9e7cd22abd41c789b69
11894+ languageName: node
11895+ linkType: hard
11896+
1189011897"qs@npm:6.13.0":
1189111898 version: 6.13.0
1189211899 resolution: "qs@npm:6.13.0"
@@ -12191,6 +12198,18 @@ __metadata:
1219112198 languageName: node
1219212199 linkType: hard
1219312200
12201+ "react-qr-code@npm:^2.0.15":
12202+ version: 2.0.15
12203+ resolution: "react-qr-code@npm:2.0.15"
12204+ dependencies:
12205+ prop-types: ^15.8.1
12206+ qr.js: 0.0.0
12207+ peerDependencies:
12208+ react: "*"
12209+ checksum: 4124b7c2ce71bfe94279d85322175c881ba87dcc9b67f3c6d6e2806854a8792cf5f9ed8e10ea04c22e39aa060ef12fb39e679e780cba14f168d3cd6cffb7086d
12210+ languageName: node
12211+ linkType: hard
12212+
1219412213"react-redux@npm:^9.2.0":
1219512214 version: 9.2.0
1219612215 resolution: "react-redux@npm:9.2.0"
@@ -12454,6 +12473,7 @@ __metadata:
1245412473 react-intl: 6.8.9
1245512474 react-intl-translations-manager: ^5.0.3
1245612475 react-motion: ^0.5.2
12476+ react-qr-code: ^2.0.15
1245712477 react-redux: ^9.2.0
1245812478 react-router: ^6.28.0
1245912479 react-router-dom: ^6.28.0
You can’t perform that action at this time.
0 commit comments