cobrowse-agent-ui 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +1 -1
- package/dist/CodeEntry.js +12 -20
- package/dist/Device.js +16 -23
- package/dist/PlatformIcon.js +11 -18
- package/dist/Session.js +23 -30
- package/dist/SmartConnectButton.js +4 -11
- package/dist/Stopwatch.js +12 -16
- package/dist/UserIcon.js +5 -12
- package/dist/deviceType.js +6 -13
- package/dist/i18n.js +109 -47
- package/dist/index.js +7 -48
- package/dist/locales/ar/translation.json +10 -0
- package/dist/locales/cs/translation.json +10 -0
- package/dist/locales/da/translation.json +10 -0
- package/dist/locales/de/translation.json +10 -0
- package/dist/locales/et/translation.json +10 -0
- package/dist/locales/fi/translation.json +10 -0
- package/dist/locales/fr/translation.json +1 -1
- package/dist/locales/hi/translation.json +10 -0
- package/dist/locales/it/translation.json +10 -0
- package/dist/locales/ja/translation.json +10 -0
- package/dist/locales/kk/translation.json +10 -0
- package/dist/locales/ko/translation.json +10 -0
- package/dist/locales/lt/translation.json +10 -0
- package/dist/locales/mr/translation.json +10 -0
- package/dist/locales/ms/translation.json +10 -0
- package/dist/locales/nl/translation.json +10 -0
- package/dist/locales/pl/translation.json +10 -0
- package/dist/locales/pt/translation.json +10 -0
- package/dist/locales/ro/translation.json +10 -0
- package/dist/locales/ru/translation.json +10 -0
- package/dist/locales/sk/translation.json +10 -0
- package/dist/locales/sl/translation.json +10 -0
- package/dist/locales/sv/translation.json +10 -0
- package/dist/locales/th/translation.json +10 -0
- package/dist/locales/uk/translation.json +10 -0
- package/dist/locales/vi/translation.json +10 -0
- package/dist/locales/zh/translation.json +10 -0
- package/i18next-parser.config.js +34 -2
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.2.0](https://github.com/cobrowseio/cobrowse-agent-ui/compare/v1.1.1...v1.2.0) (2025-05-09)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add new locales ([#23](https://github.com/cobrowseio/cobrowse-agent-ui/issues/23)) ([7bb63b8](https://github.com/cobrowseio/cobrowse-agent-ui/commit/7bb63b8e98b053635488217d040c123b32033b3c))
|
|
11
|
+
|
|
12
|
+
### [1.1.1](https://github.com/cobrowseio/cobrowse-agent-ui/compare/v1.1.0...v1.1.1) (2025-02-03)
|
|
13
|
+
|
|
5
14
|
## [1.1.0](https://github.com/cobrowseio/cobrowse-agent-ui/compare/v1.0.0...v1.1.0) (2024-01-17)
|
|
6
15
|
|
|
7
16
|
|
package/README.md
CHANGED
|
@@ -36,4 +36,4 @@ To add a new locale follow these steps:
|
|
|
36
36
|
- Add a new entry to the `SUPPORTED_LOCALES` constant inside `src/i18n.js`.
|
|
37
37
|
|
|
38
38
|
**Note:** ensure the locale code matches the ones provided by the
|
|
39
|
-
[
|
|
39
|
+
[date-fns library](https://github.com/date-fns/date-fns/tree/main/src/locale) as these are used to localize dates as well.
|
package/dist/CodeEntry.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
require("./CodeEntry.css");
|
|
10
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
3
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
14
4
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
@@ -30,6 +20,8 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
|
30
20
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
21
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
32
22
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
import React, { Component } from 'react';
|
|
24
|
+
import './CodeEntry.css';
|
|
33
25
|
var CodeEntry = /*#__PURE__*/function (_Component) {
|
|
34
26
|
_inherits(CodeEntry, _Component);
|
|
35
27
|
var _super = _createSuper(CodeEntry);
|
|
@@ -180,11 +172,11 @@ var CodeEntry = /*#__PURE__*/function (_Component) {
|
|
|
180
172
|
disabled: !this.isEditable()
|
|
181
173
|
};
|
|
182
174
|
var invalid = !this.state.validating && this.getCode().length === 6;
|
|
183
|
-
return /*#__PURE__*/
|
|
175
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
184
176
|
className: "CodeEntry"
|
|
185
|
-
}, /*#__PURE__*/
|
|
177
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
186
178
|
className: invalid ? 'invalid' : ''
|
|
187
|
-
}, /*#__PURE__*/
|
|
179
|
+
}, /*#__PURE__*/React.createElement("input", _extends({
|
|
188
180
|
className: "bordered",
|
|
189
181
|
type: "number"
|
|
190
182
|
}, keyHandlers, {
|
|
@@ -193,31 +185,31 @@ var CodeEntry = /*#__PURE__*/function (_Component) {
|
|
|
193
185
|
ref: function ref(c) {
|
|
194
186
|
_this2.firstDigit = c;
|
|
195
187
|
}
|
|
196
|
-
})), /*#__PURE__*/
|
|
188
|
+
})), /*#__PURE__*/React.createElement("input", _extends({
|
|
197
189
|
className: "bordered",
|
|
198
190
|
type: "number"
|
|
199
191
|
}, keyHandlers, {
|
|
200
192
|
value: this.state.code[1],
|
|
201
193
|
"data-digit": 1
|
|
202
|
-
})), /*#__PURE__*/
|
|
194
|
+
})), /*#__PURE__*/React.createElement("input", _extends({
|
|
203
195
|
className: "bordered",
|
|
204
196
|
type: "number"
|
|
205
197
|
}, keyHandlers, {
|
|
206
198
|
value: this.state.code[2],
|
|
207
199
|
"data-digit": 2
|
|
208
|
-
})), /*#__PURE__*/
|
|
200
|
+
})), /*#__PURE__*/React.createElement("input", _extends({
|
|
209
201
|
className: "bordered",
|
|
210
202
|
type: "number"
|
|
211
203
|
}, keyHandlers, {
|
|
212
204
|
value: this.state.code[3],
|
|
213
205
|
"data-digit": 3
|
|
214
|
-
})), /*#__PURE__*/
|
|
206
|
+
})), /*#__PURE__*/React.createElement("input", _extends({
|
|
215
207
|
className: "bordered",
|
|
216
208
|
type: "number"
|
|
217
209
|
}, keyHandlers, {
|
|
218
210
|
value: this.state.code[4],
|
|
219
211
|
"data-digit": 4
|
|
220
|
-
})), /*#__PURE__*/
|
|
212
|
+
})), /*#__PURE__*/React.createElement("input", _extends({
|
|
221
213
|
className: "bordered",
|
|
222
214
|
type: "number"
|
|
223
215
|
}, keyHandlers, {
|
|
@@ -230,5 +222,5 @@ var CodeEntry = /*#__PURE__*/function (_Component) {
|
|
|
230
222
|
}
|
|
231
223
|
}]);
|
|
232
224
|
return CodeEntry;
|
|
233
|
-
}(
|
|
234
|
-
|
|
225
|
+
}(Component);
|
|
226
|
+
export { CodeEntry as default };
|
package/dist/Device.js
CHANGED
|
@@ -1,38 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _i18n = _interopRequireDefault(require("./i18n"));
|
|
9
|
-
var _PlatformIcon = _interopRequireDefault(require("./PlatformIcon.js"));
|
|
10
|
-
var _deviceType = _interopRequireDefault(require("./deviceType.js"));
|
|
11
|
-
require("./Device.css");
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function Device(props) {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import i18n from './i18n';
|
|
3
|
+
import PlatformIcon from './PlatformIcon.js';
|
|
4
|
+
import deviceType from './deviceType.js';
|
|
5
|
+
import './Device.css';
|
|
6
|
+
export default function Device(props) {
|
|
14
7
|
function renderLastSeen() {
|
|
15
8
|
if (props.device.online) {
|
|
16
|
-
return /*#__PURE__*/
|
|
9
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
17
10
|
className: "last-seen"
|
|
18
|
-
},
|
|
11
|
+
}, i18n.t('Online'));
|
|
19
12
|
} else {
|
|
20
|
-
return /*#__PURE__*/
|
|
13
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
21
14
|
className: "last-seen"
|
|
22
|
-
},
|
|
23
|
-
date: props.device.last_active
|
|
15
|
+
}, i18n.t('Last seen {{date, dateRelative}}', {
|
|
16
|
+
date: new Date(props.device.last_active)
|
|
24
17
|
}));
|
|
25
18
|
}
|
|
26
19
|
}
|
|
27
|
-
return /*#__PURE__*/
|
|
20
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
21
|
style: props.style,
|
|
29
22
|
className: "Device ".concat(props.device.online ? 'online' : '', " ").concat(props.device.connectable ? 'connectable' : '')
|
|
30
|
-
}, /*#__PURE__*/
|
|
23
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
31
24
|
className: "device-status"
|
|
32
|
-
}, /*#__PURE__*/
|
|
25
|
+
}, /*#__PURE__*/React.createElement(PlatformIcon, {
|
|
33
26
|
platform: props.device.device.platform,
|
|
34
27
|
className: "platform-icon"
|
|
35
|
-
})), /*#__PURE__*/
|
|
28
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
36
29
|
className: "details"
|
|
37
|
-
}, (
|
|
30
|
+
}, deviceType(props.device.device), renderLastSeen()), props.children);
|
|
38
31
|
}
|
package/dist/PlatformIcon.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = PlatformIcon;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
require("./PlatformIcon.css");
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import React from 'react';
|
|
11
3
|
var IconGlobe = function IconGlobe(props) {
|
|
12
|
-
return /*#__PURE__*/
|
|
4
|
+
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
|
13
5
|
d: "M14.917 14.492a1.672 1.672 0 0 0-1.584-1.159H12.5v-2.5a.833.833 0 0 0-.833-.833h-5V8.333h1.666a.833.833 0 0 0 .834-.833V5.833h1.666A1.667 1.667 0 0 0 12.5 4.167v-.342a6.654 6.654 0 0 1 2.417 10.667Zm-5.75 2.116A6.657 6.657 0 0 1 3.333 10c0-.517.067-1.017.175-1.492L7.5 12.5v.833A1.667 1.667 0 0 0 9.167 15M10 1.667a8.333 8.333 0 1 0 0 16.666 8.333 8.333 0 0 0 0-16.666Z",
|
|
14
6
|
fill: "currentColor"
|
|
15
7
|
}));
|
|
@@ -20,7 +12,7 @@ IconGlobe.defaultProps = {
|
|
|
20
12
|
xmlns: "http://www.w3.org/2000/svg"
|
|
21
13
|
};
|
|
22
14
|
var IconApple = function IconApple(props) {
|
|
23
|
-
return /*#__PURE__*/
|
|
15
|
+
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
|
24
16
|
d: "M14.208 16.9c-.816.792-1.708.667-2.566.292-.909-.384-1.742-.4-2.7 0-1.2.516-1.834.366-2.55-.292-4.067-4.192-3.467-10.575 1.15-10.808 1.125.058 1.908.616 2.566.666.984-.2 1.925-.775 2.975-.7 1.259.1 2.209.6 2.834 1.5-2.6 1.559-1.984 4.984.4 5.942-.475 1.25-1.092 2.492-2.117 3.408l.008-.008ZM10.025 6.042C9.9 4.183 11.408 2.65 13.142 2.5c.241 2.15-1.95 3.75-3.117 3.542Z",
|
|
25
17
|
fill: "currentColor"
|
|
26
18
|
}));
|
|
@@ -31,7 +23,7 @@ IconApple.defaultProps = {
|
|
|
31
23
|
xmlns: "http://www.w3.org/2000/svg"
|
|
32
24
|
};
|
|
33
25
|
var IconAndroid = function IconAndroid(props) {
|
|
34
|
-
return /*#__PURE__*/
|
|
26
|
+
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
|
35
27
|
d: "M.833 15a9.03 9.03 0 0 1 1.365-4.104 8.67 8.67 0 0 1 3.135-2.98L3.792 5.25a.45.45 0 0 1-.063-.396.501.501 0 0 1 .27-.312.439.439 0 0 1 .376-.042c.139.042.25.125.333.25L6.25 7.417a9.616 9.616 0 0 1 3.75-.75c1.306 0 2.556.25 3.75.75l1.542-2.667a.597.597 0 0 1 .333-.25.439.439 0 0 1 .375.042c.139.07.23.173.27.312a.45.45 0 0 1-.062.396l-1.541 2.667a8.661 8.661 0 0 1 3.135 2.979A9.044 9.044 0 0 1 19.167 15H.833Zm5-2.292c.292 0 .539-.1.74-.302.202-.202.302-.448.302-.74 0-.291-.1-.538-.303-.74a1.002 1.002 0 0 0-.739-.301c-.291 0-.538.1-.74.303a1.003 1.003 0 0 0-.301.739c0 .291.1.538.302.74.202.201.448.302.74.301Zm8.334 0c.291 0 .538-.1.74-.302.201-.202.302-.448.301-.74 0-.291-.1-.538-.302-.74a1.003 1.003 0 0 0-.74-.301c-.291 0-.538.1-.74.303a1.003 1.003 0 0 0-.301.739c0 .291.1.538.302.74.202.201.449.302.74.301Z",
|
|
36
28
|
fill: "currentColor"
|
|
37
29
|
}));
|
|
@@ -42,7 +34,7 @@ IconAndroid.defaultProps = {
|
|
|
42
34
|
xmlns: "http://www.w3.org/2000/svg"
|
|
43
35
|
};
|
|
44
36
|
var IconWindows = function IconWindows(props) {
|
|
45
|
-
return /*#__PURE__*/
|
|
37
|
+
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
|
46
38
|
d: "M5.216 8.219 16.28 6.695v10.69H5.214V8.22l.002-.002Zm0 19.563 11.065 1.525v-10.56H5.214l.002 9.035Zm12.282 1.687L32.216 31.5V18.747H17.498v10.722Zm0-22.938v10.854h14.718V4.5L17.498 6.531Z",
|
|
47
39
|
fill: "currentColor"
|
|
48
40
|
}));
|
|
@@ -53,17 +45,17 @@ IconWindows.defaultProps = {
|
|
|
53
45
|
xmlns: "http://www.w3.org/2000/svg"
|
|
54
46
|
};
|
|
55
47
|
var IconDefault = function IconDefault(props) {
|
|
56
|
-
return /*#__PURE__*/
|
|
48
|
+
return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
|
|
57
49
|
style: {
|
|
58
50
|
fill: "#020202"
|
|
59
51
|
},
|
|
60
52
|
d: "M206.759 332.99H39.225c-3.894 0-7.065-3.173-7.065-7.067V53.353c0-3.893 3.172-7.065 7.065-7.065h401.631c3.895 0 7.065 3.172 7.065 7.065v59.696c11.763 1.389 22.785 5.244 32.159 11.581V53.353c0-21.63-17.602-39.225-39.225-39.225H39.225C17.602 14.128 0 31.722 0 53.353v272.569c0 21.631 17.602 39.227 39.225 39.227h134.62v52.581h-21.229c-13.316 0-24.12 10.796-24.12 24.12 0 13.324 10.804 24.12 24.12 24.12h67.71c-8.463-11.902-13.566-26.35-13.566-42.037V332.99z"
|
|
61
|
-
}), /*#__PURE__*/
|
|
53
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
62
54
|
style: {
|
|
63
55
|
fill: "#020202"
|
|
64
56
|
},
|
|
65
57
|
d: "M341.739 441.645v-34.742h-70.662V184.999c0-4.681 3.8-8.489 8.479-8.489h159.887c4.679 0 8.478 3.808 8.478 8.489v68.676h12.046c7.364 0 14.179 2.127 20.113 5.597v-74.273c0-22.417-18.23-40.648-40.638-40.648H279.556c-22.407 0-40.638 18.231-40.638 40.648v238.933c0 22.417 18.23 40.647 40.638 40.647h69.438c-4.428-6.359-7.255-15.22-7.255-22.934z"
|
|
66
|
-
}), /*#__PURE__*/
|
|
58
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
67
59
|
style: {
|
|
68
60
|
fill: "#020202"
|
|
69
61
|
},
|
|
@@ -75,6 +67,7 @@ IconDefault.defaultProps = {
|
|
|
75
67
|
viewBox: "0 0 480.097 480.097",
|
|
76
68
|
xmlSpace: "preserve"
|
|
77
69
|
};
|
|
70
|
+
import './PlatformIcon.css';
|
|
78
71
|
function icon(platform) {
|
|
79
72
|
switch (platform) {
|
|
80
73
|
case 'web':
|
|
@@ -91,9 +84,9 @@ function icon(platform) {
|
|
|
91
84
|
return IconDefault;
|
|
92
85
|
}
|
|
93
86
|
}
|
|
94
|
-
function PlatformIcon(props) {
|
|
87
|
+
export default function PlatformIcon(props) {
|
|
95
88
|
var Icon = icon(props.platform);
|
|
96
|
-
return /*#__PURE__*/
|
|
89
|
+
return /*#__PURE__*/React.createElement(Icon, _extends({
|
|
97
90
|
fill: "currentColor"
|
|
98
91
|
}, props, {
|
|
99
92
|
className: "PlatformIcon ".concat(props.className || '')
|
package/dist/Session.js
CHANGED
|
@@ -1,46 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _deviceType = _interopRequireDefault(require("./deviceType.js"));
|
|
9
|
-
var _Stopwatch = _interopRequireDefault(require("./Stopwatch.js"));
|
|
10
|
-
var _i18n = _interopRequireDefault(require("./i18n"));
|
|
11
|
-
var _reactI18next = require("react-i18next");
|
|
12
|
-
require("./Session.css");
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function Session(props) {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import deviceType from './deviceType.js';
|
|
3
|
+
import Stopwatch from './Stopwatch.js';
|
|
4
|
+
import i18n from './i18n';
|
|
5
|
+
import { Trans } from 'react-i18next';
|
|
6
|
+
import './Session.css';
|
|
7
|
+
export default function Session(props) {
|
|
15
8
|
function openRecording() {
|
|
16
9
|
if (props.openRecording) props.openRecording(props.session);
|
|
17
10
|
}
|
|
18
|
-
return /*#__PURE__*/
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
19
12
|
style: props.style,
|
|
20
13
|
onClick: props.onClick,
|
|
21
14
|
className: "Session ".concat(props.className || '')
|
|
22
|
-
}, /*#__PURE__*/
|
|
15
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
23
16
|
className: "details"
|
|
24
|
-
}, /*#__PURE__*/
|
|
25
|
-
i18n:
|
|
26
|
-
}, /*#__PURE__*/
|
|
17
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Trans, {
|
|
18
|
+
i18n: i18n
|
|
19
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
27
20
|
className: "device-prefix"
|
|
28
21
|
}, "Connected to "), {
|
|
29
|
-
deviceType: (
|
|
30
|
-
})), /*#__PURE__*/
|
|
22
|
+
deviceType: deviceType(props.session.device)
|
|
23
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
31
24
|
className: "subdetails"
|
|
32
|
-
}, /*#__PURE__*/
|
|
25
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
33
26
|
className: "activated"
|
|
34
|
-
},
|
|
35
|
-
date: props.session.activated
|
|
36
|
-
})), props.session.state === 'ended' && props.session.recorded ? /*#__PURE__*/
|
|
27
|
+
}, i18n.t('{{date, dateRelative}}', {
|
|
28
|
+
date: new Date(props.session.activated)
|
|
29
|
+
})), props.session.state === 'ended' && props.session.recorded ? /*#__PURE__*/React.createElement("div", {
|
|
37
30
|
className: "recorded",
|
|
38
31
|
onClick: openRecording
|
|
39
|
-
},
|
|
32
|
+
}, i18n.t('Recorded')) : null)), props.session.state === 'ended' ? /*#__PURE__*/React.createElement(Stopwatch, {
|
|
40
33
|
className: "duration",
|
|
41
|
-
start: props.session.activated,
|
|
42
|
-
end: props.session.ended ||
|
|
43
|
-
}) : /*#__PURE__*/
|
|
34
|
+
start: new Date(props.session.activated),
|
|
35
|
+
end: new Date(props.session.ended || Date.now())
|
|
36
|
+
}) : /*#__PURE__*/React.createElement("div", {
|
|
44
37
|
className: "active"
|
|
45
|
-
},
|
|
38
|
+
}, i18n.t('Active')), props.children);
|
|
46
39
|
}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = SmartConnectButton;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
require("./SmartConnectButton.css");
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function SmartConnectButton(props) {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './SmartConnectButton.css';
|
|
3
|
+
export default function SmartConnectButton(props) {
|
|
11
4
|
function onClick() {
|
|
12
5
|
if (props.device.connectable && props.onClick) props.onClick(props.device);
|
|
13
6
|
}
|
|
14
|
-
return /*#__PURE__*/
|
|
7
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
15
8
|
className: "SmartConnectButton ".concat(props.device.online ? 'online' : '', " ").concat(props.device.connectable ? 'connectable' : ''),
|
|
16
9
|
onClick: onClick
|
|
17
10
|
}, props.label || 'Connect');
|
package/dist/Stopwatch.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var end = (0, _moment.default)(props.end || Date.now());
|
|
13
|
-
var ms = (0, _moment.default)(end).diff(start);
|
|
14
|
-
var delta = _moment.default.duration(ms);
|
|
15
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { differenceInMilliseconds, intervalToDuration, format } from 'date-fns';
|
|
3
|
+
export default function Stopwatch(props) {
|
|
4
|
+
var start = props.start || new Date(0);
|
|
5
|
+
var end = props.end || new Date();
|
|
6
|
+
var ms = differenceInMilliseconds(end, start);
|
|
7
|
+
var duration = intervalToDuration({
|
|
8
|
+
start: start,
|
|
9
|
+
end: end
|
|
10
|
+
});
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
16
12
|
style: props.style,
|
|
17
13
|
className: "Stopwatch ".concat(props.className || '')
|
|
18
|
-
},
|
|
14
|
+
}, duration.hours > 0 ? /*#__PURE__*/React.createElement("span", null, duration.hours, /*#__PURE__*/React.createElement("span", null, ":")) : null, /*#__PURE__*/React.createElement("span", null, format(new Date(ms), 'mm:ss')));
|
|
19
15
|
}
|
package/dist/UserIcon.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = UserIcon;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
require("./UserIcon.css");
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function UserIcon(props) {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './UserIcon.css';
|
|
3
|
+
export default function UserIcon(props) {
|
|
11
4
|
function initials() {
|
|
12
5
|
if (!props.user) return '';
|
|
13
6
|
if (!props.user.name) return '';
|
|
@@ -17,12 +10,12 @@ function UserIcon(props) {
|
|
|
17
10
|
}).join('').substr(0, 2);
|
|
18
11
|
}
|
|
19
12
|
if (!props.user) return null;
|
|
20
|
-
return /*#__PURE__*/
|
|
13
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
21
14
|
className: "UserIcon ".concat(props.className || ''),
|
|
22
15
|
title: props.user.name || null,
|
|
23
16
|
style: {
|
|
24
17
|
backgroundImage: props.user.picture ? "url(".concat(props.user.picture || '', ")") : undefined,
|
|
25
18
|
backgroundColor: props.user.colour
|
|
26
19
|
}
|
|
27
|
-
}, /*#__PURE__*/
|
|
20
|
+
}, /*#__PURE__*/React.createElement("span", null, initials()));
|
|
28
21
|
}
|
package/dist/deviceType.js
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = deviceType;
|
|
7
|
-
var _uaParserJs = _interopRequireDefault(require("ua-parser-js"));
|
|
8
|
-
var _i18n = _interopRequireDefault(require("./i18n"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function deviceType(_ref) {
|
|
1
|
+
import parser from 'ua-parser-js';
|
|
2
|
+
import i18n from './i18n';
|
|
3
|
+
export default function deviceType(_ref) {
|
|
11
4
|
var platform = _ref.platform,
|
|
12
5
|
device = _ref.device;
|
|
13
6
|
var translateDevice = function translateDevice(device) {
|
|
14
|
-
return
|
|
7
|
+
return i18n.t('{{device}} Device', {
|
|
15
8
|
device: device
|
|
16
9
|
});
|
|
17
10
|
};
|
|
18
11
|
switch (platform) {
|
|
19
12
|
case 'web':
|
|
20
13
|
{
|
|
21
|
-
var ua = (
|
|
22
|
-
return
|
|
14
|
+
var ua = parser(device);
|
|
15
|
+
return i18n.t('{{browser}} on {{os}}', {
|
|
23
16
|
browser: ua.browser.name,
|
|
24
17
|
os: ua.os.name
|
|
25
18
|
});
|
package/dist/i18n.js
CHANGED
|
@@ -1,58 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
var _dateLocales, _resources;
|
|
2
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
|
+
import { createInstance } from 'i18next';
|
|
4
|
+
import { initReactI18next } from 'react-i18next';
|
|
5
|
+
import { formatDistanceToNow } from 'date-fns';
|
|
6
|
+
import { enUS, ar, cs, da, de, es, et, fi, fr, hi, it, ja, ko, lt, ms, nl, pl, pt, ro, ru, sk, sl, sv, th, uk, vi, zhCN } from 'date-fns/locale';
|
|
7
|
+
import localeEnUS from './locales/en-us/translation.json';
|
|
8
|
+
import localeAr from './locales/ar/translation.json';
|
|
9
|
+
import localeCs from './locales/cs/translation.json';
|
|
10
|
+
import localeDa from './locales/da/translation.json';
|
|
11
|
+
import localeDe from './locales/de/translation.json';
|
|
12
|
+
import localeEs from './locales/es/translation.json';
|
|
13
|
+
import localeEt from './locales/et/translation.json';
|
|
14
|
+
import localeFi from './locales/fi/translation.json';
|
|
15
|
+
import localeFr from './locales/fr/translation.json';
|
|
16
|
+
import localeHi from './locales/hi/translation.json';
|
|
17
|
+
import localeIt from './locales/it/translation.json';
|
|
18
|
+
import localeJa from './locales/ja/translation.json';
|
|
19
|
+
import localeKk from './locales/kk/translation.json';
|
|
20
|
+
import localeKo from './locales/ko/translation.json';
|
|
21
|
+
import localeLt from './locales/lt/translation.json';
|
|
22
|
+
import localeMr from './locales/mr/translation.json';
|
|
23
|
+
import localeMs from './locales/ms/translation.json';
|
|
24
|
+
import localeNl from './locales/nl/translation.json';
|
|
25
|
+
import localePl from './locales/pl/translation.json';
|
|
26
|
+
import localePt from './locales/pt/translation.json';
|
|
27
|
+
import localeRo from './locales/ro/translation.json';
|
|
28
|
+
import localeRu from './locales/ru/translation.json';
|
|
29
|
+
import localeSk from './locales/sk/translation.json';
|
|
30
|
+
import localeSl from './locales/sl/translation.json';
|
|
31
|
+
import localeSv from './locales/sv/translation.json';
|
|
32
|
+
import localeTh from './locales/th/translation.json';
|
|
33
|
+
import localeUk from './locales/uk/translation.json';
|
|
34
|
+
import localeVi from './locales/vi/translation.json';
|
|
35
|
+
import localeZh from './locales/zh/translation.json';
|
|
16
36
|
var englishUS = 'en-us';
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var SUPPORTED_LOCALES = [englishUS, spanish, french];
|
|
20
|
-
var i18n = (0, _i18next.createInstance)({
|
|
37
|
+
var dateLocales = (_dateLocales = {}, _defineProperty(_dateLocales, englishUS, enUS), _defineProperty(_dateLocales, "ar", ar), _defineProperty(_dateLocales, "cs", cs), _defineProperty(_dateLocales, "da", da), _defineProperty(_dateLocales, "de", de), _defineProperty(_dateLocales, "es", es), _defineProperty(_dateLocales, "et", et), _defineProperty(_dateLocales, "fi", fi), _defineProperty(_dateLocales, "fr", fr), _defineProperty(_dateLocales, "hi", hi), _defineProperty(_dateLocales, "it", it), _defineProperty(_dateLocales, "ja", ja), _defineProperty(_dateLocales, "ko", ko), _defineProperty(_dateLocales, "lt", lt), _defineProperty(_dateLocales, "ms", ms), _defineProperty(_dateLocales, "nl", nl), _defineProperty(_dateLocales, "pl", pl), _defineProperty(_dateLocales, "pt", pt), _defineProperty(_dateLocales, "ro", ro), _defineProperty(_dateLocales, "ru", ru), _defineProperty(_dateLocales, "sk", sk), _defineProperty(_dateLocales, "sl", sl), _defineProperty(_dateLocales, "sv", sv), _defineProperty(_dateLocales, "th", th), _defineProperty(_dateLocales, "uk", uk), _defineProperty(_dateLocales, "vi", vi), _defineProperty(_dateLocales, "zh", zhCN), _dateLocales);
|
|
38
|
+
var i18n = createInstance({
|
|
21
39
|
fallbackLng: englishUS,
|
|
22
40
|
debug: process.env.NODE_ENV === 'development',
|
|
23
41
|
lowerCaseLng: true,
|
|
24
42
|
interpolation: {
|
|
25
43
|
escapeValue: false,
|
|
26
44
|
// not needed for react as it escapes by default
|
|
27
|
-
format: function format(value, _format) {
|
|
28
|
-
if (_format === 'dateRelative' &&
|
|
29
|
-
|
|
45
|
+
format: function format(value, _format, lng) {
|
|
46
|
+
if (_format === 'dateRelative' && value instanceof Date) {
|
|
47
|
+
var locale = dateLocales[lng] || enUS;
|
|
48
|
+
return formatDistanceToNow(value, {
|
|
49
|
+
addSuffix: true,
|
|
50
|
+
locale: locale
|
|
51
|
+
});
|
|
30
52
|
}
|
|
31
53
|
}
|
|
32
54
|
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
detection: {
|
|
56
|
+
caches: [],
|
|
57
|
+
order: []
|
|
58
|
+
},
|
|
59
|
+
resources: (_resources = {}, _defineProperty(_resources, englishUS, {
|
|
60
|
+
translation: localeEnUS
|
|
61
|
+
}), _defineProperty(_resources, "ar", {
|
|
62
|
+
translation: localeAr
|
|
63
|
+
}), _defineProperty(_resources, "cs", {
|
|
64
|
+
translation: localeCs
|
|
65
|
+
}), _defineProperty(_resources, "da", {
|
|
66
|
+
translation: localeDa
|
|
67
|
+
}), _defineProperty(_resources, "de", {
|
|
68
|
+
translation: localeDe
|
|
69
|
+
}), _defineProperty(_resources, "es", {
|
|
70
|
+
translation: localeEs
|
|
71
|
+
}), _defineProperty(_resources, "et", {
|
|
72
|
+
translation: localeEt
|
|
73
|
+
}), _defineProperty(_resources, "fi", {
|
|
74
|
+
translation: localeFi
|
|
75
|
+
}), _defineProperty(_resources, "fr", {
|
|
76
|
+
translation: localeFr
|
|
77
|
+
}), _defineProperty(_resources, "hi", {
|
|
78
|
+
translation: localeHi
|
|
79
|
+
}), _defineProperty(_resources, "it", {
|
|
80
|
+
translation: localeIt
|
|
81
|
+
}), _defineProperty(_resources, "ja", {
|
|
82
|
+
translation: localeJa
|
|
83
|
+
}), _defineProperty(_resources, "kk", {
|
|
84
|
+
translation: localeKk
|
|
85
|
+
}), _defineProperty(_resources, "ko", {
|
|
86
|
+
translation: localeKo
|
|
87
|
+
}), _defineProperty(_resources, "lt", {
|
|
88
|
+
translation: localeLt
|
|
89
|
+
}), _defineProperty(_resources, "mr", {
|
|
90
|
+
translation: localeMr
|
|
91
|
+
}), _defineProperty(_resources, "ms", {
|
|
92
|
+
translation: localeMs
|
|
93
|
+
}), _defineProperty(_resources, "nl", {
|
|
94
|
+
translation: localeNl
|
|
95
|
+
}), _defineProperty(_resources, "pl", {
|
|
96
|
+
translation: localePl
|
|
97
|
+
}), _defineProperty(_resources, "pt", {
|
|
98
|
+
translation: localePt
|
|
99
|
+
}), _defineProperty(_resources, "ro", {
|
|
100
|
+
translation: localeRo
|
|
101
|
+
}), _defineProperty(_resources, "ru", {
|
|
102
|
+
translation: localeRu
|
|
103
|
+
}), _defineProperty(_resources, "sk", {
|
|
104
|
+
translation: localeSk
|
|
105
|
+
}), _defineProperty(_resources, "sl", {
|
|
106
|
+
translation: localeSl
|
|
107
|
+
}), _defineProperty(_resources, "sv", {
|
|
108
|
+
translation: localeSv
|
|
109
|
+
}), _defineProperty(_resources, "th", {
|
|
110
|
+
translation: localeTh
|
|
111
|
+
}), _defineProperty(_resources, "uk", {
|
|
112
|
+
translation: localeUk
|
|
113
|
+
}), _defineProperty(_resources, "vi", {
|
|
114
|
+
translation: localeVi
|
|
115
|
+
}), _defineProperty(_resources, "zh", {
|
|
116
|
+
translation: localeZh
|
|
117
|
+
}), _resources)
|
|
56
118
|
});
|
|
57
|
-
|
|
58
|
-
|
|
119
|
+
i18n.use(initReactI18next).init();
|
|
120
|
+
export default i18n;
|
package/dist/index.js
CHANGED
|
@@ -1,48 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _CodeEntry.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "Device", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _Device.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "PlatformIcon", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _PlatformIcon.default;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "Session", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _Session.default;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "SmartConnectButton", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function get() {
|
|
33
|
-
return _SmartConnectButton.default;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "i18n", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function get() {
|
|
39
|
-
return _i18n.default;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
var _CodeEntry = _interopRequireDefault(require("./CodeEntry"));
|
|
43
|
-
var _PlatformIcon = _interopRequireDefault(require("./PlatformIcon"));
|
|
44
|
-
var _Device = _interopRequireDefault(require("./Device"));
|
|
45
|
-
var _Session = _interopRequireDefault(require("./Session"));
|
|
46
|
-
var _SmartConnectButton = _interopRequireDefault(require("./SmartConnectButton"));
|
|
47
|
-
var _i18n = _interopRequireDefault(require("./i18n"));
|
|
48
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import CodeEntry from './CodeEntry';
|
|
2
|
+
import PlatformIcon from './PlatformIcon';
|
|
3
|
+
import Device from './Device';
|
|
4
|
+
import Session from './Session';
|
|
5
|
+
import SmartConnectButton from './SmartConnectButton';
|
|
6
|
+
import i18n from './i18n';
|
|
7
|
+
export { CodeEntry, PlatformIcon, Device, SmartConnectButton, Session, i18n };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "متصل",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "آخر ظهور {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "جهاز {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} على {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>متصل بـ </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "مسجل",
|
|
9
|
+
"Active": "نشط"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Naposledy viděn {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Zařízení {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} na {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Připojeno k </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Zaznamenáno",
|
|
9
|
+
"Active": "Aktivní"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Sidst set {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}-enhed",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} på {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Forbundet til </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Optaget",
|
|
9
|
+
"Active": "Aktiv"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Zuletzt gesehen {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}-Gerät",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} auf {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Verbunden mit </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Aufgezeichnet",
|
|
9
|
+
"Active": "Aktiv"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Võrgus",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Viimati nähtud {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} seade",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} operatsioonisüsteemil {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Ühendatud </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Salvestatud",
|
|
9
|
+
"Active": "Aktiivne"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Paikalla",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Nähty viimeksi {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}-laite",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} käyttöjärjestelmässä {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Yhdistetty laitteeseen </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Tallennettu",
|
|
9
|
+
"Active": "Aktiivinen"
|
|
10
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Online": "En ligne",
|
|
3
|
-
"Last seen {{date, dateRelative}}": "
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Dernière connexion {{date, dateRelative}}",
|
|
4
4
|
"{{device}} Device": "Appareil {{device}}",
|
|
5
5
|
"{{browser}} on {{os}}": "{{browser}} sur {{os}}",
|
|
6
6
|
"<0>Connected to </0>{{deviceType}}": "<0>Connecté à </0>{{deviceType}}",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "ऑनलाइन",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "आखिरी बार देखा गया {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} उपकरण",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}} पर {{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>से जुड़ा </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "रिकॉर्ड किया गया",
|
|
9
|
+
"Active": "सक्रिय"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Visto l'ultima volta {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Dispositivo {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} su {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Connesso a </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Registrato",
|
|
9
|
+
"Active": "Attivo"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "オンライン",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "最後のオンライン {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}デバイス",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}}上の{{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>接続先:</0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "記録済み",
|
|
9
|
+
"Active": "セッション中"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Желіде",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Соңғы рет көрінген {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} құрылғысы",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}} жүйесіндегі {{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Қосылған: </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Жазылған",
|
|
9
|
+
"Active": "Белсенді"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "온라인",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "마지막 온라인 {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} 기기",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}}의 {{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>연결됨: </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "기록됨",
|
|
9
|
+
"Active": "세션 진행 중"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Prisijungęs",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Paskutinį kartą matytas {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} įrenginys",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} sistemoje {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Prisijungta prie </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Įrašyta",
|
|
9
|
+
"Active": "Aktyvus"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "ऑनलाइन",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "शेवटचे पाहिले {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}} डिव्हाइस",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}} वर {{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>जोडलेले आहे </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "रेकॉर्ड केलेले",
|
|
9
|
+
"Active": "सक्रिय"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Dalam talian",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Terakhir dilihat {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Peranti {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} pada {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Disambungkan ke </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Direkodkan",
|
|
9
|
+
"Active": "Aktif"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Laatst gezien {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}-apparaat",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} op {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Verbonden met </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Opgenomen",
|
|
9
|
+
"Active": "Actief"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Ostatnio widziany {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Urządzenie {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} na {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Połączono z </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Nagrany",
|
|
9
|
+
"Active": "Aktywny"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Visto pela última vez {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Dispositivo {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} em {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Conectado a </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Gravado",
|
|
9
|
+
"Active": "Ativo"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Văzut ultima dată {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Dispozitiv {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} pe {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Conectat la </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Înregistrat",
|
|
9
|
+
"Active": "Activ"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "В сети",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Последний раз был в сети {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Устройство {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} на {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Подключено к </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Записано",
|
|
9
|
+
"Active": "Активно"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Naposledy videný {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Zariadenie {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} na {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Pripojené k </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Zaznamenané",
|
|
9
|
+
"Active": "Aktívne"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Na spletu",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Nazadnje viden {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Naprava {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} na {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Povezan z </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Posneto",
|
|
9
|
+
"Active": "Aktivno"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Online",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Senast sedd {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}-enhet",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} på {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Ansluten till </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Inspelad",
|
|
9
|
+
"Active": "Aktiv"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "ออนไลน์",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "เห็นครั้งล่าสุด {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "อุปกรณ์ {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} บน {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>เชื่อมต่อกับ </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "บันทึกแล้ว",
|
|
9
|
+
"Active": "กำลังดำเนินการ"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "В мережі",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Останній раз був в мережі {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Пристрій {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} на {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Підключено до </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Записано",
|
|
9
|
+
"Active": "Активний"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "Trực tuyến",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "Lần cuối xuất hiện {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "Thiết bị {{device}}",
|
|
5
|
+
"{{browser}} on {{os}}": "{{browser}} trên {{os}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>Đã kết nối với </0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "Đã ghi",
|
|
9
|
+
"Active": "Đang diễn ra"
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Online": "在线",
|
|
3
|
+
"Last seen {{date, dateRelative}}": "最后在线时间 {{date, dateRelative}}",
|
|
4
|
+
"{{device}} Device": "{{device}}设备",
|
|
5
|
+
"{{browser}} on {{os}}": "{{os}}上的{{browser}}",
|
|
6
|
+
"<0>Connected to </0>{{deviceType}}": "<0>已连接到</0>{{deviceType}}",
|
|
7
|
+
"{{date, dateRelative}}": "{{date, dateRelative}}",
|
|
8
|
+
"Recorded": "已记录",
|
|
9
|
+
"Active": "共享中"
|
|
10
|
+
}
|
package/i18next-parser.config.js
CHANGED
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
locales: [
|
|
2
|
+
locales: [
|
|
3
|
+
'en-us',
|
|
4
|
+
'ar',
|
|
5
|
+
'cs',
|
|
6
|
+
'da',
|
|
7
|
+
'de',
|
|
8
|
+
'es',
|
|
9
|
+
'et',
|
|
10
|
+
'fi',
|
|
11
|
+
'fr',
|
|
12
|
+
'hi',
|
|
13
|
+
'it',
|
|
14
|
+
'ja',
|
|
15
|
+
'kk',
|
|
16
|
+
'ko',
|
|
17
|
+
'lt',
|
|
18
|
+
'mr',
|
|
19
|
+
'ms',
|
|
20
|
+
'nl',
|
|
21
|
+
'pl',
|
|
22
|
+
'pt',
|
|
23
|
+
'ro',
|
|
24
|
+
'ru',
|
|
25
|
+
'sk',
|
|
26
|
+
'sl',
|
|
27
|
+
'sv',
|
|
28
|
+
'th',
|
|
29
|
+
'uk',
|
|
30
|
+
'vi',
|
|
31
|
+
'zh'
|
|
32
|
+
],
|
|
3
33
|
namespaceSeparator: false,
|
|
4
34
|
keySeparator: false,
|
|
5
|
-
|
|
35
|
+
defaultValue: function (locale, namespace, key, value) {
|
|
36
|
+
return key
|
|
37
|
+
},
|
|
6
38
|
verbose: true,
|
|
7
39
|
output: 'src/locales/$LOCALE/$NAMESPACE.json',
|
|
8
40
|
lexers: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cobrowse-agent-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"start": "babel src --out-dir dist --watch --copy-files",
|
|
6
6
|
"build": "rm -rf dist && babel src --out-dir dist --copy-files",
|
|
@@ -10,14 +10,13 @@
|
|
|
10
10
|
},
|
|
11
11
|
"main": "dist/index.js",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"
|
|
14
|
-
"i18next
|
|
15
|
-
"
|
|
16
|
-
"react-i18next": "^11.18.6",
|
|
13
|
+
"date-fns": "^4.1.0",
|
|
14
|
+
"i18next": "^24.2.2",
|
|
15
|
+
"react-i18next": "^15.4.0",
|
|
17
16
|
"ua-parser-js": "^1.0.33"
|
|
18
17
|
},
|
|
19
18
|
"peerDependencies": {
|
|
20
|
-
"react": "^
|
|
19
|
+
"react": "^19.0.0"
|
|
21
20
|
},
|
|
22
21
|
"browserslist": [
|
|
23
22
|
">0.2%",
|
|
@@ -34,7 +33,7 @@
|
|
|
34
33
|
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
35
34
|
"eslint": "^8.23.1",
|
|
36
35
|
"eslint-plugin-react": "^7.31.8",
|
|
37
|
-
"i18next-parser": "^
|
|
36
|
+
"i18next-parser": "^9.3.0",
|
|
38
37
|
"standard": "^17.0.0"
|
|
39
38
|
}
|
|
40
39
|
}
|