Skip to content

Commit f075579

Browse files
committed
Parse id from YouTube URL
1 parent 4accce3 commit f075579

5 files changed

Lines changed: 10 additions & 5 deletions

File tree

packages/editor/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"@styled-system/edit": "^0.0.4",
2020
"emotion-theming": "^10.0.10",
2121
"escape-string-regexp": "^2.0.0",
22+
"get-youtube-id": "^1.0.1",
2223
"image-extensions": "^1.1.0",
2324
"immutable": "^4.0.0-rc.12",
2425
"is-url": "^1.2.4",

packages/editor/src/plugins/jsx-blocks/YouTube.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { jsx } from '@emotion/core'
33
import React, { useState } from 'react'
44
import Player from 'react-youtube'
5+
import getYouTubeID from 'get-youtube-id'
56

67
const Form = ({ value, onSubmit }) => {
78
const [state, setState] = useState({
@@ -24,7 +25,8 @@ const Form = ({ value, onSubmit }) => {
2425
name="videoId"
2526
value={state.videoId}
2627
onChange={e => {
27-
setState({ ...state, videoId: e.target.value })
28+
const videoId = getYouTubeID(e.target.value)
29+
setState({ ...state, videoId })
2830
}}
2931
/>
3032
</label>

packages/editor/src/plugins/jsx-blocks/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from 'react'
22
import { Data } from 'slate'
33
import YouTube from './YouTube'
44

5-
const setJSXProps = (editor, props, ...args) => {
5+
const setJSXProps = (editor, props) => {
66
editor.setBlocks({ data: { props: Data.create(props) } })
77
}
88

packages/editor/src/plugins/live-jsx.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,11 @@ export default (opts = {}) => ({
6464
const { node, attributes, children } = props
6565
if (node.type !== 'jsx') return next()
6666

67-
const metadata = node.data.toJS()
68-
6967
return (
7068
<LiveJSX
7169
attributes={attributes}
7270
code={node.getText()}
7371
children={children}
74-
metadata={metadata}
7572
/>
7673
)
7774
}

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4877,6 +4877,11 @@ get-window@^1.1.1:
48774877
dependencies:
48784878
get-document "1"
48794879

4880+
get-youtube-id@^1.0.1:
4881+
version "1.0.1"
4882+
resolved "https://registry.yarnpkg.com/get-youtube-id/-/get-youtube-id-1.0.1.tgz#adb6f475e292d98f98ed5bfb530887656193e157"
4883+
integrity sha512-5yidLzoLXbtw82a/Wb7LrajkGn29BM6JuLWeHyNfzOGp1weGyW4+7eMz6cP23+etqj27VlOFtq8fFFDMLq/FXQ==
4884+
48804885
glob-parent@^3.1.0:
48814886
version "3.1.0"
48824887
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"

0 commit comments

Comments
 (0)