Compare commits

...

13 commits

Author SHA1 Message Date
Baltazar Gomez
00f67b0deb
fix eslint 2021-08-03 17:08:55 -05:00
Baltazar Gomez
429528608e
Merge branch 'master' into protocol 2021-08-03 16:43:28 -05:00
Baltazar Gomez
d8e92f9d6a
Merge branch 'master' into protocol 2021-08-01 13:41:18 -05:00
btzr-io
2f9278d5cc dont' show open-in-desktop button on web-mobile version 2021-07-30 18:26:44 -05:00
btzr-io
1efef22885 fix unexpected trailing comma error 2021-07-30 17:51:44 -05:00
btzr-io
f87a212b32 minor fixes for electron/index.js 2021-07-30 17:37:01 -05:00
Baltazar Gomez
3f3be5feb0
Merge branch 'master' into protocol 2021-07-29 20:46:13 -05:00
Baltazar Gomez
5d057ed2ce
remove comment 2021-07-26 15:16:57 -05:00
btzr-io
d3da113c71 remove unused import 2021-07-26 12:58:45 -05:00
btzr-io
1d6159fe55 remove open in web button 2021-07-26 12:53:52 -05:00
btzr-io
c6bf885adb add open in web / desktop button to file actions 2021-07-23 01:10:41 -05:00
btzr-io
d320a07d8b add open in desktop / web button to claim menu 2021-07-23 00:13:13 -05:00
btzr-io
68d528003d fix lbry protocol handler: #6659 2021-07-22 23:21:52 -05:00
6 changed files with 55 additions and 7 deletions

View file

@ -45,9 +45,15 @@ let daemon;
let lbryFirst;
const appState = {};
const PROTOCOL = 'lbry';
if (process.platform !== 'linux') {
app.setAsDefaultProtocolClient('lbry');
if (isDev && process.platform === 'win32') {
// Setting this is required to get this working in dev mode.
app.setAsDefaultProtocolClient(PROTOCOL, process.execPath, [
path.resolve(process.argv[1]),
]);
} else {
app.setAsDefaultProtocolClient(PROTOCOL);
}
app.name = 'LBRY';
@ -149,9 +155,15 @@ if (!gotSingleInstanceLock) {
app.on('second-instance', (event, argv) => {
// Send the url to the app to navigate first, then focus
if (rendererWindow) {
if ((process.platform === 'win32' || process.platform === 'linux') && String(argv[1]).startsWith('lbry')) {
let URI = argv[1];
// External uri (last item on argv):
const EXTERNAL_URI = (argv.length) ? argv[argv.length - 1] : '';
// Handle protocol requests for windows and linux
const platforms = (process.platform === 'win32' || process.platform === 'linux');
// Is LBRY protocol
const isProtocolURI = String(EXTERNAL_URI).startsWith(PROTOCOL + '://');
// External protocol requested:
if (platforms && isProtocolURI) {
let URI = EXTERNAL_URI;
// Keep only command line / deep linked arguments
// Windows normalizes URIs when they're passed in from other apps. On Windows, this tries to
// restore the original URI that was typed.

View file

@ -2058,14 +2058,15 @@
"Only select creators can receive tips at this time": "Only select creators can receive tips at this time",
"The payment will be made from your saved card": "The payment will be made from your saved card",
"Commenting...": "Commenting...",
"Show %count% replies": "Show %count% replies",
"Show reply": "Show reply",
"added to": "added to",
"removed from": "removed from",
"Skip Navigation": "Skip Navigation",
"Reset": "Reset",
"Reset to original (previous) publish date": "Reset to original (previous) publish date",
"Search for something...": "Search for something...",
"Open in Desktop": "Open in Desktop",
"Show %count% replies": "Show %count% replies",
"Show reply": "Show reply",
"Confirm Comment Deletion": "Confirm Comment Deletion",
"Remove Comment": "Remove Comment",
"Are you sure you want to remove this comment?": "Are you sure you want to remove this comment?",

View file

@ -9,6 +9,7 @@ import { Menu, MenuButton, MenuList, MenuItem } from '@reach/menu-button';
import Icon from 'component/common/icon';
import { generateShareUrl, generateRssUrl, generateLbryContentUrl } from 'util/url';
import { useHistory } from 'react-router';
import { useIsMobile } from 'effects/use-screensize';
import { buildURI, parseURI, COLLECTIONS_CONSTS } from 'lbry-redux';
const SHARE_DOMAIN = SHARE_DOMAIN_URL || URL;
@ -94,6 +95,7 @@ function ClaimMenuList(props: Props) {
editedCollection,
isAuthenticated,
} = props;
const isMobile = useIsMobile();
const incognitoClaim = contentChannelUri && !contentChannelUri.includes('@');
const isChannel = !incognitoClaim && !contentSigningChannel;
const { channelName } = parseURI(contentChannelUri);
@ -229,6 +231,10 @@ function ClaimMenuList(props: Props) {
push(`/$/${PAGES.REPORT_CONTENT}?claimId=${contentClaim && contentClaim.claim_id}`);
}
function handleOpenInDesktop() {
window.open(claim.permanent_url, '_top');
}
return (
<Menu>
<MenuButton
@ -410,6 +416,15 @@ function ClaimMenuList(props: Props) {
</MenuItem>
)}
{IS_WEB && !isMobile && (
<MenuItem className="comment__menu-option" onSelect={handleOpenInDesktop}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.DESKTOP} />
{__('Open in Desktop')}
</div>
</MenuItem>
)}
{!claimIsMine && !isMyCollection && (
<MenuItem className="comment__menu-option" onSelect={handleReportContent}>
<div className="menu__link">

View file

@ -2331,4 +2331,11 @@ export const icons = {
<path d="M4.954 14.753l3.535 3.535-1.768 1.768-3.535-3.535z" />
</g>
),
[ICONS.DESKTOP]: buildIcon(
<g>
<rect x="2" y="3" width="20" height="14" rx="2" ry="2" />
<line x1="8" y1="21" x2="16" y2="21" />
<line x1="12" y1="17" x2="12" y2="21" />
</g>
),
};

View file

@ -113,6 +113,10 @@ function FileActions(props: Props) {
}
}
function handleOpenInDesktop() {
window.open(claim.permanent_url, '_top');
}
const lhsSection = (
<>
{ENABLE_FILE_REACTIONS && !reactionsDisabled && <FileReactions uri={uri} livestream={isLivestreamClaim} />}
@ -188,6 +192,14 @@ function FileActions(props: Props) {
</MenuItem>
)}
{/* @endif */}
{IS_WEB && !isMobile && (
<MenuItem className="comment__menu-option" onSelect={handleOpenInDesktop}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.DESKTOP} />
{__('Open in Desktop')}
</div>
</MenuItem>
)}
{!claimIsMine && (
<MenuItem
className="comment__menu-option"

View file

@ -165,3 +165,4 @@ export const GLOBE = 'globe';
export const RSS = 'rss';
export const STAR = 'star';
export const MUSIC = 'MusicCategory';
export const DESKTOP = 'desktop';