{redux, Redux, rclass, rtypes, React} = require('./smc-react')
{Loading} = require('./r_misc')
schema = require('smc-util/schema')
misc = require('smc-util/misc')
theme = require('smc-util/theme')
actions = redux.createActions('customize')
defaults = misc.dict( ([k, v.default] for k, v of schema.site_settings_conf) )
store = redux.createStore('customize', defaults)
$?.get (window.app_base_url + "/customize"), (obj, status) ->
if status == 'success'
exports.commercial = obj.commercial = (obj.commercial?[0]?.toLowerCase() == 'y')
actions.setState(obj)
HelpEmailLink = rclass
displayName : 'HelpEmailLink'
reduxProps :
customize :
help_email : rtypes.string
propTypes :
text : rtypes.string
render: ->
if @props.help_email
<a href={"mailto:#{@props.help_email}"} target='_blank'>{@props.text ? @props.help_email}</a>
else
<Loading/>
exports.HelpEmailLink = rclass
displayName : 'HelpEmailLink-redux'
propTypes :
text : rtypes.string
render: ->
<Redux redux={redux}>
<HelpEmailLink text={@props.text} />
</Redux>
SiteName = rclass
displayName : 'SiteName'
reduxProps :
customize :
site_name : rtypes.string
render: ->
if @props.site_name
<span>{@props.site_name}</span>
else
<Loading/>
exports.SiteName = rclass
displayName : 'SiteName-redux'
render: ->
<Redux redux={redux}>
<SiteName />
</Redux>
SiteDescription = rclass
displayName : 'SiteDescription'
propTypes:
style: rtypes.object
reduxProps :
customize :
site_description : rtypes.string
render: ->
style = @props.style ? {color:'#666', fontSize:'16px'}
if @props.site_description?
<span style={style}>{@props.site_description}</span>
else
<Loading/>
exports.SiteDescription = rclass
displayName : 'SiteDescription-redux'
propTypes :
style : rtypes.object
render: ->
<Redux redux={redux}>
<SiteDescription style={@props.style}/>
</Redux>
<Footer
exports.CompanyName = rclass
displayName : 'CompanyName'
render:->
<span>SageMath, Inc.</span>
TermsOfService = rclass
displayName : 'TermsOfService'
reduxProps :
customize :
terms_of_service : rtypes.string
propTypes :
style : rtypes.object
render: ->
if not @props.terms_of_service?
return <div></div>
return <div style={@props.style} dangerouslySetInnerHTML={__html: @props.terms_of_service}></div>
exports.TermsOfService = rclass
displayName : 'TermsOfService-redux'
propTypes :
style : rtypes.object
render: ->
<Redux redux={redux}>
<TermsOfService style={@props.style} />
</Redux>
AccountCreationEmailInstructions = rclass
displayName : 'AccountCreationEmailInstructions'
reduxProps :
customize :
account_creation_email_instructions : rtypes.string
render: ->
<h3 style={marginTop: 0, textAlign: 'center'} >{@props.account_creation_email_instructions}</h3>
exports.AccountCreationEmailInstructions = rclass
displayName : 'AccountCreationEmailInstructions'
render: ->
<Redux redux={redux}>
<AccountCreationEmailInstructions />
</Redux>
app_base_url = window?.app_base_url ? ''
exports.PolicyIndexPageUrl = app_base_url + '/policies/index.html'
exports.PolicyPricingPageUrl = app_base_url + '/policies/pricing.html'
exports.PolicyPrivacyPageUrl = app_base_url + '/policies/privacy.html'
exports.PolicyCopyrightPageUrl = app_base_url + '/policies/copyright.html'
exports.PolicyTOSPageUrl = app_base_url + '/policies/terms.html'
exports.SmcWikiUrl = theme.WIKI_URL