mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-22 01:36:29 -05:00
Replace font awesome with fork awesome (#114)
* added fork-awesome-icon * removed fontAwesome * changed FontAwesomeIcon to ForkAwesomeIcon Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
parent
747d9686fa
commit
c8e42eebd4
33 changed files with 134 additions and 214 deletions
27
package.json
27
package.json
|
@ -3,10 +3,6 @@
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.28",
|
|
||||||
"@fortawesome/free-brands-svg-icons": "^5.13.0",
|
|
||||||
"@fortawesome/free-solid-svg-icons": "^5.13.0",
|
|
||||||
"@fortawesome/react-fontawesome": "^0.1.9",
|
|
||||||
"@testing-library/jest-dom": "^4.2.4",
|
"@testing-library/jest-dom": "^4.2.4",
|
||||||
"@testing-library/react": "^9.3.2",
|
"@testing-library/react": "^9.3.2",
|
||||||
"@testing-library/user-event": "^7.1.2",
|
"@testing-library/user-event": "^7.1.2",
|
||||||
|
@ -21,7 +17,18 @@
|
||||||
"@types/react-router": "^5.1.7",
|
"@types/react-router": "^5.1.7",
|
||||||
"@types/react-router-bootstrap": "^0.24.5",
|
"@types/react-router-bootstrap": "^0.24.5",
|
||||||
"@types/react-router-dom": "^5.1.5",
|
"@types/react-router-dom": "^5.1.5",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^3.0.0",
|
||||||
|
"@typescript-eslint/parser": "^3.0.0",
|
||||||
"bootstrap": "^4.4.1",
|
"bootstrap": "^4.4.1",
|
||||||
|
"eslint-config-react-app": "^5.2.1",
|
||||||
|
"eslint-config-standard": "^14.1.1",
|
||||||
|
"eslint-plugin-flowtype": "^5.1.0",
|
||||||
|
"eslint-plugin-import": "^2.20.2",
|
||||||
|
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint-plugin-promise": "^4.2.1",
|
||||||
|
"eslint-plugin-standard": "^4.0.1",
|
||||||
|
"fork-awesome": "^1.1.7",
|
||||||
"i18next": "^19.4.4",
|
"i18next": "^19.4.4",
|
||||||
"i18next-browser-languagedetector": "^4.1.1",
|
"i18next-browser-languagedetector": "^4.1.1",
|
||||||
"i18next-http-backend": "^1.0.8",
|
"i18next-http-backend": "^1.0.8",
|
||||||
|
@ -38,17 +45,7 @@
|
||||||
"react-router-dom": "^5.1.2",
|
"react-router-dom": "^5.1.2",
|
||||||
"react-scripts": "3.4.1",
|
"react-scripts": "3.4.1",
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
"typescript": "~3.7.2",
|
"typescript": "~3.7.2"
|
||||||
"@typescript-eslint/eslint-plugin": "^3.0.0",
|
|
||||||
"@typescript-eslint/parser": "^3.0.0",
|
|
||||||
"eslint-config-react-app": "^5.2.1",
|
|
||||||
"eslint-config-standard": "^14.1.1",
|
|
||||||
"eslint-plugin-flowtype": "^5.1.0",
|
|
||||||
"eslint-plugin-import": "^2.20.2",
|
|
||||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
|
||||||
"eslint-plugin-node": "^11.1.0",
|
|
||||||
"eslint-plugin-promise": "^4.2.1",
|
|
||||||
"eslint-plugin-standard": "^4.0.1"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "react-scripts start",
|
"start": "react-scripts start",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Alert } from 'react-bootstrap'
|
import { Alert } from 'react-bootstrap'
|
||||||
|
import { ForkAwesomeIcon } from '../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface LoadingScreenProps {
|
export interface LoadingScreenProps {
|
||||||
failedTitle: string
|
failedTitle: string
|
||||||
|
@ -10,7 +10,7 @@ export const LoadingScreen: React.FC<LoadingScreenProps> = ({ failedTitle }) =>
|
||||||
return (
|
return (
|
||||||
<div className="loader middle">
|
<div className="loader middle">
|
||||||
<div className="icon text-white">
|
<div className="icon text-white">
|
||||||
<FontAwesomeIcon icon="file-alt" size="6x"
|
<ForkAwesomeIcon icon="file-text" size="5x"
|
||||||
className={failedTitle ? 'animation-shake' : 'animation-pulse'}/>
|
className={failedTitle ? 'animation-shake' : 'animation-pulse'}/>
|
||||||
</div>
|
</div>
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Dropdown } from 'react-bootstrap'
|
import { Dropdown } from 'react-bootstrap'
|
||||||
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
import { ActiveIndicatorStatus } from './active-indicator'
|
import { ActiveIndicatorStatus } from './active-indicator'
|
||||||
import './connection-indicator.scss'
|
import './connection-indicator.scss'
|
||||||
import { UserLine } from './user-line'
|
import { UserLine } from './user-line'
|
||||||
|
@ -10,7 +10,7 @@ const ConnectionIndicator: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<Dropdown className="small" alignRight>
|
<Dropdown className="small" alignRight>
|
||||||
<Dropdown.Toggle id="connection-indicator" size="sm" variant="primary" className="upper-case">
|
<Dropdown.Toggle id="connection-indicator" size="sm" variant="primary" className="upper-case">
|
||||||
<FontAwesomeIcon icon="users"/> {userOnline} Online
|
<ForkAwesomeIcon icon="users"/> {userOnline} Online
|
||||||
</Dropdown.Toggle>
|
</Dropdown.Toggle>
|
||||||
<Dropdown.Menu>
|
<Dropdown.Menu>
|
||||||
<Dropdown.Item disabled={true} className="d-flex align-items-center p-0">
|
<Dropdown.Item disabled={true} className="d-flex align-items-center p-0">
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React, { useState } from 'react'
|
import React, { useState } from 'react'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
import { ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
const DarkModeButton: React.FC = () => {
|
const DarkModeButton: React.FC = () => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
|
@ -19,8 +19,8 @@ const DarkModeButton: React.FC = () => {
|
||||||
onChange={buttonToggle} value={'dark'}
|
onChange={buttonToggle} value={'dark'}
|
||||||
>
|
>
|
||||||
{buttonState
|
{buttonState
|
||||||
? <FontAwesomeIcon icon="sun"/>
|
? <ForkAwesomeIcon icon="sun"/>
|
||||||
: <FontAwesomeIcon icon="moon"/>
|
: <ForkAwesomeIcon icon="moon"/>
|
||||||
}
|
}
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</ToggleButtonGroup>
|
</ToggleButtonGroup>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Dropdown } from 'react-bootstrap'
|
import { Dropdown } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
const EditorMenu: React.FC = () => {
|
const EditorMenu: React.FC = () => {
|
||||||
useTranslation()
|
useTranslation()
|
||||||
|
@ -16,13 +16,13 @@ const EditorMenu: React.FC = () => {
|
||||||
<Trans i18nKey="editor.menu.extra"/>
|
<Trans i18nKey="editor.menu.extra"/>
|
||||||
</Dropdown.Header>
|
</Dropdown.Header>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="history"/> <Trans i18nKey="editor.menu.revision"/>
|
<ForkAwesomeIcon icon="history"/> <Trans i18nKey="editor.menu.revision"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="tv"/> <Trans i18nKey="editor.menu.slideMode"/>
|
<ForkAwesomeIcon icon="television"/> <Trans i18nKey="editor.menu.slideMode"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="trash"/> <Trans i18nKey="editor.menu.deleteNote"/>
|
<ForkAwesomeIcon icon="trash"/> <Trans i18nKey="editor.menu.deleteNote"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
|
|
||||||
<Dropdown.Divider/>
|
<Dropdown.Divider/>
|
||||||
|
@ -31,10 +31,10 @@ const EditorMenu: React.FC = () => {
|
||||||
<Trans i18nKey="common.export"/>
|
<Trans i18nKey="common.export"/>
|
||||||
</Dropdown.Header>
|
</Dropdown.Header>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon={['fab', 'dropbox']}/> Dropbox
|
<ForkAwesomeIcon icon="dropbox"/> Dropbox
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon={['fab', 'github']}/> Gist
|
<ForkAwesomeIcon icon="github"/> Gist
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
|
|
||||||
<Dropdown.Divider/>
|
<Dropdown.Divider/>
|
||||||
|
@ -43,13 +43,13 @@ const EditorMenu: React.FC = () => {
|
||||||
<Trans i18nKey="common.import"/>
|
<Trans i18nKey="common.import"/>
|
||||||
</Dropdown.Header>
|
</Dropdown.Header>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon={['fab', 'dropbox']}/> Dropbox
|
<ForkAwesomeIcon icon="dropbox"/> Dropbox
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon={['fab', 'github']}/> Gist
|
<ForkAwesomeIcon icon="github"/> Gist
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="paste"/> <Trans i18nKey="editor.import.clipboard"/>
|
<ForkAwesomeIcon icon="clipboard"/> <Trans i18nKey="editor.import.clipboard"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
|
|
||||||
<Dropdown.Divider/>
|
<Dropdown.Divider/>
|
||||||
|
@ -58,13 +58,13 @@ const EditorMenu: React.FC = () => {
|
||||||
<Trans i18nKey="editor.menu.download"/>
|
<Trans i18nKey="editor.menu.download"/>
|
||||||
</Dropdown.Header>
|
</Dropdown.Header>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="file-alt"/> Markdown
|
<ForkAwesomeIcon icon="file-text"/> Markdown
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="file-code"/> HTML
|
<ForkAwesomeIcon icon="file-code-o"/> HTML
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item className="small">
|
<Dropdown.Item className="small">
|
||||||
<FontAwesomeIcon icon="file-code"/> <Trans i18nKey='editor.export.rawHtml'/>
|
<ForkAwesomeIcon icon="file-code-o"/> <Trans i18nKey='editor.export.rawHtml'/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
|
|
||||||
</Dropdown.Menu>
|
</Dropdown.Menu>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import { ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
import { ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { useSelector } from 'react-redux'
|
import { useSelector } from 'react-redux'
|
||||||
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
import { ApplicationState } from '../../../redux'
|
import { ApplicationState } from '../../../redux'
|
||||||
import { EditorMode } from '../../../redux/editor/types'
|
import { EditorMode } from '../../../redux/editor/types'
|
||||||
import { setEditorModeConfig } from '../../../redux/editor/methods'
|
import { setEditorModeConfig } from '../../../redux/editor/methods'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
const EditorViewMode: React.FC = () => {
|
const EditorViewMode: React.FC = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation()
|
||||||
const editorConfig = useSelector((state: ApplicationState) => state.editorConfig)
|
const editorConfig = useSelector((state: ApplicationState) => state.editorConfig)
|
||||||
return (
|
return (
|
||||||
<ToggleButtonGroup
|
<ToggleButtonGroup
|
||||||
|
@ -17,13 +17,13 @@ const EditorViewMode: React.FC = () => {
|
||||||
defaultValue={editorConfig.editorMode}
|
defaultValue={editorConfig.editorMode}
|
||||||
onChange={(value: EditorMode) => { setEditorModeConfig(value) }}>
|
onChange={(value: EditorMode) => { setEditorModeConfig(value) }}>
|
||||||
<ToggleButton value={EditorMode.PREVIEW} variant="outline-secondary" title={t('editor.viewMode.view')}>
|
<ToggleButton value={EditorMode.PREVIEW} variant="outline-secondary" title={t('editor.viewMode.view')}>
|
||||||
<FontAwesomeIcon icon="eye"/>
|
<ForkAwesomeIcon icon="eye"/>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton value={EditorMode.BOTH} variant="outline-secondary" title={t('editor.viewMode.both')}>
|
<ToggleButton value={EditorMode.BOTH} variant="outline-secondary" title={t('editor.viewMode.both')}>
|
||||||
<FontAwesomeIcon icon="columns"/>
|
<ForkAwesomeIcon icon="columns"/>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton value={EditorMode.EDITOR} variant="outline-secondary" title={t('editor.viewMode.edit')}>
|
<ToggleButton value={EditorMode.EDITOR} variant="outline-secondary" title={t('editor.viewMode.edit')}>
|
||||||
<FontAwesomeIcon icon="pencil-alt"/>
|
<ForkAwesomeIcon icon="pencil"/>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</ToggleButtonGroup>
|
</ToggleButtonGroup>
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { Fragment, useState } from 'react'
|
import React, { Fragment, useState } from 'react'
|
||||||
import { Button, Card, Col, Modal, Row, Table } from 'react-bootstrap'
|
import { Button, Card, Col, Modal, Row, Table } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
import { TranslatedExternalLink } from '../../links/translated-external-link'
|
import { TranslatedExternalLink } from '../../links/translated-external-link'
|
||||||
|
|
||||||
export const HelpButton: React.FC = () => {
|
export const HelpButton: React.FC = () => {
|
||||||
|
@ -14,12 +14,12 @@ export const HelpButton: React.FC = () => {
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<Button title={t('editor.menu.help')} className="ml-2 text-secondary" size="sm" variant="outline-light"
|
<Button title={t('editor.menu.help')} className="ml-2 text-secondary" size="sm" variant="outline-light"
|
||||||
onClick={handleShow}>
|
onClick={handleShow}>
|
||||||
<FontAwesomeIcon icon="question-circle"/>
|
<ForkAwesomeIcon icon="question-circle"/>
|
||||||
</Button>
|
</Button>
|
||||||
<Modal show={show} onHide={handleClose} animation={true} className="text-dark" size='lg'>
|
<Modal show={show} onHide={handleClose} animation={true} className="text-dark" size='lg'>
|
||||||
<Modal.Header closeButton>
|
<Modal.Header closeButton>
|
||||||
<Modal.Title>
|
<Modal.Title>
|
||||||
<FontAwesomeIcon icon="question-circle"/> <Trans i18nKey={'editor.menu.help'}/>
|
<ForkAwesomeIcon icon="question-circle"/> <Trans i18nKey={'editor.menu.help'}/>
|
||||||
</Modal.Title>
|
</Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body className="text-dark">
|
<Modal.Body className="text-dark">
|
||||||
|
@ -76,7 +76,7 @@ export const HelpButton: React.FC = () => {
|
||||||
<TranslatedExternalLink
|
<TranslatedExternalLink
|
||||||
i18nKey='editor.help.documents.features'
|
i18nKey='editor.help.documents.features'
|
||||||
href='/n/features'
|
href='/n/features'
|
||||||
icon='dot-circle'
|
icon='dot-circle-o'
|
||||||
className='text-primary'
|
className='text-primary'
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
|
@ -84,7 +84,7 @@ export const HelpButton: React.FC = () => {
|
||||||
<TranslatedExternalLink
|
<TranslatedExternalLink
|
||||||
i18nKey='editor.help.documents.yamlMetadata'
|
i18nKey='editor.help.documents.yamlMetadata'
|
||||||
href='/n/yaml-data'
|
href='/n/yaml-data'
|
||||||
icon='dot-circle'
|
icon='dot-circle-o'
|
||||||
className='text-primary'
|
className='text-primary'
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
|
@ -92,7 +92,7 @@ export const HelpButton: React.FC = () => {
|
||||||
<TranslatedExternalLink
|
<TranslatedExternalLink
|
||||||
i18nKey='editor.help.documents.slideExample'
|
i18nKey='editor.help.documents.slideExample'
|
||||||
href='https://github.com/codimd/server/issues'
|
href='https://github.com/codimd/server/issues'
|
||||||
icon='dot-circle'
|
icon='dot-circle-o'
|
||||||
className='text-primary'
|
className='text-primary'
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { Button, Nav, Navbar } from 'react-bootstrap'
|
import { Button, Nav, Navbar } from 'react-bootstrap'
|
||||||
|
import { ForkAwesomeIcon } from '../../../fork-awesome/fork-awesome-icon'
|
||||||
import { DarkModeButton } from './dark-mode-button'
|
import { DarkModeButton } from './dark-mode-button'
|
||||||
import { EditorViewMode } from './editor-view-mode'
|
import { EditorViewMode } from './editor-view-mode'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
@ -16,7 +16,7 @@ const TaskBar: React.FC = () => {
|
||||||
<Nav className="mr-auto d-flex align-items-center">
|
<Nav className="mr-auto d-flex align-items-center">
|
||||||
<Navbar.Brand>
|
<Navbar.Brand>
|
||||||
<Link to="/intro" className="text-secondary">
|
<Link to="/intro" className="text-secondary">
|
||||||
<FontAwesomeIcon icon="file-alt"/> CodiMD
|
<ForkAwesomeIcon icon="file-text"/> CodiMD
|
||||||
</Link>
|
</Link>
|
||||||
</Navbar.Brand>
|
</Navbar.Brand>
|
||||||
<EditorViewMode/>
|
<EditorViewMode/>
|
||||||
|
@ -25,10 +25,10 @@ const TaskBar: React.FC = () => {
|
||||||
</Nav>
|
</Nav>
|
||||||
<Nav className="d-flex align-items-center text-secondary">
|
<Nav className="d-flex align-items-center text-secondary">
|
||||||
<Button className="ml-2 text-secondary" size="sm" variant="outline-light">
|
<Button className="ml-2 text-secondary" size="sm" variant="outline-light">
|
||||||
<FontAwesomeIcon icon="plus"/> <Trans i18nKey="editor.menu.new"/>
|
<ForkAwesomeIcon icon="plus"/> <Trans i18nKey="editor.menu.new"/>
|
||||||
</Button>
|
</Button>
|
||||||
<Button className="ml-2 text-secondary" size="sm" variant="outline-light">
|
<Button className="ml-2 text-secondary" size="sm" variant="outline-light">
|
||||||
<FontAwesomeIcon icon="share-square"/> <Trans i18nKey="editor.menu.publish"/>
|
<ForkAwesomeIcon icon="share-square-o"/> <Trans i18nKey="editor.menu.publish"/>
|
||||||
</Button>
|
</Button>
|
||||||
<div className="text-secondary">
|
<div className="text-secondary">
|
||||||
<EditorMenu/>
|
<EditorMenu/>
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import './icon-button.scss'
|
import './icon-button.scss'
|
||||||
import { Button, ButtonProps } from 'react-bootstrap'
|
import { Button, ButtonProps } from 'react-bootstrap'
|
||||||
import { IconProp } from '../../utils/iconProp'
|
import { ForkAwesomeIcon, IconName } from '../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface SocialButtonProps extends ButtonProps {
|
export interface SocialButtonProps extends ButtonProps {
|
||||||
icon: IconProp
|
icon: IconName
|
||||||
onClick?: () => void
|
onClick?: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +13,7 @@ export const IconButton: React.FC<SocialButtonProps> = ({ icon, children, varian
|
||||||
<Button variant={variant} className={'btn-icon p-0 d-inline-flex align-items-stretch'}
|
<Button variant={variant} className={'btn-icon p-0 d-inline-flex align-items-stretch'}
|
||||||
onClick={() => onClick?.()}>
|
onClick={() => onClick?.()}>
|
||||||
<span className="icon-part d-flex align-items-center">
|
<span className="icon-part d-flex align-items-center">
|
||||||
<FontAwesomeIcon icon={icon} className={'icon'}/>
|
<ForkAwesomeIcon icon={icon} className={'icon'}/>
|
||||||
</span>
|
</span>
|
||||||
<span className="text-part d-flex align-items-center">
|
<span className="text-part d-flex align-items-center">
|
||||||
{children}
|
{children}
|
||||||
|
|
|
@ -7,10 +7,10 @@ const SocialLink: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<p>
|
<p>
|
||||||
<Trans i18nKey="landing.footer.followUs" components={[
|
<Trans i18nKey="landing.footer.followUs" components={[
|
||||||
<ExternalLink href="https://github.com/codimd/server" icon={['fab', 'github']} text="GitHub"/>,
|
<ExternalLink href="https://github.com/codimd/server" icon='github' text="GitHub"/>,
|
||||||
<ExternalLink href="https://community.codimd.org" icon={['fab', 'discourse']} text="Discourse"/>,
|
<ExternalLink href="https://community.codimd.org" icon='users' text="Discourse"/>,
|
||||||
<ExternalLink href="https://riot.im/app/#/room/#codimd:matrix.org" icon="comment" text="Riot"/>,
|
<ExternalLink href="https://riot.im/app/#/room/#codimd:matrix.org" icon="comment" text="Riot"/>,
|
||||||
<ExternalLink href="https://social.codimd.org/mastodon" icon={['fab', 'mastodon']} text="Mastodon"/>,
|
<ExternalLink href="https://social.codimd.org/mastodon" icon='mastodon' text="Mastodon"/>,
|
||||||
<ExternalLink href="https://translate.codimd.org" icon="globe" text="POEditor"/>
|
<ExternalLink href="https://translate.codimd.org" icon="globe" text="POEditor"/>
|
||||||
]}/>
|
]}/>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { LinkContainer } from 'react-router-bootstrap'
|
import { LinkContainer } from 'react-router-bootstrap'
|
||||||
import { Button } from 'react-bootstrap'
|
import { Button } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export const NewGuestNoteButton: React.FC = () => {
|
export const NewGuestNoteButton: React.FC = () => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
|
@ -12,7 +12,7 @@ export const NewGuestNoteButton: React.FC = () => {
|
||||||
variant="primary"
|
variant="primary"
|
||||||
size="sm"
|
size="sm"
|
||||||
className="d-inline-flex align-items-center">
|
className="d-inline-flex align-items-center">
|
||||||
<FontAwesomeIcon icon="plus" className="mr-1"/>
|
<ForkAwesomeIcon icon="plus" className="mr-1"/>
|
||||||
<span>
|
<span>
|
||||||
<Trans i18nKey='landing.navigation.newGuestNote'/>
|
<Trans i18nKey='landing.navigation.newGuestNote'/>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { LinkContainer } from 'react-router-bootstrap'
|
import { LinkContainer } from 'react-router-bootstrap'
|
||||||
import { Button } from 'react-bootstrap'
|
import { Button } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export const NewUserNoteButton: React.FC = () => {
|
export const NewUserNoteButton: React.FC = () => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
|
@ -12,7 +12,7 @@ export const NewUserNoteButton: React.FC = () => {
|
||||||
variant="primary"
|
variant="primary"
|
||||||
size="sm"
|
size="sm"
|
||||||
className="d-inline-flex align-items-center">
|
className="d-inline-flex align-items-center">
|
||||||
<FontAwesomeIcon icon="plus" className="mr-1"/>
|
<ForkAwesomeIcon icon="plus" className="mr-1"/>
|
||||||
<span>
|
<span>
|
||||||
<Trans i18nKey='landing.navigation.newNote'/>
|
<Trans i18nKey='landing.navigation.newNote'/>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Dropdown } from 'react-bootstrap'
|
import { Dropdown } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { useSelector } from 'react-redux'
|
import { useSelector } from 'react-redux'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
import { ApplicationState } from '../../../../../redux'
|
import { ApplicationState } from '../../../../../redux'
|
||||||
import { LinkContainer } from 'react-router-bootstrap'
|
import { LinkContainer } from 'react-router-bootstrap'
|
||||||
import { clearUser } from '../../../../../redux/user/methods'
|
import { clearUser } from '../../../../../redux/user/methods'
|
||||||
|
@ -21,13 +21,13 @@ export const UserDropdown: React.FC = () => {
|
||||||
<Dropdown.Menu>
|
<Dropdown.Menu>
|
||||||
<LinkContainer to={'/features'}>
|
<LinkContainer to={'/features'}>
|
||||||
<Dropdown.Item>
|
<Dropdown.Item>
|
||||||
<FontAwesomeIcon icon="bolt" fixedWidth={true} className="mr-2"/>
|
<ForkAwesomeIcon icon="bolt" fixedWidth={true} className="mr-2"/>
|
||||||
<Trans i18nKey="editor.help.documents.features"/>
|
<Trans i18nKey="editor.help.documents.features"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
</LinkContainer>
|
</LinkContainer>
|
||||||
<LinkContainer to={'/profile'}>
|
<LinkContainer to={'/profile'}>
|
||||||
<Dropdown.Item>
|
<Dropdown.Item>
|
||||||
<FontAwesomeIcon icon="user" fixedWidth={true} className="mr-2"/>
|
<ForkAwesomeIcon icon="user" fixedWidth={true} className="mr-2"/>
|
||||||
<Trans i18nKey="profile.userProfile"/>
|
<Trans i18nKey="profile.userProfile"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
</LinkContainer>
|
</LinkContainer>
|
||||||
|
@ -35,7 +35,7 @@ export const UserDropdown: React.FC = () => {
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
clearUser()
|
clearUser()
|
||||||
}}>
|
}}>
|
||||||
<FontAwesomeIcon icon="sign-out-alt" fixedWidth={true} className="mr-2"/>
|
<ForkAwesomeIcon icon="sign-out" fixedWidth={true} className="mr-2"/>
|
||||||
<Trans i18nKey="login.signOut"/>
|
<Trans i18nKey="login.signOut"/>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
</Dropdown.Menu>
|
</Dropdown.Menu>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { Fragment, useRef, useState } from 'react'
|
import React, { Fragment, useRef, useState } from 'react'
|
||||||
import { Button, FormControl, InputGroup, Overlay, Tooltip } from 'react-bootstrap'
|
import { Button, FormControl, InputGroup, Overlay, Tooltip } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface VersionInputFieldProps {
|
export interface VersionInputFieldProps {
|
||||||
version: string
|
version: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export const VersionInputField: React.FC<VersionInputFieldProps> = ({ version }) => {
|
export const VersionInputField: React.FC<VersionInputFieldProps> = ({ version }) => {
|
||||||
useTranslation();
|
useTranslation()
|
||||||
const inputField = useRef<HTMLInputElement>(null)
|
const inputField = useRef<HTMLInputElement>(null)
|
||||||
const [showCopiedTooltip, setShowCopiedTooltip] = useState(false)
|
const [showCopiedTooltip, setShowCopiedTooltip] = useState(false)
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ export const VersionInputField: React.FC<VersionInputFieldProps> = ({ version })
|
||||||
<FormControl readOnly={true} ref={inputField} className={'text-center'} value={version} />
|
<FormControl readOnly={true} ref={inputField} className={'text-center'} value={version} />
|
||||||
<InputGroup.Append>
|
<InputGroup.Append>
|
||||||
<Button variant="outline-secondary" onClick={() => copyToClipboard(version)} title={'Copy'}>
|
<Button variant="outline-secondary" onClick={() => copyToClipboard(version)} title={'Copy'}>
|
||||||
<FontAwesomeIcon icon={'copy'}/>
|
<ForkAwesomeIcon icon='files-o'/>
|
||||||
</Button>
|
</Button>
|
||||||
</InputGroup.Append>
|
</InputGroup.Append>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Button } from 'react-bootstrap'
|
import { Button } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import './close-button.scss'
|
import './close-button.scss'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface CloseButtonProps {
|
export interface CloseButtonProps {
|
||||||
isDark: boolean;
|
isDark: boolean;
|
||||||
|
@ -10,7 +10,7 @@ export interface CloseButtonProps {
|
||||||
const CloseButton: React.FC<CloseButtonProps> = ({ isDark }) => {
|
const CloseButton: React.FC<CloseButtonProps> = ({ isDark }) => {
|
||||||
return (
|
return (
|
||||||
<Button variant={isDark ? 'secondary' : 'light'}>
|
<Button variant={isDark ? 'secondary' : 'light'}>
|
||||||
<FontAwesomeIcon
|
<ForkAwesomeIcon
|
||||||
className="history-close"
|
className="history-close"
|
||||||
icon="times"
|
icon="times"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import './pin-button.scss'
|
import './pin-button.scss'
|
||||||
import { Button } from 'react-bootstrap'
|
import { Button } from 'react-bootstrap'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface PinButtonProps {
|
export interface PinButtonProps {
|
||||||
isPinned: boolean;
|
isPinned: boolean;
|
||||||
|
@ -13,8 +13,8 @@ export const PinButton: React.FC<PinButtonProps> = ({ isPinned, onPinClick, isDa
|
||||||
return (
|
return (
|
||||||
<Button variant={isDark ? 'secondary' : 'light'}
|
<Button variant={isDark ? 'secondary' : 'light'}
|
||||||
onClick={onPinClick}>
|
onClick={onPinClick}>
|
||||||
<FontAwesomeIcon
|
<ForkAwesomeIcon
|
||||||
icon="thumbtack"
|
icon="thumb-tack"
|
||||||
className={`history-pin ${isPinned ? 'active' : ''}`}
|
className={`history-pin ${isPinned ? 'active' : ''}`}
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Badge, Card } from 'react-bootstrap'
|
import { Badge, Card } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
import { PinButton } from '../common/pin-button'
|
import { PinButton } from '../common/pin-button'
|
||||||
import { CloseButton } from '../common/close-button'
|
import { CloseButton } from '../common/close-button'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
|
@ -20,7 +20,7 @@ export const HistoryCard: React.FC<HistoryEntryProps> = ({ entry, onPinClick })
|
||||||
</div>
|
</div>
|
||||||
<Card.Body>
|
<Card.Body>
|
||||||
<div className="text-black-50">
|
<div className="text-black-50">
|
||||||
<FontAwesomeIcon icon="clock"/> {moment(entry.lastVisited).fromNow()}<br/>
|
<ForkAwesomeIcon icon="clock-o"/> {moment(entry.lastVisited).fromNow()}<br/>
|
||||||
{formatHistoryDate(entry.lastVisited)}
|
{formatHistoryDate(entry.lastVisited)}
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { useState, Fragment } from 'react'
|
import React, { useState, Fragment } from 'react'
|
||||||
import { Button, Modal } from 'react-bootstrap'
|
import { Button, Modal } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface ClearHistoryButtonProps {
|
export interface ClearHistoryButtonProps {
|
||||||
onClearHistory: () => void
|
onClearHistory: () => void
|
||||||
|
@ -17,7 +17,7 @@ export const ClearHistoryButton: React.FC<ClearHistoryButtonProps> = ({ onClearH
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<Button variant={'light'} title={t('landing.history.toolbar.clear')} onClick={handleShow}>
|
<Button variant={'light'} title={t('landing.history.toolbar.clear')} onClick={handleShow}>
|
||||||
<FontAwesomeIcon icon={'trash'}/>
|
<ForkAwesomeIcon icon={'trash'}/>
|
||||||
</Button>
|
</Button>
|
||||||
<Modal show={show} onHide={handleClose} animation={true} className="text-dark">
|
<Modal show={show} onHide={handleClose} animation={true} className="text-dark">
|
||||||
<Modal.Header closeButton>
|
<Modal.Header closeButton>
|
||||||
|
@ -26,7 +26,7 @@ export const ClearHistoryButton: React.FC<ClearHistoryButtonProps> = ({ onClearH
|
||||||
</Modal.Title>
|
</Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body className="text-dark">
|
<Modal.Body className="text-dark">
|
||||||
<h5><Trans i18nKey={'landing.history.modal.clearHistory.question'}/></h5>
|
<h5><Trans i18nKey={'landing.history.modal.clearHistory.question'}/></h5>
|
||||||
<h6><Trans i18nKey={'landing.history.modal.clearHistory.disclaimer'}/></h6>
|
<h6><Trans i18nKey={'landing.history.modal.clearHistory.disclaimer'}/></h6>
|
||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
<Modal.Footer>
|
<Modal.Footer>
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import React, { ChangeEvent, useEffect, useState } from 'react'
|
import React, { ChangeEvent, useEffect, useState } from 'react'
|
||||||
import { Button, Form, FormControl, InputGroup, ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
import { Button, Form, FormControl, InputGroup, ToggleButton, ToggleButtonGroup } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { SortButton, SortModeEnum } from '../../../../sort-button/sort-button'
|
import { SortButton, SortModeEnum } from '../../../../sort-button/sort-button'
|
||||||
import { Typeahead } from 'react-bootstrap-typeahead'
|
import { Typeahead } from 'react-bootstrap-typeahead'
|
||||||
import './typeahead-hacks.scss'
|
import './typeahead-hacks.scss'
|
||||||
import { ClearHistoryButton } from './clear-history-button'
|
import { ClearHistoryButton } from './clear-history-button'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export type HistoryToolbarChange = (settings: HistoryToolbarState) => void;
|
export type HistoryToolbarChange = (settings: HistoryToolbarState) => void;
|
||||||
|
|
||||||
|
@ -95,12 +95,12 @@ export const HistoryToolbar: React.FC<HistoryToolbarProps> = ({ onSettingsChange
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
<InputGroup className={'mr-1 mb-1'}>
|
<InputGroup className={'mr-1 mb-1'}>
|
||||||
<Button variant={'light'} title={t('landing.history.toolbar.export')}>
|
<Button variant={'light'} title={t('landing.history.toolbar.export')}>
|
||||||
<FontAwesomeIcon icon={'download'}/>
|
<ForkAwesomeIcon icon='download'/>
|
||||||
</Button>
|
</Button>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
<InputGroup className={'mr-1 mb-1'}>
|
<InputGroup className={'mr-1 mb-1'}>
|
||||||
<Button variant={'light'} title={t('landing.history.toolbar.import')}>
|
<Button variant={'light'} title={t('landing.history.toolbar.import')}>
|
||||||
<FontAwesomeIcon icon={'upload'}/>
|
<ForkAwesomeIcon icon='upload'/>
|
||||||
</Button>
|
</Button>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
<InputGroup className={'mr-1 mb-1'}>
|
<InputGroup className={'mr-1 mb-1'}>
|
||||||
|
@ -108,7 +108,7 @@ export const HistoryToolbar: React.FC<HistoryToolbarProps> = ({ onSettingsChange
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
<InputGroup className={'mr-1 mb-1'}>
|
<InputGroup className={'mr-1 mb-1'}>
|
||||||
<Button variant={'light'} title={t('landing.history.toolbar.refresh')}>
|
<Button variant={'light'} title={t('landing.history.toolbar.refresh')}>
|
||||||
<FontAwesomeIcon icon={'sync'}/>
|
<ForkAwesomeIcon icon='refresh'/>
|
||||||
</Button>
|
</Button>
|
||||||
</InputGroup>
|
</InputGroup>
|
||||||
<InputGroup className={'mr-1 mb-1'}>
|
<InputGroup className={'mr-1 mb-1'}>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { Col, Row } from 'react-bootstrap'
|
import { Col, Row } from 'react-bootstrap'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export const FeatureLinks: React.FC = () => {
|
export const FeatureLinks: React.FC = () => {
|
||||||
useTranslation()
|
useTranslation()
|
||||||
|
@ -10,7 +10,7 @@ export const FeatureLinks: React.FC = () => {
|
||||||
<Row className="mb-5">
|
<Row className="mb-5">
|
||||||
<Col md={4}>
|
<Col md={4}>
|
||||||
<Link to={'/features#Share-Notes'} className="text-light">
|
<Link to={'/features#Share-Notes'} className="text-light">
|
||||||
<FontAwesomeIcon icon="bolt" size="3x"/>
|
<ForkAwesomeIcon icon="bolt" size="3x"/>
|
||||||
<h5>
|
<h5>
|
||||||
<Trans i18nKey="landing.intro.features.collaboration"/>
|
<Trans i18nKey="landing.intro.features.collaboration"/>
|
||||||
</h5>
|
</h5>
|
||||||
|
@ -18,7 +18,7 @@ export const FeatureLinks: React.FC = () => {
|
||||||
</Col>
|
</Col>
|
||||||
<Col md={4}>
|
<Col md={4}>
|
||||||
<Link to={'/features#MathJax'} className="text-light">
|
<Link to={'/features#MathJax'} className="text-light">
|
||||||
<FontAwesomeIcon icon="chart-bar" size="3x"/>
|
<ForkAwesomeIcon icon="bar-chart" size="3x"/>
|
||||||
<h5>
|
<h5>
|
||||||
<Trans i18nKey="landing.intro.features.mathJax"/>
|
<Trans i18nKey="landing.intro.features.mathJax"/>
|
||||||
</h5>
|
</h5>
|
||||||
|
@ -26,7 +26,7 @@ export const FeatureLinks: React.FC = () => {
|
||||||
</Col>
|
</Col>
|
||||||
<Col md={4}>
|
<Col md={4}>
|
||||||
<Link to={'/features#Slide-Mode'} className="text-light">
|
<Link to={'/features#Slide-Mode'} className="text-light">
|
||||||
<FontAwesomeIcon icon="tv" size="3x"/>
|
<ForkAwesomeIcon icon="television" size="3x"/>
|
||||||
<h5>
|
<h5>
|
||||||
<Trans i18nKey="landing.intro.features.slides"/>
|
<Trans i18nKey="landing.intro.features.slides"/>
|
||||||
</h5>
|
</h5>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../fork-awesome/fork-awesome-icon'
|
||||||
import screenshot from './img/screenshot.png'
|
import screenshot from './img/screenshot.png'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import { FeatureLinks } from './feature-links'
|
import { FeatureLinks } from './feature-links'
|
||||||
import { CoverButtons } from './cover-buttons/cover-buttons'
|
import { CoverButtons } from './cover-buttons/cover-buttons'
|
||||||
|
@ -11,7 +11,7 @@ const Intro: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h1>
|
<h1>
|
||||||
<FontAwesomeIcon icon="file-alt"/> CodiMD
|
<ForkAwesomeIcon icon="file-text"/> CodiMD
|
||||||
</h1>
|
</h1>
|
||||||
<p className="lead mb-5">
|
<p className="lead mb-5">
|
||||||
<Trans i18nKey="app.slogan"/>
|
<Trans i18nKey="app.slogan"/>
|
||||||
|
@ -19,7 +19,7 @@ const Intro: React.FC = () => {
|
||||||
|
|
||||||
<CoverButtons/>
|
<CoverButtons/>
|
||||||
|
|
||||||
<img alt={t("landing.intro.screenShotAltText")} src={screenshot} className="img-fluid mb-5"/>
|
<img alt={t('landing.intro.screenShotAltText')} src={screenshot} className="img-fluid mb-5"/>
|
||||||
<FeatureLinks/>
|
<FeatureLinks/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import './social-link-button.scss'
|
import './social-link-button.scss'
|
||||||
import { IconProp } from '../../../../../../utils/iconProp'
|
import { ForkAwesomeIcon, IconName } from '../../../../../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface SocialButtonProps {
|
export interface SocialButtonProps {
|
||||||
backgroundClass: string,
|
backgroundClass: string,
|
||||||
href: string
|
href: string
|
||||||
icon: IconProp
|
icon: IconName
|
||||||
title?: string
|
title?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +14,7 @@ export const SocialLinkButton: React.FC<SocialButtonProps> = ({ title, backgroun
|
||||||
<a href={href} title={title}
|
<a href={href} title={title}
|
||||||
className={'btn social-link-button p-0 d-inline-flex align-items-stretch ' + backgroundClass}>
|
className={'btn social-link-button p-0 d-inline-flex align-items-stretch ' + backgroundClass}>
|
||||||
<span className="icon-part d-flex align-items-center">
|
<span className="icon-part d-flex align-items-center">
|
||||||
<FontAwesomeIcon icon={icon} className={'social-icon'} fixedWidth={true}/>
|
<ForkAwesomeIcon icon={icon} className={'social-icon'} fixedWidth={true}/>
|
||||||
</span>
|
</span>
|
||||||
<span className="text-part d-flex align-items-center mx-auto">
|
<span className="text-part d-flex align-items-center mx-auto">
|
||||||
{children}
|
{children}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { IconProp } from '../../../../../utils/iconProp'
|
import { IconName } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
import { SocialLinkButton } from './social-link-button/social-link-button'
|
import { SocialLinkButton } from './social-link-button/social-link-button'
|
||||||
|
|
||||||
export enum OneClickType {
|
export enum OneClickType {
|
||||||
|
@ -15,7 +15,7 @@ export enum OneClickType {
|
||||||
|
|
||||||
type OneClick2Map = (oneClickType: OneClickType) => {
|
type OneClick2Map = (oneClickType: OneClickType) => {
|
||||||
name: string,
|
name: string,
|
||||||
icon: IconProp,
|
icon: IconName,
|
||||||
className: string,
|
className: string,
|
||||||
url: string
|
url: string
|
||||||
};
|
};
|
||||||
|
@ -29,35 +29,35 @@ const getMetadata: OneClick2Map = (oneClickType: OneClickType) => {
|
||||||
case OneClickType.DROPBOX:
|
case OneClickType.DROPBOX:
|
||||||
return {
|
return {
|
||||||
name: 'Dropbox',
|
name: 'Dropbox',
|
||||||
icon: ['fab', 'dropbox'],
|
icon: 'dropbox',
|
||||||
className: 'btn-social-dropbox',
|
className: 'btn-social-dropbox',
|
||||||
url: buildBackendAuthUrl('dropbox')
|
url: buildBackendAuthUrl('dropbox')
|
||||||
}
|
}
|
||||||
case OneClickType.FACEBOOK:
|
case OneClickType.FACEBOOK:
|
||||||
return {
|
return {
|
||||||
name: 'Facebook',
|
name: 'Facebook',
|
||||||
icon: ['fab', 'facebook'],
|
icon: 'facebook',
|
||||||
className: 'btn-social-facebook',
|
className: 'btn-social-facebook',
|
||||||
url: buildBackendAuthUrl('facebook')
|
url: buildBackendAuthUrl('facebook')
|
||||||
}
|
}
|
||||||
case OneClickType.GITHUB:
|
case OneClickType.GITHUB:
|
||||||
return {
|
return {
|
||||||
name: 'GitHub',
|
name: 'GitHub',
|
||||||
icon: ['fab', 'github'],
|
icon: 'github',
|
||||||
className: 'btn-social-github',
|
className: 'btn-social-github',
|
||||||
url: buildBackendAuthUrl('github')
|
url: buildBackendAuthUrl('github')
|
||||||
}
|
}
|
||||||
case OneClickType.GITLAB:
|
case OneClickType.GITLAB:
|
||||||
return {
|
return {
|
||||||
name: 'GitLab',
|
name: 'GitLab',
|
||||||
icon: ['fab', 'gitlab'],
|
icon: 'gitlab',
|
||||||
className: 'btn-social-gitlab',
|
className: 'btn-social-gitlab',
|
||||||
url: buildBackendAuthUrl('gitlab')
|
url: buildBackendAuthUrl('gitlab')
|
||||||
}
|
}
|
||||||
case OneClickType.GOOGLE:
|
case OneClickType.GOOGLE:
|
||||||
return {
|
return {
|
||||||
name: 'Google',
|
name: 'Google',
|
||||||
icon: ['fab', 'google'],
|
icon: 'google',
|
||||||
className: 'btn-social-google',
|
className: 'btn-social-google',
|
||||||
url: buildBackendAuthUrl('google')
|
url: buildBackendAuthUrl('google')
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ const getMetadata: OneClick2Map = (oneClickType: OneClickType) => {
|
||||||
case OneClickType.TWITTER:
|
case OneClickType.TWITTER:
|
||||||
return {
|
return {
|
||||||
name: 'Twitter',
|
name: 'Twitter',
|
||||||
icon: ['fab', 'twitter'],
|
icon: 'twitter',
|
||||||
className: 'btn-social-twitter',
|
className: 'btn-social-twitter',
|
||||||
url: buildBackendAuthUrl('twitter')
|
url: buildBackendAuthUrl('twitter')
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { Fragment, useEffect, useRef, useState } from 'react'
|
import React, { Fragment, useEffect, useRef, useState } from 'react'
|
||||||
import { Button, Card, Modal } from 'react-bootstrap'
|
import { Button, Card, Modal } from 'react-bootstrap'
|
||||||
import { Trans, useTranslation } from 'react-i18next'
|
import { Trans, useTranslation } from 'react-i18next'
|
||||||
import { deleteUser } from '../../../../../api/user'
|
import { deleteUser } from '../../../../../api/user'
|
||||||
|
import { ForkAwesomeIcon } from '../../../../../fork-awesome/fork-awesome-icon'
|
||||||
import { clearUser } from '../../../../../redux/user/methods'
|
import { clearUser } from '../../../../../redux/user/methods'
|
||||||
import { getBackendUrl } from '../../../../../utils/apiUtils'
|
import { getBackendUrl } from '../../../../../utils/apiUtils'
|
||||||
|
|
||||||
|
@ -58,11 +58,11 @@ export const ProfileAccountManagement: React.FC = () => {
|
||||||
<Card.Body>
|
<Card.Body>
|
||||||
<Card.Title><Trans i18nKey="profile.accountManagement"/></Card.Title>
|
<Card.Title><Trans i18nKey="profile.accountManagement"/></Card.Title>
|
||||||
<Button variant="secondary" block href={getBackendUrl() + '/me/export'} className="mb-2">
|
<Button variant="secondary" block href={getBackendUrl() + '/me/export'} className="mb-2">
|
||||||
<FontAwesomeIcon icon="cloud-download-alt" fixedWidth={true} className="mr-2"/>
|
<ForkAwesomeIcon icon="cloud-download" fixedWidth={true} className="mr-2"/>
|
||||||
<Trans i18nKey="profile.exportUserData"/>
|
<Trans i18nKey="profile.exportUserData"/>
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="danger" block onClick={handleModalOpen}>
|
<Button variant="danger" block onClick={handleModalOpen}>
|
||||||
<FontAwesomeIcon icon="trash" fixedWidth={true} className="mr-2"/>
|
<ForkAwesomeIcon icon="trash" fixedWidth={true} className="mr-2"/>
|
||||||
<Trans i18nKey="profile.deleteUser"/>
|
<Trans i18nKey="profile.deleteUser"/>
|
||||||
</Button>
|
</Button>
|
||||||
</Card.Body>
|
</Card.Body>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { Fragment } from 'react'
|
import React, { Fragment } from 'react'
|
||||||
|
import { ForkAwesomeIcon } from '../../fork-awesome/fork-awesome-icon'
|
||||||
import { LinkWithTextProps } from './types'
|
import { LinkWithTextProps } from './types'
|
||||||
|
|
||||||
export const ExternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, className = 'text-light' }) => {
|
export const ExternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, className = 'text-light' }) => {
|
||||||
|
@ -11,7 +11,7 @@ export const ExternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, cl
|
||||||
{
|
{
|
||||||
icon
|
icon
|
||||||
? <Fragment>
|
? <Fragment>
|
||||||
<FontAwesomeIcon icon={icon} fixedWidth={true}/>
|
<ForkAwesomeIcon icon={icon} fixedWidth={true}/>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
: null
|
: null
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
|
|
||||||
import React, { Fragment } from 'react'
|
import React, { Fragment } from 'react'
|
||||||
import { LinkContainer } from 'react-router-bootstrap'
|
import { LinkContainer } from 'react-router-bootstrap'
|
||||||
|
import { ForkAwesomeIcon } from '../../fork-awesome/fork-awesome-icon'
|
||||||
import { LinkWithTextProps } from './types'
|
import { LinkWithTextProps } from './types'
|
||||||
|
|
||||||
export const InternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, className = 'text-light' }) => {
|
export const InternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, className = 'text-light' }) => {
|
||||||
|
@ -11,7 +11,7 @@ export const InternalLink: React.FC<LinkWithTextProps> = ({ href, text, icon, cl
|
||||||
{
|
{
|
||||||
icon
|
icon
|
||||||
? <Fragment>
|
? <Fragment>
|
||||||
<FontAwesomeIcon icon={icon} fixedWidth={true}/>
|
<ForkAwesomeIcon icon={icon} fixedWidth={true}/>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
: null
|
: null
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { StringMap, TOptionsBase } from 'i18next'
|
import { StringMap, TOptionsBase } from 'i18next'
|
||||||
import { IconProp } from '../../utils/iconProp'
|
import { IconName } from '../../fork-awesome/fork-awesome-icon'
|
||||||
|
|
||||||
export interface GeneralLinkProp {
|
export interface GeneralLinkProp {
|
||||||
href: string;
|
href: string;
|
||||||
icon?: IconProp;
|
icon?: IconName;
|
||||||
className?: string
|
className?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { ButtonProps } from 'react-bootstrap'
|
import { ButtonProps } from 'react-bootstrap'
|
||||||
import { IconProp } from '../../utils/iconProp'
|
import { IconName } from '../../fork-awesome/fork-awesome-icon'
|
||||||
import { IconButton } from '../icon-button/icon-button'
|
import { IconButton } from '../icon-button/icon-button'
|
||||||
|
|
||||||
export enum SortModeEnum {
|
export enum SortModeEnum {
|
||||||
|
@ -9,15 +9,15 @@ export enum SortModeEnum {
|
||||||
no = 0
|
no = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
const getIcon = (direction: SortModeEnum): IconProp => {
|
const getIcon = (direction: SortModeEnum): IconName => {
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
default:
|
default:
|
||||||
case SortModeEnum.no:
|
case SortModeEnum.no:
|
||||||
return 'sort'
|
return 'sort'
|
||||||
case SortModeEnum.up:
|
case SortModeEnum.up:
|
||||||
return 'sort-up'
|
return 'sort-asc'
|
||||||
case SortModeEnum.down:
|
case SortModeEnum.down:
|
||||||
return 'sort-down'
|
return 'sort-desc'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
21
src/fork-awesome/fork-awesome-icon.tsx
Normal file
21
src/fork-awesome/fork-awesome-icon.tsx
Normal file
File diff suppressed because one or more lines are too long
|
@ -9,13 +9,10 @@ import { History } from './components/landing/pages/history/history'
|
||||||
import { Intro } from './components/landing/pages/intro/intro'
|
import { Intro } from './components/landing/pages/intro/intro'
|
||||||
import { Login } from './components/landing/pages/login/login'
|
import { Login } from './components/landing/pages/login/login'
|
||||||
import { Profile } from './components/landing/pages/profile/profile'
|
import { Profile } from './components/landing/pages/profile/profile'
|
||||||
import { setUpFontAwesome } from './initializers/fontAwesome'
|
|
||||||
import * as serviceWorker from './service-worker'
|
import * as serviceWorker from './service-worker'
|
||||||
import { store } from './utils/store'
|
import { store } from './utils/store'
|
||||||
import './style/index.scss'
|
import './style/index.scss'
|
||||||
|
|
||||||
setUpFontAwesome()
|
|
||||||
|
|
||||||
ReactDOM.render(
|
ReactDOM.render(
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<Router>
|
<Router>
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
import { library } from '@fortawesome/fontawesome-svg-core'
|
|
||||||
import {
|
|
||||||
faTwitter,
|
|
||||||
faMastodon,
|
|
||||||
faGoogle,
|
|
||||||
faFacebook,
|
|
||||||
faDropbox,
|
|
||||||
faDiscourse,
|
|
||||||
faGithub,
|
|
||||||
faGitlab
|
|
||||||
} from '@fortawesome/free-brands-svg-icons'
|
|
||||||
import {
|
|
||||||
faAddressCard,
|
|
||||||
faBolt,
|
|
||||||
faChartBar,
|
|
||||||
faCircle,
|
|
||||||
faClock,
|
|
||||||
faCloudDownloadAlt,
|
|
||||||
faColumns,
|
|
||||||
faComment,
|
|
||||||
faCopy,
|
|
||||||
faDotCircle,
|
|
||||||
faDownload,
|
|
||||||
faEye,
|
|
||||||
faFileAlt,
|
|
||||||
faFileCode,
|
|
||||||
faGlobe,
|
|
||||||
faHashtag,
|
|
||||||
faHistory,
|
|
||||||
faLanguage,
|
|
||||||
faMoon,
|
|
||||||
faPaste,
|
|
||||||
faPencilAlt,
|
|
||||||
faPlus,
|
|
||||||
faQuestionCircle,
|
|
||||||
faShareSquare,
|
|
||||||
faSignOutAlt,
|
|
||||||
faSort,
|
|
||||||
faSortDown,
|
|
||||||
faSortUp,
|
|
||||||
faSun,
|
|
||||||
faSync,
|
|
||||||
faTag,
|
|
||||||
faThumbtack,
|
|
||||||
faTimes,
|
|
||||||
faTrash,
|
|
||||||
faTv,
|
|
||||||
faUpload,
|
|
||||||
faUser,
|
|
||||||
faUsers
|
|
||||||
} from '@fortawesome/free-solid-svg-icons'
|
|
||||||
|
|
||||||
export const setUpFontAwesome: (() => void) = () => {
|
|
||||||
library.add(faBolt, faPlus, faChartBar, faTv, faFileAlt, faCloudDownloadAlt,
|
|
||||||
faTrash, faSignOutAlt, faComment, faDiscourse, faMastodon, faGlobe, faUser,
|
|
||||||
faThumbtack, faClock, faTimes, faGithub, faGitlab, faGoogle, faFacebook,
|
|
||||||
faDropbox, faTwitter, faUsers, faAddressCard, faEye, faPencilAlt, faColumns,
|
|
||||||
faMoon, faQuestionCircle, faShareSquare, faHistory, faFileCode, faPaste,
|
|
||||||
faCircle, faSort, faDownload, faUpload, faTrash, faSync, faSortUp, faSortDown, faCopy,
|
|
||||||
faHashtag, faLanguage, faTag, faDotCircle, faSun)
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
import { IconLookup, IconName, IconPrefix } from '@fortawesome/fontawesome-common-types'
|
|
||||||
|
|
||||||
// This icon prop is a workaround, because ESLint doesn't find the font awesome IconProp
|
|
||||||
export type IconProp = IconName | [IconPrefix, IconName] | IconLookup
|
|
38
yarn.lock
38
yarn.lock
|
@ -1046,39 +1046,6 @@
|
||||||
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
|
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
|
||||||
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
|
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
|
||||||
|
|
||||||
"@fortawesome/fontawesome-common-types@^0.2.28":
|
|
||||||
version "0.2.28"
|
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.28.tgz#1091bdfe63b3f139441e9cba27aa022bff97d8b2"
|
|
||||||
integrity sha512-gtis2/5yLdfI6n0ia0jH7NJs5i/Z/8M/ZbQL6jXQhCthEOe5Cr5NcQPhgTvFxNOtURE03/ZqUcEskdn2M+QaBg==
|
|
||||||
|
|
||||||
"@fortawesome/fontawesome-svg-core@^1.2.28":
|
|
||||||
version "1.2.28"
|
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.28.tgz#e5b8c8814ef375f01f5d7c132d3c3a2f83a3abf9"
|
|
||||||
integrity sha512-4LeaNHWvrneoU0i8b5RTOJHKx7E+y7jYejplR7uSVB34+mp3Veg7cbKk7NBCLiI4TyoWS1wh9ZdoyLJR8wSAdg==
|
|
||||||
dependencies:
|
|
||||||
"@fortawesome/fontawesome-common-types" "^0.2.28"
|
|
||||||
|
|
||||||
"@fortawesome/free-brands-svg-icons@^5.13.0":
|
|
||||||
version "5.13.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.13.0.tgz#e79de73ba6555055204828dca9c0691e7ce5242b"
|
|
||||||
integrity sha512-/6xXiJFCMEQxqxXbL0FPJpwq5Cv6MRrjsbJEmH/t5vOvB4dILDpnY0f7zZSlA8+TG7jwlt12miF/yZpZkykucA==
|
|
||||||
dependencies:
|
|
||||||
"@fortawesome/fontawesome-common-types" "^0.2.28"
|
|
||||||
|
|
||||||
"@fortawesome/free-solid-svg-icons@^5.13.0":
|
|
||||||
version "5.13.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.13.0.tgz#44d9118668ad96b4fd5c9434a43efc5903525739"
|
|
||||||
integrity sha512-IHUgDJdomv6YtG4p3zl1B5wWf9ffinHIvebqQOmV3U+3SLw4fC+LUCCgwfETkbTtjy5/Qws2VoVf6z/ETQpFpg==
|
|
||||||
dependencies:
|
|
||||||
"@fortawesome/fontawesome-common-types" "^0.2.28"
|
|
||||||
|
|
||||||
"@fortawesome/react-fontawesome@^0.1.9":
|
|
||||||
version "0.1.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.9.tgz#c865b9286c707407effcec99958043711367cd02"
|
|
||||||
integrity sha512-49V3WNysLZU5fZ3sqSuys4nGRytsrxJktbv3vuaXkEoxv22C6T7TEG0TW6+nqVjMnkfCQd5xOnmJoZHMF78tOw==
|
|
||||||
dependencies:
|
|
||||||
prop-types "^15.7.2"
|
|
||||||
|
|
||||||
"@hapi/address@2.x.x":
|
"@hapi/address@2.x.x":
|
||||||
version "2.1.4"
|
version "2.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
||||||
|
@ -4941,6 +4908,11 @@ forever-agent@~0.6.1:
|
||||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
||||||
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
|
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
|
||||||
|
|
||||||
|
fork-awesome@^1.1.7:
|
||||||
|
version "1.1.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/fork-awesome/-/fork-awesome-1.1.7.tgz#1427da1cac3d1713046ee88427e5fcecb9501d21"
|
||||||
|
integrity sha512-IHI7XCSXrKfUIWslse8c/PaaVDT1oBaYge+ju40ihL2ooiQeBpTr4wvIXhgTd2NuhntlvX+M5jYHAPTzNlmv0g==
|
||||||
|
|
||||||
fork-ts-checker-webpack-plugin@3.1.1:
|
fork-ts-checker-webpack-plugin@3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19"
|
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19"
|
||||||
|
|
Loading…
Reference in a new issue