(editorElRef.current = el)} id="editorBody" />
diff --git a/src/components/Views/Edit.module.scss b/src/components/Views/Edit.module.scss
index 27221436..1127afd8 100644
--- a/src/components/Views/Edit.module.scss
+++ b/src/components/Views/Edit.module.scss
@@ -215,3 +215,12 @@
background-repeat: no-repeat;
}
}
+
+.wrapperTableOfContents {
+ position: sticky;
+ left: 0;
+ top: 0;
+ margin-bottom: -157px;
+ width: 240px;
+ padding-top: 100px;
+}
diff --git a/src/components/Views/Edit.tsx b/src/components/Views/Edit.tsx
index dbaa5f84..13f90841 100644
--- a/src/components/Views/Edit.tsx
+++ b/src/components/Views/Edit.tsx
@@ -22,6 +22,8 @@ import { AutoSaveNotice } from '../Editor/AutoSaveNotice'
import { PublishSettings } from './PublishSettings'
import { createStore } from 'solid-js/store'
import SimplifiedEditor from '../Editor/SimplifiedEditor'
+import { isDesktop } from '../../utils/media-query'
+import { TableOfContents } from '../TableOfContents'
type Props = {
shout: Shout
@@ -247,158 +249,166 @@ export const EditView = (props: Props) => {
-
-
-
-
-
-
- {t('Add subtitle')}
-
-
-
-
- {t('Add intro')}
-
-
-
- <>
-
-
-
-
- {t('min. 1400×1400 pix')}
-
- {t('jpg, .png, max. 10 mb.')}
- >
- }
- isMultiply={false}
- fileType={'image'}
- onUpload={(val) => setForm('coverImageUrl', val[0].url)}
- />
- }
- >
-
-
-
-
-
-
- handleMediaDelete(index)}
- onImagesAdd={(value) => handleAddMedia(value)}
- onImagesSorted={(value) => handleSortedMedia(value)}
- />
-
-
-
- handleAddMedia(data)}
- onVideoDelete={(index) => handleMediaDelete(index)}
- />
-
-
-
- handleAddMedia(value)}
- onAudioChange={handleMediaChange}
- onAudioSorted={(value) => handleSortedMedia(value)}
- />
-
- >
+
+
+
+
+
+
+
+
+
+ {t('Add subtitle')}
+
+
+
+
+ {t('Add intro')}
+
+
+
+ <>
+
+
+
+
+ {t('min. 1400×1400 pix')}
+
+ {t('jpg, .png, max. 10 mb.')}
+ >
+ }
+ isMultiply={false}
+ fileType={'image'}
+ onUpload={(val) => setForm('coverImageUrl', val[0].url)}
+ />
+ }
+ >
+
+
+
+
+
+
+ handleMediaDelete(index)}
+ onImagesAdd={(value) => handleAddMedia(value)}
+ onImagesSorted={(value) => handleSortedMedia(value)}
+ />
+
+
+
+ handleAddMedia(data)}
+ onVideoDelete={(index) => handleMediaDelete(index)}
+ />
+
+
+
+ handleAddMedia(value)}
+ onAudioChange={handleMediaChange}
+ onAudioSorted={(value) => handleSortedMedia(value)}
+ />
+
+ >
+
+
+
+
+ setForm('body', body)}
+ />
+
-
- setForm('body', body)}
- />
-