Prep for T3k links to users and tone through Flow APIs.
This commit is contained in:
@@ -7,6 +7,14 @@
|
|||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
}
|
}
|
||||||
|
.text-info-dialog-content #user-content-tone3000_float_right {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: justify;
|
||||||
|
margin-top: 8px;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
.text-info-dialog-content #user-content-tone3000_float_content {
|
.text-info-dialog-content #user-content-tone3000_float_content {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
@@ -17,6 +25,16 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-info-dialog-content .tone3000_content {
|
||||||
|
flex-grow: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
font-size: 0.8em;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.text-info-dialog-content #user-content-tone3000_title {
|
.text-info-dialog-content #user-content-tone3000_title {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
@@ -45,9 +63,25 @@
|
|||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-self: flex-start;
|
align-self: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-info-dialog-content #user-content-tone3000_small_thumbnail {
|
||||||
|
width: 64px;
|
||||||
|
height: auto;
|
||||||
|
object-fit: contain;
|
||||||
|
margin-left: 24px;
|
||||||
|
margin-right: 8px;
|
||||||
|
border: 1px solid var(--pd-border-color);
|
||||||
|
border-radius: 6px;
|
||||||
|
align-self: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
.text-info-dialog-content #user-content-tone3000_thumbnail {
|
.text-info-dialog-content #user-content-tone3000_thumbnail {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
.text-info-dialog-content #user-content-tone3000_small_thumbnail {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -33,6 +33,7 @@ import rehypeSanitize, {defaultSchema} from 'rehype-sanitize';
|
|||||||
import rehypeExternalLinks from 'rehype-external-links'
|
import rehypeExternalLinks from 'rehype-external-links'
|
||||||
import remarkGfm from 'remark-gfm';
|
import remarkGfm from 'remark-gfm';
|
||||||
import { PiPedalError } from './PiPedalError';
|
import { PiPedalError } from './PiPedalError';
|
||||||
|
import { rewriteT3kUrls } from './TextInfo_RewriteT3kUrls';
|
||||||
|
|
||||||
// Extend the default schema to allow target and rel attributes on anchor tags
|
// Extend the default schema to allow target and rel attributes on anchor tags
|
||||||
const extendedSchema = {
|
const extendedSchema = {
|
||||||
@@ -72,6 +73,7 @@ interface TextInfoDialogProps {
|
|||||||
fileName: string;
|
fileName: string;
|
||||||
title: string;
|
title: string;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
|
onT3kLinkClick?: (href: string) => boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
interface TextInfoDialogState {
|
interface TextInfoDialogState {
|
||||||
@@ -162,6 +164,13 @@ const TextInfoDialog = class extends ResizeResponsiveComponent<TextInfoDialogPro
|
|||||||
this.props.onClose();
|
this.props.onClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleT3kLinkClick = (href: string): boolean => {
|
||||||
|
if (this.props.onT3kLinkClick) {
|
||||||
|
return this.props.onT3kLinkClick(href);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
@@ -204,7 +213,11 @@ const TextInfoDialog = class extends ResizeResponsiveComponent<TextInfoDialogPro
|
|||||||
[remarkGfm],
|
[remarkGfm],
|
||||||
[rehypeRaw],
|
[rehypeRaw],
|
||||||
[rehypeSanitize, extendedSchema],
|
[rehypeSanitize, extendedSchema],
|
||||||
[rehypeExternalLinks, {target: '_blank'}]
|
[rehypeExternalLinks, {target: '_blank'}],
|
||||||
|
[rewriteT3kUrls, {
|
||||||
|
prefixUrl: 'https://tone3000.com/',
|
||||||
|
onT3kLinkClick: this.handleT3kLinkClick
|
||||||
|
}]
|
||||||
]}>
|
]}>
|
||||||
{this.state.textFileContent}
|
{this.state.textFileContent}
|
||||||
</ReactMarkdown>
|
</ReactMarkdown>
|
||||||
|
|||||||
Reference in New Issue
Block a user