Successfully rendering QR codes sometimes.
[?]
Feb 8, 2021, 4:39 AM
DAPLYXHYFBC6C642AAQ4MHRS44TDFWHLZYM646JZ3WLEK5EMUY4ACDependencies
- [2]
NACSEFXGExplicitly add uuid to our package.json - [3]
FBFDB2ZQWe can render QR codes now. - [4]
V54JCKJXPayment request creation. - [5]
PPW6ROC5Render project data - [6]
OUR4PAOTUse local dates for display of intervals. - [7]
ANDJ6GEYAdd billing component skeleton. - [8]
YBLHJFCNImplement billing modal. - [9]
QMEYU4MWAdd display for prior intervals. - [10]
NJNMO72SAdd zcash.com submodule and update client to modern halogen. - [11]
WRPIYG3EUse project listing functionality to check for whether we have a cookie. - [12]
QU5FW67RAdd project selection to time tracker. - [13]
KET5QGQPAdd billable list (in-progress) - [14]
N6FG4EW6Working bootstrap modal! Only a little FFI. - [15]
QH4UB73NFormat with purty. - [16]
4GOBY5NQWIP on modals. - [17]
KKJSBWO6Add createPaymentRequestHandler - [18]
JOJO5P2QUpdate uuid dependency - [*]
JXG3FCXYUpgrade ps + halogen versions.
Change contents
- edit in client/package-lock.json at line 4339
},"kjua": {"version": "0.9.0","resolved": "https://registry.npmjs.org/kjua/-/kjua-0.9.0.tgz","integrity": "sha512-Wmh5k6hpl+wiYkcEIx0/Ocj1DOxacw/myh/SQ3NbY0RWD4360CXaaAJkdeeV+moqf7fxvACYK95LXQ8vtLWKxA==" - edit in client/package-lock.json at line 5855
"qrious": {"version": "4.0.2","resolved": "https://registry.npmjs.org/qrious/-/qrious-4.0.2.tgz","integrity": "sha512-xWPJIrK1zu5Ypn898fBp8RHkT/9ibquV2Kv24S/JY9VYEhMBMKur1gHVsOiNUh7PHP9uCgejjpZUHUIXXKoU/g=="}, - edit in client/package.json at line 18
"kjua": "^0.9.0", - edit in client/package.json at line 19
"qrious": "^4.0.2", - replacement in client/src/Aftok/Api/Billing.purs at line 125
annually = traverse (map \(_ :: Unit) -> Annually) (obj .:? "annually")annually = traverse (map \(_ :: Json) -> Annually) (obj .:? "annually") - replacement in client/src/Aftok/Api/Billing.purs at line 128
onetime = traverse (map \(_ :: Unit) -> OneTime) (obj .:? "onetime")onetime = traverse (map \(_ :: Json) -> OneTime) (obj .:? "onetime") - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 5
import Control.Monad.State.Class (get)-- import Control.Monad.State.Class (get) - edit in client/src/Aftok/Billing/PaymentRequest.purs at line 10
-- import Data.Traversable (traverse_)import Data.Unfoldable as U - edit in client/src/Aftok/Billing/PaymentRequest.purs at line 13
import Data.Traversable (traverse_) - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 194
type QrState = Maybe PaymentRequesttype QrInput = Maybe PaymentRequesttype QrState ={ req :: Maybe PaymentRequest, dataUrl :: Maybe String} - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 217
H.Component HH.HTML QrQuery (Maybe PaymentRequest) output mH.Component HH.HTML QrQuery QrInput output m - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 231
initialState :: Maybe PaymentRequest -> Maybe PaymentRequestinitialState input = inputinitialState :: QrInput -> QrStateinitialState input ={ req: input, dataUrl: Nothing } - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 239
[ HH.div [P.id_ "paymentRequestQRCode"] []]((\url -> HH.img [P.src url]) <$> U.fromMaybe st.dataUrl) - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 245
lift $ renderQR rdataUrl <- lift $ renderQR rH.modify_ (_ { dataUrl = Just dataUrl }) - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 250
handleAction = case _ ofQrInit -> dotraverse_ (lift <<< renderQR) =<< gethandleAction _ = pure unit - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 252
renderQR :: PaymentRequest -> m UnitrenderQR :: PaymentRequest -> m String - replacement in client/src/Aftok/Billing/PaymentRequest.purs at line 254
system.renderQR "paymentRequestQRCode" { text: r.native_request.zip321_request }[4.8465]system.renderQR { value: r.native_request.zip321_request, size: 300 } - file deletion: KjuaQR.js
exports.renderQRInternal = selector => content => () => {$('#' + selector).kjua(content)}require("kjua") - file deletion: KjuaQR.purs
module Aftok.HTML.KjuaQR( QRType(..), QROpts, renderQR)whereimport Preludeimport Effect (Effect)data QRType= Canvas| Image| SVGdata ErrorCorrection = L | M | Q | HrenderQR :: String -> QROpts -> Effect UnitrenderQR = renderQRInternaltype QROpts =}-- -- render method: 'canvas', 'image' or 'svg'-- render :: QRType,-- -- render pixel-perfect lines-- crisp :: Boolean,-- -- minimum version: 1..40-- minVersion :: Int,-- -- error correction level: 'L', 'M', 'Q' or 'H'-- ecLevel :: ErrorCorrection,-- -- size in pixel: 200-- size :: Int,-- -- pixel-ratio, null for devicePixelRatio-- -- ratio :: null,---- --code color: '#333',-- fill :: String -- hack, fine for now-- -- background color '#fff'-- back :: String,---- -- content-- text :: String,---- -- roundend corners in pc: 0..100-- rounded: Int,---- -- quiet zone in modules: 0-- quiet: Int,---- -- modes: 'plain', 'label' or 'image'-- mode: 'plain',---- -- label/image size and pos in pc: 0..100-- mSize: 30,-- mPosX: 50,-- mPosY: 50,---- -- label-- label: 'no label',-- fontname: 'sans',-- fontcolor: '#333',---- -- image element-- image: null---- type QROptsInternal =-- {-- -- render method: 'canvas', 'image' or 'svg'-- render :: String,---- -- render pixel-perfect lines-- crisp :: Boolean,---- -- minimum version: 1..40-- minVersion :: Int---- -- error correction level: 'L', 'M', 'Q' or 'H'-- ecLevel: 'L',---- -- size in pixel-- size: 200,---- -- pixel-ratio, null for devicePixelRatio-- ratio: null,---- -- code color-- fill: '#333',---- -- background color-- back: '#fff',---- -- content-- text: 'no text',---- -- roundend corners in pc: 0..100-- rounded: 0,---- -- quiet zone in modules-- quiet: 0,---- -- modes: 'plain', 'label' or 'image'-- mode: 'plain',---- -- label/image size and pos in pc: 0..100-- mSize: 30,-- mPosX: 50,-- mPosY: 50,---- -- label-- label: 'no label',-- fontname: 'sans',-- fontcolor: '#333',---- -- image element-- image: null------ }foreign import renderQRInternal :: String -> QROpts -> Effect Unit{ text :: String - file addition: QRious.js[4.3158]
var QRious = require('qrious');exports.renderQRInternal = options => () => {var qrious = new QRious(options);return qrious.toDataURL();} - file addition: QRious.purs[4.3158]
module Aftok.HTML.QRious( renderQR, QROpts)whereimport Effect (Effect)renderQR :: QROpts -> Effect StringrenderQR = renderQRInternaltype QROpts ={ value :: String, size :: Int}foreign import renderQRInternal :: QROpts -> Effect String - replacement in client/src/Aftok/Types.purs at line 29
import Aftok.HTML.KjuaQR as KjuaQRimport Aftok.HTML.QRious as QRious - replacement in client/src/Aftok/Types.purs at line 54
, renderQR :: String -> KjuaQR.QROpts -> m Unit, renderQR :: QRious.QROpts -> m String - replacement in client/src/Aftok/Types.purs at line 69
, renderQR: \i opts -> liftEffect (KjuaQR.renderQR i opts), renderQR: \opts -> liftEffect (QRious.renderQR opts)