diff --git a/frontend/src/css/markdown-viewer/markdown-editor.css b/frontend/src/css/markdown-viewer/markdown-editor.css index b5b77c4a3d..77b673fba7 100644 --- a/frontend/src/css/markdown-viewer/markdown-editor.css +++ b/frontend/src/css/markdown-viewer/markdown-editor.css @@ -172,3 +172,58 @@ .seafile-editor-side-panel .seafile-comment { width: 100%; } + +/* toolbar */ +.topbar-file-info { + display: inline-block; + margin-left: 8px; + /* + only select file info text + */ + user-select: text; +} +.topbar-file-info .file-title { + font-size: 1.2rem; + font-weight: bold; + display: flex; + align-items: center; +} + +.topbar-file-info .file-title .iconfont { + font-size: 0.875rem; +} + +.topbar-file-info .file-title .file-star, +.topbar-file-info .file-title .file-internal-link { + font-size: 0.875rem; + cursor: pointer; + margin-left: 0.5rem; + vertical-align: text-bottom; + color: #999; +} + +.topbar-file-info .file-title .file-internal-link { + font-size: 12px; + font-weight: 700; +} + +.topbar-file-info .file-title .file-internal-link:hover { + color: #333; +} + +.topbar-file-info .file-title .file-star .star { + color: #999; +} + +.topbar-file-info .file-state { + font-size: 0.8125rem; +} + +.topbar-file-info .file-state .file-modifier-name { + margin-right: 0.5rem; +} + +.topbar-file-info .file-state .file-modifier-savedraft { + margin-left: 0.5rem; + color: #888; +} diff --git a/frontend/src/pages/markdown-editor/header-toolbar/file-info.js b/frontend/src/pages/markdown-editor/header-toolbar/file-info.js new file mode 100644 index 0000000000..77de93b01f --- /dev/null +++ b/frontend/src/pages/markdown-editor/header-toolbar/file-info.js @@ -0,0 +1,50 @@ +import React from 'react'; +import moment from 'moment'; +import { gettext } from '../../../utils/constants'; +import InternalLinkDialog from '../../../components/dialog/internal-link-dialog'; + +const { repoID, filePath } = window.app.pageOptions; + +class FileInfo extends React.PureComponent { + + render() { + const { fileInfo, isPro, isLocked, mediaUrl } = this.props; + const starTitle = fileInfo.starred ? gettext('unstar') : gettext('star'); + const starIconClass = `iconfont ${fileInfo.starred ? 'icon-star1 star' : 'icon-star2'}`; + const modifyTime = moment(fileInfo.mtime * 1000).format('YYYY-MM-DD HH:mm'); + + const lockedText = gettext('locked'); + return ( +