return request().then( ( { themes: rawThemes, info: { results } = {}, found = results } ) => { let themes; if ( siteId === 'wporg' ) { themes = map( rawThemes, normalizeWporgTheme ); } else if ( siteId === 'wpcom' ) { themes = map( rawThemes, normalizeWpcomTheme ); } else { // Jetpack Site themes = map( rawThemes, normalizeJetpackTheme ); } if ( ( query.search || query.filter ) && query.page === 1 ) { const responseTime = ( new Date().getTime() ) - startTime; const search_taxonomies = prependThemeFilterKeys( getState(), query.filter ); const search_term = search_taxonomies + ( query.search || '' ); const trackShowcaseSearch = recordTracksEvent( 'calypso_themeshowcase_search', { search_term: search_term || null, search_taxonomies, tier: query.tier, response_time_in_ms: responseTime, result_count: found, results_first_page: themes.map( property( 'id' ) ).join() } ); dispatch( trackShowcaseSearch ); } dispatch( receiveThemes( themes, siteId, query, found ) ); } ).catch( ( error ) => {
const themeActivatedThunk = ( dispatch, getState ) => { const action = { type: THEME_ACTIVATE_SUCCESS, themeStylesheet, siteId, }; const previousThemeId = getActiveTheme( getState(), siteId ); const query = getLastThemeQuery( getState(), siteId ); const search_taxonomies = prependThemeFilterKeys( getState(), query.filter ); const search_term = search_taxonomies + ( query.search || '' ); const trackThemeActivation = recordTracksEvent( 'calypso_themeshowcase_theme_activate', { theme: getThemeIdFromStylesheet( themeStylesheet ), previous_theme: previousThemeId, source: source, purchased: purchased, search_term: search_term || null, search_taxonomies } ); dispatch( withAnalytics( trackThemeActivation, action ) ); };