您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Just making it a little easier to track your Y Combinator application status.
- // ==UserScript==
- // @name Y Combinator Application Status
- // @namespace https://www.linkedin.com/in/jarrettcoggin
- // @version 2024-05-07
- // @description Just making it a little easier to track your Y Combinator application status.
- // @author Jarrett Coggin
- // @match https://apply.ycombinator.com/
- // @icon https://www.google.com/s2/favicons?sz=64&domain=ycombinator.com
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- function createAndAppendContent(parent, tag, text) {
- var element = document.createElement(tag);
- element.innerText = text;
- parent.appendChild(element);
- }
- window.addEventListener('load', function() {
- var div = document.querySelector('div[data-react-props]');
- if (div) {
- var rawProps = div.getAttribute("data-react-props");
- try {
- var reactProps = JSON.parse(rawProps);
- console.log(reactProps);
- reactProps.all_apps.forEach(app => {
- if (app.current_batch) {
- var appId = app.id;
- var selector = `a[href='apps/${appId}']`;
- var linkElement = document.querySelector(selector);
- if (linkElement) {
- var parentDiv = linkElement.closest('div.mb-8.overflow-hidden.rounded-xl.bg-white.p-12.shadow-md.hover\\:shadow-xl');
- var newContent = document.createElement('div');
- newContent.innerHTML = '<h2>Application Status:</h2>';
- createAndAppendContent(newContent, 'p', 'Status: ' + app.status);
- createAndAppendContent(newContent, 'p', 'Rejected: ' + app.rejected);
- createAndAppendContent(newContent, 'p', 'Stage: ' + app.stage);
- createAndAppendContent(newContent, 'p', 'Invited: ' + app.invited);
- createAndAppendContent(newContent, 'p', 'Result: ' + app.result);
- createAndAppendContent(newContent, 'p', 'Updated At: ' + app.updated_at);
- createAndAppendContent(newContent, 'p', 'Updated By User At: ' + app.updated_by_user_at);
- createAndAppendContent(newContent, 'p', 'Interview: ' + app.interview);
- createAndAppendContent(newContent, 'p', 'Interview in Person: ' + app.interview_in_person);
- createAndAppendContent(newContent, 'p', 'Interview Questions Filled In: ' + app.interview_questions_filled_in);
- createAndAppendContent(newContent, 'p', 'Interview Time: ' + app.interview_time);
- createAndAppendContent(newContent, 'p', 'Interview Within 30 Mins: ' + app.interview_within_30_min);
- createAndAppendContent(newContent, 'p', 'Last Message Replied To: ' + app.last_message_replied_to);
- createAndAppendContent(newContent, 'p', 'Messages: ' + app.messages);
- parentDiv.appendChild(newContent);
- }
- }
- });
- } catch (e) {
- console.error('Error parsing JSON or updating the page:', e);
- }
- } else {
- console.log('No div with data-react-props found');
- }
- });
- })();