const path = require ( 'path' )
const { makeSourceAbsolute } = require ( '../tooling/utils.js' )
const srcDir = '../src'
const options = {
inputFile : path . join ( _ _dirname , '../src/main.js' ) ,
outputDir : path . join ( _ _dirname , '../build' ) ,
sassOutputDir : path . join ( _ _dirname , '../build/styles.bundle.css' ) ,
imgDir : path . join ( _ _dirname , '../img' )
}
const aliases = {
'qortal-ui-crypto' : 'node_modules/qortal-ui-crypto/api.js'
}
const apiComponents = {
api : {
file : 'api/api.js' ,
className : 'api'
}
}
const functionalComponents = {
'loading-ripple' : {
file : 'functional-components/loading-ripple.js' ,
className : 'LoadingRipple'
} ,
'confirm-transaction-dialog' : {
file : 'functional-components/confirm-transaction-dialog' ,
className : 'ConfirmTransactionDialog'
}
}
const inlineComponents = [
{
className : 'worker' ,
input : path . join ( _ _dirname , srcDir , 'worker.js' ) ,
output : 'worker.js'
} ,
{
className : 'PluginMainJSLoader' ,
input : path . join ( _ _dirname , srcDir , '/plugins/plugin-mainjs-loader.js' ) ,
output : 'plugins/plugin-mainjs-loader.js'
}
]
const elementComponents = {
'main-app' : {
file : 'components/main-app.js' ,
className : 'MainApp' ,
children : {
'app-styles' : {
file : 'styles/app-styles.js' ,
className : 'AppStyles' ,
children : {
'app-theme' : {
className : 'AppTheme' ,
file : 'styles/app-theme.js'
}
}
} ,
'app-view' : {
file : 'components/app-view.js' ,
className : 'AppView' ,
children : {
'show-plugin' : {
file : 'components/show-plugin.js' ,
className : 'ShowPlugin'
} ,
'wallet-profile' : {
file : 'components/wallet-profile.js' ,
className : 'WalletProfile'
} ,
'app-info' : {
file : 'components/app-info.js' ,
className : 'AppInfo'
}
}
} ,
'login-view' : {
file : 'components/login-view/login-view.js' ,
className : 'LoginView' ,
children : {
'create-account-section' : {
file : 'components/login-view/create-account-section.js' ,
className : 'CreateAccountSection'
} ,
'login-section' : {
file : 'components/login-view/login-section.js' ,
className : 'LoginSection'
}
}
} ,
'settings-view' : {
file : 'components/settings-view/user-settings.js' ,
className : 'UserSettings' ,
children : {
'account-view' : {
file : 'components/settings-view/account-view.js' ,
className : 'AccountView'
} ,
'security-view' : {
file : 'components/settings-view/security-view.js' ,
className : 'SecurityView'
} ,
'qr-login-view' : {
file : 'components/settings-view/qr-login-view.js' ,
className : 'QRLoginView'
} ,
'notifications-view' : {
file : 'components/settings-view/notifications-view.js' ,
className : 'NotificationsView'
}
}
} ,
'user-info-view' : {
file : 'components/user-info-view/user-info-view.js' ,
className : 'UserInfoView'
}
}
}
}
makeSourceAbsolute ( path . join ( _ _dirname , srcDir ) , elementComponents )
makeSourceAbsolute ( path . join ( _ _dirname , srcDir ) , functionalComponents )
module . exports = {
options ,
elementComponents ,
functionalComponents ,
inlineComponents ,
apiComponents ,
aliases
}