89 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			89 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | // License: LGPL-3.0-or-later
 | ||
|  | if (app.nonprofit.brand_color) { | ||
|  | 	require('../../components/branded_fundraising') | ||
|  | } | ||
|  | 
 | ||
|  | require('../../common/image_uploader') | ||
|  | require('../../components/fundraising/add_header_image') | ||
|  | 
 | ||
|  | if(app.current_user) { | ||
|  | 	require('../../campaigns/new/wizard') | ||
|  | 	require('../../events/new/wizard') | ||
|  | } | ||
|  | 
 | ||
|  | if(app.current_nonprofit_user) { | ||
|  | 	var editable = require('../../common/editable') | ||
|  | 	editable($('.editable'), { | ||
|  |     placeholder: "Enter your nonprofit's story and impact here. We strongly recommend that this section is filled out with at least 250 words. It will automatically save as you type.",  | ||
|  |     sticky: $('.editable').length > 0 | ||
|  |   }) | ||
|  | 	require('./tour') | ||
|  | 	var create_info_card = require('../../supporters/info-card.es6') | ||
|  | 
 | ||
|  | 	appl.def('todos_action', '/profile_todos') | ||
|  | 	var todos = require('../../components/todos') | ||
|  | 	todos(function(data) { | ||
|  | 		appl.def('todos.items', [ | ||
|  | 			{text: "Add logo", done: data['has_logo'], modal_id: 'settingsModal' }, | ||
|  | 			{text: "Add header image", done: data['has_background'], modal_id: 'uploadBackgroundImage' }, | ||
|  | 			{text: "Add summary", done: data['has_summary'], modal_id: 'settingsModal' }, | ||
|  | 			{text: "Add images", done: data['has_image'], modal_id: 'uploadCarouselImages' }, | ||
|  | 			{text: "Add highlights", done: data['has_highlight'], modal_id: 'settingsModal' }, | ||
|  | 			{text: "Add services and impact", done: data['has_services'], link: '#js-servicesAndImpact' } | ||
|  | 		]) | ||
|  | 	}) | ||
|  | } | ||
|  | 
 | ||
|  | // -- Flimflam
 | ||
|  | 
 | ||
|  | const snabbdom = require('snabbdom') | ||
|  | const h = require('snabbdom/h') | ||
|  | const flyd = require('flyd') | ||
|  | const R = require('ramda') | ||
|  | const donateWiz = require('../../nonprofits/donate/wizard') | ||
|  | const modal = require('ff-core/modal') | ||
|  | const render = require('ff-core/render') | ||
|  | const branding = require('../../components/nonprofit-branding') | ||
|  | 
 | ||
|  | function init() { | ||
|  |   var state = {} | ||
|  |   state.donateWiz = donateWiz.init(flyd.stream({})) | ||
|  |   state.modalID$ = flyd.stream() | ||
|  |   return state | ||
|  | } | ||
|  | 
 | ||
|  | function view(state) { | ||
|  |   return h('section.box-r', [ | ||
|  |     h('aside', [ | ||
|  |       h('a.button--jumbo u-width--full', { | ||
|  |         style: {background: branding.dark} | ||
|  |       , on: {click: [state.modalID$, 'donationModal']} | ||
|  |       }, [ | ||
|  |         `Donate to ${app.nonprofit.name}` | ||
|  |       ]) | ||
|  |     , h('div.donationModal', [ | ||
|  |         modal({ | ||
|  |           thisID: 'donationModal' | ||
|  |         , id$: state.modalID$ | ||
|  |         , body: donateWiz.view(state.donateWiz) | ||
|  |         // , notCloseable: state.donateWiz.paymentStep.cardForm.loading$()
 | ||
|  |         }) | ||
|  |       ]) | ||
|  |     ]) | ||
|  |   ]) | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // -- Render
 | ||
|  | 
 | ||
|  | const patch = snabbdom.init([ | ||
|  |   require('snabbdom/modules/eventlisteners') | ||
|  | , require('snabbdom/modules/class') | ||
|  | , require('snabbdom/modules/props') | ||
|  | , require('snabbdom/modules/style') | ||
|  | ]) | ||
|  | var container = document.querySelector('.ff-container') | ||
|  | var state = init() | ||
|  | render({container, view, patch, state}) | ||
|  | 
 |