Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name New Userscript
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description try to take over the world!
- // @author You
- // @match https://www.redfin.com/*
- // @grant none
- // @require http://code.jquery.com/jquery-latest.js
- // @run-at document-start
- // ==/UserScript==
- (function() {
- 'use strict';
- var interval = setInterval(run, 200);
- function run(){
- console.log('run()');
- $('.kay-and-kevin').remove();
- var issues = [];
- // lot size
- var lotSize = extractNumberFromString($(':contains("Lot Size"):last').next().text());
- // stop refreshing once lot size is available
- if(typeof lotSize == 'number') {
- clearInterval(interval);
- }
- if(lotSize < 3000) {
- issues.push(makeIssue('Small Lot - ' + lotSize, 'BAD'));
- } else if(lotSize < 4000) {
- issues.push(makeIssue('Medium Lot - ' + lotSize, 'OK'));
- } else {
- issues.push(makeIssue('Big Enough Lot - ' + lotSize, 'GOOD'));
- }
- // parking
- if($(':contains("No Parking"):last').text() === 'No Parking') {
- issues.push(makeIssue('No Parking','BAD'));
- } else {
- issues.push(makeIssue('Has Parking','GOOD'));
- }
- // redfin refund
- var LEASE_BREAKING_FEE = 3426;
- var refund = extractNumberFromString($('[data-rift-target="commission_refund"]').text());
- if(refund >= LEASE_BREAKING_FEE) {
- issues.push(makeIssue('Refund ($' + refund + ') greater than lease breaking fee ($' + LEASE_BREAKING_FEE + ') by $' + (refund-LEASE_BREAKING_FEE), 'GOOD'));
- } else {
- issues.push(makeIssue('Refund ($' + refund + ') less than lease breaking fee ($' + LEASE_BREAKING_FEE + ') by $' + (LEASE_BREAKING_FEE-refund), 'BAD'));
- }
- // make list of issue divs
- issues.forEach(function(issue) {
- makeAlertDiv(issue).insertBefore( ".criticalComponents.pageComponentsContainer" );
- });
- function makeIssue(issue, sev) {
- return {
- issue: issue,
- sev: sev
- };
- }
- function makeAlertDiv(issue) {
- var alertDiv = $('<div class="kay-and-kevin">'+issue.issue+'</div>');
- switch(issue.sev) {
- case 'BAD':
- alertDiv.css('background-color', '#eca1a6');
- break;
- case 'OK':
- alertDiv.css('background-color', '#ffef96');
- break;
- case 'GOOD':
- alertDiv.css('background-color', '#b5e7a0');
- break;
- }
- return alertDiv;
- }
- function extractNumberFromString(str) {
- return parseInt(str.replace(/[^0-9\.]/g, ''),10);
- }
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement