mirror of
https://github.com/cheeaun/phanpy.git
synced 2025-02-16 07:11:15 +03:00
Remove target=_blank from username links
Mobile Safari ignores the click preventDefault and not show the Account popover. Removing target_blank fixes this ignorance Kinda hacky fix for now
This commit is contained in:
parent
ee074bec7f
commit
039d4661fb
3 changed files with 17 additions and 4 deletions
|
@ -15,7 +15,7 @@ export default ({ account, showAvatar, showAcct, short, external }) => {
|
||||||
<a
|
<a
|
||||||
class={`name-text ${short ? 'short' : ''}`}
|
class={`name-text ${short ? 'short' : ''}`}
|
||||||
href={url}
|
href={url}
|
||||||
target="_blank"
|
// target="_blank"
|
||||||
title={`@${acct}`}
|
title={`@${acct}`}
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
if (external) return;
|
if (external) return;
|
||||||
|
|
|
@ -506,7 +506,7 @@ function Status({ statusID, status, withinContext, size = 'm', skeleton }) {
|
||||||
{size !== 's' && (
|
{size !== 's' && (
|
||||||
<a
|
<a
|
||||||
href={url}
|
href={url}
|
||||||
target="_blank"
|
// target="_blank"
|
||||||
title={`@${acct}`}
|
title={`@${acct}`}
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@ -604,6 +604,14 @@ function Status({ statusID, status, withinContext, size = 'm', skeleton }) {
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: enhanceContent(content, {
|
__html: enhanceContent(content, {
|
||||||
emojis,
|
emojis,
|
||||||
|
postEnhanceDOM: (dom) => {
|
||||||
|
dom
|
||||||
|
.querySelectorAll('a.u-url[target="_blank"]')
|
||||||
|
.forEach((a) => {
|
||||||
|
// Remove target="_blank" from links
|
||||||
|
a.removeAttribute('target');
|
||||||
|
});
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import emojifyText from './emojify-text';
|
import emojifyText from './emojify-text';
|
||||||
|
|
||||||
export default (content, opts = {}) => {
|
export default (content, opts = {}) => {
|
||||||
const { emojis } = opts;
|
const { emojis, postEnhanceDOM = () => {} } = opts;
|
||||||
let enhancedContent = content;
|
let enhancedContent = content;
|
||||||
const dom = document.createElement('div');
|
const dom = document.createElement('div');
|
||||||
dom.innerHTML = enhancedContent;
|
dom.innerHTML = enhancedContent;
|
||||||
|
@ -27,7 +27,7 @@ export default (content, opts = {}) => {
|
||||||
const pre = document.createElement('pre');
|
const pre = document.createElement('pre');
|
||||||
const code = document.createElement('code');
|
const code = document.createElement('code');
|
||||||
const breaks = block.querySelectorAll('br');
|
const breaks = block.querySelectorAll('br');
|
||||||
Array.from(breaks).forEach((br) => br.replaceWith('\n'));
|
breaks.forEach((br) => br.replaceWith('\n'));
|
||||||
code.innerHTML = block.innerText
|
code.innerHTML = block.innerText
|
||||||
.trim()
|
.trim()
|
||||||
// .replace(/^```/g, '')
|
// .replace(/^```/g, '')
|
||||||
|
@ -37,6 +37,11 @@ export default (content, opts = {}) => {
|
||||||
block.replaceWith(pre);
|
block.replaceWith(pre);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (postEnhanceDOM) {
|
||||||
|
postEnhanceDOM(dom); // mutate dom
|
||||||
|
}
|
||||||
|
|
||||||
enhancedContent = dom.innerHTML;
|
enhancedContent = dom.innerHTML;
|
||||||
|
|
||||||
return enhancedContent;
|
return enhancedContent;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue