A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
Find a file
Alex Liebowitz bbfb0fea67 Add <IconSet /> component
This is a presentational component for horizontal banks of icons (and
sometimes other stuff).

Convert <FileCard /> and <FileTile /> to use <IconSet />

Factor out "downloaded/published" icon into its own component

Add Featured Content icon to file tiles

Add alignment style for Featured Content icon

Update CHANGELOG.md

Handle featured content icon adjustment in _icons.scss

Remove IconSet component

Converted back to a presentational span and move positioning styles
into card SCSS

Fix spacing between price and icons in file tiles and cards

Before, it would be missing the space if there was a "local file" icon
but no featured content icon.

Rewrite Icon component to use semantic icons

Now you can pass in a constant that indicates the meaning of the icon
within the interface, e.g. icons.FEATURED instead of "icon-rocket".
Also adds the appropriate title.

All icons should eventually be updated to use this.

Remove IconFeatured and IconLocal in favor of new Icon component

Add space between Featured and Local icons

In the conversion to a generic Icon component, we lost the styles that
added padding on the left for FeaturedIcon and LocalIcon.

Fix how rocket icon position is adjusted

Before, it was using a negative margin, which altered the shape of the
bounding box. Changed to use relative positioning.

Add support for styling LBRY icons

Move style for Featured icon into icons.js

Uses new class name format for LBRY icon styles
2017-09-22 17:48:30 -04:00
.github update daemon to 0.15 2017-08-15 17:04:09 -04:00
.tx Merge branch 'master' into master 2017-06-22 08:50:36 -04:00
app Bump version: 0.16.0rc7 → 0.16.0 2017-09-21 09:26:32 -04:00
build add message about installing dependencies in build 2017-09-21 09:29:56 -04:00
ui Add <IconSet /> component 2017-09-22 17:48:30 -04:00
.appveyor.yml build branches with prs on appveyor 2017-06-30 15:04:31 -04:00
.bumpversion.cfg Bump version: 0.16.0rc7 → 0.16.0 2017-09-21 09:26:32 -04:00
.gitignore Merge branch 'i18n' 2017-08-24 13:43:16 -04:00
.travis.yml only travis on releases 2017-06-23 11:30:17 -04:00
build.sh add message about installing dependencies in build 2017-09-21 09:29:56 -04:00
CHANGELOG.md Add <IconSet /> component 2017-09-22 17:48:30 -04:00
Dangerfile minor cleanup 2017-06-21 08:34:50 -04:00
LICENSE Initial commit 2017-01-16 14:05:32 -05:00
package.json we don't need the full gnome-keyring, just libsecret 2017-09-21 10:24:18 -04:00
README.md Adding Windows Build Instructions 2017-09-15 00:34:55 +01:00
yarn.lock significant additional form changes and cleanup 2017-08-06 18:27:37 -04:00

LBRY App

This is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron.

App Screenshot

Installing

We provide installers for Windows, macOS, and Debian-based Linux.

Windows macOS Linux
Latest Stable Release Download Download Download
Latest Prerelease Download Download Download

Our releases page also contains the latest release, pre-releases, and past builds.

To install from source or make changes to the application, continue reading below.

Development

One-time Setup

  1. Install npm and node (v6 and above required, use nvm if having trouble)
  2. Install keytar and libsecret (see keytar repository )
  3. Install yarn by running: npm install -g yarn (may require elevated permissions)
  4. Check out this repo.
  5. Set up a Python virtual environment, or live on the wild side.
  6. Run ./build.sh. This builds the UI assets and puts them into app/dist. It also downloads lbry daemon.

Running

Run ./node_modules/.bin/electron app

Ongoing Development

  1. cd ui
  2. ./watch.sh

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui folder. This allows you to make changes and see them immediately by reloading the app.

Packaging

We use electron-builder to create distributable packages, which is run by calling:

node_modules/.bin/build -p never

Development on Windows

Windows Dependency

  1. Download and install npm and node from nodejs.org
  2. Download and install python 2.7 from python.org
  3. Download and Install Microsoft Visual C++ Compiler for Python 2.7 from Microsoft
  4. Download and install .NET Framework 2.0 Software Development Kit (SDK) (x64) from Microsoft

One-time Setup

  1. Open command prompt in the root of the project and run the following;
python -m pip install -r build\requirements.txt
python build\set_version.py
npm install -g yarn
yarn install
  1. Change directory to app and run the following;
yarn install
node_modules\.bin\electron-rebuild
node_modules\.bin\electron-rebuild
cd ..
  1. Change directory to ui and run the following
yarn install
npm rebuild node-sass
node node_modules\node-sass\bin\node-sass --output dist\css --sourcemap=none scss\
node_modules\.bin\webpack --config webpack.dev.config.js
xcopy dist ..\app\dist
cd ..
  1. Download the lbry daemon and cli binaries and place them in app\dist\

Building lbry-app

  1. run node_modules\.bin\build -p never from the root of the project.

Running the electron app

  1. Run ./node_modules/.bin/electron app

Ongoing Development

  1. cd ui
  2. watch.bat

This will set up a monitor that will automatically compile any changes to JS or CSS folders inside of the ui folder. This allows you to make changes and see them immediately by reloading the app.

Internationalization

If you want to help translating the lbry-app, you can copy the en.json file in /app/locales and modify the values while leaving the keys as their original English strings. An example for this would be: "Skip": "Überspringen", Translations should automatically show up in options.