diff --git a/src/pages/attendees/badge-checkin-page.js b/src/pages/attendees/badge-checkin-page.js index b6be42d0e..8787a17d6 100644 --- a/src/pages/attendees/badge-checkin-page.js +++ b/src/pages/attendees/badge-checkin-page.js @@ -9,16 +9,17 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - **/ + * */ import React, { useState } from "react"; import { connect } from "react-redux"; import { Breadcrumb } from "react-breadcrumbs"; import T from "i18n-react/dist/i18n-react"; -import { checkInBadge } from "../../actions/badge-actions"; import QrReader from "modern-react-qr-reader"; import { isMobile } from "react-device-detect"; import Swal from "sweetalert2"; +import { checkInBadge } from "../../actions/badge-actions"; +import { formatBadgeQR } from "../../utils/methods"; import styles from "../../styles/badge-checkin-page.module.less"; const BadgeCheckinPage = ({ match, currentSummit, checkInBadge }) => { @@ -30,9 +31,10 @@ const BadgeCheckinPage = ({ match, currentSummit, checkInBadge }) => { setScanning(true); checkInBadge(data) .then(() => { + const badgeData = formatBadgeQR(data, currentSummit); Swal.fire( T.translate("badge_checkin.checked_in"), - `${qrValid[3]} (${qrValid[2]}) checked in!`, + `${badgeData.fullName} (${badgeData.email}) checked in!`, "success" ); }) @@ -77,6 +79,7 @@ const BadgeCheckinPage = ({ match, currentSummit, checkInBadge }) => { onClick={() => setCamera(camera === "environment" ? "user" : "environment") } + type="button" > { export const capitalizeFirstLetter = (val) => String(val).charAt(0).toUpperCase() + String(val).slice(1); + +export const formatBadgeQR = (code, summit) => { + const qrCodeArray = code.split(summit.qr_registry_field_delimiter); + + if (qrCodeArray.length > TWO && qrCodeArray[0] === summit.badge_qr_prefix) { + return { + badgePrefix: qrCodeArray[0], + ticketNumber: qrCodeArray[1], + email: qrCodeArray[2], + fullName: qrCodeArray[3] + }; + } + + return false; +};