2021-12-08 15:33:50 +01:00
// @flow
import * as React from 'react' ;
// @if TARGET='app'
import { shell } from 'electron' ;
// @endif
import { Lbry } from 'lbry-redux' ;
import Native from 'native' ;
import Button from 'component/button' ;
import Page from 'component/page' ;
import 'scss/component/_seed' ;
type DeamonSettings = {
data _dir : string | any ,
} ;
type Props = {
deamonSettings : DeamonSettings ,
accessToken : string ,
fetchAccessToken : ( ) => void ,
doAuth : ( ) => void ,
user : any ,
} ;
type VersionInfo = {
os _system : string ,
os _release : string ,
platform : string ,
lbrynet _version : string ,
} ;
type State = {
versionInfo : VersionInfo | any ,
lbryId : String | any ,
uiVersion : ? string ,
upgradeAvailable : ? boolean ,
accessTokenHidden : ? boolean ,
} ;
class HelpPage extends React . PureComponent < Props , State > {
constructor ( props : Props ) {
super ( props ) ;
this . state = {
versionInfo : null ,
lbryId : null ,
uiVersion : null ,
upgradeAvailable : null ,
accessTokenHidden : true ,
} ;
( this : any ) . showAccessToken = this . showAccessToken . bind ( this ) ;
( this : any ) . openLogFile = this . openLogFile . bind ( this ) ;
}
componentDidMount ( ) {
// @if TARGET='app'
Native . getAppVersionInfo ( ) . then ( ( { localVersion , upgradeAvailable } ) => {
this . setState ( {
uiVersion : localVersion ,
upgradeAvailable ,
} ) ;
} ) ;
if ( ! this . props . accessToken ) this . props . fetchAccessToken ( ) ;
// @endif
Lbry . version ( ) . then ( ( info ) => {
this . setState ( {
versionInfo : info ,
} ) ;
} ) ;
Lbry . status ( ) . then ( ( info ) => {
this . setState ( {
lbryId : info . installation _id ,
} ) ;
} ) ;
}
showAccessToken ( ) {
this . setState ( {
accessTokenHidden : false ,
} ) ;
}
openLogFile ( userHomeDirectory : string ) {
const logFileName = 'lbrynet.log' ;
const os = this . state . versionInfo . os _system ;
if ( os === 'Darwin' || os === 'Linux' ) {
shell . openPath ( ` ${ userHomeDirectory } / ${ logFileName } ` ) ;
} else {
shell . openPath ( ` ${ userHomeDirectory } \\ ${ logFileName } ` ) ;
}
}
render ( ) {
let ver ;
let osName ;
let platform ;
let newVerLink ;
if ( this . state . versionInfo ) {
ver = this . state . versionInfo ;
if ( ver . os _system === 'Darwin' ) {
osName = parseInt ( ver . os _release . match ( /^\d+/ ) , 10 ) < 16 ? 'Mac OS X' : 'Mac OS' ;
platform = ` ${ osName } ${ ver . os _release } ` ;
newVerLink = 'https://lbry.com/get/lbry.dmg' ;
} else if ( process . env . APPIMAGE !== undefined ) {
platform = ` Linux (AppImage) ` ;
newVerLink = 'https://lbry.com/get/lbry.AppImage' ;
} else if ( ver . os _system === 'Linux' ) {
platform = ` Linux ( ${ ver . platform } ) ` ;
newVerLink = 'https://lbry.com/get/lbry.deb' ;
} else {
platform = ` Windows ( ${ ver . platform } ) ` ;
newVerLink = 'https://lbry.com/get/lbry.msi' ;
}
} else {
ver = null ;
}
return (
< Page className = "card-stack" >
< h1 className = "seed-h1" > Madiator ' s Seeding Service < / h1 >
< div className = "notice-message" >
< h1 className = "section__title" > { _ _ ( 'How it works?' ) } < / h1 >
< p className = "section__subtitle" >
2021-12-11 11:10:59 -05:00
{ _ _ ( 'Hello everyone! I decided to start own seeding service for community to help creators with distribution of their content. By running this service I hope to get donations for improving my project. Everyone is welcome to submit where small channels can be hosted for Free and bigger ones will bo hosted' ) }
2021-12-08 15:33:50 +01:00
< Button label = { _ _ ( 'Click here to submit channel' ) } button = "link" href = "https://next.madiator.com/apps/forms/33cfmc8s8AoKcmxs" / >
< / p >
< / div >
< p classNames = "seed-p" >
< span className = "rules-span" >
1. Do not request channels that host copyrighted content or NSFW .
< / span >
< span className = "rules-span" >
2. Donators can request more than 1 channel to be seeded .
< / span >
< span className = "rules-span" >
3. You can donate to seed other people content ( Something like gift system ) .
< / span >
< span className = "rules-span" >
4. Small channels can be seed for free if they are under 100 vides .
< / span >
< span className = "rules-span" >
5. Channels above 100 videos will be reviewd based on videos file size ( Current price 5.5 LBC / GB ) .
< / span >
{ / *
< span className = "donation-span" >
< img src = "Image URL" className = "donation-icon" / >
Crypto Name : Crypto Address
< / span >
* / }
< / p >
< / Page >
) ;
}
}
export default HelpPage ;