@selfcommunity/react-ui
Version:
React UI Components to integrate a Community created with SelfCommunity Platform.
41 lines (40 loc) • 1.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const api_services_1 = require("@selfcommunity/api-services");
const react_lazyload_1 = tslib_1.__importDefault(require("react-lazyload"));
const LazyLoad_1 = require("../../constants/LazyLoad");
const MarkRead = (props) => {
// PROPS
const { endpoint, params = {}, callback, data = null } = props;
/**
* Perform request
*/
const performRequest = () => {
api_services_1.http
.request({
url: endpoint.url(params),
method: endpoint.method,
data
})
.then((res) => {
callback && callback(res);
})
.catch(() => null);
};
(0, react_1.useEffect)(() => {
let _t;
if (endpoint) {
_t = setTimeout(performRequest);
return () => {
_t && clearTimeout(_t);
};
}
}, []);
return null;
};
exports.default = (props) => {
return ((0, jsx_runtime_1.jsx)(react_lazyload_1.default, Object.assign({ once: true, offset: LazyLoad_1.MIN_PRELOAD_OFFSET_VIEWPORT }, { children: (0, jsx_runtime_1.jsx)(MarkRead, Object.assign({}, props)) })));
};
;