123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib prefix="tag" tagdir="/WEB-INF/tags" %>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <link type="text/css" rel="stylesheet" href="../css/material-icons.css" />
- <link type="text/css" rel="stylesheet" href="../css/materialize.min.css" media="screen,projection" />
- <link type="text/css" rel="stylesheet" href="../css/style.min.css" media="screen,projection" />
- <link rel="icon" href="../img/favicon.ico" />
- <title>Scan - Microfolie Lens</title>
- </head>
- <body class="grey lighten-3">
-
- <header class="navbar-fixed">
- <nav class="red">
- <div class="nav-wrapper">
- <span class="brand-logo center mtop-half hide-on-med-and-down"><img src="../img/logo.png"
- title="Logo Microfolie" class="responsive-img" style="max-width: 128px;" /></span>
- <span class="brand-logo center hide-on-large-only">Microfolie Lens</span>
- <div class="left mleft-2 hide-on-med-and-down">
- <span>
- <h5>Microfolie Lens</h5>
- </span>
- </div>
- </div>
- </nav>
- </header>
- <div class="mtop-5 hide-on-med-and-down"></div>
-
- <main class="container">
- <div class="row">
- <div class="col s12 center-align">
- <h3 id="title">QR Code Scanner</h3>
- </div>
- </div>
- <div class="row">
- <div class="col s12 center-align">
- <video id="qr-preview"></video>
- </div>
- </div>
- <div class="row">
- <div class="col s12 center-align">
- <p id="result"></p>
- </div>
- </div>
- </main>
-
- <div id="ok-popup" class="modal popup">
- <div class="modal-content" style="overflow: hidden;">
- <div class="row">
- <div class="col offset-m1 m3 s12">
- <i class="material-icons green-text" style="font-size: 8em;">check_circle</i>
- </div>
- <div class="col m7 s12 mtop-3">
- <h4>Votre code a bien été scanné</h4>
- </div>
- </div>
- </div>
- </div>
- <div id="err-popup" class="modal popup">
- <div class="modal-content" style="overflow: hidden;">
- <div class="row">
- <div class="col offset-m1 m3 s12">
- <i class="material-icons red-text" style="font-size: 8em;">error</i>
- </div>
- <div class="col m7 s12 mtop-3">
- <h4 id="error-text">Error message</h4>
- </div>
- </div>
- </div>
- </div>
-
- <tag:loader name="loader" />
-
- <script type="text/javascript" src="../js/jquery.min.js"></script>
- <script type="text/javascript" src="../js/materialize.min.js"></script>
- <script type="text/javascript" src="../js/script.js"></script>
-
- <script type="text/javascript" src="../js/instascan.min.js"></script>
- <script type="text/javascript">
- $(document).ready(() => {
- const okPopup = M.Modal.getInstance($('#ok-popup'));
- const errPopup = M.Modal.getInstance($('#err-popup'));
- const loader = M.Modal.getInstance($('#loader'));
-
-
- const espace = getCookie("microfolies.lens.espace");
-
- if (espace !== undefined) {
- $('#title').html(espace.capitalize());
- }
-
- const scanner = new Instascan.Scanner({ video: document.getElementById('qr-preview') });
- scanner.addListener('scan', function (content) {
- const result = espace ? content + "/" + espace : content;
- $('#result').html(result);
- okPopup.open();
- });
- Instascan.Camera.getCameras().then(function (cameras) {
- if (cameras.length > 0) {
- scanner.start(cameras[0]);
- }
- else {
- console.error('No cameras found.');
- }
- }).catch(err => {
- console.error(err);
- });
- });
- </script>
- </body>
- </html>
|