PageSourceSearch

https://bushwickayudamutua.com/assets/index.js

js bushwickayudamutua.com collected 2026-10-04 07:47:32 UTC 9,663 bytes, 240 lines download raw bytes

1$(document).ready(function () {
2
3    const setSpanish = function () {
4        localStorage.setItem('lang', 'span');
5        $('.lang-btn.eng').removeClass('active');
6        $('.span.lang-btn').addClass('active');
7
8        $('.lang-text.eng').removeClass('active');
9        $('.lang-text.span').addClass('active');
10    }
11
12    const setEnglish = function () {
13        localStorage.setItem('lang', 'eng');
14        $('.span.lang-btn').removeClass('active');
15        $('.lang-btn.eng').addClass('active');
16
17        $('.lang-text.span').removeClass('active');
18        $('.lang-text.eng').addClass('active');
19    };
20
21    const getDefaultLanguage = function () {
22        // determine default language from navigator.languages
23        return navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage);
24    }
25
26    // set language based on local storage / navigator.language(s)
27    if (localStorage.getItem('lang') !== null) {
28        if (localStorage.getItem('lang') === 'span') {
29            // set spanish
30            setSpanish();
31        }
32        else if (localStorage.getItem('lang') == 'eng') {
33            // set english
34            setEnglish();
35        }
36    } else {
37        const defaultLanguage = getDefaultLanguage();
38        if (defaultLanguage.startsWith('es')) {
39            // set spanish
40            setSpanish();
41        } else {
42            // set english
43            setEnglish();
44        }
45    }
46
47    // populate requests counter on homepage by fetching data from a JSON file on Digital Ocean Spaces.
48    const openRequestsURL = "https://file.baml.ink/website-data/open-requests.json";
49    var openRequestsDiv = document.getElementById("requests-counter-container");
50    if (openRequestsDiv != null) {
51        $.getJSON(openRequestsURL, function (data) {
52            // Filter out groceries from metrics since we no longer offer that service
53            var metrics = data.metrics.filter(function(metric) {
54                return metric.translations.eng.toLowerCase() !== 'groceries';
55            });
56            var nMetrics = metrics.length;
57            var half = Math.ceil(nMetrics / 2);
58            var firstHalf = metrics.slice(0, half);
59            var secondHalf = metrics.slice(half, nMetrics);
60            var halves = [firstHalf, secondHalf];
61            var html = '';
62            $.each(halves, function (key, half) {
63                html += '<div class="request-column">';
64                for (var i = 0; i < half.length; i++) {
65                    var request = half[i];
66                    html += "<div class='request-entry'>";
67                    html += "<h2 style='display: inline;' class='request-count'>" + request.value + " </h2>";
68                    if (localStorage.getItem('lang') === 'span') {
69                        html += "<span class='span request-category lang-text active'>para  " + request.translations.span + "</span>";
70                        html += "<span class='eng request-category lang-text'>for  " + request.translations.eng + "</span>";
71                    } else {
72                        html += "<span class='span request-category lang-text'>para  " + request.translations.span + "</span>";
73                        html += "<span class='eng request-category lang-text active'>for  " + request.translations.eng + "</span>";
74                    }
75                    html += "</div>";
76                }
77                html += "</div>";
78            });
79            openRequestsDiv.innerHTML = html;
80        });
81    };
82
83    // populate requests counter on homepage by fetching data from a JSON file on Digital Ocean Spaces.
84    const fulfilledRequestsURL = "https://file.baml.ink/website-data/fulfilled-requests.json";
85    var fulfilledRequestsDiv = document.getElementById("fulfilled-requests-counter-container");
86    if (fulfilledRequestsDiv != null) {
87        $.getJSON(fulfilledRequestsURL, function (data) {
88            // Filter out groceries from metrics since we no longer offer that service
89            var metrics = data.metrics.filter(function(metric) {
90                return metric.translations.eng.toLowerCase() !== 'groceries';
91            });
92            var nMetrics = metrics.length;
93            var half = Math.ceil(nMetrics / 2);
94            var firstHalf = metrics.slice(0, half);
95            var secondHalf = metrics.slice(half, nMetrics);
96            var halves = [firstHalf, secondHalf];
97            var html = '';
98            $.each(halves, function (key, half) {
99                html += '<div class="request-column">';
100                for (var i = 0; i < half.length; i++) {
101                    var request = half[i];
102                    html += "<div class='request-entry'>";
103                    html += "<h2 style='display: inline;' class='request-count'>" + request.value + " </h2>";
104                    if (localStorage.getItem('lang') === 'span') {
105                        html += "<span class='span request-category lang-text active'> " + request.translations.span + "</span>";
106                        html += "<span class='eng request-category lang-text'>  " + request.translations.eng + "</span>";
107                    } else {
108                        html += "<span class='span request-category lang-text'> " + request.translations.span + "</span>";
109                        html += "<span class='eng request-category lang-text active'>  " + request.translations.eng + "</span>";
110                    }
111                    html += "</div>";
112                }
113                html += "</div>";
114            });
115            fulfilledRequestsDiv.innerHTML = html;
116        });
117    };
118
119    var imgPromises = [];
120    $('#pics_carousel .img-outer-container img').each(function () {
121        const elem = $(this);
122        const img = new Image();
123        const src = elem.data('src');
124        const p = new Promise((resolve, reject) => {
125            img.onload = function () {
126                elem.attr('src', this.src);
127                resolve();
128            };
129        });
130        imgPromises.push(p);
131
132        img.src = src;
133    });
134    Promise.all(imgPromises).then(() => {
135        $('#pics_spinner').css('display', 'none');
136        $('#pics_carousel').css('display', 'block');
137    });
138
139    //BG Hover animation
140    // $(window).on('mousemove', function(event) {
141    //     const blueCircle = $('.circle.blue');
142    //     const orangeCircle = $('.circle.orange');
143
144    //     const x = (window.innerWidth - event.clientX)/10;
145    //     const y = (window.innerHeight - event.clientY)/10;
146
147    //     blueCircle.css('transform', `translateX(${x}px) translateY(${y}px) skew(70deg, 78deg)`);
148    //     orangeCircle.css('transform', `translateX(${x}px) translateY(${y}px) skew(70deg, 78deg)`);
149    //     // blueCircle.css('transform', `translateX(${x*.2}px) translateY(${y*.2}px) skew(25deg, -25deg)`);
150    //     // orangeCircle.css('transform', `translateX(${x*.2}px) translateY(${y*.2}px) skew(25deg, -25deg)`);
151    // });
152
153    $(window).on('scroll', function () {
154        //Neighbors scroll animation
155        $.each($('#neighbors_ticker .item'), (i, value) => {
156            $(value).css('transform', `translateX(-${window.pageYOffset}px) translateY(0)`);
157        })
158
159        //Shrink logo on scroll
160        // if (document.body.scrollTop > 0) {
161        //     $('#logo_main').removeClass('active');
162        //     $('#logo_hands').addClass('active');
163        //     $('#logo_container').addClass('scrolled');
164        //     $('nav').addClass('scrolled');
165
166        // } else {
167        //     $('#logo_hands').removeClass('active');
168        //     $('#logo_main').addClass('active');
169        //     $('#logo_container').removeClass('scrolled');
170        //     $('nav').removeClass('scrolled');
171        // }
172    });
173
174    //Picture carousel
175    $('#pics_carousel').owlCarousel({
176        loop: true,
177        lazyLoad: true,
178        margin: 10,
179        responsiveClass: true,
180        nav: true,
181        autoHeight: true,
182        navText: ["<img src='./assets/images/left.svg'>", "<img src='./assets/images/right.svg'>"],
183        responsive: {
184            0: {
185                items: 1,
186            },
187            600: {
188                autoHeight: false,
189                items: 3,
190            },
191            1000: {
192                autoHeight: false,
193                items: 3,
194                loop: false
195            }
196        }
197    });
198
199    //Testimony Carousel
200    $('#testimony_carousel').owlCarousel({
201        items: 1,
202        nav: true,
203        navText: ["<img src='./assets/images/left.svg'>", "<img src='./assets/images/right.svg'>"],
204        loop: true,
205        center: true,
206        startPosition: 1,
207        dots: true,
208        autoHeight: false,
209        responsive: {
210            1600: {
211                stagePadding: 325
212            }
213        }
214    });
215
216    //About collapse show/hide minus/plus buttons
217    $('.about-content').on('show.bs.collapse', function () {
218        $('.about-content').each(function () {
219            $(this).collapse('hide');
220        });
221    });
222
223    //English/Spanish toggle
224    $('.eng.lang-btn').on('click', () => {
225        setEnglish();
226    });
227
228    $('.span.lang-btn').on('click', () => {
229        setSpanish();
230    });
231
232    //Nav dropdown
233    $('.nav-dropdown').on('mouseover', () => {
234        $('.nav-dropdown__menu').addClass('active');
235    });
236    $('.nav-dropdown').on('mouseleave', () => {
237        $('.nav-dropdown__menu').removeClass('active');
238    });
239
240});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.