diff --git a/frontend/frontend/src/axios-override.js b/frontend/frontend/src/axios-override.js index e072df80..5826ab60 100644 --- a/frontend/frontend/src/axios-override.js +++ b/frontend/frontend/src/axios-override.js @@ -1,5 +1,18 @@ import axios from 'axios'; import { setupCache } from 'axios-cache-interceptor'; +import { useSelector } from 'react-redux'; +import { HOST } from './constants'; + +import additionalUserStars from './mockData/additional_user_stars.json' with { type: 'json' }; +import commentedIssues from './mockData/commented_issues.json' with { type: 'json' }; +import commentedPrs from './mockData/commented_prs.json' with { type: 'json' }; +import commits from './mockData/commits.json' with { type: 'json' }; +import gist from './mockData/gist.json' with { type: 'json' }; +import repository from './mockData/repository.json' with { type: 'json' }; +import reviewedPrs from './mockData/reviewed_prs.json' with { type: 'json' }; +import topLanguages from './mockData/top_languages.json' with { type: 'json' }; +import userStats from './mockData/user_stats.json' with { type: 'json' }; +import wakatimeProxy from './mockData/wakatime_proxy.json' with { type: 'json' }; const cachedAxios = setupCache(axios, { // Cache for 30 minutes @@ -9,24 +22,88 @@ const cachedAxios = setupCache(axios, { methods: ['get', 'post'], }); -// mock username=anuraghazra requests +function createResolvedPromise(data, config) { + return Promise.resolve({ + data, + status: 200, + statusText: 'OK', + headers: {}, + config, + }); +} + +// mock responses to unauthenticated "anuraghazra" requests cachedAxios.interceptors.request.use( (config) => { + const userId = useSelector((state) => state.user.userId); + const isAuthenticated = userId && userId.length > 0; + if (isAuthenticated) { + return config; + } + const params = new URL(config.url).entries || {}; + if ( - params.username === 'anuraghazra' || - (params.repo && params.repo.startsWith('anuraghazra/')) - ) { - // Return a promise that resolves with a mocked response - return Promise.resolve({ - data: 'hello anuraghazra!', - status: 200, - statusText: 'OK', - headers: {}, - config, - }); + config.url === 'https://api.github.com/graphql' && + config.data.query.includes( + 'query userInfo($login: String!, $after: String, $includeMergedPullRequests:', + ) && + config.data.data.variables.login === 'anuraghazra' + ) { + return createResolvedPromise(userStats, config); + } + + if ( + config.url === 'https://api.github.com/graphql' && + config.data.query.includes( + 'query userInfo($login: String!, $after: String, $ownerAffiliations:', + ) && + config.data.data.variables.login === 'anuraghazra' + ) { + return createResolvedPromise(additionalUserStars, config); + } + + if ( + config.url === 'https://api.github.com/graphql' && + config.data.query.includes( + 'query userInfo($login: String!, $ownerAffiliations:', + ) && + config.data.data.variables.login === 'anuraghazra' + ) { + return createResolvedPromise(topLanguages, config); + } + + if ( + config.url === 'https://api.github.com/graphql' && + config.data.query.includes('fragment RepoInfo on Repository {') && + config.data.data.variables.login === 'anuraghazra' && + config.data.data.variables.repo === 'github-readme-stats' + ) { + return createResolvedPromise(repository, config); + } + + if ( + config.url === 'https://api.github.com/graphql' && + config.data.query.includes('query gistInfo(') && + config.data.data.variables.login === 'anuraghazra' + ) { + return createResolvedPromise(gist, config); + } + + switch (config.url) { + case 'https://api.github.com/search/commits?per_page=1&q=author:anuraghazra': + return createResolvedPromise(commits, config); + case 'https://api.github.com/search/issues?per_page=1&q=commenter:anuraghazra+-author:anuraghazra+type:pr': + return createResolvedPromise(commentedPrs, config); + case 'https://api.github.com/search/issues?per_page=1&q=reviewed-by:anuraghazra+-author:anuraghazra+type:pr': + return createResolvedPromise(reviewedPrs, config); + case 'https://api.github.com/search/issues?per_page=1&q=commenter:anuraghazra+-author:anuraghazra+type:issue': + return createResolvedPromise(commentedIssues, config); + case `https://${HOST}/api/wakatime-proxy?username=ffflabs`: + return createResolvedPromise(wakatimeProxy, config); + default: + return config; } - return config; }, (error) => { return Promise.reject(error); diff --git a/frontend/frontend/src/components/Card/SVG.js b/frontend/frontend/src/components/Card/SVG.js index 380c2362..843ad5e8 100644 --- a/frontend/frontend/src/components/Card/SVG.js +++ b/frontend/frontend/src/components/Card/SVG.js @@ -11,13 +11,6 @@ import 'react-loading-skeleton/dist/skeleton.css'; import { createMockReq, createMockRes } from '../../mock-http'; import { default as router } from '../../backend/.vercel/output/functions/api.func/router.js'; -import axios from 'axios'; -import { HOST } from '../../constants'; -import { DEMO_STATS_CARD } from './demoData/statsCard'; -import { DEMO_TOPLANGS_CARD } from './demoData/topLangsCard'; -import { DEMO_PIN_CARD } from './demoData/pinCard'; -import { DEMO_GIST_CARD } from './demoData/gistCard'; -import { DEMO_WAKATIME_CARD } from './demoData/wakatimeCard'; const SvgInline = (props) => { const [svg, setSvg] = useState(null); @@ -36,57 +29,32 @@ const SvgInline = (props) => { let body; let status; - switch (url) { - case `https://${HOST}/api?username=anuraghazra&include_all_commits=true&client=wizard`: - status = 200; - body = DEMO_STATS_CARD; - break; - case `https://${HOST}/api/top-langs?username=anuraghazra&langs_count=4&client=wizard`: - status = 200; - body = DEMO_TOPLANGS_CARD; - break; - case `https://${HOST}/api/pin?repo=anuraghazra/github-readme-stats&client=wizard`: - status = 200; - body = DEMO_PIN_CARD; - break; - case `https://${HOST}/api/gist?id=bbfce31e0217a3689c8d961a356cb10d&client=wizard`: - status = 200; - body = DEMO_GIST_CARD; - break; - case `https://${HOST}/api/wakatime?username=ffflabs&langs_count=6&card_width=450&client=wizard`: - status = 200; - body = DEMO_WAKATIME_CARD; - break; + const isAuthenticated = userId && userId.length > 0; + if (isAuthenticated && (!userToken || userToken === 'placeholderPAT')) { + // waiting for backend call to private-access + return; + } - default: - const isAuthenticated = userId && userId.length > 0; - if ( - isAuthenticated && - (!userToken || userToken === 'placeholderPAT') - ) { - // waiting for backend call to private-access - return; - } - - if (isAuthenticated) { - const req = createMockReq({ - method: 'GET', - url: url, - }); - const res = createMockRes(); - await router(req, res); - body = res._getBody(); - status = res._getStatusCode(); + // if (isAuthenticated) { + const req = createMockReq({ + method: 'GET', + url: url, + }); + const res = createMockRes(); + await router(req, res); + body = res._getBody(); + status = res._getStatusCode(); + /* } else { let res = await axios.get(url); body = res.data; status = res.status; } +*/ - if (status >= 300) { - console.error('failed to fetch/generate SVG'); - return; - } + if (status >= 300) { + console.error('failed to fetch/generate SVG'); + return; } setSvg(body); diff --git a/frontend/frontend/src/components/Card/demoData/gistCard.js b/frontend/frontend/src/components/Card/demoData/gistCard.js deleted file mode 100644 index 0dc3d3f5..00000000 --- a/frontend/frontend/src/components/Card/demoData/gistCard.js +++ /dev/null @@ -1,135 +0,0 @@ -export const DEMO_GIST_CARD = ` - - - - - - - - - - - - - - - - - countries.json - - - - - - - - List of countries and territories in English and Spanish:name, continent, capital, dial code, country codes, TLD,and area in sq km. Lista de países y territorios enInglés y Español: nombre, continente, capital,código de teléfono, códigos de país,dominio y área en km cuadrados. Updated 2024 - - - - - - - JSON - - - - - - 41 - - - - 14 - - - - - `; diff --git a/frontend/frontend/src/components/Card/demoData/pinCard.js b/frontend/frontend/src/components/Card/demoData/pinCard.js deleted file mode 100644 index 8787a59e..00000000 --- a/frontend/frontend/src/components/Card/demoData/pinCard.js +++ /dev/null @@ -1,155 +0,0 @@ -export const DEMO_PIN_CARD = ` - - - - - - - - - - - - - - - - - github-readme-stats - - - - - - - - - - ⚡ Dynamically generated stats for your github readmes - - - - - - - JavaScript - - - - - - 76.9k - - - - 26.8k - - - - - - - - - - `; diff --git a/frontend/frontend/src/components/Card/demoData/statsCard.js b/frontend/frontend/src/components/Card/demoData/statsCard.js deleted file mode 100644 index 7c549072..00000000 --- a/frontend/frontend/src/components/Card/demoData/statsCard.js +++ /dev/null @@ -1,212 +0,0 @@ -export const DEMO_STATS_CARD = ` - - Anurag Hazra's GitHub Stats, Rank: S - Total Stars Earned: 81043, Total Commits : 27218, Total PRs: 820, Total Issues: 180, Contributed to (last year): 1 - - - - - - - - - - Anurag Hazra's GitHub Stats - - - - - - - - - - - - - S - - - - - - - - - Total Stars Earned: - 81k - - - - - Total Commits: - 27.2k - - - - - Total PRs: - 820 - - - - - Total Issues: - 180 - - - - - Contributed to (last year): - 1 - - - - - - - `; diff --git a/frontend/frontend/src/components/Card/demoData/topLangsCard.js b/frontend/frontend/src/components/Card/demoData/topLangsCard.js deleted file mode 100644 index aae9416a..00000000 --- a/frontend/frontend/src/components/Card/demoData/topLangsCard.js +++ /dev/null @@ -1,203 +0,0 @@ -export const DEMO_TOPLANGS_CARD = ` - - - - - - - - - - - - - Most Used Languages - - - - - - - - - - JavaScript - 72.12% - - - - - - - - - - - - HTML - 14.66% - - - - - - - - - - - - TypeScript - 9.43% - - - - - - - - - - - - CSS - 3.79% - - - - - - - - - - - - - - - `; diff --git a/frontend/frontend/src/components/Card/demoData/wakatimeCard.js b/frontend/frontend/src/components/Card/demoData/wakatimeCard.js deleted file mode 100644 index bb852a8b..00000000 --- a/frontend/frontend/src/components/Card/demoData/wakatimeCard.js +++ /dev/null @@ -1,265 +0,0 @@ -export const DEMO_WAKATIME_CARD = ` - - - - - - - - - - - - - WakaTime Stats (last year) - - - - - - - - - - Other: - 143 hrs 35 mins - - - - - - - - - - - - TypeScript: - 25 hrs 21 mins - - - - - - - - - - - - PHP: - 18 hrs 56 mins - - - - - - - - - - - - Blade Template: - 10 hrs 58 mins - - - - - - - - - - - - Vue.js: - 7 hrs 31 mins - - - - - - - - - - - - JavaScript: - 7 hrs 28 mins - - - - - - - - - - - - - - - `; diff --git a/frontend/frontend/src/mockData/additional_user_stars.json b/frontend/frontend/src/mockData/additional_user_stars.json new file mode 100644 index 00000000..2bf5a47a --- /dev/null +++ b/frontend/frontend/src/mockData/additional_user_stars.json @@ -0,0 +1,84 @@ +{ + "data": { + "user": { + "repositories": { + "totalCount": 139, + "nodes": [ + { "name": "classicLogo", "stargazers": { "totalCount": 1 } }, + { "name": "creativechat", "stargazers": { "totalCount": 1 } }, + { "name": "verlet_tests", "stargazers": { "totalCount": 1 } }, + { + "name": "blade-checkout-ui-demo", + "stargazers": { "totalCount": 0 } + }, + { + "name": "tslint-plugin-analytics", + "stargazers": { "totalCount": 0 } + }, + { "name": "stargazer", "stargazers": { "totalCount": 0 } }, + { + "name": "react-smooth-range-input", + "stargazers": { "totalCount": 0 } + }, + { + "name": "csb-git-integration-bug", + "stargazers": { "totalCount": 0 } + }, + { "name": "covid-nepal-web", "stargazers": { "totalCount": 0 } }, + { + "name": "shrijan00003.github.io", + "stargazers": { "totalCount": 0 } + }, + { "name": "TheBigCB.com", "stargazers": { "totalCount": 0 } }, + { "name": "html2commonmark", "stargazers": { "totalCount": 0 } }, + { "name": "test-myaction", "stargazers": { "totalCount": 0 } }, + { "name": "react-emoji-render", "stargazers": { "totalCount": 0 } }, + { "name": "sajilo-editor", "stargazers": { "totalCount": 0 } }, + { + "name": "coder-aayush.github.io", + "stargazers": { "totalCount": 0 } + }, + { "name": "codesandbox-client", "stargazers": { "totalCount": 0 } }, + { "name": "product-sans", "stargazers": { "totalCount": 0 } }, + { "name": "NodejsBlogSystem", "stargazers": { "totalCount": 0 } }, + { "name": "native-javascript", "stargazers": { "totalCount": 0 } }, + { "name": "p5.js", "stargazers": { "totalCount": 0 } }, + { "name": "gatsbytutorials.com", "stargazers": { "totalCount": 0 } }, + { + "name": "hello-world-docker-action", + "stargazers": { "totalCount": 0 } + }, + { "name": "glugmvit.github.io", "stargazers": { "totalCount": 0 } }, + { + "name": "react-map-interaction", + "stargazers": { "totalCount": 0 } + }, + { "name": "react-external-image", "stargazers": { "totalCount": 0 } }, + { "name": "gatsby-boilerplate", "stargazers": { "totalCount": 0 } }, + { "name": "YouBackup", "stargazers": { "totalCount": 0 } }, + { "name": "npm-expansions", "stargazers": { "totalCount": 0 } }, + { + "name": "Toy-Neural-Network-JS", + "stargazers": { "totalCount": 0 } + }, + { "name": "LSystemCreator", "stargazers": { "totalCount": 0 } }, + { "name": "Happy-2019", "stargazers": { "totalCount": 0 } }, + { "name": "jquery-navScroll", "stargazers": { "totalCount": 0 } }, + { "name": "strml.net", "stargazers": { "totalCount": 0 } }, + { "name": "Logo", "stargazers": { "totalCount": 0 } }, + { "name": "website", "stargazers": { "totalCount": 0 } }, + { + "name": "anuraghazra.github.io-old", + "stargazers": { "totalCount": 0 } + }, + { "name": "Quintus", "stargazers": { "totalCount": 0 } }, + { "name": "Electron_experiments", "stargazers": { "totalCount": 0 } } + ], + "pageInfo": { + "hasNextPage": false, + "endCursor": "Y3Vyc29yOnYyOpIAzgd5N08=" + } + } + } + } +} diff --git a/frontend/frontend/src/mockData/commented_issues.json b/frontend/frontend/src/mockData/commented_issues.json new file mode 100644 index 00000000..4c7aae6f --- /dev/null +++ b/frontend/frontend/src/mockData/commented_issues.json @@ -0,0 +1,124 @@ +{ + "total_count": 583, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/razorpay/blade/issues/2622", + "repository_url": "https://api.github.com/repos/razorpay/blade", + "labels_url": "https://api.github.com/repos/razorpay/blade/issues/2622/labels{/name}", + "comments_url": "https://api.github.com/repos/razorpay/blade/issues/2622/comments", + "events_url": "https://api.github.com/repos/razorpay/blade/issues/2622/events", + "html_url": "https://github.com/razorpay/blade/issues/2622", + "id": 3019250106, + "node_id": "I_kwDODhyVk86z9hm6", + "number": 2622, + "title": "Phone input lags when all countries are enabled", + "user": { + "login": "roylen-john", + "id": 32672004, + "node_id": "MDQ6VXNlcjMyNjcyMDA0", + "avatar_url": "https://avatars.githubusercontent.com/u/32672004?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/roylen-john", + "html_url": "https://github.com/roylen-john", + "followers_url": "https://api.github.com/users/roylen-john/followers", + "following_url": "https://api.github.com/users/roylen-john/following{/other_user}", + "gists_url": "https://api.github.com/users/roylen-john/gists{/gist_id}", + "starred_url": "https://api.github.com/users/roylen-john/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/roylen-john/subscriptions", + "organizations_url": "https://api.github.com/users/roylen-john/orgs", + "repos_url": "https://api.github.com/users/roylen-john/repos", + "events_url": "https://api.github.com/users/roylen-john/events{/privacy}", + "received_events_url": "https://api.github.com/users/roylen-john/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "labels": [ + + ], + "state": "closed", + "locked": false, + "assignee": { + "login": "saurabhdaware", + "id": 30949385, + "node_id": "MDQ6VXNlcjMwOTQ5Mzg1", + "avatar_url": "https://avatars.githubusercontent.com/u/30949385?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/saurabhdaware", + "html_url": "https://github.com/saurabhdaware", + "followers_url": "https://api.github.com/users/saurabhdaware/followers", + "following_url": "https://api.github.com/users/saurabhdaware/following{/other_user}", + "gists_url": "https://api.github.com/users/saurabhdaware/gists{/gist_id}", + "starred_url": "https://api.github.com/users/saurabhdaware/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/saurabhdaware/subscriptions", + "organizations_url": "https://api.github.com/users/saurabhdaware/orgs", + "repos_url": "https://api.github.com/users/saurabhdaware/repos", + "events_url": "https://api.github.com/users/saurabhdaware/events{/privacy}", + "received_events_url": "https://api.github.com/users/saurabhdaware/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "assignees": [ + { + "login": "saurabhdaware", + "id": 30949385, + "node_id": "MDQ6VXNlcjMwOTQ5Mzg1", + "avatar_url": "https://avatars.githubusercontent.com/u/30949385?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/saurabhdaware", + "html_url": "https://github.com/saurabhdaware", + "followers_url": "https://api.github.com/users/saurabhdaware/followers", + "following_url": "https://api.github.com/users/saurabhdaware/following{/other_user}", + "gists_url": "https://api.github.com/users/saurabhdaware/gists{/gist_id}", + "starred_url": "https://api.github.com/users/saurabhdaware/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/saurabhdaware/subscriptions", + "organizations_url": "https://api.github.com/users/saurabhdaware/orgs", + "repos_url": "https://api.github.com/users/saurabhdaware/repos", + "events_url": "https://api.github.com/users/saurabhdaware/events{/privacy}", + "received_events_url": "https://api.github.com/users/saurabhdaware/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + } + ], + "milestone": null, + "comments": 2, + "created_at": "2025-04-25T07:37:15Z", + "updated_at": "2025-05-08T07:31:13Z", + "closed_at": "2025-05-08T07:30:57Z", + "author_association": "NONE", + "type": null, + "active_lock_reason": null, + "sub_issues_summary": { + "total": 0, + "completed": 0, + "percent_completed": 0 + }, + "issue_dependencies_summary": { + "blocked_by": 0, + "total_blocked_by": 0, + "blocking": 0, + "total_blocking": 0 + }, + "body": "The PhoneInput component is causing lag in the onboarding-sdk when all countries are enabled. If we reduce the supported countries to a smaller array, it works fine. We need to show all countries as this is a requirement from product.\n\nPossible reason could be the huge number of dom elements along with other elements from the app. This is not replicable in the example shown in docs.\n\nPossible solution would be to add virtualisation to the dropdown.\n\nhttps://github.com/user-attachments/assets/9089eff6-4339-4178-82e0-7304206480c6", + "reactions": { + "url": "https://api.github.com/repos/razorpay/blade/issues/2622/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/razorpay/blade/issues/2622/timeline", + "performed_via_github_app": null, + "state_reason": "completed", + "score": 1.0 + } + ] +} diff --git a/frontend/frontend/src/mockData/commented_prs.json b/frontend/frontend/src/mockData/commented_prs.json new file mode 100644 index 00000000..ad391b32 --- /dev/null +++ b/frontend/frontend/src/mockData/commented_prs.json @@ -0,0 +1,81 @@ +{ + "total_count": 1464, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/razorpay/blade/issues/3020", + "repository_url": "https://api.github.com/repos/razorpay/blade", + "labels_url": "https://api.github.com/repos/razorpay/blade/issues/3020/labels{/name}", + "comments_url": "https://api.github.com/repos/razorpay/blade/issues/3020/comments", + "events_url": "https://api.github.com/repos/razorpay/blade/issues/3020/events", + "html_url": "https://github.com/razorpay/blade/pull/3020", + "id": 3637156493, + "node_id": "PR_kwDODhyVk860D02D", + "number": 3020, + "title": "Added Link Component to Svelte | Cursor Rules for Effecient React to Svelte Migration", + "user": { + "login": "kashishbehl", + "id": 104421875, + "node_id": "U_kgDOBjlZ8w", + "avatar_url": "https://avatars.githubusercontent.com/u/104421875?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kashishbehl", + "html_url": "https://github.com/kashishbehl", + "followers_url": "https://api.github.com/users/kashishbehl/followers", + "following_url": "https://api.github.com/users/kashishbehl/following{/other_user}", + "gists_url": "https://api.github.com/users/kashishbehl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kashishbehl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kashishbehl/subscriptions", + "organizations_url": "https://api.github.com/users/kashishbehl/orgs", + "repos_url": "https://api.github.com/users/kashishbehl/repos", + "events_url": "https://api.github.com/users/kashishbehl/events{/privacy}", + "received_events_url": "https://api.github.com/users/kashishbehl/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "labels": [ + + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [ + + ], + "milestone": null, + "comments": 2, + "created_at": "2025-11-18T09:48:46Z", + "updated_at": "2025-11-21T06:50:10Z", + "closed_at": null, + "author_association": "NONE", + "type": null, + "active_lock_reason": null, + "draft": true, + "pull_request": { + "url": "https://api.github.com/repos/razorpay/blade/pulls/3020", + "html_url": "https://github.com/razorpay/blade/pull/3020", + "diff_url": "https://github.com/razorpay/blade/pull/3020.diff", + "patch_url": "https://github.com/razorpay/blade/pull/3020.patch", + "merged_at": null + }, + "body": "## Description\r\nAdded Initial Changes for Blade Svelte Migration\r\n\r\n1. Cursor Rules for migrating to Svelte\r\n2. Migrated Link Component to blade-svelte\r\n3. Added common utils to blade-core\r\n\r\n|Link type|Screenshot|\r\n|---------|------------|\r\n|Anchor link|\"image\"|\r\n|Button Link|\"image\"|\r\n|Link with colors|\"image\"|\r\n\r\n\r\n## Changes\r\n\r\n\r\n\r\n## Additional Information\r\n\r\n\r\n\r\n## Component Checklist\r\n\r\n\r\n\r\n- [ ] Update Component Status Page\r\n- [ ] Perform Manual Testing in Other Browsers\r\n- [ ] Add KitchenSink Story\r\n- [ ] Add Interaction Tests (if applicable)\r\n- [ ] Add changeset\r\n", + "reactions": { + "url": "https://api.github.com/repos/razorpay/blade/issues/3020/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/razorpay/blade/issues/3020/timeline", + "performed_via_github_app": null, + "state_reason": null, + "score": 1.0 + } + ] +} diff --git a/frontend/frontend/src/mockData/commits.json b/frontend/frontend/src/mockData/commits.json new file mode 100644 index 00000000..ee807762 --- /dev/null +++ b/frontend/frontend/src/mockData/commits.json @@ -0,0 +1,150 @@ +{ + "total_count": 27219, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/soham2008xyz/product-sans/commits/ee082f134309ca7cffe0378521ada84bcf8a9ef9", + "sha": "ee082f134309ca7cffe0378521ada84bcf8a9ef9", + "node_id": "MDY6Q29tbWl0MTY3OTEzMjExOmVlMDgyZjEzNDMwOWNhN2NmZmUwMzc4NTIxYWRhODRiY2Y4YTllZjk=", + "html_url": "https://github.com/soham2008xyz/product-sans/commit/ee082f134309ca7cffe0378521ada84bcf8a9ef9", + "comments_url": "https://api.github.com/repos/soham2008xyz/product-sans/commits/ee082f134309ca7cffe0378521ada84bcf8a9ef9/comments", + "commit": { + "url": "https://api.github.com/repos/soham2008xyz/product-sans/git/commits/ee082f134309ca7cffe0378521ada84bcf8a9ef9", + "author": { + "date": "2019-12-30T21:17:53.000+05:30", + "name": "Anurag Hazra", + "email": "hazru.anurag@gmail.com" + }, + "committer": { + "date": "2019-12-30T21:17:53.000+05:30", + "name": "GitHub", + "email": "noreply@github.com" + }, + "message": "chore: specified format for @font-face", + "tree": { + "url": "https://api.github.com/repos/soham2008xyz/product-sans/git/trees/3727e52a68d1be36cfaa2a5b3c3c9f7e2fbf956a", + "sha": "3727e52a68d1be36cfaa2a5b3c3c9f7e2fbf956a" + }, + "comment_count": 0 + }, + "author": { + "login": "anuraghazra", + "id": 35374649, + "node_id": "MDQ6VXNlcjM1Mzc0NjQ5", + "avatar_url": "https://avatars.githubusercontent.com/u/35374649?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/anuraghazra", + "html_url": "https://github.com/anuraghazra", + "followers_url": "https://api.github.com/users/anuraghazra/followers", + "following_url": "https://api.github.com/users/anuraghazra/following{/other_user}", + "gists_url": "https://api.github.com/users/anuraghazra/gists{/gist_id}", + "starred_url": "https://api.github.com/users/anuraghazra/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/anuraghazra/subscriptions", + "organizations_url": "https://api.github.com/users/anuraghazra/orgs", + "repos_url": "https://api.github.com/users/anuraghazra/repos", + "events_url": "https://api.github.com/users/anuraghazra/events{/privacy}", + "received_events_url": "https://api.github.com/users/anuraghazra/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "url": "https://api.github.com/repos/soham2008xyz/product-sans/commits/e4ef4077272a5fa89304f7126578693491d85653", + "html_url": "https://github.com/soham2008xyz/product-sans/commit/e4ef4077272a5fa89304f7126578693491d85653", + "sha": "e4ef4077272a5fa89304f7126578693491d85653" + } + ], + "repository": { + "id": 167913211, + "node_id": "MDEwOlJlcG9zaXRvcnkxNjc5MTMyMTE=", + "name": "product-sans", + "full_name": "soham2008xyz/product-sans", + "private": false, + "owner": { + "login": "soham2008xyz", + "id": 7334295, + "node_id": "MDQ6VXNlcjczMzQyOTU=", + "avatar_url": "https://avatars.githubusercontent.com/u/7334295?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/soham2008xyz", + "html_url": "https://github.com/soham2008xyz", + "followers_url": "https://api.github.com/users/soham2008xyz/followers", + "following_url": "https://api.github.com/users/soham2008xyz/following{/other_user}", + "gists_url": "https://api.github.com/users/soham2008xyz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/soham2008xyz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/soham2008xyz/subscriptions", + "organizations_url": "https://api.github.com/users/soham2008xyz/orgs", + "repos_url": "https://api.github.com/users/soham2008xyz/repos", + "events_url": "https://api.github.com/users/soham2008xyz/events{/privacy}", + "received_events_url": "https://api.github.com/users/soham2008xyz/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "html_url": "https://github.com/soham2008xyz/product-sans", + "description": "Product Sans webfont from Google", + "fork": false, + "url": "https://api.github.com/repos/soham2008xyz/product-sans", + "forks_url": "https://api.github.com/repos/soham2008xyz/product-sans/forks", + "keys_url": "https://api.github.com/repos/soham2008xyz/product-sans/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/soham2008xyz/product-sans/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/soham2008xyz/product-sans/teams", + "hooks_url": "https://api.github.com/repos/soham2008xyz/product-sans/hooks", + "issue_events_url": "https://api.github.com/repos/soham2008xyz/product-sans/issues/events{/number}", + "events_url": "https://api.github.com/repos/soham2008xyz/product-sans/events", + "assignees_url": "https://api.github.com/repos/soham2008xyz/product-sans/assignees{/user}", + "branches_url": "https://api.github.com/repos/soham2008xyz/product-sans/branches{/branch}", + "tags_url": "https://api.github.com/repos/soham2008xyz/product-sans/tags", + "blobs_url": "https://api.github.com/repos/soham2008xyz/product-sans/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/soham2008xyz/product-sans/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/soham2008xyz/product-sans/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/soham2008xyz/product-sans/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/soham2008xyz/product-sans/statuses/{sha}", + "languages_url": "https://api.github.com/repos/soham2008xyz/product-sans/languages", + "stargazers_url": "https://api.github.com/repos/soham2008xyz/product-sans/stargazers", + "contributors_url": "https://api.github.com/repos/soham2008xyz/product-sans/contributors", + "subscribers_url": "https://api.github.com/repos/soham2008xyz/product-sans/subscribers", + "subscription_url": "https://api.github.com/repos/soham2008xyz/product-sans/subscription", + "commits_url": "https://api.github.com/repos/soham2008xyz/product-sans/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/soham2008xyz/product-sans/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/soham2008xyz/product-sans/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/soham2008xyz/product-sans/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/soham2008xyz/product-sans/contents/{+path}", + "compare_url": "https://api.github.com/repos/soham2008xyz/product-sans/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/soham2008xyz/product-sans/merges", + "archive_url": "https://api.github.com/repos/soham2008xyz/product-sans/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/soham2008xyz/product-sans/downloads", + "issues_url": "https://api.github.com/repos/soham2008xyz/product-sans/issues{/number}", + "pulls_url": "https://api.github.com/repos/soham2008xyz/product-sans/pulls{/number}", + "milestones_url": "https://api.github.com/repos/soham2008xyz/product-sans/milestones{/number}", + "notifications_url": "https://api.github.com/repos/soham2008xyz/product-sans/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/soham2008xyz/product-sans/labels{/name}", + "releases_url": "https://api.github.com/repos/soham2008xyz/product-sans/releases{/id}", + "deployments_url": "https://api.github.com/repos/soham2008xyz/product-sans/deployments" + }, + "score": 1.0 + } + ] +} diff --git a/frontend/frontend/src/mockData/gist.json b/frontend/frontend/src/mockData/gist.json new file mode 100644 index 00000000..8960d098 --- /dev/null +++ b/frontend/frontend/src/mockData/gist.json @@ -0,0 +1,25 @@ +{ + "data": { + "viewer": { + "gist": { + "description": "List of countries and territories in English and Spanish: name, continent, capital, dial code, country codes, TLD, and area in sq km. Lista de países y territorios en Inglés y Español: nombre, continente, capital, código de teléfono, códigos de país, dominio y área en km cuadrados. Updated 2024", + "owner": { + "login": "Yizack" + }, + "stargazerCount": 41, + "forks": { + "totalCount": 14 + }, + "files": [ + { + "name": "countries.json", + "language": { + "name": "JSON" + }, + "size": 88350 + } + ] + } + } + } +} diff --git a/frontend/frontend/src/mockData/repository.json b/frontend/frontend/src/mockData/repository.json new file mode 100644 index 00000000..89ba2e16 --- /dev/null +++ b/frontend/frontend/src/mockData/repository.json @@ -0,0 +1,39 @@ +{ + "data": { + "user": { + "repository": { + "name": "github-readme-stats", + "nameWithOwner": "anuraghazra/github-readme-stats", + "isPrivate": false, + "isArchived": false, + "isTemplate": false, + "stargazers": { + "totalCount": 76994 + }, + "description": ":zap: Dynamically generated stats for your github readmes", + "primaryLanguage": { + "color": "#f1e05a", + "id": "MDg6TGFuZ3VhZ2UxNDA=", + "name": "JavaScript" + }, + "forkCount": 26873 + } + }, + "organization": null + }, + "errors": [ + { + "type": "NOT_FOUND", + "path": [ + "organization" + ], + "locations": [ + { + "line": 25, + "column": 9 + } + ], + "message": "Could not resolve to an Organization with the login of 'anuraghazra'." + } + ] +} diff --git a/frontend/frontend/src/mockData/reviewed_prs.json b/frontend/frontend/src/mockData/reviewed_prs.json new file mode 100644 index 00000000..d2e2b7ad --- /dev/null +++ b/frontend/frontend/src/mockData/reviewed_prs.json @@ -0,0 +1,81 @@ +{ + "total_count": 796, + "incomplete_results": false, + "items": [ + { + "url": "https://api.github.com/repos/razorpay/blade/issues/3020", + "repository_url": "https://api.github.com/repos/razorpay/blade", + "labels_url": "https://api.github.com/repos/razorpay/blade/issues/3020/labels{/name}", + "comments_url": "https://api.github.com/repos/razorpay/blade/issues/3020/comments", + "events_url": "https://api.github.com/repos/razorpay/blade/issues/3020/events", + "html_url": "https://github.com/razorpay/blade/pull/3020", + "id": 3637156493, + "node_id": "PR_kwDODhyVk860D02D", + "number": 3020, + "title": "Added Link Component to Svelte | Cursor Rules for Effecient React to Svelte Migration", + "user": { + "login": "kashishbehl", + "id": 104421875, + "node_id": "U_kgDOBjlZ8w", + "avatar_url": "https://avatars.githubusercontent.com/u/104421875?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kashishbehl", + "html_url": "https://github.com/kashishbehl", + "followers_url": "https://api.github.com/users/kashishbehl/followers", + "following_url": "https://api.github.com/users/kashishbehl/following{/other_user}", + "gists_url": "https://api.github.com/users/kashishbehl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kashishbehl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kashishbehl/subscriptions", + "organizations_url": "https://api.github.com/users/kashishbehl/orgs", + "repos_url": "https://api.github.com/users/kashishbehl/repos", + "events_url": "https://api.github.com/users/kashishbehl/events{/privacy}", + "received_events_url": "https://api.github.com/users/kashishbehl/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "labels": [ + + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [ + + ], + "milestone": null, + "comments": 2, + "created_at": "2025-11-18T09:48:46Z", + "updated_at": "2025-11-21T06:50:10Z", + "closed_at": null, + "author_association": "NONE", + "type": null, + "active_lock_reason": null, + "draft": true, + "pull_request": { + "url": "https://api.github.com/repos/razorpay/blade/pulls/3020", + "html_url": "https://github.com/razorpay/blade/pull/3020", + "diff_url": "https://github.com/razorpay/blade/pull/3020.diff", + "patch_url": "https://github.com/razorpay/blade/pull/3020.patch", + "merged_at": null + }, + "body": "## Description\r\nAdded Initial Changes for Blade Svelte Migration\r\n\r\n1. Cursor Rules for migrating to Svelte\r\n2. Migrated Link Component to blade-svelte\r\n3. Added common utils to blade-core\r\n\r\n|Link type|Screenshot|\r\n|---------|------------|\r\n|Anchor link|\"image\"|\r\n|Button Link|\"image\"|\r\n|Link with colors|\"image\"|\r\n\r\n\r\n## Changes\r\n\r\n\r\n\r\n## Additional Information\r\n\r\n\r\n\r\n## Component Checklist\r\n\r\n\r\n\r\n- [ ] Update Component Status Page\r\n- [ ] Perform Manual Testing in Other Browsers\r\n- [ ] Add KitchenSink Story\r\n- [ ] Add Interaction Tests (if applicable)\r\n- [ ] Add changeset\r\n", + "reactions": { + "url": "https://api.github.com/repos/razorpay/blade/issues/3020/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/razorpay/blade/issues/3020/timeline", + "performed_via_github_app": null, + "state_reason": null, + "score": 1.0 + } + ] +} diff --git a/frontend/frontend/src/mockData/top_languages.json b/frontend/frontend/src/mockData/top_languages.json new file mode 100644 index 00000000..b2bfc8b6 --- /dev/null +++ b/frontend/frontend/src/mockData/top_languages.json @@ -0,0 +1,1931 @@ +{ + "data": { + "user": { + "repositories": { + "nodes": [ + { + "name": "verlet_tests", + "languages": { + "edges": [ + { + "size": 210944, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 91013, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 21652, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "Electron_experiments", + "languages": { + "edges": [ + { + "size": 150035, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 71334, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 20096, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "verlet.js", + "languages": { + "edges": [ + { + "size": 68497, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 44040, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 1143, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "creativechat", + "languages": { + "edges": [ + { + "size": 4857, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2504, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 2229, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "VerletDrawing", + "languages": { + "edges": [ + { + "size": 179171, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 63961, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 31447, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "Atomic.js", + "languages": { + "edges": [ + { + "size": 38753, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1513, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "EvolutionAquerium", + "languages": { + "edges": [ + { + "size": 38584, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 4299, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 3555, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "classicLogo", + "languages": { + "edges": [ + { + "size": 46067, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1044, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 964, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "simplerockets", + "languages": { + "edges": [ + { + "size": 45391, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1860, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "Candy.js", + "languages": { + "edges": [ + { + "size": 37912, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 11350, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "WebGL.js", + "languages": { + "edges": [ + { + "size": 141735, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 18858, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 13203, + "node": { + "color": "#5686a5", + "name": "GLSL" + } + } + ] + } + }, + { + "name": "anuraghazra.github.io-old", + "languages": { + "edges": [ + { + "size": 141706, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 42037, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 39393, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "CanvasFun", + "languages": { + "edges": [ + { + "size": 4328862, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 50479, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 4802, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 465, + "node": { + "color": "#89e051", + "name": "Shell" + } + } + ] + } + }, + { + "name": "YoutubeDownloader", + "languages": { + "edges": [ + { + "size": 500, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 350, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "NewtonsInterpolation", + "languages": { + "edges": [ + { + "size": 1949, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 481, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "Loader.js", + "languages": { + "edges": [ + { + "size": 1968, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1608, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "LSystemCreator", + "languages": { + "edges": [ + { + "size": 11949, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2562, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 1848, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "QuickerPoll", + "languages": { + "edges": [ + { + "size": 46361, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1662, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 728, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "anuraghazra.github.io-old-react", + "languages": { + "edges": [ + { + "size": 65901, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 15692, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 5807, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "YouBackup", + "languages": { + "edges": [ + { + "size": 1842, + "node": { + "color": "#3572A5", + "name": "Python" + } + } + ] + } + }, + { + "name": "GyroDodge", + "languages": { + "edges": [ + { + "size": 13474, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1721, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 1716, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "Verly.js", + "languages": { + "edges": [ + { + "size": 56329, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 11017, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 865, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "ShaderExpo", + "languages": { + "edges": [ + { + "size": 48245, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 22985, + "node": { + "color": "#5686a5", + "name": "GLSL" + } + }, + { + "size": 10992, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 8301, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "Nothing", + "languages": { + "edges": [ + { + "size": 208, + "node": { + "color": "#6E4C13", + "name": "Assembly" + } + }, + { + "size": 192, + "node": { + "color": "#438eff", + "name": "Objective-C" + } + }, + { + "size": 165, + "node": { + "color": "#178600", + "name": "C#" + } + }, + { + "size": 138, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 114, + "node": { + "color": "#c22d40", + "name": "Scala" + } + }, + { + "size": 109, + "node": { + "color": "#b07219", + "name": "Java" + } + }, + { + "size": 100, + "node": { + "color": "#02f88c", + "name": "Ada" + } + }, + { + "size": 86, + "node": { + "color": "#945db7", + "name": "Visual Basic .NET" + } + }, + { + "size": 83, + "node": { + "color": "#df7900", + "name": "Haxe" + } + }, + { + "size": 72, + "node": { + "color": "#ba595e", + "name": "D" + } + } + ] + } + }, + { + "name": "harleydavidson", + "languages": { + "edges": [ + { + "size": 5999, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 5659, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 5107, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "FlockingBlackHole", + "languages": { + "edges": [ + { + "size": 15141, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2176, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "NikeHyperAce", + "languages": { + "edges": [ + { + "size": 29319, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2086, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 1243, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "ParticleBrush", + "languages": { + "edges": [ + { + "size": 4481, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1565, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "gatsby-starter-netlify-cms", + "languages": { + "edges": [ + { + "size": 54976, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2877, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "parasites", + "languages": { + "edges": [ + { + "size": 9884, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2276, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "VerlyRangeSlider", + "languages": { + "edges": [ + { + "size": 4335, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 2498, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1198, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "Slime", + "languages": { + "edges": [ + { + "size": 3642, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1521, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 299, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "weird-hello-worlds", + "languages": { + "edges": [ + { + "size": 2143, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1737, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "circleci-test", + "languages": { + "edges": [ + { + "size": 19076, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 11280, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "anuraghazra.github.io", + "languages": { + "edges": [ + { + "size": 127321, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 14938, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "gatsby-github-issues-blog", + "languages": { + "edges": [ + { + "size": 19460, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "2k76", + "languages": { + "edges": [ + { + "size": 497222, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 135440, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 123298, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "GithubActionsPlayground", + "languages": { + "edges": [ + { + "size": 1532, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "react-stripe-dropdown", + "languages": { + "edges": [ + { + "size": 13982, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 4951, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1708, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "CanvasBalls", + "languages": { + "edges": [ + { + "size": 1563, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 408, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 150, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "facebook-reaction-animation", + "languages": { + "edges": [ + { + "size": 13207, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1748, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 175, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "gatsby-plugin-social-banners", + "languages": { + "edges": [ + { + "size": 2693, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "BugVilla", + "languages": { + "edges": [ + { + "size": 188614, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 72835, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 5686, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 1834, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "coder-aayush.github.io", + "languages": { + "edges": [ + { + "size": 14938, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 11100, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 1283, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "nodejs-dynamic-restapi", + "languages": { + "edges": [ + { + "size": 1825, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "code-runner-action", + "languages": { + "edges": [ + { + "size": 1737, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "test-myaction", + "languages": { + "edges": [] + } + }, + { + "name": "covid19-sim", + "languages": { + "edges": [ + { + "size": 18132, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 2569, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 1232, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "graphql-jwt-auth-test", + "languages": { + "edges": [ + { + "size": 8231, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "react-folder-tree", + "languages": { + "edges": [ + { + "size": 18339, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1732, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 70, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "csb-git-integration-bug", + "languages": { + "edges": [ + { + "size": 1544, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 595, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 58, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "AnuReact", + "languages": { + "edges": [ + { + "size": 10139, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 175, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 36, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "VanillaMVC", + "languages": { + "edges": [ + { + "size": 6007, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 259, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "graphql-oauth", + "languages": { + "edges": [ + { + "size": 10560, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "graphql-oauth-client", + "languages": { + "edges": [ + { + "size": 17353, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 5086, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1721, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 947, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "design-patterns-everyday", + "languages": { + "edges": [ + { + "size": 32340, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 4794, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "convoychat", + "languages": { + "edges": [ + { + "size": 296797, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 4989, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1808, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 787, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "webhooks-test", + "languages": { + "edges": [] + } + }, + { + "name": "abell-issues-blog", + "languages": { + "edges": [ + { + "size": 2795, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 1547, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "micro-open-graph", + "languages": { + "edges": [ + { + "size": 1564, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "anuraghazra", + "languages": { + "edges": [] + } + }, + { + "name": "github-readme-stats", + "languages": { + "edges": [ + { + "size": 429394, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 573, + "node": { + "color": "#89e051", + "name": "Shell" + } + } + ] + } + }, + { + "name": "ts-string-interpolator", + "languages": { + "edges": [ + { + "size": 1738, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "rust-particles", + "languages": { + "edges": [ + { + "size": 3122, + "node": { + "color": "#dea584", + "name": "Rust" + } + } + ] + } + }, + { + "name": "tw-dynamic-interpolation", + "languages": { + "edges": [ + { + "size": 12279, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 84, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "ToyLang", + "languages": { + "edges": [ + { + "size": 120383, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "twitter-banner-jokes", + "languages": { + "edges": [ + { + "size": 3587, + "node": { + "color": "#e34c26", + "name": "HTML" + } + }, + { + "size": 1857, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "vscode-strip-ts-copy", + "languages": { + "edges": [ + { + "size": 5372, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "peerlist-profile-action", + "languages": { + "edges": [ + { + "size": 12724, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 172, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "playground-format-on-save", + "languages": { + "edges": [ + { + "size": 8647, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 4572, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "go-phyllotaxis", + "languages": { + "edges": [ + { + "size": 2392, + "node": { + "color": "#00ADD8", + "name": "Go" + } + } + ] + } + }, + { + "name": "react18-ssr-test", + "languages": { + "edges": [ + { + "size": 13591, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 2766, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "typelevel-parser", + "languages": { + "edges": [ + { + "size": 33703, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "test-github-ts", + "languages": { + "edges": [ + { + "size": 3550, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "type-trident", + "languages": { + "edges": [ + { + "size": 37320, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + } + ] + } + }, + { + "name": "codesandbox-template-astro", + "languages": { + "edges": [ + { + "size": 4509, + "node": { + "color": "#ff5a03", + "name": "Astro" + } + }, + { + "size": 109, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "test-codesandbox-projects", + "languages": { + "edges": [] + } + }, + { + "name": "test-fork-workflow", + "languages": { + "edges": [ + { + "size": 655, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "test-githubblock", + "languages": { + "edges": [ + { + "size": 2401, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 557, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 34, + "node": { + "color": "#663399", + "name": "CSS" + } + } + ] + } + }, + { + "name": "verly-cpp", + "languages": { + "edges": [ + { + "size": 24716, + "node": { + "color": "#f34b7d", + "name": "C++" + } + }, + { + "size": 3314, + "node": { + "color": "#427819", + "name": "Makefile" + } + }, + { + "size": 424, + "node": { + "color": "#000080", + "name": "Lua" + } + } + ] + } + }, + { + "name": "rn-tabview-test-repro", + "languages": { + "edges": [ + { + "size": 1577, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 494, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "tslint-plugin-analytics", + "languages": { + "edges": [ + { + "size": 4831, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 682, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + } + ] + } + }, + { + "name": "blade-checkout-ui-demo", + "languages": { + "edges": [ + { + "size": 7129, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 436, + "node": { + "color": "#f1e05a", + "name": "JavaScript" + } + }, + { + "size": 366, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + }, + { + "name": "webgpu-boids", + "languages": { + "edges": [ + { + "size": 26109, + "node": { + "color": "#3178c6", + "name": "TypeScript" + } + }, + { + "size": 423, + "node": { + "color": "#663399", + "name": "CSS" + } + }, + { + "size": 334, + "node": { + "color": "#e34c26", + "name": "HTML" + } + } + ] + } + } + ] + } + } + } +} diff --git a/frontend/frontend/src/mockData/user_stats.json b/frontend/frontend/src/mockData/user_stats.json new file mode 100644 index 00000000..6315b4fe --- /dev/null +++ b/frontend/frontend/src/mockData/user_stats.json @@ -0,0 +1,196 @@ +{ + "data": { + "user": { + "name": "Anurag Hazra", + "login": "anuraghazra", + "commits": { "totalCommitContributions": 48 }, + "reviews": { "totalPullRequestReviewContributions": 150 }, + "repositoriesContributedTo": { "totalCount": 1 }, + "pullRequests": { "totalCount": 820 }, + "openIssues": { "totalCount": 72 }, + "closedIssues": { "totalCount": 108 }, + "followers": { "totalCount": 14409 }, + "repositories": { + "totalCount": 139, + "nodes": [ + { + "name": "github-readme-stats", + "stargazers": { "totalCount": 76994 } + }, + { "name": "Verly.js", "stargazers": { "totalCount": 696 } }, + { + "name": "anuraghazra.github.io", + "stargazers": { "totalCount": 608 } + }, + { "name": "anuraghazra", "stargazers": { "totalCount": 375 } }, + { "name": "type-trident", "stargazers": { "totalCount": 359 } }, + { "name": "BugVilla", "stargazers": { "totalCount": 232 } }, + { "name": "convoychat", "stargazers": { "totalCount": 214 } }, + { "name": "CanvasFun", "stargazers": { "totalCount": 211 } }, + { "name": "EvolutionAquerium", "stargazers": { "totalCount": 192 } }, + { "name": "typelevel-parser", "stargazers": { "totalCount": 147 } }, + { "name": "VerlyRangeSlider", "stargazers": { "totalCount": 135 } }, + { + "name": "vscode-strip-ts-copy", + "stargazers": { "totalCount": 72 } + }, + { "name": "react-folder-tree", "stargazers": { "totalCount": 54 } }, + { "name": "Atomic.js", "stargazers": { "totalCount": 53 } }, + { "name": "ToyLang", "stargazers": { "totalCount": 51 } }, + { + "name": "design-patterns-everyday", + "stargazers": { "totalCount": 46 } + }, + { "name": "gatsby", "stargazers": { "totalCount": 36 } }, + { "name": "Slime", "stargazers": { "totalCount": 35 } }, + { "name": "Candy.js", "stargazers": { "totalCount": 34 } }, + { "name": "ShaderExpo", "stargazers": { "totalCount": 33 } }, + { "name": "Nothing", "stargazers": { "totalCount": 32 } }, + { + "name": "peerlist-profile-action", + "stargazers": { "totalCount": 30 } + }, + { + "name": "facebook-reaction-animation", + "stargazers": { "totalCount": 29 } + }, + { + "name": "react-stripe-dropdown", + "stargazers": { "totalCount": 27 } + }, + { "name": "QuickerPoll", "stargazers": { "totalCount": 27 } }, + { + "name": "playground-format-on-save", + "stargazers": { "totalCount": 24 } + }, + { "name": "ParticleBrush", "stargazers": { "totalCount": 23 } }, + { "name": "graphql-oauth", "stargazers": { "totalCount": 21 } }, + { "name": "parasites", "stargazers": { "totalCount": 21 } }, + { + "name": "twitter-banner-jokes", + "stargazers": { "totalCount": 18 } + }, + { "name": "verly-cpp", "stargazers": { "totalCount": 16 } }, + { + "name": "gatsby-github-issues-blog", + "stargazers": { "totalCount": 16 } + }, + { "name": "NikeHyperAce", "stargazers": { "totalCount": 12 } }, + { "name": "rust-particles", "stargazers": { "totalCount": 11 } }, + { "name": "VerletDrawing", "stargazers": { "totalCount": 10 } }, + { + "name": "graphql-jwt-auth-test", + "stargazers": { "totalCount": 9 } + }, + { + "name": "anuraghazra.github.io-old-react", + "stargazers": { "totalCount": 9 } + }, + { "name": "react18-ssr-test", "stargazers": { "totalCount": 8 } }, + { "name": "GyroDodge", "stargazers": { "totalCount": 8 } }, + { "name": "go-phyllotaxis", "stargazers": { "totalCount": 6 } }, + { "name": "graphql-oauth-client", "stargazers": { "totalCount": 6 } }, + { "name": "code-runner-action", "stargazers": { "totalCount": 6 } }, + { + "name": "GithubActionsPlayground", + "stargazers": { "totalCount": 6 } + }, + { "name": "Loader.js", "stargazers": { "totalCount": 6 } }, + { "name": "ts-essentials", "stargazers": { "totalCount": 5 } }, + { "name": "chakra-ui", "stargazers": { "totalCount": 5 } }, + { "name": "text-to-handwriting", "stargazers": { "totalCount": 5 } }, + { "name": "build-your-own-x", "stargazers": { "totalCount": 5 } }, + { + "name": "nodejs-dynamic-restapi", + "stargazers": { "totalCount": 5 } + }, + { "name": "DevYouTubeList", "stargazers": { "totalCount": 5 } }, + { "name": "FlockingBlackHole", "stargazers": { "totalCount": 5 } }, + { "name": "webgpu-boids", "stargazers": { "totalCount": 4 } }, + { "name": "test-githubblock", "stargazers": { "totalCount": 4 } }, + { + "name": "renderless-components", + "stargazers": { "totalCount": 4 } + }, + { "name": "reakit", "stargazers": { "totalCount": 4 } }, + { "name": "micro-open-graph", "stargazers": { "totalCount": 4 } }, + { "name": "rest-and-graphql", "stargazers": { "totalCount": 4 } }, + { "name": "abell-issues-blog", "stargazers": { "totalCount": 4 } }, + { "name": "VanillaMVC", "stargazers": { "totalCount": 4 } }, + { "name": "covid19-sim", "stargazers": { "totalCount": 4 } }, + { "name": "YoutubeDownloader", "stargazers": { "totalCount": 4 } }, + { "name": "WebGL.js", "stargazers": { "totalCount": 4 } }, + { "name": "verlet.js", "stargazers": { "totalCount": 4 } }, + { "name": "test-github-ts", "stargazers": { "totalCount": 3 } }, + { + "name": "tw-dynamic-interpolation", + "stargazers": { "totalCount": 3 } + }, + { + "name": "ts-string-interpolator", + "stargazers": { "totalCount": 3 } + }, + { "name": "AnuReact", "stargazers": { "totalCount": 3 } }, + { "name": "CanvasBalls", "stargazers": { "totalCount": 3 } }, + { "name": "circleci-test", "stargazers": { "totalCount": 3 } }, + { + "name": "gatsby-starter-netlify-cms", + "stargazers": { "totalCount": 3 } + }, + { "name": "test-fork-workflow", "stargazers": { "totalCount": 2 } }, + { + "name": "test-codesandbox-projects", + "stargazers": { "totalCount": 2 } + }, + { + "name": "codesandbox-template-astro", + "stargazers": { "totalCount": 2 } + }, + { "name": "apollo", "stargazers": { "totalCount": 2 } }, + { "name": "api-docs", "stargazers": { "totalCount": 2 } }, + { "name": "Buddies-movie", "stargazers": { "totalCount": 2 } }, + { "name": "2k76", "stargazers": { "totalCount": 2 } }, + { + "name": "gatsby-remark-embedder", + "stargazers": { "totalCount": 2 } + }, + { "name": "weird-hello-worlds", "stargazers": { "totalCount": 2 } }, + { + "name": "rn-tabview-test-repro", + "stargazers": { "totalCount": 1 } + }, + { "name": "tailwindcss-jit", "stargazers": { "totalCount": 1 } }, + { "name": "DefinitelyTyped", "stargazers": { "totalCount": 1 } }, + { + "name": "server-components-demo", + "stargazers": { "totalCount": 1 } + }, + { "name": "volant-vo", "stargazers": { "totalCount": 1 } }, + { "name": "react-spectrum", "stargazers": { "totalCount": 1 } }, + { "name": "webhooks-test", "stargazers": { "totalCount": 1 } }, + { "name": "react-showdown", "stargazers": { "totalCount": 1 } }, + { "name": "transcode", "stargazers": { "totalCount": 1 } }, + { "name": "awake-yet-action", "stargazers": { "totalCount": 1 } }, + { "name": "bradgarropy.com", "stargazers": { "totalCount": 1 } }, + { + "name": "gatsby-plugin-social-banners", + "stargazers": { "totalCount": 1 } + }, + { "name": "Tour360", "stargazers": { "totalCount": 1 } }, + { "name": "blizard.js", "stargazers": { "totalCount": 1 } }, + { "name": "keep-a-changelog", "stargazers": { "totalCount": 1 } }, + { "name": "vulnerabilities", "stargazers": { "totalCount": 1 } }, + { "name": "harleydavidson", "stargazers": { "totalCount": 1 } }, + { "name": "awesome-webgl", "stargazers": { "totalCount": 1 } }, + { "name": "NewtonsInterpolation", "stargazers": { "totalCount": 1 } }, + { "name": "now-github-starter", "stargazers": { "totalCount": 1 } }, + { "name": "simplerockets", "stargazers": { "totalCount": 1 } } + ], + "pageInfo": { + "hasNextPage": true, + "endCursor": "Y3Vyc29yOnYyOpIBzgh5q48=" + } + } + } + } +} diff --git a/frontend/frontend/src/mockData/wakatime_proxy.json b/frontend/frontend/src/mockData/wakatime_proxy.json new file mode 100644 index 00000000..54b00be7 --- /dev/null +++ b/frontend/frontend/src/mockData/wakatime_proxy.json @@ -0,0 +1,361 @@ +{ + "id": "10d3dbf0-217c-451a-b39d-7125faca6776", + "user_id": "2dd5e7c6-e792-422f-9f0e-e76985af66e2", + "range": "last_year", + "timeout": 15, + "writes_only": false, + "holidays": 231, + "status": "ok", + "is_stuck": false, + "days_minus_holidays": 134, + "percent_calculated": 100, + "is_already_updating": false, + "is_up_to_date": true, + "total_seconds": 263996.570273, + "days_including_holidays": 365, + "total_seconds_including_other_language": 770251.949874, + "daily_average_including_other_language": 5748, + "daily_average": 1970, + "human_readable_total_including_other_language": "213 hrs 57 mins", + "operating_systems": [ + { + "total_seconds": 496480.13012, + "name": "Unknown OS", + "percent": 64.46, + "digital": "137:54", + "decimal": "137.90", + "text": "137 hrs 54 mins", + "hours": 137, + "minutes": 54 + }, + { + "total_seconds": 272853.07107, + "name": "Linux", + "percent": 35.42, + "digital": "75:47", + "decimal": "75.78", + "text": "75 hrs 47 mins", + "hours": 75, + "minutes": 47 + }, + { + "total_seconds": 918.748684, + "name": "Windows", + "percent": 0.12, + "digital": "0:15", + "decimal": "0.25", + "text": "15 mins", + "hours": 0, + "minutes": 15 + } + ], + "categories": [ + { + "name": "Meeting", + "total_seconds": 496480.13012, + "percent": 64.46, + "digital": "137:54", + "decimal": "137.90", + "text": "137 hrs 54 mins", + "hours": 137, + "minutes": 54 + }, + { + "name": "Coding", + "total_seconds": 273771.819754, + "percent": 35.54, + "digital": "76:02", + "decimal": "76.03", + "text": "76 hrs 2 mins", + "hours": 76, + "minutes": 2 + } + ], + "editors": [ + { + "total_seconds": 496480.13012, + "name": "Google Calendar", + "percent": 64.46, + "digital": "137:54", + "decimal": "137.90", + "text": "137 hrs 54 mins", + "hours": 137, + "minutes": 54 + }, + { + "total_seconds": 250778.595434, + "name": "VS Code", + "percent": 32.56, + "digital": "69:39", + "decimal": "69.65", + "text": "69 hrs 39 mins", + "hours": 69, + "minutes": 39 + }, + { + "total_seconds": 22993.22432, + "name": "DataGrip", + "percent": 2.99, + "digital": "6:23", + "decimal": "6.38", + "text": "6 hrs 23 mins", + "hours": 6, + "minutes": 23 + } + ], + "human_readable_daily_average_including_other_language": "1 hr 35 mins", + "is_up_to_date_pending_future": false, + "human_readable_total": "73 hrs 19 mins", + "languages": [ + { + "name": "Other", + "total_seconds": 506255.379601, + "percent": 65.73, + "digital": "140:37", + "decimal": "140.62", + "text": "140 hrs 37 mins", + "hours": 140, + "minutes": 37 + }, + { + "name": "TypeScript", + "total_seconds": 74336.229167, + "percent": 9.65, + "digital": "20:38", + "decimal": "20.63", + "text": "20 hrs 38 mins", + "hours": 20, + "minutes": 38 + }, + { + "name": "PHP", + "total_seconds": 41144.797498, + "percent": 5.34, + "digital": "11:25", + "decimal": "11.42", + "text": "11 hrs 25 mins", + "hours": 11, + "minutes": 25 + }, + { + "name": "Vue.js", + "total_seconds": 27060.047966, + "percent": 3.51, + "digital": "7:31", + "decimal": "7.52", + "text": "7 hrs 31 mins", + "hours": 7, + "minutes": 31 + }, + { + "name": "JavaScript", + "total_seconds": 26924.099536, + "percent": 3.5, + "digital": "7:28", + "decimal": "7.47", + "text": "7 hrs 28 mins", + "hours": 7, + "minutes": 28 + }, + { + "name": "JSON", + "total_seconds": 26366.784244, + "percent": 3.42, + "digital": "7:19", + "decimal": "7.32", + "text": "7 hrs 19 mins", + "hours": 7, + "minutes": 19 + }, + { + "name": "SQL", + "total_seconds": 23022.426581, + "percent": 2.99, + "digital": "6:23", + "decimal": "6.38", + "text": "6 hrs 23 mins", + "hours": 6, + "minutes": 23 + }, + { + "name": "Blade Template", + "total_seconds": 15362.231057, + "percent": 1.99, + "digital": "4:16", + "decimal": "4.27", + "text": "4 hrs 16 mins", + "hours": 4, + "minutes": 16 + }, + { + "name": "Bash", + "total_seconds": 8844.393415, + "percent": 1.15, + "digital": "2:27", + "decimal": "2.45", + "text": "2 hrs 27 mins", + "hours": 2, + "minutes": 27 + }, + { + "name": "HTML", + "total_seconds": 8555.093038, + "percent": 1.11, + "digital": "2:22", + "decimal": "2.37", + "text": "2 hrs 22 mins", + "hours": 2, + "minutes": 22 + }, + { + "name": "Markdown", + "total_seconds": 3799.950136, + "percent": 0.49, + "digital": "1:03", + "decimal": "1.05", + "text": "1 hr 3 mins", + "hours": 1, + "minutes": 3 + }, + { + "name": "Python", + "total_seconds": 3182.262429, + "percent": 0.41, + "digital": "0:53", + "decimal": "0.88", + "text": "53 mins", + "hours": 0, + "minutes": 53 + }, + { + "name": "SCSS", + "total_seconds": 1421.7404, + "percent": 0.18, + "digital": "0:23", + "decimal": "0.38", + "text": "23 mins", + "hours": 0, + "minutes": 23 + }, + { + "name": "TSConfig", + "total_seconds": 1184.367779, + "percent": 0.15, + "digital": "0:19", + "decimal": "0.32", + "text": "19 mins", + "hours": 0, + "minutes": 19 + }, + { + "name": "TOML", + "total_seconds": 1073.305056, + "percent": 0.14, + "digital": "0:17", + "decimal": "0.28", + "text": "17 mins", + "hours": 0, + "minutes": 17 + }, + { + "name": "Image (svg)", + "total_seconds": 1065.634724, + "percent": 0.14, + "digital": "0:17", + "decimal": "0.28", + "text": "17 mins", + "hours": 0, + "minutes": 17 + }, + { + "name": "Text", + "total_seconds": 220.856383, + "percent": 0.03, + "digital": "0:03", + "decimal": "0.05", + "text": "3 mins", + "hours": 0, + "minutes": 3 + }, + { + "name": "CSS", + "total_seconds": 205.648265, + "percent": 0.03, + "digital": "0:03", + "decimal": "0.05", + "text": "3 mins", + "hours": 0, + "minutes": 3 + }, + { + "name": "Git Config", + "total_seconds": 89.248561, + "percent": 0.01, + "digital": "0:01", + "decimal": "0.02", + "text": "1 min", + "hours": 0, + "minutes": 1 + }, + { + "name": "Makefile", + "total_seconds": 77.397983, + "percent": 0.01, + "digital": "0:01", + "decimal": "0.02", + "text": "1 min", + "hours": 0, + "minutes": 1 + }, + { + "name": "Diff", + "total_seconds": 36.762629, + "percent": 0, + "digital": "0:00", + "decimal": "0.00", + "text": "0 secs", + "hours": 0, + "minutes": 0 + }, + { + "name": "GitIgnore file", + "total_seconds": 8.992, + "percent": 0, + "digital": "0:00", + "decimal": "0.00", + "text": "0 secs", + "hours": 0, + "minutes": 0 + }, + { + "name": "YAML", + "total_seconds": 8.961989, + "percent": 0, + "digital": "0:00", + "decimal": "0.00", + "text": "0 secs", + "hours": 0, + "minutes": 0 + }, + { + "name": "Docker", + "total_seconds": 5.339437, + "percent": 0, + "digital": "0:00", + "decimal": "0.00", + "text": "0 secs", + "hours": 0, + "minutes": 0 + } + ], + "human_readable_daily_average": "32 mins", + "is_cached": true, + "username": "ffflabs", + "is_including_today": false, + "human_readable_range": "last year", + "is_coding_activity_visible": true, + "is_language_usage_visible": true, + "is_editor_usage_visible": true, + "is_category_usage_visible": true, + "is_os_usage_visible": true +}