status-mobile/src/status_im/components/camera.cljs

26 lines
806 B
Plaintext
Raw Normal View History

(ns status-im.components.camera
(:require [reagent.core :as r]
[clojure.walk :refer [keywordize-keys]]
2017-07-16 09:04:35 +00:00
[status-im.utils.platform :as platform]
[status-im.react-native.js-dependencies :as rn-dependecies]))
2017-07-16 09:04:35 +00:00
(def default-camera (.-default rn-dependecies/camera))
(defn constants [t]
2017-07-16 09:04:35 +00:00
(-> (aget rn-dependecies/camera "constants" t)
(js->clj)
(keywordize-keys)))
(def aspects (constants "Aspect"))
(def capture-targets (constants "CaptureTarget"))
(defn request-access [callback]
(if platform/android?
(callback true)
2017-07-16 09:04:35 +00:00
(-> (.checkVideoAuthorizationStatus default-camera)
2017-05-18 22:19:46 +00:00
(.then #(callback %))
(.catch #(callback false)))))
(defn camera [props]
2017-07-16 09:04:35 +00:00
(r/create-element default-camera (clj->js (merge {:inverted true} props))))