Commit graph

518 commits

Author SHA1 Message Date
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