Functional Component Refactor: Google Docs, Drive, Sheets, & Slides (#4259)

This commit is contained in:
mastqe
2022-10-15 10:00:59 -04:00
committed by GitHub
parent 136d98792b
commit 4dc336eeab
4 changed files with 97 additions and 101 deletions

View File

@@ -3,28 +3,28 @@ import Frame from "../components/Frame";
import Image from "../components/Image";
import { EmbedProps as Props } from ".";
const URL_REGEX = new RegExp("^https?://docs\\.google\\.com/document/(.*)$");
export default class GoogleDocs extends React.Component<Props> {
static ENABLED = [URL_REGEX];
render() {
return (
<Frame
{...this.props}
src={this.props.attrs.href.replace("/edit", "/preview")}
icon={
<Image
src="/images/google-docs.png"
alt="Google Docs Icon"
width={16}
height={16}
/>
}
canonicalUrl={this.props.attrs.href}
title="Google Docs"
border
/>
);
}
function GoogleDocs(props: Props) {
return (
<Frame
{...props}
src={props.attrs.href.replace("/edit", "/preview")}
icon={
<Image
src="/images/google-docs.png"
alt="Google Docs Icon"
width={16}
height={16}
/>
}
canonicalUrl={props.attrs.href}
title="Google Docs"
border
/>
);
}
GoogleDocs.ENABLED = [
new RegExp("^https?://docs\\.google\\.com/document/(.*)$"),
];
export default GoogleDocs;

View File

@@ -3,27 +3,27 @@ import Frame from "../components/Frame";
import Image from "../components/Image";
import { EmbedProps as Props } from ".";
const URL_REGEX = new RegExp("^https?://drive\\.google\\.com/file/d/(.*)$");
export default class GoogleDrive extends React.Component<Props> {
static ENABLED = [URL_REGEX];
render() {
return (
<Frame
src={this.props.attrs.href.replace("/view", "/preview")}
icon={
<Image
src="/images/google-drive.png"
alt="Google Drive Icon"
width={16}
height={16}
/>
}
title="Google Drive"
canonicalUrl={this.props.attrs.href}
border
/>
);
}
function GoogleDrive(props: Props) {
return (
<Frame
src={props.attrs.href.replace("/view", "/preview")}
icon={
<Image
src="/images/google-drive.png"
alt="Google Drive Icon"
width={16}
height={16}
/>
}
title="Google Drive"
canonicalUrl={props.attrs.href}
border
/>
);
}
GoogleDrive.ENABLED = [
new RegExp("^https?://drive\\.google\\.com/file/d/(.*)$"),
];
export default GoogleDrive;

View File

@@ -3,30 +3,28 @@ import Frame from "../components/Frame";
import Image from "../components/Image";
import { EmbedProps as Props } from ".";
const URL_REGEX = new RegExp(
"^https?://docs\\.google\\.com/spreadsheets/d/(.*)$"
);
export default class GoogleSheets extends React.Component<Props> {
static ENABLED = [URL_REGEX];
render() {
return (
<Frame
{...this.props}
src={this.props.attrs.href.replace("/edit", "/preview")}
icon={
<Image
src="/images/google-sheets.png"
alt="Google Sheets Icon"
width={16}
height={16}
/>
}
canonicalUrl={this.props.attrs.href}
title="Google Sheets"
border
/>
);
}
function GoogleSheets(props: Props) {
return (
<Frame
{...props}
src={props.attrs.href.replace("/edit", "/preview")}
icon={
<Image
src="/images/google-sheets.png"
alt="Google Sheets Icon"
width={16}
height={16}
/>
}
canonicalUrl={props.attrs.href}
title="Google Sheets"
border
/>
);
}
GoogleSheets.ENABLED = [
new RegExp("^https?://docs\\.google\\.com/spreadsheets/d/(.*)$"),
];
export default GoogleSheets;

View File

@@ -3,32 +3,30 @@ import Frame from "../components/Frame";
import Image from "../components/Image";
import { EmbedProps as Props } from ".";
const URL_REGEX = new RegExp(
"^https?://docs\\.google\\.com/presentation/d/(.*)$"
);
export default class GoogleSlides extends React.Component<Props> {
static ENABLED = [URL_REGEX];
render() {
return (
<Frame
{...this.props}
src={this.props.attrs.href
.replace("/edit", "/preview")
.replace("/pub", "/embed")}
icon={
<Image
src="/images/google-slides.png"
alt="Google Slides Icon"
width={16}
height={16}
/>
}
canonicalUrl={this.props.attrs.href}
title="Google Slides"
border
/>
);
}
function GoogleSlides(props: Props) {
return (
<Frame
{...props}
src={props.attrs.href
.replace("/edit", "/preview")
.replace("/pub", "/embed")}
icon={
<Image
src="/images/google-slides.png"
alt="Google Slides Icon"
width={16}
height={16}
/>
}
canonicalUrl={props.attrs.href}
title="Google Slides"
border
/>
);
}
GoogleSlides.ENABLED = [
new RegExp("^https?://docs\\.google\\.com/presentation/d/(.*)$"),
];
export default GoogleSlides;