UNPKG

decap-cms-core

Version:

Decap CMS core application, see decap-cms package for the main distribution.

41 lines 5.49 kB
import _styled from "@emotion/styled/base"; function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } import React from 'react'; import { translate } from 'react-polyglot'; import { connect } from 'react-redux'; import { jsx as ___EmotionJSX } from "@emotion/react"; const StatusBarContainer = /*#__PURE__*/_styled("footer", { target: "e1tlq1dd0", label: "StatusBarContainer" })(process.env.NODE_ENV === "production" ? { name: "1r7yd60", styles: "position:fixed;z-index:200;bottom:0;width:100%;padding:8px 18px;font-size:11px;display:flex;gap:1rem;box-shadow:0 4px 12px 0 rgba(68, 74, 87, 0.15),0 1px 3px 0 rgba(68, 74, 87, 0.25);background-color:#f7f8fa" } : { name: "1r7yd60", styles: "position:fixed;z-index:200;bottom:0;width:100%;padding:8px 18px;font-size:11px;display:flex;gap:1rem;box-shadow:0 4px 12px 0 rgba(68, 74, 87, 0.15),0 1px 3px 0 rgba(68, 74, 87, 0.25);background-color:#f7f8fa/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FwcC9TdGF0dXNCYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVN3QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9BcHAvU3RhdHVzQmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGxldCBERUNBUF9DTVNfQVBQX1ZFUlNJT046IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgU3RhdHVzQmFyQ29udGFpbmVyID0gc3R5bGVkLmZvb3RlcmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxOHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4yNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y4ZmE7XG5gO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmVkdXgnO1xuXG5pbnRlcmZhY2UgU3RhdHVzQmFyUHJvcHMge1xuICByYXRlTGltaXRJbmZvPzoge1xuICAgIHVzZWQ6IG51bWJlcjtcbiAgICBsaW1pdDogbnVtYmVyO1xuICAgIHJlbWFpbmluZzogbnVtYmVyO1xuICAgIHJlc2V0OiBudW1iZXI7XG4gICAgcmVzb3VyY2U6IHN0cmluZztcbiAgfTtcbiAgYXBwVmVyc2lvbj86IHN0cmluZztcbiAgYmFja2VuZE5hbWU/OiBzdHJpbmc7XG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRSZXNldFRpbWUocmVzZXRUaW1lc3RhbXA6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShyZXNldFRpbWVzdGFtcCAqIDEwMDApO1xuICByZXR1cm4gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoJ2VuLVVTJywgeyBob3VyMTI6IGZhbHNlIH0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRQZXJjZW50YWdlKHVzZWQ6IG51bWJlciwgbGltaXQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBlcmNlbnRhZ2UgPSBsaW1pdCA+IDAgPyBNYXRoLnJvdW5kKCh1c2VkIC8gbGltaXQpICogMTApIC8gMTAgOiAwO1xuICByZXR1cm4gcGVyY2VudGFnZS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLCcpO1xufVxuXG5mdW5jdGlvbiBTdGF0dXNCYXIoeyByYXRlTGltaXRJbmZvLCBiYWNrZW5kTmFtZSwgdCB9OiBTdGF0dXNCYXJQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxTdGF0dXNCYXJDb250YWluZXI+XG4gICAgICB7dHlwZW9mIERFQ0FQX0NNU19BUFBfVkVSU0lPTiA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICA8c3Bhbj5kZWNhcC1jbXMtYXBwIHtERUNBUF9DTVNfQVBQX1ZFUlNJT059PC9zcGFuPlxuICAgICAgKX1cblxuICAgICAge2JhY2tlbmROYW1lICYmIChcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge2JhY2tlbmROYW1lfSB7dCgnYXBwLnN0YXR1c0Jhci5iYWNrZW5kJyl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG5cbiAgICAgIHtyYXRlTGltaXRJbmZvICYmIChcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3JhdGVMaW1pdEluZm8udXNlZH0gLyB7cmF0ZUxpbWl0SW5mby5saW1pdH0gKFxuICAgICAgICAgIHtmb3JtYXRQZXJjZW50YWdlKHJhdGVMaW1pdEluZm8udXNlZCwgcmF0ZUxpbWl0SW5mby5saW1pdCl9JSl7JyAnfVxuICAgICAgICAgIHt0KCdhcHAuc3RhdHVzQmFyLnJlcXVlc3RzVXNlZCcpfSwge3QoJ2FwcC5zdGF0dXNCYXIucmVzZXRBdCcpfXsnICd9XG4gICAgICAgICAge2Zvcm1hdFJlc2V0VGltZShyYXRlTGltaXRJbmZvLnJlc2V0KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICA8L1N0YXR1c0JhckNvbnRhaW5lcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBTdGF0ZSkge1xuICByZXR1cm4ge1xuICAgIHJhdGVMaW1pdEluZm86IHN0YXRlLnN0YXR1cz8ucmF0ZUxpbWl0SW5mbyxcbiAgICBiYWNrZW5kTmFtZTogc3RhdGUuY29uZmlnPy5iYWNrZW5kPy5uYW1lLFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykodHJhbnNsYXRlKCkoU3RhdHVzQmFyKSk7XG4iXX0= */", toString: _EMOTION_STRINGIFIED_CSS_ERROR__ }); function formatResetTime(resetTimestamp) { const date = new Date(resetTimestamp * 1000); return date.toLocaleTimeString('en-US', { hour12: false }); } function formatPercentage(used, limit) { const percentage = limit > 0 ? Math.round(used / limit * 10) / 10 : 0; return percentage.toString().replace('.', ','); } function StatusBar({ rateLimitInfo, backendName, t }) { return ___EmotionJSX(StatusBarContainer, null, typeof "3.10.1" === 'string' && ___EmotionJSX("span", null, "decap-cms-app ", "3.10.1"), backendName && ___EmotionJSX("span", null, backendName, " ", t('app.statusBar.backend')), rateLimitInfo && ___EmotionJSX("span", null, rateLimitInfo.used, " / ", rateLimitInfo.limit, " (", formatPercentage(rateLimitInfo.used, rateLimitInfo.limit), "%)", ' ', t('app.statusBar.requestsUsed'), ", ", t('app.statusBar.resetAt'), ' ', formatResetTime(rateLimitInfo.reset))); } function mapStateToProps(state) { return { rateLimitInfo: state.status?.rateLimitInfo, backendName: state.config?.backend?.name }; } export default connect(mapStateToProps)(translate()(StatusBar));