Commit graph

597 commits

Author SHA1 Message Date
Alex Liebowitz
839c42bc3a Use new format for open and reveal RPC methods 2017-01-17 06:44:48 -05:00
Alex Liebowitz
8fdfd4b60e Show prices on Published page 2017-01-17 06:44:48 -05:00
Alex Liebowitz
88d4c49d9a Use Object.entries() when calling file info callbacks 2017-01-17 06:44:43 -05:00
Alex Liebowitz
0b9980f371 Rename all vars called "___sInfo" to "___Infos" 2017-01-17 05:06:39 -05:00
Alex Liebowitz
425fbb84a5 Fix delay in files disappearing from My Files
We now maintain a list of files that have been requested for removal in
lbry.js and simulate the file being removed so all components can
respond immediately.
2017-01-17 04:04:31 -05:00
Alex Liebowitz
e9f00eec23 Pad buttons using margin on content instead of padding on container
Allows button-style progress bars to set width without having to
account for padding
2017-01-16 23:44:06 -05:00
Jeremy Kauffman
70db4c937e shitty file remove 2017-01-16 23:44:06 -05:00
Jeremy Kauffman
7f135275df file list refactor 2017-01-16 23:44:06 -05:00
Jeremy Kauffman
3b7d093201 my_files fixes 2017-01-16 23:44:06 -05:00
Alex Liebowitz
b70b2a859d Fix handling of window click events in DropDownMenu
Wasn't doing e.stopPropagation() when mounting the handler for clicks
outside the menu.
2017-01-16 23:44:06 -05:00
Jeremy Kauffman
70d390ea2e no more overflow-y on tiles, let's cap titles for now 2017-01-16 23:44:06 -05:00
Jeremy Kauffman
6c67cee3d9 fix duplicate keys on search results 2017-01-16 23:44:05 -05:00
Jeremy Kauffman
4fd9828760 holy fuck javascript sucks 2017-01-16 23:44:05 -05:00
Jeremy Kauffman
167541b92c search bar displays pre-set value when ?discover=arg is passed 2017-01-16 23:44:05 -05:00
Jeremy Kauffman
e0eb36d032 more file tile refactor and fix file info unsubscribe 2017-01-16 23:44:05 -05:00
Jeremy Kauffman
b7f23aa0dd big refactor of file actions/buttons/tiles 2017-01-16 23:44:04 -05:00
Alex Liebowitz
95675cd802 Fix clamp.js import 2017-01-16 23:42:09 -05:00
Alex Liebowitz
e1ec3bb979 Fix nsfw check in FileTile 2017-01-16 23:42:09 -05:00
Alex Liebowitz
8d3e585306 When user chooses Open, open files instead of revealing 2017-01-16 23:42:09 -05:00
Alex Liebowitz
cddc1ecd22 Remove files from UI immediately (don't wait for daemon to confirm) 2017-01-16 23:42:07 -05:00
Alex Liebowitz
769ee12020 Add ARIA labels to all modals in link.js 2017-01-16 23:41:20 -05:00
Alex Liebowitz
0796dbf285 Add keys to DownloadLink menu items 2017-01-16 23:37:24 -05:00
Alex Liebowitz
94c22961c6 Show "Connecting" instead of "0% Complete" before a download starts
Also remove now-unneeded showCaret prop from <DropDown />
2017-01-16 23:37:24 -05:00
Alex Liebowitz
b524eec826 Hide caret on "Downloading" dropdown when download hasn't actually started 2017-01-16 23:37:24 -05:00
Alex Liebowitz
802d8c6777 Remove "Download Started" modal 2017-01-16 23:37:22 -05:00
Alex Liebowitz
8ae5b6e0ed In DownloadLink, immediately switch to "0% Downloaded" on click
Before, it would only change after several seconds when the  download
actually started.
2017-01-16 23:34:29 -05:00
Alex Liebowitz
986ce927f0 In DownloadLink, offer dropdown in "downloading" state 2017-01-16 23:34:29 -05:00
Alex Liebowitz
8a1f0b76b1 Correct how SD hashes are extracted in SearchResults 2017-01-16 23:34:29 -05:00
Alex Liebowitz
f8ae201e76 Add initial value for this.state.deleteChecked in DownloadLink 2017-01-16 23:34:29 -05:00
Alex Liebowitz
6ea5e41368 Use in-browser platform check in DownloadLink 2017-01-16 23:34:29 -05:00
Alex Liebowitz
8d9e63ad53 Customize "Open in Folder" message based on platform 2017-01-16 23:34:29 -05:00
Alex Liebowitz
78e9a02b70 Add DropDown component and convert DownloadLink to use it 2017-01-16 23:34:10 -05:00
Alex Liebowitz
a2641c1a98 Add support for custom conteint in <Link />
Before you could only specify an icon and text label.
2017-01-16 23:33:32 -05:00
Alex Liebowitz
80272ab8f0 Update prop names and prop processing logic in Icon 2017-01-16 23:33:32 -05:00
Alex Liebowitz
0560f13ec4 Convert Menu styles to CSS 2017-01-16 23:33:31 -05:00
Alex Liebowitz
9f743700b7 Refactor Menu component
Instead of having the menu keeping track of whether it's open, we now
leave it up to the surrounding component to mount and unmount it. This
avoids bubbling issues when listening for events on an external toggle
button.

We also now use the recommended callback style for refs instead of
named refs.
2017-01-16 23:33:31 -05:00
Alex Liebowitz
d067a6e006 Refactor and clean up Link component 2017-01-16 23:33:31 -05:00
Alex Liebowitz
1e61af3b24 Rename things in FileTile
- updateStatusCallback -> updateFileInfoCallback
- this._statusCheckInterval -> this._fileInfoCheckInterval
2017-01-16 23:33:31 -05:00
Alex Liebowitz
5fcedd0d01 Update props in FileTile
- Add fileInfo
- Remove path (now calculated from fileInfo)
2017-01-16 23:33:31 -05:00
Alex Liebowitz
ac32ec366a Update MyFilesPage to work with updated FileTile
Also did a little cleanup/refactoring
2017-01-16 23:33:31 -05:00
Alex Liebowitz
4bd29ed515 Convert FeaturedContentItem to pass one metadata prop into FileTile 2017-01-16 23:33:31 -05:00
Alex Liebowitz
a36dd5cfe4 Convert search results to use FileTile 2017-01-16 23:33:31 -05:00
Alex Liebowitz
182ec6064d FileTile improvements and refactoring
- Now accepts a single metadata object for all metadata fields so
   the surrounding components don't have to break out the individual
   fields into props.
 - Now tracks whether the file was published by the user, and if
   there's a copy on their machine (will look up using API calls if
   needed)
 - Use the new "state" prop for DownloadLink
 - General refactoring and cleanup
2017-01-16 23:33:31 -05:00
Alex Liebowitz
bcaad75df4 Improve and refactor Download links
- Use a single "state" prop to track download progress (not-started,
   downloading, or done)
 - Accept a file path as a prop an "Open" link after the download is
   complete
 - Trim some outdated code; improve CSS class names
2017-01-16 23:33:28 -05:00
Alex Liebowitz
ce82f8cc6f Make FileTile look up its own download status if not provided 2017-01-16 23:31:16 -05:00
Alex Liebowitz
1b51b4e329 Add support for displaying progress in DownloadLink 2017-01-16 23:31:13 -05:00
Alex Liebowitz
f424e2e439 Show Download link only if file is not published by user 2017-01-16 23:27:14 -05:00
Alex Liebowitz
64d7b680c3 Add propTypes and getDefaultProps() to FileTile 2017-01-16 23:27:14 -05:00
Alex Liebowitz
97f6f3bdf8 Style and formatting fixes in FileTile 2017-01-16 23:27:14 -05:00
Alex Liebowitz
efa1a29d4f Rename SearchResultRow to FileTile and convert styles to CSS
Also moves the component to its own file (file-tile.js) so it can be
used outside the Discover page.
2017-01-16 23:27:14 -05:00
Jeremy Kauffman
9f9a1b66c2 Merge pull request #129 from lbryio/always-use-flash
Bypass check for Flash being installed in MediaElement.js
2017-01-13 17:54:12 -05:00
Alex Liebowitz
9f5c57f93a Add ARIA labels for all modals 2017-01-13 17:05:09 -05:00
Alex Liebowitz
5fa158f771 Remove startup notice code
The API method for this (get_start_notice()) is now deprecated
2017-01-13 16:58:46 -05:00
Alex Liebowitz
35a09dff0f Bypass check for Flash being installed in MediaElement.js
Needed because Safari now reports that Flash isn't installed, even
when it is: https://webkit.org/blog/6589/next-steps-for-legacy-plug-ins
2017-01-12 21:56:39 -05:00
Jeremy Kauffman
4db3211855 always make lbry globally available 2017-01-05 17:30:36 -05:00
Alex Liebowitz
c3e08809c2 Check if Thumbnail is still mounted before confirming its image loaded 2017-01-04 15:50:20 -05:00
alexliebowitz
a6b7b3de5a Merge pull request #125 from lbryio/fix-null-search
Fix search on pages other than Discover
2017-01-04 15:28:10 -05:00
Alex Liebowitz
160c6fd407 DiscoverPage: pass query into handleSearchChanged() on mount 2017-01-04 11:53:30 -05:00
alexliebowitz
5b5318e100 Merge pull request #123 from lbryio/my-files-fix-date-sort
My Files: fix "Date" sorting in Published tab
2017-01-03 22:04:53 -05:00
alexliebowitz
536b8d83dc Merge pull request #122 from lbryio/fix-mediaelement-import
Import MediaElement with <script> tag
2017-01-03 22:04:20 -05:00
Alex Liebowitz
863758ba54 My Files: Preserve order of claims returned by daemon 2017-01-03 19:41:32 -05:00
Alex Liebowitz
304b53e994 Simplify sorting logic in My Files 2017-01-03 19:09:46 -05:00
Alex Liebowitz
a2f7f150db Import MediaElement with <script> tag
Needed because MediaElement doesn't fully support ES6 modules yet
2017-01-03 18:10:03 -05:00
alexliebowitz
5a9d095a44 Merge pull request #121 from lbryio/master
Sync development with fixes in Master
2017-01-03 13:39:13 -05:00
Job Evers
e23cce81dc fix LoadScreen import on watch page 2017-01-02 20:21:23 -06:00
Jeremy Kauffman
2c760ca2dd Merge pull request #118 from lbryio/bug-report
Update Report Bug page
2017-01-02 15:47:21 -05:00
Alex Liebowitz
ff61fbbf7a Update lbry.reportBug() to use new report_bug daemon method 2017-01-02 15:43:34 -05:00
Alex Liebowitz
0ccc8ca809 Report: fix imports 2017-01-02 15:42:53 -05:00
Alex Liebowitz
70953710a8 Help: show Web UI version 2017-01-02 14:23:47 -05:00
Jeremy Kauffman
fa469253a3 Merge pull request #114 from lbryio/fix-dewey-decimals
Restore Dewey Decimals message in searches
2017-01-02 11:26:38 -05:00
Alex Liebowitz
7e86cccd6c Restore Dewey Decimals message
The "no results found" message was showing instead due to some tricky
state management stuff.
2016-12-30 08:21:24 -05:00
Alex Liebowitz
ed38e2ea75 Add import for BusyMessage to discover.js 2016-12-30 07:40:07 -05:00
alexliebowitz
cadb901209 Merge pull request #109 from lbryio/development
Merge development into master
2016-12-29 16:59:40 -05:00
Alex Liebowitz
5bcf095600 Refactor lighthouse.js and add support for custom servers
- Adds support for custom servers
 - Some light refactoring; mainly moving the logic for retrying queries
   into lbry.call() instead of leaving it up to the individual methods
2016-12-29 05:15:02 -05:00
Alex Liebowitz
9e2b43c531 Implement debug mode
Exposes lbry and lighthouse modules in global scope for easy testing.
2016-12-29 04:59:29 -05:00
Alex Liebowitz
f947164164 Add Developer Settings page 2016-12-29 04:59:29 -05:00
Alex Liebowitz
a2aaf65be5 Add developer settings to lbry.js 2016-12-29 04:59:29 -05:00
Alex Liebowitz
a03b021945 Add a missing param to an inner function in lbry.getCostInfoForName() 2016-12-29 04:10:36 -05:00
Alex Liebowitz
c672528a18 Update Lighthouse servers 2016-12-28 20:59:30 -05:00
Alex Liebowitz
5d3110a295 My Files: Add import for FormField
Needed for "Sort by" dropdown now that we're on ES6 modules
2016-12-28 20:49:33 -05:00
Alex Liebowitz
ac281105ad Add Sort option to My Files page 2016-12-28 20:49:33 -05:00
Alex Liebowitz
350bc6d847 Add sorting functions to MyFilesPage 2016-12-28 20:49:33 -05:00
Alex Liebowitz
83d59da827 Refactor My Files page
- Checking for file ownership is now done by making one call to
   lbry.getMyClaims() and saving a list of txids.
 - Broke out logic for Published and Downloaded pages
 - Published page now looks up the user's claims instead of files.
   This allows published streams to be listed even if the files don't
   exist on the user's machine; also, because it looks up file info by
   txid, you will no longer see a newer claim listed if you made a
   claim and it was overtaken.
2016-12-28 02:28:13 -05:00
Alex Liebowitz
d557c09f80 Add API stubs for getting info for individual files
- lbry.getFileInfoByName()
 - lbry.getFileInfoBySdHash()
 - lbry.getFileInfoByFilename()
2016-12-26 23:51:01 -05:00
Alex Liebowitz
8456b3d3b2 Add lbry.getMyClaims() 2016-12-26 23:51:01 -05:00
Alex Liebowitz
a642806a8d Add message for when no content is published
Before, it was showing the same message as the Downloaded page
2016-12-26 23:51:01 -05:00
Alex Liebowitz
643c884f56 Fix timeout check in DownloadLink
Was checking typeof streamInfo === 'object', and typeof null is
'object' (because why not?)

I think this was previously returning false for timeouts, and now
will only return null, so the "typeof" part may not be needed anymore.
2016-12-16 17:59:15 -05:00
Alex Liebowitz
7efbccbe83 Use new lbry.getCostInfoForName() in DownloadLink and WatchLink 2016-12-16 17:56:55 -05:00
Alex Liebowitz
1cad30d188 Show: var -> const in DetailPage.render() 2016-12-14 13:27:07 -05:00
Alex Liebowitz
8b781694f2 Show: use new Lighthouse cost reporting 2016-12-14 13:24:58 -05:00
Alex Liebowitz
06de4534cd Show: rename some variables and props for clarity
- cost -> amount
 - available -> costIncludesData
 - claimInfo -> metadata (only in DetailPage for now)
2016-12-14 13:24:58 -05:00
Alex Liebowitz
34a7d41dc7 Make search result tiles use new Lighthouse cost reporting
Featured/Community Content and regular search results now calculate
cost the same way, so instead of calculating the cost in the outer
component we now do it inside <SearchResultRow /> itself.
2016-12-14 13:24:58 -05:00
Alex Liebowitz
d9a4442cc3 Add lbry.getCostInfoForName() 2016-12-14 13:24:58 -05:00
Alex Liebowitz
d59c5c2a1c Add lbry.getSizeForName() 2016-12-14 13:24:58 -05:00
Alex Liebowitz
0b58ae6e6e Add error and connection failure callbacks to Lighthouse methods 2016-12-14 13:24:58 -05:00
Alex Liebowitz
6963d877df Break lbry.getCostEstimate() into 2 separate functions
lbrynet now supports getting the total cost if you provide the "size"
param, so we break this into two functions: lbry.getKeyFee() and
lbry.getTotalCost()
2016-12-14 13:24:58 -05:00
Alex Liebowitz
97496c33da Make cost prop optional in <SearchResultRow /> 2016-12-13 13:16:59 -05:00
Alex Liebowitz
177fa2cfa2 Move file availability check interval to class member 2016-12-13 13:14:42 -05:00
Alex Liebowitz
100dac0629 My Files: monitor file availability using lbry.getPeersForBlobHash()
Also reduce the checking rate to once every 5 minutes to avoid
slamming your peers with availability checks
2016-12-13 13:13:29 -05:00
alexliebowitz
c7f85046c2 Merge pull request #100 from lbryio/tweak_upgrade_msg
Tweak upgrade message
2016-12-13 13:03:56 -05:00
Alex Liebowitz
7ca6017986 Add lbry.getPeersForBlobHash() 2016-12-09 03:11:25 -05:00
Alex Liebowitz
a6825c4269 Fix imports on My Files page 2016-12-09 02:50:25 -05:00
Alex Liebowitz
7b98f5b9a9 Show: fix imports 2016-12-09 02:10:59 -05:00
Alex Liebowitz
78ed1b9dcd lbry.lighthouse.search() -> lighthouse.search() in two files 2016-12-07 15:14:53 -05:00
Alex Liebowitz
0458d58a08 Remove a couple of stray console.log() calls 2016-12-07 13:19:24 -05:00
Alex Liebowitz
1295b7e1b9 Hard code web UI address in certain links to make testing servers work 2016-12-06 15:09:49 -05:00
Job Evers
c32ab1ac65 bug fixes found while linting 2016-12-06 14:28:10 -05:00
Job Evers
42898d5f60 Convert to ES6 modules 2016-12-06 14:28:10 -05:00
Jeremy Kauffman
b80420465a Tweak upgrade message
Avoid text like "Click 'Upgrade' to XXX" that tells the user how to do something that the UI already invites them to do.
2016-12-05 14:51:36 -05:00
Jeremy Kauffman
f086b47f80 Merge pull request #98 from lbryio/word-break-modals
Change wrapping of file path in "Download Succeeded" Modal
2016-12-04 09:02:44 -05:00
Job Evers‐Meltzer
c0e53b45eb Merge pull request #99 from lbryio/master
Release to Master
2016-12-02 21:15:34 -06:00
Alex Liebowitz
8e90389122 Layout tweak to "Download Succeeded" Modal
This displays the file path on its own line and does character-level
wrapping on the path only.

Ideally, we would just apply character wrapping to all words that are
too long for their line. There are CSS props for that but I haven't
been able to find a reliable way to do it without setting a width on the
outer container, which we don't want here (modals stretch based on their content). So this is the best compromise I can come up with.
2016-12-02 03:21:35 -05:00
Alex Liebowitz
406c37f9ff Help: change method used to get LBRY ID
Now uses lbry.getSessionInfo() instead of lbry.getVersionInfo()
2016-11-30 00:23:57 -05:00
Alex Liebowitz
735444f022 Add lbry.getSessionInfo() 2016-11-30 00:23:45 -05:00
Alex Liebowitz
4868efdfb9 Fix missing $ in string interpolation in a few modals 2016-11-28 18:24:55 -05:00
Alex Liebowitz
7eaeeeefb4 Wrap modal content in div to prevent flexbox layout 2016-11-24 23:03:03 -05:00
Alex Liebowitz
17d13c3a93 Properly notify when a download times out 2016-11-24 22:43:57 -05:00
Alex Liebowitz
323cedadb2 Disable Watch link on click 2016-11-24 22:43:52 -05:00
Alex Liebowitz
12afb10cbc In DownloadLink, don't check this.state.downloading on click
If this.state.downloading is true, the button will be disabled anyway.
2016-11-24 22:43:44 -05:00
Alex Liebowitz
468692b480 Make Download link switch to "Downloading" immediately on click 2016-11-24 22:43:28 -05:00
Alex Liebowitz
70076d8a9e Help: Show LBRY ID in "About" section 2016-11-23 21:35:15 -05:00
Alex Liebowitz
a0fb58415e Help: slight refactor of version section 2016-11-23 21:35:09 -05:00
Alex Liebowitz
e0d0c3f915 Publish: validate names as the user types
Rejects invalid characters and pops up a form hint explaining what
characters are allowed.
2016-11-22 01:14:22 -05:00
Alex Liebowitz
5af7916b20 Add lbry.nameIsValid() 2016-11-22 01:14:15 -05:00
Alex Liebowitz
aea1c7e6ee Convert name field into controlled component 2016-11-22 01:14:02 -05:00
alexliebowitz
6ac9853fd4 Merge pull request #88 from lbryio/better-form-hints
Convert form hints to separate component with better style (WIP)
2016-11-22 01:08:09 -05:00
Alex Liebowitz
8b13f341b6 Don't render hidden form fields 2016-11-22 01:06:24 -05:00
Alex Liebowitz
b73399f4e6 Publish: prevent submit and notify user if file is not fully processed 2016-11-22 01:06:24 -05:00
Alex Liebowitz
f6f4d452b0 Add FormField.showAdvice() for displaying arbitrary form hints
Also modifies FormField.warnRequired() to use this new method
2016-11-22 01:06:20 -05:00
Alex Liebowitz
498b75c688 Convert form hints to separate component with better style 2016-11-22 01:06:15 -05:00
Alex Liebowitz
84464a8118 Add className prop to Icon 2016-11-22 01:06:04 -05:00
alexliebowitz
fd7091cbcf Merge pull request #87 from lbryio/delete-modal-buttons
My Files page: make buttons in "delete" modal work
2016-11-21 22:28:47 -05:00
Jeremy Kauffman
90b483ea7e Merge pull request #91 from lbryio/publish-my-claim-fix
Fix issue with live updating logic on Publish page
2016-11-21 18:30:15 -05:00
alexliebowitz
65ae347090 Merge pull request #84 from benyanke/patch-1
formatName - replace spaces with dashes
2016-11-21 00:18:42 -05:00
Alex Liebowitz
298c03283d Fix issue with live updating logic on Publish page
Previously, if the user typed a name that they have a claim on and
then continued typing, some of the interface would not be updated to
show that they don't have a claim.
2016-11-18 06:14:02 -05:00
Alex Liebowitz
5f5a460a6d My Files: add handler for closing delete modal 2016-11-17 23:40:24 -05:00
Alex Liebowitz
3dd961b70a My Files: make "Confirm" button in delete modal work
Was calling lbry.setState() instead of this.setState()
2016-11-17 23:40:19 -05:00
Ben Yanke
33b43477d5 formatName now using different text sanitation method 2016-11-16 13:56:04 -06:00
Alex Liebowitz
c6104516e7 My Files: don't check stream availability when URI is absent
Previously this was failing silently, but with the new error modals
it started popping up error messages.
2016-11-15 02:33:42 -05:00
Ben Yanke
4bf4d14a24 formatName - replace spaces with dashes
Name-formatter now replaces spaces with dashes, for more readable names. This is similar to Wordpress' permalink processing.
2016-11-15 01:31:28 -06:00
Alex Liebowitz
f346739bfb More error modal appearance tweaks
- Change warning icon to PNG with different color scheme
 - Use alt style button
 - Darken backdrop
 - Add spacing under header
 - Reduce margins on all modals
2016-11-15 01:30:38 -05:00
Alex Liebowitz
46cf8915f9 Restore JSON-RPC 2.0 error keys 2016-11-15 01:30:38 -05:00
Alex Liebowitz
edeaf4f7d0 Add warning icon and dark backdrop to error dialog 2016-11-15 01:30:38 -05:00
Alex Liebowitz
7f961ccc63 Update key names in API error reporting 2016-11-15 01:30:38 -05:00
Alex Liebowitz
439f6523b1 Add close handler to error modal 2016-11-15 01:30:38 -05:00
Alex Liebowitz
8dd20edfcb Fix "missing key in ul" React warning 2016-11-15 01:30:38 -05:00
Alex Liebowitz
80302786e1 Alert on AJAX connection failures 2016-11-15 01:30:38 -05:00
Alex Liebowitz
1173cb3f57 Fix capitalization of labels in error modal 2016-11-15 01:29:51 -05:00
Alex Liebowitz
78cb810204 Error modal logic tweak
Check type instead of key name to determine whether to render value as
JSON
2016-11-15 01:29:51 -05:00
Alex Liebowitz
6e5684c18b Add styles for error modal 2016-11-15 01:29:51 -05:00