dumi-theme-antd
Version:
Ant Design 5.0 官网风格类似的 dumi2 主题插件
53 lines • 7.34 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
// 最后更新时间
import React, { useEffect, useState } from 'react';
import { css } from '@emotion/react';
import { FormattedMessage } from 'dumi';
import { ClockCircleOutlined } from '@ant-design/icons';
import useSiteToken from "../hooks/useSiteToken";
import useAdditionalThemeConfig from "../hooks/useAdditionalThemeConfig";
import { jsx as ___EmotionJSX } from "@emotion/react";
var useStyle = function useStyle() {
var _useSiteToken = useSiteToken(),
token = _useSiteToken.token;
var colorTextTertiary = token.colorTextTertiary,
marginXXS = token.marginXXS;
return {
lastUpdatedWrap: /*#__PURE__*/css("color:", colorTextTertiary, ";display:flex;" + (process.env.NODE_ENV === "production" ? "" : ";label:lastUpdatedWrap;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxhc3RVcGRhdGVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjd0IiLCJmaWxlIjoiTGFzdFVwZGF0ZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLy8g5pyA5ZCO5pu05paw5pe26Ze0XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdkdW1pJztcbmltcG9ydCB7IENsb2NrQ2lyY2xlT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgdXNlU2l0ZVRva2VuIGZyb20gJy4uL2hvb2tzL3VzZVNpdGVUb2tlbic7XG5pbXBvcnQgdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnIGZyb20gJy4uL2hvb2tzL3VzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyc7XG5cbmNvbnN0IHVzZVN0eWxlID0gKCkgPT4ge1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcblxuICBjb25zdCB7IGNvbG9yVGV4dFRlcnRpYXJ5LCBtYXJnaW5YWFMgfSA9IHRva2VuO1xuXG4gIHJldHVybiB7XG4gICAgbGFzdFVwZGF0ZWRXcmFwOiBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvclRleHRUZXJ0aWFyeX07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGAsXG4gICAgbGFzdFVwZGF0ZWRMYWJlbDogY3NzYFxuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHttYXJnaW5YWFN9cHg7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogJHttYXJnaW5YWFN9cHg7XG4gICAgYFxuICB9O1xufTtcblxuY29uc3QgTGFzdFVwZGF0ZWQ6IFJlYWN0LkZDPHsgdGltZT86IG51bWJlciB9PiA9ICh7IHRpbWUgfSkgPT4ge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZSgpO1xuICBjb25zdCB7IGxhc3RVcGRhdGVkIH0gPSB1c2VBZGRpdGlvbmFsVGhlbWVDb25maWcoKTtcbiAgY29uc3QgW2lzb0xhc3RVcGRhdGVkLCBzZXRJc29MYXN0VXBkYXRlZF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtsYXN0VXBkYXRlZFRpbWUsIHNldExhc3RVcGRhdGVkVGltZV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHNob3dMYXN0VXBkYXRlZCA9IGxhc3RVcGRhdGVkICYmIHRpbWU7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvd0xhc3RVcGRhdGVkKSB7XG4gICAgICBzZXRJc29MYXN0VXBkYXRlZChuZXcgRGF0ZSh0aW1lISkudG9JU09TdHJpbmcoKSk7XG4gICAgICBzZXRMYXN0VXBkYXRlZFRpbWUoXG4gICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHVuZGVmaW5lZCwge1xuICAgICAgICAgIGRhdGVTdHlsZTogJ3Nob3J0JyxcbiAgICAgICAgICB0aW1lU3R5bGU6ICdzaG9ydCdcbiAgICAgICAgfSkuZm9ybWF0KHRpbWUpXG4gICAgICApO1xuICAgIH1cbiAgfSwgW3Nob3dMYXN0VXBkYXRlZCwgdGltZV0pO1xuXG4gIHJldHVybiBsYXN0VXBkYXRlZCAmJiB0aW1lID8gKFxuICAgIDxkaXYgY3NzPXtzdHlsZXMubGFzdFVwZGF0ZWRXcmFwfT5cbiAgICAgIDxDbG9ja0NpcmNsZU91dGxpbmVkIC8+XG4gICAgICA8c3BhbiBjc3M9e3N0eWxlcy5sYXN0VXBkYXRlZExhYmVsfT5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb250ZW50LmZvb3Rlci5sYXN0LnVwZGF0ZWRcIiAvPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHRpbWUgZGF0ZVRpbWU9e2lzb0xhc3RVcGRhdGVkfT57bGFzdFVwZGF0ZWRUaW1lfTwvdGltZT5cbiAgICA8L2Rpdj5cbiAgKSA6IG51bGw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMYXN0VXBkYXRlZDtcbiJdfQ== */"),
lastUpdatedLabel: /*#__PURE__*/css("margin-inline-start:", marginXXS, "px;margin-inline-end:", marginXXS, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:lastUpdatedLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxhc3RVcGRhdGVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnlCIiwiZmlsZSI6Ikxhc3RVcGRhdGVkLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8vIOacgOWQjuabtOaWsOaXtumXtFxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnZHVtaSc7XG5pbXBvcnQgeyBDbG9ja0NpcmNsZU91dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHVzZVNpdGVUb2tlbiBmcm9tICcuLi9ob29rcy91c2VTaXRlVG9rZW4nO1xuaW1wb3J0IHVzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGRpdGlvbmFsVGhlbWVDb25maWcnO1xuXG5jb25zdCB1c2VTdHlsZSA9ICgpID0+IHtcbiAgY29uc3QgeyB0b2tlbiB9ID0gdXNlU2l0ZVRva2VuKCk7XG5cbiAgY29uc3QgeyBjb2xvclRleHRUZXJ0aWFyeSwgbWFyZ2luWFhTIH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIGxhc3RVcGRhdGVkV3JhcDogY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JUZXh0VGVydGlhcnl9O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgLFxuICAgIGxhc3RVcGRhdGVkTGFiZWw6IGNzc2BcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7bWFyZ2luWFhTfXB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICR7bWFyZ2luWFhTfXB4O1xuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IExhc3RVcGRhdGVkOiBSZWFjdC5GQzx7IHRpbWU/OiBudW1iZXIgfT4gPSAoeyB0aW1lIH0pID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgeyBsYXN0VXBkYXRlZCB9ID0gdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnKCk7XG4gIGNvbnN0IFtpc29MYXN0VXBkYXRlZCwgc2V0SXNvTGFzdFVwZGF0ZWRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbbGFzdFVwZGF0ZWRUaW1lLCBzZXRMYXN0VXBkYXRlZFRpbWVdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBzaG93TGFzdFVwZGF0ZWQgPSBsYXN0VXBkYXRlZCAmJiB0aW1lO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNob3dMYXN0VXBkYXRlZCkge1xuICAgICAgc2V0SXNvTGFzdFVwZGF0ZWQobmV3IERhdGUodGltZSEpLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgc2V0TGFzdFVwZGF0ZWRUaW1lKFxuICAgICAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHtcbiAgICAgICAgICBkYXRlU3R5bGU6ICdzaG9ydCcsXG4gICAgICAgICAgdGltZVN0eWxlOiAnc2hvcnQnXG4gICAgICAgIH0pLmZvcm1hdCh0aW1lKVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtzaG93TGFzdFVwZGF0ZWQsIHRpbWVdKTtcblxuICByZXR1cm4gbGFzdFVwZGF0ZWQgJiYgdGltZSA/IChcbiAgICA8ZGl2IGNzcz17c3R5bGVzLmxhc3RVcGRhdGVkV3JhcH0+XG4gICAgICA8Q2xvY2tDaXJjbGVPdXRsaW5lZCAvPlxuICAgICAgPHNwYW4gY3NzPXtzdHlsZXMubGFzdFVwZGF0ZWRMYWJlbH0+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29udGVudC5mb290ZXIubGFzdC51cGRhdGVkXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDx0aW1lIGRhdGVUaW1lPXtpc29MYXN0VXBkYXRlZH0+e2xhc3RVcGRhdGVkVGltZX08L3RpbWU+XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFzdFVwZGF0ZWQ7XG4iXX0= */")
};
};
var LastUpdated = function LastUpdated(_ref) {
var time = _ref.time;
var styles = useStyle();
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
lastUpdated = _useAdditionalThemeCo.lastUpdated;
var _useState = useState(''),
_useState2 = _slicedToArray(_useState, 2),
isoLastUpdated = _useState2[0],
setIsoLastUpdated = _useState2[1];
var _useState3 = useState(''),
_useState4 = _slicedToArray(_useState3, 2),
lastUpdatedTime = _useState4[0],
setLastUpdatedTime = _useState4[1];
var showLastUpdated = lastUpdated && time;
useEffect(function () {
if (showLastUpdated) {
setIsoLastUpdated(new Date(time).toISOString());
setLastUpdatedTime(new Intl.DateTimeFormat(undefined, {
dateStyle: 'short',
timeStyle: 'short'
}).format(time));
}
}, [showLastUpdated, time]);
return lastUpdated && time ? ___EmotionJSX("div", {
css: styles.lastUpdatedWrap
}, ___EmotionJSX(ClockCircleOutlined, null), ___EmotionJSX("span", {
css: styles.lastUpdatedLabel
}, ___EmotionJSX(FormattedMessage, {
id: "content.footer.last.updated"
})), ___EmotionJSX("time", {
dateTime: isoLastUpdated
}, lastUpdatedTime)) : null;
};
export default LastUpdated;