, but this code // executes before the first paint, when

ÃÛÌÒapp

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Tyler Greenway | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Dr. Tyler Greenway

Associate Professor

Biography

Dr. Tyler Greenway teaches Statistics and Research Design (255), Fundamentals of Research and Practice (256), and Psychology and Religion (399). He holds a Ph.D. and M.A. in Psychological Science from Fuller Theological Seminary, an MDiv from ÃÛÌÒapp Theological Seminary, and a B.A. in Psychology from ÃÛÌÒapp. Greenway’s work focuses on the psychology of religion, character and virtue development, the integration of psychology and theology, and the application of psychology in religious contexts. Before joining ÃÛÌÒapp’s faculty, Greenway served as an Associate Research Scientist in the Science of Virtues Lab at Baylor University and the Research Director for the Fuller Youth Institute.

Education

2013-2017: Fuller Theological Seminary, Pasadena, CA (Doctor of Philosophy in Psychological Science, Master of Arts in Psychological Science)

2010-2013: ÃÛÌÒapp Theological Seminary, Grand Rapids, MI (Master of Divinity)

2007-2010: ÃÛÌÒapp College, Grand Rapids, MI (Bachelor of Arts in Psychology)