fix: canonical URL stuff
Added cross-env to support compiling on Windows Channel name now returns the channel with @ updated remaining instances of claimid/contentname removed unused function that relied on parseURI
This commit is contained in:
parent
314e878b34
commit
80d67a240b
9 changed files with 35 additions and 221 deletions
118
dist/bundle.es.js
vendored
118
dist/bundle.es.js
vendored
|
@ -898,7 +898,7 @@ const getSearchQueryString = (query, options = {}, includeUserOptions = false) =
|
||||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||||
|
|
||||||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
||||||
const channelNameMinLength = 1;
|
const channelNameMinLength = 2;
|
||||||
const claimIdMaxLength = 40;
|
const claimIdMaxLength = 40;
|
||||||
|
|
||||||
// see https://spec.lbry.com/#urls
|
// see https://spec.lbry.com/#urls
|
||||||
|
@ -960,7 +960,7 @@ function parseURI(URL, requireProto = false) {
|
||||||
|
|
||||||
const includesChannel = streamNameOrChannelName.startsWith('@');
|
const includesChannel = streamNameOrChannelName.startsWith('@');
|
||||||
const isChannel = streamNameOrChannelName.startsWith('@') && !possibleStreamName;
|
const isChannel = streamNameOrChannelName.startsWith('@') && !possibleStreamName;
|
||||||
const channelName = includesChannel && streamNameOrChannelName.slice(1);
|
const channelName = includesChannel && streamNameOrChannelName;
|
||||||
|
|
||||||
if (includesChannel) {
|
if (includesChannel) {
|
||||||
if (!channelName) {
|
if (!channelName) {
|
||||||
|
@ -1725,7 +1725,7 @@ const makeSelectRecommendedContentForUri = uri => reselect.createSelector(makeSe
|
||||||
let recommendedContent;
|
let recommendedContent;
|
||||||
if (claim) {
|
if (claim) {
|
||||||
// If we are at a vanity uri, build the full uri so we can properly filter
|
// If we are at a vanity uri, build the full uri so we can properly filter
|
||||||
const currentUri = atVanityURI ? buildURI({ claimId: claim.claim_id, claimName: claim.name }) : uri;
|
const currentUri = atVanityURI ? buildURI({ streamClaimId: claim.claim_id, streamName: claim.name }) : uri;
|
||||||
|
|
||||||
const { title } = claim.value;
|
const { title } = claim.value;
|
||||||
|
|
||||||
|
@ -2594,99 +2594,6 @@ const selectTotalDownloadProgress = reselect.createSelector(selectDownloadingFil
|
||||||
return -1;
|
return -1;
|
||||||
});
|
});
|
||||||
|
|
||||||
const selectSearchDownloadUris = query => reselect.createSelector(selectFileInfosDownloaded, selectClaimsById, (fileInfos, claimsById) => {
|
|
||||||
if (!query || !fileInfos.length) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const queryParts = query.toLowerCase().split(' ');
|
|
||||||
const searchQueryDictionary = {};
|
|
||||||
queryParts.forEach(subQuery => {
|
|
||||||
searchQueryDictionary[subQuery] = subQuery;
|
|
||||||
});
|
|
||||||
|
|
||||||
const arrayContainsQueryPart = array => {
|
|
||||||
for (let i = 0; i < array.length; i += 1) {
|
|
||||||
const subQuery = array[i];
|
|
||||||
if (searchQueryDictionary[subQuery]) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const downloadResultsFromQuery = [];
|
|
||||||
fileInfos.forEach(fileInfo => {
|
|
||||||
const { channel_name: channelName, claim_name: claimName, metadata } = fileInfo;
|
|
||||||
const { author, description, title } = metadata;
|
|
||||||
|
|
||||||
if (channelName) {
|
|
||||||
const lowerCaseChannel = channelName.toLowerCase();
|
|
||||||
const strippedOutChannelName = lowerCaseChannel.slice(1); // trim off the @
|
|
||||||
if (searchQueryDictionary[channelName] || searchQueryDictionary[strippedOutChannelName]) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const nameParts = claimName.toLowerCase().split('-');
|
|
||||||
if (arrayContainsQueryPart(nameParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (title) {
|
|
||||||
const titleParts = title.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(titleParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (author) {
|
|
||||||
const authorParts = author.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(authorParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (description) {
|
|
||||||
const descriptionParts = description.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(descriptionParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return downloadResultsFromQuery.length ? downloadResultsFromQuery.map(fileInfo => {
|
|
||||||
const {
|
|
||||||
channel_name: channelName,
|
|
||||||
claim_id: claimId,
|
|
||||||
claim_name: claimName
|
|
||||||
} = fileInfo;
|
|
||||||
|
|
||||||
const uriParams = {};
|
|
||||||
|
|
||||||
if (channelName) {
|
|
||||||
const claim = claimsById[claimId];
|
|
||||||
if (claim && claim.signing_channel) {
|
|
||||||
uriParams.claimId = claim.signing_channel.claim_id;
|
|
||||||
} else {
|
|
||||||
uriParams.claimId = claimId;
|
|
||||||
}
|
|
||||||
uriParams.channelName = channelName;
|
|
||||||
uriParams.contentName = claimName;
|
|
||||||
} else {
|
|
||||||
uriParams.claimId = claimId;
|
|
||||||
uriParams.claimName = claimName;
|
|
||||||
}
|
|
||||||
|
|
||||||
const uri = buildURI(uriParams);
|
|
||||||
return uri;
|
|
||||||
}) : null;
|
|
||||||
});
|
|
||||||
|
|
||||||
const selectFileListPublishedSort = reselect.createSelector(selectState$3, state => state.fileListPublishedSort);
|
const selectFileListPublishedSort = reselect.createSelector(selectState$3, state => state.fileListPublishedSort);
|
||||||
|
|
||||||
const selectFileListDownloadedSort = reselect.createSelector(selectState$3, state => state.fileListDownloadedSort);
|
const selectFileListDownloadedSort = reselect.createSelector(selectState$3, state => state.fileListDownloadedSort);
|
||||||
|
@ -2934,13 +2841,13 @@ const selectIsStillEditing = reselect.createSelector(selectPublishFormValues, pu
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isChannel: currentIsChannel,
|
isChannel: currentIsChannel,
|
||||||
channelName: currentClaimName,
|
streamName: currentClaimName,
|
||||||
streamName: currentContentName
|
channelName: currentContentName
|
||||||
} = parseURI(uri);
|
} = parseURI(uri);
|
||||||
const {
|
const {
|
||||||
isChannel: editIsChannel,
|
isChannel: editIsChannel,
|
||||||
channelName: editClaimName,
|
streamName: editClaimName,
|
||||||
streamName: editContentName
|
channelName: editContentName
|
||||||
} = parseURI(editingURI);
|
} = parseURI(editingURI);
|
||||||
|
|
||||||
// Depending on the previous/current use of a channel, we need to compare different things
|
// Depending on the previous/current use of a channel, we need to compare different things
|
||||||
|
@ -2951,8 +2858,8 @@ const selectIsStillEditing = reselect.createSelector(selectPublishFormValues, pu
|
||||||
});
|
});
|
||||||
|
|
||||||
const selectMyClaimForUri = reselect.createSelector(selectPublishFormValues, selectIsStillEditing, selectClaimsById, selectMyClaimsWithoutChannels, ({ editingURI, uri }, isStillEditing, claimsById, myClaims) => {
|
const selectMyClaimForUri = reselect.createSelector(selectPublishFormValues, selectIsStillEditing, selectClaimsById, selectMyClaimsWithoutChannels, ({ editingURI, uri }, isStillEditing, claimsById, myClaims) => {
|
||||||
const { contentName, claimName } = parseURI(uri);
|
const { channelName: contentName, streamName: claimName } = parseURI(uri);
|
||||||
const { claimId: editClaimId } = parseURI(editingURI);
|
const { streamClaimId: editClaimId } = parseURI(editingURI);
|
||||||
|
|
||||||
// If isStillEditing
|
// If isStillEditing
|
||||||
// They clicked "edit" from the file page
|
// They clicked "edit" from the file page
|
||||||
|
@ -2988,14 +2895,14 @@ const selectTakeOverAmount = reselect.createSelector(selectState$5, selectMyClai
|
||||||
const claimForShortUri = claimsByUri[shortUri];
|
const claimForShortUri = claimsByUri[shortUri];
|
||||||
|
|
||||||
if (!myClaimForUri && claimForShortUri) {
|
if (!myClaimForUri && claimForShortUri) {
|
||||||
return claimForShortUri.effective_amount;
|
return claimForShortUri.meta.effective_amount;
|
||||||
} else if (myClaimForUri && claimForShortUri) {
|
} else if (myClaimForUri && claimForShortUri) {
|
||||||
// https://github.com/lbryio/lbry/issues/1476
|
// https://github.com/lbryio/lbry/issues/1476
|
||||||
// We should check the current effective_amount on my claim to see how much additional lbc
|
// We should check the current effective_amount on my claim to see how much additional lbc
|
||||||
// is needed to win the claim. Currently this is not possible during a takeover.
|
// is needed to win the claim. Currently this is not possible during a takeover.
|
||||||
// With this, we could say something like, "You have x lbc in support, if you bid y additional LBC you will control the claim"
|
// With this, we could say something like, "You have x lbc in support, if you bid y additional LBC you will control the claim"
|
||||||
// For now just ignore supports. We will just show the winning claim's bid amount
|
// For now just ignore supports. We will just show the winning claim's bid amount
|
||||||
return claimForShortUri.effective_amount || claimForShortUri.amount;
|
return claimForShortUri.meta.effective_amount || claimForShortUri.amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -3680,7 +3587,7 @@ reducers[FETCH_CLAIM_LIST_MINE_COMPLETED] = (state, action) => {
|
||||||
const pendingById = Object.assign({}, state.pendingById);
|
const pendingById = Object.assign({}, state.pendingById);
|
||||||
|
|
||||||
claims.forEach(claim => {
|
claims.forEach(claim => {
|
||||||
const uri = buildURI({ claimName: claim.name, claimId: claim.claim_id });
|
const uri = buildURI({ streamName: claim.name, streamClaimId: claim.claim_id });
|
||||||
|
|
||||||
if (claim.type && claim.type.match(/claim|update/)) {
|
if (claim.type && claim.type.match(/claim|update/)) {
|
||||||
if (claim.confirmations < 1) {
|
if (claim.confirmations < 1) {
|
||||||
|
@ -5076,7 +4983,6 @@ exports.selectReceiveAddress = selectReceiveAddress;
|
||||||
exports.selectRecentTransactions = selectRecentTransactions;
|
exports.selectRecentTransactions = selectRecentTransactions;
|
||||||
exports.selectResolvingUris = selectResolvingUris;
|
exports.selectResolvingUris = selectResolvingUris;
|
||||||
exports.selectSearchBarFocused = selectSearchBarFocused;
|
exports.selectSearchBarFocused = selectSearchBarFocused;
|
||||||
exports.selectSearchDownloadUris = selectSearchDownloadUris;
|
|
||||||
exports.selectSearchOptions = selectSearchOptions;
|
exports.selectSearchOptions = selectSearchOptions;
|
||||||
exports.selectSearchState = selectState;
|
exports.selectSearchState = selectState;
|
||||||
exports.selectSearchSuggestions = selectSearchSuggestions;
|
exports.selectSearchSuggestions = selectSearchSuggestions;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
"main": "dist/bundle.es.js",
|
"main": "dist/bundle.es.js",
|
||||||
"module": "dist/bundle.es.js",
|
"module": "dist/bundle.es.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "NODE_ENV=production rollup --config",
|
"build": "cross-env NODE_ENV=production rollup --config",
|
||||||
"dev": "rollup --config --watch",
|
"dev": "rollup --config --watch",
|
||||||
"precommit": "flow check && lint-staged",
|
"precommit": "flow check && lint-staged",
|
||||||
"lint": "eslint 'src/**/*.js' --fix",
|
"lint": "eslint 'src/**/*.js' --fix",
|
||||||
|
@ -40,6 +40,7 @@
|
||||||
"babel-plugin-transform-flow-comments": "^6.17.0",
|
"babel-plugin-transform-flow-comments": "^6.17.0",
|
||||||
"babel-preset-env": "^1.6.1",
|
"babel-preset-env": "^1.6.1",
|
||||||
"babel-preset-stage-2": "^6.18.0",
|
"babel-preset-stage-2": "^6.18.0",
|
||||||
|
"cross-env": "^5.2.0",
|
||||||
"eslint": "^5.16.0",
|
"eslint": "^5.16.0",
|
||||||
"eslint-config-standard": "^12.0.0",
|
"eslint-config-standard": "^12.0.0",
|
||||||
"eslint-config-standard-jsx": "^6.0.2",
|
"eslint-config-standard-jsx": "^6.0.2",
|
||||||
|
|
|
@ -215,7 +215,6 @@ export {
|
||||||
selectFileInfosDownloaded,
|
selectFileInfosDownloaded,
|
||||||
selectDownloadingFileInfos,
|
selectDownloadingFileInfos,
|
||||||
selectTotalDownloadProgress,
|
selectTotalDownloadProgress,
|
||||||
selectSearchDownloadUris,
|
|
||||||
selectFileListDownloadedSort,
|
selectFileListDownloadedSort,
|
||||||
selectFileListPublishedSort,
|
selectFileListPublishedSort,
|
||||||
selectDownloadedUris,
|
selectDownloadedUris,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// @flow
|
// @flow
|
||||||
const isProduction = process.env.NODE_ENV === 'production';
|
const isProduction = process.env.NODE_ENV === 'production';
|
||||||
const channelNameMinLength = 1;
|
const channelNameMinLength = 2;
|
||||||
const claimIdMaxLength = 40;
|
const claimIdMaxLength = 40;
|
||||||
|
|
||||||
// see https://spec.lbry.com/#urls
|
// see https://spec.lbry.com/#urls
|
||||||
|
@ -75,7 +75,7 @@ export function parseURI(URL: string, requireProto: boolean = false): LbryUrlObj
|
||||||
|
|
||||||
const includesChannel = streamNameOrChannelName.startsWith('@');
|
const includesChannel = streamNameOrChannelName.startsWith('@');
|
||||||
const isChannel = streamNameOrChannelName.startsWith('@') && !possibleStreamName;
|
const isChannel = streamNameOrChannelName.startsWith('@') && !possibleStreamName;
|
||||||
const channelName = includesChannel && streamNameOrChannelName.slice(1);
|
const channelName = includesChannel && streamNameOrChannelName;
|
||||||
|
|
||||||
if (includesChannel) {
|
if (includesChannel) {
|
||||||
if (!channelName) {
|
if (!channelName) {
|
||||||
|
|
|
@ -112,7 +112,7 @@ reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_COMPLETED] = (state: State, action: any):
|
||||||
const pendingById: { [string]: Claim } = Object.assign({}, state.pendingById);
|
const pendingById: { [string]: Claim } = Object.assign({}, state.pendingById);
|
||||||
|
|
||||||
claims.forEach((claim: Claim) => {
|
claims.forEach((claim: Claim) => {
|
||||||
const uri = buildURI({ claimName: claim.name, claimId: claim.claim_id });
|
const uri = buildURI({ streamName: claim.name, streamClaimId: claim.claim_id });
|
||||||
|
|
||||||
if (claim.type && claim.type.match(/claim|update/)) {
|
if (claim.type && claim.type.match(/claim|update/)) {
|
||||||
if (claim.confirmations < 1) {
|
if (claim.confirmations < 1) {
|
||||||
|
|
|
@ -458,7 +458,7 @@ export const makeSelectRecommendedContentForUri = (uri: string) =>
|
||||||
if (claim) {
|
if (claim) {
|
||||||
// If we are at a vanity uri, build the full uri so we can properly filter
|
// If we are at a vanity uri, build the full uri so we can properly filter
|
||||||
const currentUri = atVanityURI
|
const currentUri = atVanityURI
|
||||||
? buildURI({ claimId: claim.claim_id, claimName: claim.name })
|
? buildURI({ streamClaimId: claim.claim_id, streamName: claim.name })
|
||||||
: uri;
|
: uri;
|
||||||
|
|
||||||
const { title } = claim.value;
|
const { title } = claim.value;
|
||||||
|
|
|
@ -132,106 +132,6 @@ export const selectTotalDownloadProgress = createSelector(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const selectSearchDownloadUris = query =>
|
|
||||||
createSelector(
|
|
||||||
selectFileInfosDownloaded,
|
|
||||||
selectClaimsById,
|
|
||||||
(fileInfos, claimsById) => {
|
|
||||||
if (!query || !fileInfos.length) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const queryParts = query.toLowerCase().split(' ');
|
|
||||||
const searchQueryDictionary = {};
|
|
||||||
queryParts.forEach(subQuery => {
|
|
||||||
searchQueryDictionary[subQuery] = subQuery;
|
|
||||||
});
|
|
||||||
|
|
||||||
const arrayContainsQueryPart = array => {
|
|
||||||
for (let i = 0; i < array.length; i += 1) {
|
|
||||||
const subQuery = array[i];
|
|
||||||
if (searchQueryDictionary[subQuery]) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const downloadResultsFromQuery = [];
|
|
||||||
fileInfos.forEach(fileInfo => {
|
|
||||||
const { channel_name: channelName, claim_name: claimName, metadata } = fileInfo;
|
|
||||||
const { author, description, title } = metadata;
|
|
||||||
|
|
||||||
if (channelName) {
|
|
||||||
const lowerCaseChannel = channelName.toLowerCase();
|
|
||||||
const strippedOutChannelName = lowerCaseChannel.slice(1); // trim off the @
|
|
||||||
if (searchQueryDictionary[channelName] || searchQueryDictionary[strippedOutChannelName]) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const nameParts = claimName.toLowerCase().split('-');
|
|
||||||
if (arrayContainsQueryPart(nameParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (title) {
|
|
||||||
const titleParts = title.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(titleParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (author) {
|
|
||||||
const authorParts = author.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(authorParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (description) {
|
|
||||||
const descriptionParts = description.toLowerCase().split(' ');
|
|
||||||
if (arrayContainsQueryPart(descriptionParts)) {
|
|
||||||
downloadResultsFromQuery.push(fileInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return downloadResultsFromQuery.length
|
|
||||||
? downloadResultsFromQuery.map(fileInfo => {
|
|
||||||
const {
|
|
||||||
channel_name: channelName,
|
|
||||||
claim_id: claimId,
|
|
||||||
claim_name: claimName,
|
|
||||||
} = fileInfo;
|
|
||||||
|
|
||||||
const uriParams = {};
|
|
||||||
|
|
||||||
if (channelName) {
|
|
||||||
const claim = claimsById[claimId];
|
|
||||||
if (claim && claim.signing_channel) {
|
|
||||||
uriParams.claimId = claim.signing_channel.claim_id;
|
|
||||||
} else {
|
|
||||||
uriParams.claimId = claimId;
|
|
||||||
}
|
|
||||||
uriParams.channelName = channelName;
|
|
||||||
uriParams.contentName = claimName;
|
|
||||||
} else {
|
|
||||||
uriParams.claimId = claimId;
|
|
||||||
uriParams.claimName = claimName;
|
|
||||||
}
|
|
||||||
|
|
||||||
const uri = buildURI(uriParams);
|
|
||||||
return uri;
|
|
||||||
})
|
|
||||||
: null;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
export const selectFileListPublishedSort = createSelector(
|
export const selectFileListPublishedSort = createSelector(
|
||||||
selectState,
|
selectState,
|
||||||
state => state.fileListPublishedSort
|
state => state.fileListPublishedSort
|
||||||
|
|
|
@ -35,13 +35,13 @@ export const selectIsStillEditing = createSelector(
|
||||||
|
|
||||||
const {
|
const {
|
||||||
isChannel: currentIsChannel,
|
isChannel: currentIsChannel,
|
||||||
channelName: currentClaimName,
|
streamName: currentClaimName,
|
||||||
streamName: currentContentName,
|
channelName: currentContentName,
|
||||||
} = parseURI(uri);
|
} = parseURI(uri);
|
||||||
const {
|
const {
|
||||||
isChannel: editIsChannel,
|
isChannel: editIsChannel,
|
||||||
channelName: editClaimName,
|
streamName: editClaimName,
|
||||||
streamName: editContentName,
|
channelName: editContentName,
|
||||||
} = parseURI(editingURI);
|
} = parseURI(editingURI);
|
||||||
|
|
||||||
// Depending on the previous/current use of a channel, we need to compare different things
|
// Depending on the previous/current use of a channel, we need to compare different things
|
||||||
|
@ -58,8 +58,8 @@ export const selectMyClaimForUri = createSelector(
|
||||||
selectClaimsById,
|
selectClaimsById,
|
||||||
selectMyClaimsWithoutChannels,
|
selectMyClaimsWithoutChannels,
|
||||||
({ editingURI, uri }, isStillEditing, claimsById, myClaims) => {
|
({ editingURI, uri }, isStillEditing, claimsById, myClaims) => {
|
||||||
const { contentName, claimName } = parseURI(uri);
|
const { channelName: contentName, streamName: claimName } = parseURI(uri);
|
||||||
const { claimId: editClaimId } = parseURI(editingURI);
|
const { streamClaimId: editClaimId } = parseURI(editingURI);
|
||||||
|
|
||||||
// If isStillEditing
|
// If isStillEditing
|
||||||
// They clicked "edit" from the file page
|
// They clicked "edit" from the file page
|
||||||
|
@ -110,14 +110,14 @@ export const selectTakeOverAmount = createSelector(
|
||||||
const claimForShortUri = claimsByUri[shortUri];
|
const claimForShortUri = claimsByUri[shortUri];
|
||||||
|
|
||||||
if (!myClaimForUri && claimForShortUri) {
|
if (!myClaimForUri && claimForShortUri) {
|
||||||
return claimForShortUri.effective_amount;
|
return claimForShortUri.meta.effective_amount;
|
||||||
} else if (myClaimForUri && claimForShortUri) {
|
} else if (myClaimForUri && claimForShortUri) {
|
||||||
// https://github.com/lbryio/lbry/issues/1476
|
// https://github.com/lbryio/lbry/issues/1476
|
||||||
// We should check the current effective_amount on my claim to see how much additional lbc
|
// We should check the current effective_amount on my claim to see how much additional lbc
|
||||||
// is needed to win the claim. Currently this is not possible during a takeover.
|
// is needed to win the claim. Currently this is not possible during a takeover.
|
||||||
// With this, we could say something like, "You have x lbc in support, if you bid y additional LBC you will control the claim"
|
// With this, we could say something like, "You have x lbc in support, if you bid y additional LBC you will control the claim"
|
||||||
// For now just ignore supports. We will just show the winning claim's bid amount
|
// For now just ignore supports. We will just show the winning claim's bid amount
|
||||||
return claimForShortUri.effective_amount || claimForShortUri.amount;
|
return claimForShortUri.meta.effective_amount || claimForShortUri.amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
10
yarn.lock
10
yarn.lock
|
@ -1418,6 +1418,14 @@ cosmiconfig@^4.0.0:
|
||||||
parse-json "^4.0.0"
|
parse-json "^4.0.0"
|
||||||
require-from-string "^2.0.1"
|
require-from-string "^2.0.1"
|
||||||
|
|
||||||
|
cross-env@^5.2.0:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2"
|
||||||
|
integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==
|
||||||
|
dependencies:
|
||||||
|
cross-spawn "^6.0.5"
|
||||||
|
is-windows "^1.0.0"
|
||||||
|
|
||||||
cross-spawn@^5.0.1:
|
cross-spawn@^5.0.1:
|
||||||
version "5.1.0"
|
version "5.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||||
|
@ -2886,7 +2894,7 @@ is-utf8@^0.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
||||||
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
|
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
|
||||||
|
|
||||||
is-windows@^1.0.2:
|
is-windows@^1.0.0, is-windows@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
|
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
|
||||||
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
|
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
|
||||||
|
|
Loading…
Add table
Reference in a new issue