• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

EcrituresNumeriques / stylo / 14067433582

25 Mar 2025 06:31PM UTC coverage: 31.801%. First build
14067433582

push

github

web-flow
chore: ajout d'une menu sur l'interface d'écriture collaborative (#1364)

* chore: ajout d'une menu sur l'interface d'écriture collaborative

* chore: affiche les métadonnées en lecture seule

470 of 703 branches covered (66.86%)

Branch coverage included in aggregate %.

3 of 281 new or added lines in 9 files covered. (1.07%)

4483 of 14872 relevant lines covered (30.14%)

2.26 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/front/src/components/collaborative/CollaborativeEditorMenu.jsx
NEW
1
import clsx from 'clsx'
×
NEW
2
import React, { useState } from 'react'
×
NEW
3
import { ChevronRight } from 'react-feather'
×
NEW
4
import { useTranslation } from 'react-i18next'
×
NEW
5
import { useArticleWorkingCopy } from '../../hooks/article.js'
×
NEW
6
import Sidebar from '../Sidebar.jsx'
×
NEW
7
import ArticleMetadata from '../Write/ArticleMetadata.jsx'
×
NEW
8
import ArticleTableOfContents from './ArticleTableOfContents.jsx'
×
9

NEW
10
import styles from './CollaborativeEditorMenu.module.scss'
×
11

NEW
12
export default function CollaborativeEditorMenu({ articleId }) {
×
NEW
13
  const { t } = useTranslation()
×
NEW
14
  const [opened, setOpened] = useState(false)
×
NEW
15
  const [activeMenu, setActiveMenu] = useState('')
×
16

NEW
17
  const { article } = useArticleWorkingCopy({ articleId })
×
18

NEW
19
  const metadata = article?.workingVersion?.metadata
×
20

NEW
21
  return (
×
NEW
22
    <div className={styles.menu} role="menu">
×
NEW
23
      <Sidebar
×
NEW
24
        className={clsx(styles.container, opened && styles.opened)}
×
NEW
25
        opened={opened}
×
NEW
26
        setOpened={setOpened}
×
NEW
27
        labelOpened={t('editorMenu.open.label')}
×
NEW
28
        labelClosed={t('editorMenu.close.label')}
×
29
      >
NEW
30
        <section>
×
NEW
31
          {activeMenu === '' && (
×
NEW
32
            <ul className={styles.entries}>
×
NEW
33
              <li onClick={() => setActiveMenu('toc')}>
×
NEW
34
                {t('toc.title')}
×
NEW
35
                <ChevronRight
×
NEW
36
                  style={{ strokeWidth: 3 }}
×
NEW
37
                  height={32}
×
NEW
38
                  width={32}
×
NEW
39
                />
×
NEW
40
              </li>
×
NEW
41
              <li onClick={() => setActiveMenu('metadata')}>
×
NEW
42
                {t('metadata.title')}
×
NEW
43
                <ChevronRight
×
NEW
44
                  style={{ strokeWidth: 3 }}
×
NEW
45
                  height={32}
×
NEW
46
                  width={32}
×
NEW
47
                />
×
NEW
48
              </li>
×
NEW
49
            </ul>
×
50
          )}
NEW
51
          <div className={styles.content}>
×
NEW
52
            {activeMenu === 'metadata' && (
×
NEW
53
              <ArticleMetadata
×
NEW
54
                onBack={() => setActiveMenu('')}
×
NEW
55
                metadata={metadata}
×
NEW
56
                readOnly={true}
×
NEW
57
              />
×
58
            )}
NEW
59
            {activeMenu === 'toc' && (
×
NEW
60
              <ArticleTableOfContents onBack={() => setActiveMenu('')} />
×
61
            )}
NEW
62
          </div>
×
NEW
63
        </section>
×
NEW
64
      </Sidebar>
×
NEW
65
    </div>
×
66
  )
NEW
67
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc