fleet/website/api/controllers/view-testimonials.js
kilo-code-bot[bot] abb5aef6e3
Add Adam Anklewicz (Thumbtack) testimonial to customers page (#42229)
## Summary

- Adds a new testimonial from Adam Anklewicz (Manager of IT Endpoint
Engineering, Thumbtack) to the Fleet customers page
- Quote highlights Fleet's responsive Slack-based support as a key
selling point
- Testimonial is positioned prominently (2nd in sort order) on the
customers page
- Uses existing Thumbtack logo image (`[email protected]`)
for the testimonial card

### Changes

- `handbook/company/testimonials.yml` — Added new testimonial entry with
all required fields
- `website/api/controllers/view-testimonials.js` — Added Adam Anklewicz
to the sort order (2nd position)
-
`website/assets/images/[email protected]`
— Placeholder profile image (to be replaced with actual LinkedIn photo)

> **Note:** The profile image
(`[email protected]`) is currently a
placeholder. It should be replaced with Adam's actual profile photo from
LinkedIn before merging.

Built for [Michael
Thomas](https://fleetdm.slack.com/archives/D0AL6RD36GL/p1774252288344369)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Eric <[email protected]>
2026-03-23 17:19:20 -05:00

101 lines
3.2 KiB
JavaScript
Vendored

module.exports = {
friendlyName: 'View testimonials',
description: 'Display "Testimonials" page.',
exits: {
success: {
viewTemplatePath: 'pages/testimonials'
}
},
fn: async function () {
if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) {
throw {badConfig: 'builtStaticContent.testimonials'};
}
if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.markdownPages) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) {
throw {badConfig: 'builtStaticContent.markdownPages'};
}
// Get testimonials for the page contents
let testimonials = _.clone(sails.config.builtStaticContent.testimonials);
let sortOrderOfTestimonialAuthorsShownOnThisPage = [
'Scott MacVicar',
'Adam Anklewicz',
'Nick Fohs',
'Wes Whetstone',
'Erik Gomez',
'Matt Carr',
'nico waisman',
'Kenny Botelho',
'Dan Grzelak',
'Eric Tan',
];
let testimonialAuthorsToExcludeOnThisPage = [
'Alvaro Gutierrez',
'Joe Pistone',
'Brendan Shaklovitz',
'Abubakar Yousafzai',
'Dhruv Majumdar',
'matt carr',
'Charles Zaffery',
'Tom Larkin',// Note: excluded becasue we already show a quote from this person
'Nico Waisman',// Note: excluded becasue we already show a quote from this person
];
let filteredTestimonialsForThisPage = _.filter(testimonials, (testimonial)=>{
return !testimonialAuthorsToExcludeOnThisPage.includes(testimonial.quoteAuthorName);
});
filteredTestimonialsForThisPage.sort((a, b)=>{
if(sortOrderOfTestimonialAuthorsShownOnThisPage.indexOf(a.quoteAuthorName) === -1){
return 1;
} else if(sortOrderOfTestimonialAuthorsShownOnThisPage.indexOf(b.quoteAuthorName) === -1) {
return -1;
}
return sortOrderOfTestimonialAuthorsShownOnThisPage.indexOf(a.quoteAuthorName) - sortOrderOfTestimonialAuthorsShownOnThisPage.indexOf(b.quoteAuthorName);
});
let testimonialsWithVideoLinks = _.filter(filteredTestimonialsForThisPage, (testimonial)=>{
return testimonial.youtubeVideoUrl;
});
// Get all of the case study articles.
let caseStudies = sails.config.builtStaticContent.markdownPages.filter((page)=>{
if(_.startsWith(page.url, '/case-study/')) {
return page;
}
});
// Only show case studies that have `useBasicArticleTemplate` and cardTitleForCustomersPage` meta tags
let caseStudiesToCreateLinksFor = caseStudies.filter((article)=>{
if(article.meta.useBasicArticleTemplate && article.meta.cardTitleForCustomersPage){
return article;
}
});
// Sort the case study articles by the lowercase cardTitleForCustomersPage meta tag value.
caseStudiesToCreateLinksFor = _.sortBy(caseStudiesToCreateLinksFor, (article)=>{
return article.meta.cardTitleForCustomersPage.toLowerCase();
});
return {
testimonials: filteredTestimonialsForThisPage,
testimonialsWithVideoLinks,
caseStudiesToCreateLinksFor,
};
}
};