mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-17 08:34:54 -04:00

* Replaced connection indicator in editor top bar with user-menu * Added basic layout of bottom document bar * Fixed margins between elements * Reorganized document-bar * Added dividers into toolbar * Move files from task-bar to document-bar and remove test file * moved connection-indicator components into its own folder * moved document bar to the top * moved connection-indicator once again * Change design Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * New idea for timestamps Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add css Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Revert "Add css" This reverts commit 6780aa05 Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Revert "New idea for timestamps" This reverts commit bf2891e1 Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * split import / export * Made version input field to a common component * added read-only modal added document-time added placeholder text for permissions * remove flex-nowrap from editor toolbar Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add codimd permission menu Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Move permission picker to the right Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * add use memo Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add user-select-none to documenttime component Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * added status-bar * fixed status-bar * Add document info mock Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * changed published to share in i18n * reordered document bar moved share modal in it's own component * changed the divider color in the toolbar * Add details to document info Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add pin mock button Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Restructure toolbar after rebase and extract EmojiPicker+Button into component Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Correct linue number output Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add some space into status bar Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Cleanup code to make ESLint happy * Fix Toc button position * Added link to presentation mode button * Cache codemirror props Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Fix code blocks not being completely visible * Improve document info modal - The document info timeline always wrapped the received moment.js-object into a new moment.js object instead of directly using the given one. - The timestamps were configured to be displayed without suffix, but this is necessary to support valid translation grammar. - There was no margin between the icons and the texts. * Highlighted user name in document-info modal * Add avatar icon to document-info modal * Improved english translation of the share-info * Improve performance of copyable-fields by using useCallback * Add translation keys for pin-to-history button * Forwarded note title to editor-menu for deletion modal info * Add placeholders to translations Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * change translation Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Change permission dropdown to permission button Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Fix translations of emoji-picker and preferences * remove unused imports Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add alt attribute Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Fix share button and i18n files Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Fix use of i18n keys Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Use modal-body Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * useCallback Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Use more specific i18n key Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Add a new entry and move i18n key for usercontribution Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Fix i18nkey für shareLink Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * remove unused i18nkey Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Rename component DocumentInfo to DocumentInfoButton Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Extract revision button code into own component Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * wrap buttons in navbar-nav Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * organize imports Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * organize imports Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Added editor-preferences modal * Added functionality to preferences modal * Activated search and replace feature in CodeMirror * pdf export unavailability notice (#403) * added pdf export unavailability notice with link to FAQ as many users ask all the time why this was removed and when they'll get it back, this seemed like a fine solution in the meantime. Co-authored-by: Erik Michelson <github@erik.michelson.eu> * Refactored editor-preferences to just use one generic select component * Fixed warnings regarding duplicated controlId and missing useCb-deps * Reorganized translation keys * Fixed i18n indentation for POEditor.com * Added translation key for 'avatar of ...' * Remove fragment Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Use user-avatar in document-info-line.tsx Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Revert changes in user-avatar and solve the problem otherwise Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Removed unnecessary import * Removed another unnecessary import * Refactored EditorPreferenceSelect to use enum and automatic type conversions * Remove unused CodeMirror reference * Fix spacing problem Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * Increate size of image Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> * fixed share-link's space around the copyable-field Co-authored-by: Philip Molares <philip.molares@udo.edu> Co-authored-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de> Co-authored-by: Philip Molares <git@molar.es>
291 lines
13 KiB
TypeScript
291 lines
13 KiB
TypeScript
import React, { Fragment, useState } from 'react'
|
|
import { Button, Card, Col, Modal, Row, Table } from 'react-bootstrap'
|
|
import { Trans, useTranslation } from 'react-i18next'
|
|
import { ForkAwesomeIcon } from '../../common/fork-awesome/fork-awesome-icon'
|
|
import { TranslatedExternalLink } from '../../common/links/translated-external-link'
|
|
|
|
export const HelpButton: React.FC = () => {
|
|
const { t } = useTranslation()
|
|
const [show, setShow] = useState(false)
|
|
|
|
const handleShow = () => setShow(true)
|
|
const handleClose = () => setShow(false)
|
|
return (
|
|
<Fragment>
|
|
<Button title={t('editor.documentBar.help')} className="ml-2 text-secondary" size="sm" variant="outline-light"
|
|
onClick={handleShow}>
|
|
<ForkAwesomeIcon icon="question-circle"/>
|
|
</Button>
|
|
<Modal show={show} onHide={handleClose} animation={true} className="text-dark" size='lg'>
|
|
<Modal.Header closeButton>
|
|
<Modal.Title>
|
|
<ForkAwesomeIcon icon="question-circle"/> <Trans i18nKey={'editor.documentBar.help'}/>
|
|
</Modal.Title>
|
|
</Modal.Header>
|
|
<Modal.Body className="text-dark">
|
|
<Row>
|
|
<Col lg={4}>
|
|
<Card>
|
|
<Card.Header><Trans i18nKey='editor.help.contacts.title'/></Card.Header>
|
|
<Card.Body>
|
|
<Card.Text>
|
|
<ul className="list-unstyled">
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.contacts.community'
|
|
href='https://community.codimd.org/'
|
|
icon='users'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.contacts.meetUsOn'
|
|
i18nOption={{ service: 'Matrix' }}
|
|
href='https://riot.im/app/#/room/#codimd:matrix.org'
|
|
icon='hashtag'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.contacts.reportIssue'
|
|
href='https://github.com/codimd/server/issues'
|
|
icon='tag'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.contacts.helpTranslating'
|
|
href='https://translate.codimd.org/'
|
|
icon='language'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
</ul>
|
|
</Card.Text>
|
|
</Card.Body>
|
|
</Card>
|
|
<br/>
|
|
<Card>
|
|
<Card.Header><Trans i18nKey='editor.help.documents.title'/></Card.Header>
|
|
<Card.Body>
|
|
<Card.Text>
|
|
<ul className="list-unstyled">
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.documents.features'
|
|
href='/n/features'
|
|
icon='dot-circle-o'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.documents.yamlMetadata'
|
|
href='/n/yaml-data'
|
|
icon='dot-circle-o'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
<li>
|
|
<TranslatedExternalLink
|
|
i18nKey='editor.help.documents.slideExample'
|
|
href='https://github.com/codimd/server/issues'
|
|
icon='dot-circle-o'
|
|
className='text-primary'
|
|
/>
|
|
</li>
|
|
</ul>
|
|
</Card.Text>
|
|
</Card.Body>
|
|
</Card>
|
|
</Col>
|
|
<Col lg={8}>
|
|
<Card>
|
|
<Card.Header><Trans i18nKey='editor.help.cheatsheet.title'/></Card.Header>
|
|
<Card.Body>
|
|
<Card.Text>
|
|
<Table className="table-condensed table-cheatsheet">
|
|
<thead>
|
|
<tr>
|
|
<td><Trans i18nKey='editor.help.cheatsheet.example'/></td>
|
|
<td><Trans i18nKey='editor.help.cheatsheet.syntax'/></td>
|
|
</tr>
|
|
</thead>
|
|
<tbody className="markdown-body"
|
|
style={{ fontFamily: 'inherit', fontSize: '14px', padding: 0, maxWidth: 'inherit' }}>
|
|
<tr>
|
|
<td><Trans i18nKey='editor.editorToolbar.header'/></td>
|
|
<td>
|
|
<pre># <Trans i18nKey='editor.editorToolbar.header'/></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<ul>
|
|
<li><Trans i18nKey='editor.editorToolbar.unorderedList'/></li>
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<pre>- <Trans i18nKey='editor.editorToolbar.unorderedList'/></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<ol>
|
|
<li><Trans i18nKey='editor.editorToolbar.orderedList'/></li>
|
|
</ol>
|
|
</td>
|
|
<td>
|
|
<pre>1. <Trans i18nKey='editor.editorToolbar.orderedList'/></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<ul>
|
|
<li className="task-list-item">
|
|
<input type="checkbox" className="task-list-item-checkbox" disabled={false}/>
|
|
<label><Trans i18nKey='editor.editorToolbar.checkList'/></label>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<pre>- [ ] <Trans i18nKey='editor.editorToolbar.checkList'/></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<blockquote><Trans i18nKey='editor.editorToolbar.blockquote'/></blockquote>
|
|
</td>
|
|
<td>
|
|
<pre>{'>'} <Trans i18nKey='editor.editorToolbar.blockquote'/></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong><Trans i18nKey='editor.editorToolbar.bold'/></strong></td>
|
|
<td>
|
|
<pre>**<Trans i18nKey='editor.editorToolbar.bold'/>**</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><i><Trans i18nKey='editor.editorToolbar.italic'/></i></td>
|
|
<td>
|
|
<pre>*<Trans i18nKey='editor.editorToolbar.italic'/>*</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><s><Trans i18nKey='editor.editorToolbar.strikethrough'/></s></td>
|
|
<td>
|
|
<pre>~~<Trans i18nKey='editor.editorToolbar.strikethrough'/>~~</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>19<sup>th</sup></td>
|
|
<td>
|
|
<pre>19^th^</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>H<sub>2</sub>O</td>
|
|
<td>
|
|
<pre>H~2~O</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<ins><Trans i18nKey='editor.help.cheatsheet.underlinedText'/></ins>
|
|
</td>
|
|
<td>
|
|
<pre>++<Trans i18nKey='editor.help.cheatsheet.underlinedText'/>++</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<mark><Trans i18nKey='editor.help.cheatsheet.highlightedText'/></mark>
|
|
</td>
|
|
<td>
|
|
<pre>==<Trans i18nKey='editor.help.cheatsheet.highlightedText'/>==</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href='https://example.com'><Trans i18nKey='editor.editorToolbar.link'/></a></td>
|
|
<td>
|
|
<pre>[link text](https://example.com)</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><Trans i18nKey='editor.editorToolbar.image'/></td>
|
|
<td>
|
|
<pre></pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><Trans i18nKey='editor.editorToolbar.code'/></code></td>
|
|
<td>
|
|
<pre>`<Trans i18nKey='editor.editorToolbar.code'/>`</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<pre style={{ border: 'none !important' }}>
|
|
<code className="javascript hljs">
|
|
<div className="wrapper">
|
|
<div className="gutter linenumber">
|
|
<span data-linenumber="1"/>
|
|
</div>
|
|
<div className="code">
|
|
<span className="hljs-keyword">var</span> x = <span className="hljs-number">5</span>;
|
|
</div>
|
|
</div>
|
|
</code>
|
|
</pre>
|
|
</td>
|
|
<td>
|
|
<pre>```javascript<br/>var x = 5;<br/>```</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><img alt=":smile:" className="emoji" src="./build/emojify.js/dist/images/basic/smile.png"
|
|
title=":smile:"/></td>
|
|
<td>
|
|
<pre>:smile:</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Extern</td>
|
|
<td>
|
|
<pre>{'{'}%youtube youtube_id %{'}'}</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>L<sup>a</sup>T<sub>e</sub>X</td>
|
|
<td>
|
|
<pre>$L^aT_eX$</pre>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div className="alert alert-info">
|
|
<p>
|
|
<Trans i18nKey='editor.help.cheatsheet.exampleAlert'/>
|
|
</p>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<pre>:::info<br/><Trans i18nKey='editor.help.cheatsheet.exampleAlert'/><br/>:::</pre>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</Table>
|
|
</Card.Text>
|
|
</Card.Body>
|
|
</Card>
|
|
</Col>
|
|
</Row>
|
|
</Modal.Body>
|
|
</Modal>
|
|
</Fragment>
|
|
)
|
|
}
|