From d3adca81d544474a061b4aa679bbc5dc5b1f2794 Mon Sep 17 00:00:00 2001 From: eti Date: Wed, 21 Oct 2026 15:13:14 +0200 Subject: [PATCH] web/repo: split the overview into sections and add a languages page Signed-off-by: eti --- web/src/lib/api/repoIndex.ts | 2 +- ...readme--rendered-sanitized-html.bones.json | 60 +-- ...dexview--panel-skeleton-fixture.bones.json | 402 +++++++-------- ...repoindexview--skeleton-fixture.bones.json | 464 ++++++++---------- .../components/repo/BranchList.stories.svelte | 4 +- web/src/lib/components/repo/BranchList.svelte | 31 +- web/src/lib/components/repo/CommitList.svelte | 106 ++-- .../repo/LanguageBar.stories.svelte | 40 -- .../lib/components/repo/LanguageBar.svelte | 49 -- .../repo/LanguageList.stories.svelte | 45 ++ .../lib/components/repo/LanguageList.svelte | 61 +++ .../repo/LanguageStats.stories.svelte | 33 ++ .../lib/components/repo/LanguageStats.svelte | 107 ++++ .../lib/components/repo/PanelHeader.svelte | 9 +- web/src/lib/components/repo/Readme.svelte | 50 +- .../repo/RepoIndexView.stories.svelte | 4 +- .../lib/components/repo/RepoIndexView.svelte | 195 ++++---- .../lib/components/repo/RepoSection.svelte | 45 ++ .../lib/components/repo/RepoToolbar.svelte | 2 +- web/src/lib/components/repo/TagList.svelte | 12 +- web/src/lib/components/repo/types.ts | 1 + .../[handle]/[repo]/languages/+page.svelte | 10 + .../routes/[handle]/[repo]/languages/+page.ts | 15 + 23 files changed, 938 insertions(+), 809 deletions(-) delete mode 100644 web/src/lib/components/repo/LanguageBar.stories.svelte delete mode 100644 web/src/lib/components/repo/LanguageBar.svelte create mode 100644 web/src/lib/components/repo/LanguageList.stories.svelte create mode 100644 web/src/lib/components/repo/LanguageList.svelte create mode 100644 web/src/lib/components/repo/LanguageStats.stories.svelte create mode 100644 web/src/lib/components/repo/LanguageStats.svelte create mode 100644 web/src/lib/components/repo/RepoSection.svelte create mode 100644 web/src/routes/[handle]/[repo]/languages/+page.svelte create mode 100644 web/src/routes/[handle]/[repo]/languages/+page.ts diff --git a/web/src/lib/api/repoIndex.ts b/web/src/lib/api/repoIndex.ts index 82659d4e5..a7b2c706b 100644 --- a/web/src/lib/api/repoIndex.ts +++ b/web/src/lib/api/repoIndex.ts @@ -55,7 +55,7 @@ export const toLanguageSlices = (languages: { name: string; size: number }[]): L const slices = sized.map((language) => { const share = (language.size / total) * 100; - return { name: language.name, share, percentage: Math.floor(share) }; + return { name: language.name, size: language.size, share, percentage: Math.floor(share) }; }); const short = 100 - slices.reduce((sum, slice) => sum + slice.percentage, 0); diff --git a/web/src/lib/bones/repo-readme--rendered-sanitized-html.bones.json b/web/src/lib/bones/repo-readme--rendered-sanitized-html.bones.json index f52c22261..a5b095b04 100644 --- a/web/src/lib/bones/repo-readme--rendered-sanitized-html.bones.json +++ b/web/src/lib/bones/repo-readme--rendered-sanitized-html.bones.json @@ -4,59 +4,59 @@ "name": "repo-readme--rendered-sanitized-html", "viewportWidth": 343, "width": 343, - "height": 225, + "height": 239, "bones": [ - [0, 0, 100, 225, 8, true, 0, true], - [0, 0, 100, 33, 0, true, 4, false], - [4.6647, 8, 25.3098, 16, 6], - [6.9971, 49, 24.5035, 29, 6], - [6.9971, 103, 68.7773, 18, 6], - [6.9971, 127, 18.1897, 18, 6], - [6.9971, 174, 40.2196, 24, 6] + [0, 0, 100, 239, 12, true, 0, true], + [5.8309, 14, 4.0816, 14, 0], + [1.1662, 43, 97.6676, 192, 8, true, 0, true], + [8.1633, 59, 24.5035, 29, 6], + [8.1633, 113, 68.7773, 18, 6], + [8.1633, 137, 18.1897, 18, 6], + [8.1633, 184, 40.2196, 24, 6] ] }, "768": { "name": "repo-readme--rendered-sanitized-html", "viewportWidth": 736, "width": 736, - "height": 201, + "height": 215, "bones": [ - [0, 0, 100, 201, 8, true, 0, true], - [0, 0, 100, 33, 0, true, 4, false], - [2.1739, 8, 11.7952, 16, 6], - [3.2609, 49, 11.4194, 29, 6], - [3.2609, 103, 41.0199, 18, 6], - [3.2609, 150, 18.7436, 24, 6] + [0, 0, 100, 215, 12, true, 0, true], + [2.7174, 14, 1.9022, 14, 0], + [0.5435, 43, 98.913, 168, 8, true, 0, true], + [3.8043, 59, 11.4194, 29, 6], + [3.8043, 113, 41.0199, 18, 6], + [3.8043, 160, 18.7436, 24, 6] ] }, "1024": { "name": "repo-readme--rendered-sanitized-html", "viewportWidth": 992, "width": 992, - "height": 201, + "height": 215, "bones": [ - [0, 0, 100, 201, 8, true, 0, true], - [0, 0, 100, 33, 0, true, 4, false], - [1.6129, 8, 8.7513, 16, 6], - [2.4194, 49, 8.4725, 29, 6], - [2.4194, 103, 30.4341, 18, 6], - [2.4194, 150, 13.9066, 24, 6] + [0, 0, 100, 215, 12, true, 0, true], + [2.0161, 14, 1.4113, 14, 0], + [0.4032, 43, 99.1935, 168, 8, true, 0, true], + [2.8226, 59, 8.4725, 29, 6], + [2.8226, 113, 30.4341, 18, 6], + [2.8226, 160, 13.9066, 24, 6] ] }, "1440": { "name": "repo-readme--rendered-sanitized-html", "viewportWidth": 1408, "width": 1408, - "height": 201, + "height": 215, "bones": [ - [0, 0, 100, 201, 8, true, 0, true], - [0, 0, 100, 33, 0, true, 4, false], - [1.1364, 8, 6.1657, 16, 6], - [1.7045, 49, 5.9692, 29, 6], - [1.7045, 103, 21.4422, 18, 6], - [1.7045, 150, 9.7978, 24, 6] + [0, 0, 100, 215, 12, true, 0, true], + [1.4205, 14, 0.9943, 14, 0], + [0.2841, 43, 99.4318, 168, 8, true, 0, true], + [1.9886, 59, 5.9692, 29, 6], + [1.9886, 113, 21.4422, 18, 6], + [1.9886, 160, 9.7978, 24, 6] ] } }, - "_hash": "c9f626b19237edcb881c93605d193fd1" + "_hash": "e1a92a492d91d44b7cb976877b986842" } diff --git a/web/src/lib/bones/repo-repoindexview--panel-skeleton-fixture.bones.json b/web/src/lib/bones/repo-repoindexview--panel-skeleton-fixture.bones.json index 29d217479..64f964ee1 100644 --- a/web/src/lib/bones/repo-repoindexview--panel-skeleton-fixture.bones.json +++ b/web/src/lib/bones/repo-repoindexview--panel-skeleton-fixture.bones.json @@ -1,254 +1,196 @@ { "breakpoints": { - "375": { - "name": "repo-repoindexview--panel-skeleton-fixture", - "viewportWidth": 343, - "width": 343, - "height": 911, - "bones": [ - [0, 0, 100, 911, 8, true, 0, true], - [0, 0, 70.2624, 4, 0], - [70.5539, 0, 29.4461, 4, 0], - [3.4985, 16, 81.3411, 32, 8], - [87.172, 16, 9.3294, 32, 8, true, 15, false], - [89.7959, 25, 4.0816, 14, 0], - [3.4985, 104, 93.0029, 1, 0], - [5.8309, 126, 4.0816, 14, 0], - [12.2449, 124, 81.9242, 20, 0], - [3.4985, 68, 31.7602, 16, 6], - [85.4227, 60, 11.0787, 32, 8], - [5.2478, 174, 11.6117, 20, 6], - [5.2478, 202, 20.8227, 20, 6], - [5.2478, 230, 18.5086, 20, 6], - [5.2478, 258, 14.1673, 20, 6], - [5.2478, 286, 17.2239, 20, 6], - [5.2478, 314, 14.8734, 20, 6], - [5.2478, 342, 24.918, 20, 6], - [5.2478, 370, 20.5813, 20, 6], - [5.2478, 398, 11.475, 20, 6], - [5.2478, 426, 14.2948, 20, 6], - [5.2478, 454, 18.8092, 20, 6], - [5.2478, 482, 15.7526, 20, 6], - [5.2478, 510, 15.9257, 20, 6], - [5.2478, 538, 13.6844, 20, 6], - [5.2478, 566, 22.9956, 20, 6], - [5.2478, 594, 28.5168, 20, 6], - [5.2478, 622, 25.4783, 20, 6], - [5.2478, 650, 25.8746, 20, 6], - [5.2478, 678, 22.5082, 20, 6], - [5.2478, 706, 29.4415, 20, 6], - [5.2478, 734, 21.2008, 20, 6], - [5.2478, 762, 23.0913, 20, 6], - [5.2478, 790, 20.9411, 20, 6], - [5.2478, 818, 19.8934, 20, 6], - [5.2478, 846, 19.4925, 20, 6], - [5.2478, 874, 40.3608, 20, 6] - ] - }, "768": { "name": "repo-repoindexview--panel-skeleton-fixture", "viewportWidth": 736, "width": 736, - "height": 811, + "height": 977, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.1214, 4, 0], - [70.2573, 0, 29.7427, 4, 0], - [1.6304, 16, 34.7826, 32, 8], - [37.5, 16, 4.3478, 32, 8, true, 15, false], - [38.7228, 25, 1.9022, 14, 0], - [52.7068, 25, 1.9022, 14, 0], - [55.6959, 23, 29.6196, 20, 0], - [88.0329, 16, 10.3367, 32, 8], - [1.6304, 68, 47.8261, 731, 0, true, 2, false], - [2.4457, 73, 5.4114, 20, 6], - [2.4457, 101, 9.7041, 20, 6], - [2.4457, 129, 8.6256, 20, 6], - [2.4457, 157, 6.6024, 20, 6], - [2.4457, 185, 8.0269, 20, 6], - [2.4457, 213, 6.9315, 20, 6], - [2.4457, 241, 11.6126, 20, 6], - [2.4457, 269, 9.5915, 20, 6], - [2.4457, 297, 5.3477, 20, 6], - [2.4457, 325, 6.6619, 20, 6], - [2.4457, 353, 8.7657, 20, 6], - [2.4457, 381, 7.3412, 20, 6], - [2.4457, 409, 7.4219, 20, 6], - [2.4457, 437, 6.3774, 20, 6], - [2.4457, 465, 10.7167, 20, 6], - [2.4457, 493, 13.2897, 20, 6], - [2.4457, 521, 11.8737, 20, 6], - [2.4457, 549, 12.0584, 20, 6], - [2.4457, 577, 10.4896, 20, 6], - [2.4457, 605, 13.7207, 20, 6], - [2.4457, 633, 9.8803, 20, 6], - [2.4457, 661, 10.7613, 20, 6], - [2.4457, 689, 9.7593, 20, 6], - [2.4457, 717, 9.271, 20, 6], - [2.4457, 745, 9.0842, 20, 6], - [2.4457, 773, 18.8094, 20, 6], - [51.6304, 71, 14.6697, 16, 6], - [51.6304, 98, 19.4633, 16, 6], - [51.6304, 121, 26.7897, 20, 6], - [51.6304, 159, 29.3521, 16, 6], - [51.6304, 182, 26.7897, 20, 6], - [51.6304, 220, 21.0853, 16, 6], - [51.6304, 243, 26.7897, 20, 6], - [51.6304, 281, 19.4633, 16, 6], - [51.6304, 304, 26.7897, 20, 6], - [51.6304, 342, 29.3521, 16, 6], - [51.6304, 365, 26.7897, 20, 6], - [51.6304, 403, 21.0853, 16, 6], - [51.6304, 426, 26.7897, 20, 6], - [51.6304, 464, 19.4633, 16, 6], - [51.6304, 487, 26.7897, 20, 6], - [51.6304, 525, 29.3521, 16, 6], - [51.6304, 548, 26.7897, 20, 6], - [51.6304, 586, 21.0853, 16, 6], - [51.6304, 609, 26.7897, 20, 6], - [51.6304, 647, 19.4633, 16, 6], - [51.6304, 670, 26.7897, 20, 6], - [50.5435, 706, 47.8261, 93, 0, true, 1, false], - [51.6304, 726, 13.9712, 16, 6], - [51.6304, 757, 22.117, 20, 6] + [0, 0, 100, 977, 8, true, 0, true], + [1.6304, 12, 34.7826, 32, 8], + [37.5, 12, 4.3478, 32, 8, true, 15, false], + [38.7228, 21, 1.9022, 14, 0], + [52.7068, 21, 1.9022, 14, 0], + [55.6959, 19, 29.6196, 20, 0], + [88.0329, 12, 10.3367, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9992, 920, 0, true, 2, false], + [2.1739, 76, 1.9022, 14, 0], + [2.1739, 106, 5.4114, 20, 6], + [2.1739, 134, 9.7041, 20, 6], + [2.1739, 162, 8.6256, 20, 6], + [2.1739, 190, 6.6024, 20, 6], + [2.1739, 218, 8.0269, 20, 6], + [2.1739, 246, 6.9315, 20, 6], + [2.1739, 274, 11.6126, 20, 6], + [2.1739, 302, 9.5915, 20, 6], + [2.1739, 330, 5.3477, 20, 6], + [2.1739, 358, 6.6619, 20, 6], + [2.1739, 386, 8.7657, 20, 6], + [2.1739, 414, 7.3412, 20, 6], + [2.1739, 442, 7.4219, 20, 6], + [2.1739, 470, 6.3774, 20, 6], + [2.1739, 498, 10.7167, 20, 6], + [2.1739, 526, 13.2897, 20, 6], + [2.1739, 554, 11.8737, 20, 6], + [2.1739, 582, 12.0584, 20, 6], + [2.1739, 610, 10.4896, 20, 6], + [2.1739, 638, 13.7207, 20, 6], + [2.1739, 666, 9.8803, 20, 6], + [2.1739, 694, 10.7613, 20, 6], + [2.1739, 722, 9.7593, 20, 6], + [2.1739, 750, 9.271, 20, 6], + [2.1739, 778, 9.0842, 20, 6], + [2.1739, 806, 18.8094, 20, 6], + [59.9992, 57, 39.9987, 121, 0, true, 4, false], + [62.1731, 76, 1.9022, 14, 0], + [64.6187, 101, 8.0566, 15, 6], + [94.2998, 101, 3.5241, 15, 6], + [64.6187, 137, 4.5983, 15, 6], + [94.2956, 137, 3.5284, 15, 6], + [59.9992, 178, 39.9987, 707, 0, true, 4, false], + [62.1731, 197, 14.6697, 16, 6], + [62.1731, 232, 19.4633, 16, 6], + [62.1731, 297, 29.3521, 16, 6], + [62.1731, 362, 21.0853, 16, 6], + [62.1731, 427, 19.4633, 16, 6], + [62.1731, 492, 29.3521, 16, 6], + [62.1731, 557, 21.0853, 16, 6], + [62.1731, 622, 19.4633, 16, 6], + [62.1731, 687, 29.3521, 16, 6], + [62.1731, 752, 21.0853, 16, 6], + [62.1731, 817, 19.4633, 16, 6], + [62.1731, 904, 13.9712, 16, 6], + [62.1731, 935, 21.8495, 20, 6] ] }, "1024": { "name": "repo-repoindexview--panel-skeleton-fixture", "viewportWidth": 992, "width": 992, - "height": 811, + "height": 977, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.0904, 4, 0], - [70.1912, 0, 29.8088, 4, 0], - [1.2097, 16, 25.8065, 32, 8], - [27.8226, 16, 3.2258, 32, 8, true, 15, false], - [28.7298, 25, 1.4113, 14, 0], - [64.9115, 25, 1.4113, 14, 0], - [67.1292, 23, 21.9758, 20, 0], - [91.1212, 16, 7.6692, 32, 8], - [1.2097, 68, 48.3871, 731, 0, true, 2, false], - [1.8145, 73, 4.0149, 20, 6], - [1.8145, 101, 7.1998, 20, 6], - [1.8145, 129, 6.3996, 20, 6], - [1.8145, 157, 4.8986, 20, 6], - [1.8145, 185, 5.9555, 20, 6], - [1.8145, 213, 5.1427, 20, 6], - [1.8145, 241, 8.6158, 20, 6], - [1.8145, 269, 7.1163, 20, 6], - [1.8145, 297, 3.9677, 20, 6], - [1.8145, 325, 4.9427, 20, 6], - [1.8145, 353, 6.5036, 20, 6], - [1.8145, 381, 5.4467, 20, 6], - [1.8145, 409, 5.5066, 20, 6], - [1.8145, 437, 4.7316, 20, 6], - [1.8145, 465, 7.9511, 20, 6], - [1.8145, 493, 9.8601, 20, 6], - [1.8145, 521, 8.8095, 20, 6], - [1.8145, 549, 8.9466, 20, 6], - [1.8145, 577, 7.7826, 20, 6], - [1.8145, 605, 10.1799, 20, 6], - [1.8145, 633, 7.3305, 20, 6], - [1.8145, 661, 7.9842, 20, 6], - [1.8145, 689, 7.2407, 20, 6], - [1.8145, 717, 6.8785, 20, 6], - [1.8145, 745, 6.7399, 20, 6], - [1.8145, 773, 13.9554, 20, 6], - [51.2097, 71, 10.8839, 16, 6], - [51.2097, 98, 14.4405, 16, 6], - [51.2097, 121, 19.8762, 20, 6], - [51.2097, 159, 21.7773, 16, 6], - [51.2097, 182, 19.8762, 20, 6], - [51.2097, 220, 15.6439, 16, 6], - [51.2097, 243, 19.8762, 20, 6], - [51.2097, 281, 14.4405, 16, 6], - [51.2097, 304, 19.8762, 20, 6], - [51.2097, 342, 21.7773, 16, 6], - [51.2097, 365, 19.8762, 20, 6], - [51.2097, 403, 15.6439, 16, 6], - [51.2097, 426, 19.8762, 20, 6], - [51.2097, 464, 14.4405, 16, 6], - [51.2097, 487, 19.8762, 20, 6], - [51.2097, 525, 21.7773, 16, 6], - [51.2097, 548, 19.8762, 20, 6], - [51.2097, 586, 15.6439, 16, 6], - [51.2097, 609, 19.8762, 20, 6], - [51.2097, 647, 14.4405, 16, 6], - [51.2097, 670, 19.8762, 20, 6], - [50.4032, 706, 48.3871, 93, 0, true, 1, false], - [51.2097, 726, 10.3657, 16, 6], - [51.2097, 757, 16.4094, 20, 6] + [0, 0, 100, 977, 8, true, 0, true], + [1.2097, 12, 25.8065, 32, 8], + [27.8226, 12, 3.2258, 32, 8, true, 15, false], + [28.7298, 21, 1.4113, 14, 0], + [64.9115, 21, 1.4113, 14, 0], + [67.1292, 19, 21.9758, 20, 0], + [91.1212, 12, 7.6692, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9987, 920, 0, true, 2, false], + [1.6129, 76, 1.4113, 14, 0], + [1.6129, 106, 4.0149, 20, 6], + [1.6129, 134, 7.1998, 20, 6], + [1.6129, 162, 6.3996, 20, 6], + [1.6129, 190, 4.8986, 20, 6], + [1.6129, 218, 5.9555, 20, 6], + [1.6129, 246, 5.1427, 20, 6], + [1.6129, 274, 8.6158, 20, 6], + [1.6129, 302, 7.1163, 20, 6], + [1.6129, 330, 3.9677, 20, 6], + [1.6129, 358, 4.9427, 20, 6], + [1.6129, 386, 6.5036, 20, 6], + [1.6129, 414, 5.4467, 20, 6], + [1.6129, 442, 5.5066, 20, 6], + [1.6129, 470, 4.7316, 20, 6], + [1.6129, 498, 7.9511, 20, 6], + [1.6129, 526, 9.8601, 20, 6], + [1.6129, 554, 8.8095, 20, 6], + [1.6129, 582, 8.9466, 20, 6], + [1.6129, 610, 7.7826, 20, 6], + [1.6129, 638, 10.1799, 20, 6], + [1.6129, 666, 7.3305, 20, 6], + [1.6129, 694, 7.9842, 20, 6], + [1.6129, 722, 7.2407, 20, 6], + [1.6129, 750, 6.8785, 20, 6], + [1.6129, 778, 6.7399, 20, 6], + [1.6129, 806, 13.9554, 20, 6], + [59.9987, 57, 39.9997, 121, 0, true, 4, false], + [61.6116, 76, 1.4113, 14, 0], + [63.4262, 101, 5.9775, 15, 6], + [95.7709, 101, 2.6147, 15, 6], + [63.4262, 137, 3.4117, 15, 6], + [95.7677, 137, 2.6178, 15, 6], + [59.9987, 178, 39.9997, 707, 0, true, 4, false], + [61.6116, 197, 10.8839, 16, 6], + [61.6116, 232, 14.4405, 16, 6], + [61.6116, 297, 21.7773, 16, 6], + [61.6116, 362, 15.6439, 16, 6], + [61.6116, 427, 14.4405, 16, 6], + [61.6116, 492, 21.7773, 16, 6], + [61.6116, 557, 15.6439, 16, 6], + [61.6116, 622, 14.4405, 16, 6], + [61.6116, 687, 21.7773, 16, 6], + [61.6116, 752, 15.6439, 16, 6], + [61.6116, 817, 14.4405, 16, 6], + [61.6116, 904, 10.3657, 16, 6], + [61.6116, 935, 16.2109, 20, 6] ] }, "1440": { "name": "repo-repoindexview--panel-skeleton-fixture", "viewportWidth": 1408, "width": 1408, - "height": 811, + "height": 977, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.0639, 4, 0], - [70.1349, 0, 29.8651, 4, 0], - [0.8523, 16, 18.1818, 32, 8], - [19.6023, 16, 2.2727, 32, 8, true, 15, false], - [20.2415, 25, 0.9943, 14, 0], - [75.2785, 25, 0.9943, 14, 0], - [76.841, 23, 15.483, 20, 0], - [93.7445, 16, 5.4033, 32, 8], - [0.8523, 68, 48.8636, 731, 0, true, 2, false], - [1.2784, 73, 2.8287, 20, 6], - [1.2784, 101, 5.0726, 20, 6], - [1.2784, 129, 4.5088, 20, 6], - [1.2784, 157, 3.4513, 20, 6], - [1.2784, 185, 4.1959, 20, 6], - [1.2784, 213, 3.6233, 20, 6], - [1.2784, 241, 6.0702, 20, 6], - [1.2784, 269, 5.0138, 20, 6], - [1.2784, 297, 2.7954, 20, 6], - [1.2784, 325, 3.4823, 20, 6], - [1.2784, 353, 4.5821, 20, 6], - [1.2784, 381, 3.8374, 20, 6], - [1.2784, 409, 3.8796, 20, 6], - [1.2784, 437, 3.3336, 20, 6], - [1.2784, 465, 5.6019, 20, 6], - [1.2784, 493, 6.9469, 20, 6], - [1.2784, 521, 6.2067, 20, 6], - [1.2784, 549, 6.3033, 20, 6], - [1.2784, 577, 5.4832, 20, 6], - [1.2784, 605, 7.1722, 20, 6], - [1.2784, 633, 5.1647, 20, 6], - [1.2784, 661, 5.6252, 20, 6], - [1.2784, 689, 5.1014, 20, 6], - [1.2784, 717, 4.8462, 20, 6], - [1.2784, 745, 4.7485, 20, 6], - [1.2784, 773, 9.8322, 20, 6], - [50.8523, 71, 7.6682, 16, 6], - [50.8523, 98, 10.174, 16, 6], - [50.8523, 121, 14.0037, 20, 6], - [50.8523, 159, 15.3431, 16, 6], - [50.8523, 182, 14.0037, 20, 6], - [50.8523, 220, 11.0218, 16, 6], - [50.8523, 243, 14.0037, 20, 6], - [50.8523, 281, 10.174, 16, 6], - [50.8523, 304, 14.0037, 20, 6], - [50.8523, 342, 15.3431, 16, 6], - [50.8523, 365, 14.0037, 20, 6], - [50.8523, 403, 11.0218, 16, 6], - [50.8523, 426, 14.0037, 20, 6], - [50.8523, 464, 10.174, 16, 6], - [50.8523, 487, 14.0037, 20, 6], - [50.8523, 525, 15.3431, 16, 6], - [50.8523, 548, 14.0037, 20, 6], - [50.8523, 586, 11.0218, 16, 6], - [50.8523, 609, 14.0037, 20, 6], - [50.8523, 647, 10.174, 16, 6], - [50.8523, 670, 14.0037, 20, 6], - [50.2841, 706, 48.8636, 93, 0, true, 1, false], - [50.8523, 726, 7.3031, 16, 6], - [50.8523, 757, 11.5612, 20, 6] + [0, 0, 100, 977, 8, true, 0, true], + [0.8523, 12, 18.1818, 32, 8], + [19.6023, 12, 2.2727, 32, 8, true, 15, false], + [20.2415, 21, 0.9943, 14, 0], + [75.2785, 21, 0.9943, 14, 0], + [76.841, 19, 15.483, 20, 0], + [93.7445, 12, 5.4033, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9998, 920, 0, true, 2, false], + [1.1364, 76, 0.9943, 14, 0], + [1.1364, 106, 2.8287, 20, 6], + [1.1364, 134, 5.0726, 20, 6], + [1.1364, 162, 4.5088, 20, 6], + [1.1364, 190, 3.4513, 20, 6], + [1.1364, 218, 4.1959, 20, 6], + [1.1364, 246, 3.6233, 20, 6], + [1.1364, 274, 6.0702, 20, 6], + [1.1364, 302, 5.0138, 20, 6], + [1.1364, 330, 2.7954, 20, 6], + [1.1364, 358, 3.4823, 20, 6], + [1.1364, 386, 4.5821, 20, 6], + [1.1364, 414, 3.8374, 20, 6], + [1.1364, 442, 3.8796, 20, 6], + [1.1364, 470, 3.3336, 20, 6], + [1.1364, 498, 5.6019, 20, 6], + [1.1364, 526, 6.9469, 20, 6], + [1.1364, 554, 6.2067, 20, 6], + [1.1364, 582, 6.3033, 20, 6], + [1.1364, 610, 5.4832, 20, 6], + [1.1364, 638, 7.1722, 20, 6], + [1.1364, 666, 5.1647, 20, 6], + [1.1364, 694, 5.6252, 20, 6], + [1.1364, 722, 5.1014, 20, 6], + [1.1364, 750, 4.8462, 20, 6], + [1.1364, 778, 4.7485, 20, 6], + [1.1364, 806, 9.8322, 20, 6], + [59.9998, 57, 40.0002, 121, 0, true, 4, false], + [61.1361, 76, 0.9943, 14, 0], + [62.4146, 101, 4.2114, 15, 6], + [97.0215, 101, 1.8422, 15, 6], + [62.4146, 137, 2.4037, 15, 6], + [97.0193, 137, 1.8444, 15, 6], + [59.9998, 178, 40.0002, 707, 0, true, 4, false], + [61.1361, 197, 7.6682, 16, 6], + [61.1361, 232, 10.174, 16, 6], + [61.1361, 297, 15.3431, 16, 6], + [61.1361, 362, 11.0218, 16, 6], + [61.1361, 427, 10.174, 16, 6], + [61.1361, 492, 15.3431, 16, 6], + [61.1361, 557, 11.0218, 16, 6], + [61.1361, 622, 10.174, 16, 6], + [61.1361, 687, 15.3431, 16, 6], + [61.1361, 752, 11.0218, 16, 6], + [61.1361, 817, 10.174, 16, 6], + [61.1361, 904, 7.3031, 16, 6], + [61.1361, 935, 11.4213, 20, 6] ] } - }, - "_hash": "8be89ded5603adb372f4eb19ccc87631" + } } diff --git a/web/src/lib/bones/repo-repoindexview--skeleton-fixture.bones.json b/web/src/lib/bones/repo-repoindexview--skeleton-fixture.bones.json index 1364ec7ee..9589fac6b 100644 --- a/web/src/lib/bones/repo-repoindexview--skeleton-fixture.bones.json +++ b/web/src/lib/bones/repo-repoindexview--skeleton-fixture.bones.json @@ -1,292 +1,220 @@ { "breakpoints": { - "375": { - "name": "repo-repoindexview--skeleton-fixture", - "viewportWidth": 343, - "width": 343, - "height": 1332, - "bones": [ - [0, 0, 100, 911, 8, true, 0, true], - [0, 0, 70.2624, 4, 0], - [70.5539, 0, 29.4461, 4, 0], - [3.4985, 16, 81.3411, 32, 8], - [87.172, 16, 9.3294, 32, 8, true, 15, false], - [89.7959, 25, 4.0816, 14, 0], - [3.4985, 104, 93.0029, 1, 0], - [5.8309, 126, 4.0816, 14, 0], - [12.2449, 124, 81.9242, 20, 0], - [3.4985, 68, 31.7602, 16, 6], - [85.4227, 60, 11.0787, 32, 8], - [5.2478, 174, 11.6117, 20, 6], - [5.2478, 202, 20.8227, 20, 6], - [5.2478, 230, 18.5086, 20, 6], - [5.2478, 258, 14.1673, 20, 6], - [5.2478, 286, 17.2239, 20, 6], - [5.2478, 314, 14.8734, 20, 6], - [5.2478, 342, 24.918, 20, 6], - [5.2478, 370, 20.5813, 20, 6], - [5.2478, 398, 11.475, 20, 6], - [5.2478, 426, 14.2948, 20, 6], - [5.2478, 454, 18.8092, 20, 6], - [5.2478, 482, 15.7526, 20, 6], - [5.2478, 510, 15.9257, 20, 6], - [5.2478, 538, 13.6844, 20, 6], - [5.2478, 566, 22.9956, 20, 6], - [5.2478, 594, 28.5168, 20, 6], - [5.2478, 622, 25.4783, 20, 6], - [5.2478, 650, 25.8746, 20, 6], - [5.2478, 678, 22.5082, 20, 6], - [5.2478, 706, 29.4415, 20, 6], - [5.2478, 734, 21.2008, 20, 6], - [5.2478, 762, 23.0913, 20, 6], - [5.2478, 790, 20.9411, 20, 6], - [5.2478, 818, 19.8934, 20, 6], - [5.2478, 846, 19.4925, 20, 6], - [5.2478, 874, 40.3608, 20, 6], - [0, 927, 100, 405, 8, true, 0, true], - [0, 927, 100, 33, 0, true, 4, false], - [4.6647, 935, 25.3098, 16, 6], - [6.9971, 976, 25.5876, 29, 6], - [6.9971, 1030, 85.7507, 18, 6], - [6.9971, 1054, 68.2444, 18, 6], - [6.9971, 1078, 76.8267, 18, 6], - [6.9971, 1102, 82.7396, 18, 6], - [6.9971, 1126, 56.9288, 18, 6], - [6.9971, 1173, 36.1288, 24, 6], - [6.9971, 1223, 85.9922, 18, 6], - [6.9971, 1247, 72.0117, 18, 6], - [6.9971, 1271, 78.3619, 18, 6], - [6.9971, 1295, 15.8254, 18, 6] - ] - }, "768": { "name": "repo-repoindexview--skeleton-fixture", "viewportWidth": 736, "width": 736, - "height": 1112, + "height": 1292, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.1214, 4, 0], - [70.2573, 0, 29.7427, 4, 0], - [1.6304, 16, 34.7826, 32, 8], - [37.5, 16, 4.3478, 32, 8, true, 15, false], - [38.7228, 25, 1.9022, 14, 0], - [52.7068, 25, 1.9022, 14, 0], - [55.6959, 23, 29.6196, 20, 0], - [88.0329, 16, 10.3367, 32, 8], - [1.6304, 68, 47.8261, 731, 0, true, 2, false], - [2.4457, 73, 5.4114, 20, 6], - [2.4457, 101, 9.7041, 20, 6], - [2.4457, 129, 8.6256, 20, 6], - [2.4457, 157, 6.6024, 20, 6], - [2.4457, 185, 8.0269, 20, 6], - [2.4457, 213, 6.9315, 20, 6], - [2.4457, 241, 11.6126, 20, 6], - [2.4457, 269, 9.5915, 20, 6], - [2.4457, 297, 5.3477, 20, 6], - [2.4457, 325, 6.6619, 20, 6], - [2.4457, 353, 8.7657, 20, 6], - [2.4457, 381, 7.3412, 20, 6], - [2.4457, 409, 7.4219, 20, 6], - [2.4457, 437, 6.3774, 20, 6], - [2.4457, 465, 10.7167, 20, 6], - [2.4457, 493, 13.2897, 20, 6], - [2.4457, 521, 11.8737, 20, 6], - [2.4457, 549, 12.0584, 20, 6], - [2.4457, 577, 10.4896, 20, 6], - [2.4457, 605, 13.7207, 20, 6], - [2.4457, 633, 9.8803, 20, 6], - [2.4457, 661, 10.7613, 20, 6], - [2.4457, 689, 9.7593, 20, 6], - [2.4457, 717, 9.271, 20, 6], - [2.4457, 745, 9.0842, 20, 6], - [2.4457, 773, 18.8094, 20, 6], - [51.6304, 71, 14.6697, 16, 6], - [51.6304, 98, 19.4633, 16, 6], - [51.6304, 121, 26.7897, 20, 6], - [51.6304, 159, 29.3521, 16, 6], - [51.6304, 182, 26.7897, 20, 6], - [51.6304, 220, 21.0853, 16, 6], - [51.6304, 243, 26.7897, 20, 6], - [51.6304, 281, 19.4633, 16, 6], - [51.6304, 304, 26.7897, 20, 6], - [51.6304, 342, 29.3521, 16, 6], - [51.6304, 365, 26.7897, 20, 6], - [51.6304, 403, 21.0853, 16, 6], - [51.6304, 426, 26.7897, 20, 6], - [51.6304, 464, 19.4633, 16, 6], - [51.6304, 487, 26.7897, 20, 6], - [51.6304, 525, 29.3521, 16, 6], - [51.6304, 548, 26.7897, 20, 6], - [51.6304, 586, 21.0853, 16, 6], - [51.6304, 609, 26.7897, 20, 6], - [51.6304, 647, 19.4633, 16, 6], - [51.6304, 670, 26.7897, 20, 6], - [50.5435, 706, 47.8261, 93, 0, true, 1, false], - [51.6304, 726, 13.9712, 16, 6], - [51.6304, 757, 22.117, 20, 6], - [0, 827, 100, 285, 8, true, 0, true], - [0, 827, 100, 33, 0, true, 4, false], - [2.1739, 835, 11.7952, 16, 6], - [3.2609, 876, 11.9247, 29, 6], - [3.2609, 930, 91.4721, 18, 6], - [3.2609, 954, 82.666, 18, 6], - [3.2609, 1001, 16.8372, 24, 6], - [3.2609, 1051, 91.3213, 18, 6], - [3.2609, 1075, 27.2164, 18, 6] + [0, 0, 100, 977, 8, true, 0, true], + [1.6304, 12, 34.7826, 32, 8], + [37.5, 12, 4.3478, 32, 8, true, 15, false], + [38.7228, 21, 1.9022, 14, 0], + [52.7068, 21, 1.9022, 14, 0], + [55.6959, 19, 29.6196, 20, 0], + [88.0329, 12, 10.3367, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9992, 920, 0, true, 2, false], + [2.1739, 76, 1.9022, 14, 0], + [2.1739, 106, 5.4114, 20, 6], + [2.1739, 134, 9.7041, 20, 6], + [2.1739, 162, 8.6256, 20, 6], + [2.1739, 190, 6.6024, 20, 6], + [2.1739, 218, 8.0269, 20, 6], + [2.1739, 246, 6.9315, 20, 6], + [2.1739, 274, 11.6126, 20, 6], + [2.1739, 302, 9.5915, 20, 6], + [2.1739, 330, 5.3477, 20, 6], + [2.1739, 358, 6.6619, 20, 6], + [2.1739, 386, 8.7657, 20, 6], + [2.1739, 414, 7.3412, 20, 6], + [2.1739, 442, 7.4219, 20, 6], + [2.1739, 470, 6.3774, 20, 6], + [2.1739, 498, 10.7167, 20, 6], + [2.1739, 526, 13.2897, 20, 6], + [2.1739, 554, 11.8737, 20, 6], + [2.1739, 582, 12.0584, 20, 6], + [2.1739, 610, 10.4896, 20, 6], + [2.1739, 638, 13.7207, 20, 6], + [2.1739, 666, 9.8803, 20, 6], + [2.1739, 694, 10.7613, 20, 6], + [2.1739, 722, 9.7593, 20, 6], + [2.1739, 750, 9.271, 20, 6], + [2.1739, 778, 9.0842, 20, 6], + [2.1739, 806, 18.8094, 20, 6], + [59.9992, 57, 39.9987, 121, 0, true, 4, false], + [62.1731, 76, 1.9022, 14, 0], + [64.6187, 101, 8.0566, 15, 6], + [94.2998, 101, 3.5241, 15, 6], + [64.6187, 137, 4.5983, 15, 6], + [94.2956, 137, 3.5284, 15, 6], + [59.9992, 178, 39.9987, 707, 0, true, 4, false], + [62.1731, 197, 14.6697, 16, 6], + [62.1731, 232, 19.4633, 16, 6], + [62.1731, 297, 29.3521, 16, 6], + [62.1731, 362, 21.0853, 16, 6], + [62.1731, 427, 19.4633, 16, 6], + [62.1731, 492, 29.3521, 16, 6], + [62.1731, 557, 21.0853, 16, 6], + [62.1731, 622, 19.4633, 16, 6], + [62.1731, 687, 29.3521, 16, 6], + [62.1731, 752, 21.0853, 16, 6], + [62.1731, 817, 19.4633, 16, 6], + [62.1731, 904, 13.9712, 16, 6], + [62.1731, 935, 21.8495, 20, 6], + [0, 993, 100, 299, 12, true, 0, true], + [2.7174, 1007, 1.9022, 14, 0], + [0.5435, 1036, 98.913, 252, 8, true, 0, true], + [3.8043, 1052, 11.9247, 29, 6], + [3.8043, 1106, 91.4721, 18, 6], + [3.8043, 1130, 82.666, 18, 6], + [3.8043, 1177, 16.8372, 24, 6], + [3.8043, 1227, 91.3213, 18, 6], + [3.8043, 1251, 27.2164, 18, 6] ] }, "1024": { "name": "repo-repoindexview--skeleton-fixture", "viewportWidth": 992, "width": 992, - "height": 1088, + "height": 1268, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.0904, 4, 0], - [70.1912, 0, 29.8088, 4, 0], - [1.2097, 16, 25.8065, 32, 8], - [27.8226, 16, 3.2258, 32, 8, true, 15, false], - [28.7298, 25, 1.4113, 14, 0], - [64.9115, 25, 1.4113, 14, 0], - [67.1292, 23, 21.9758, 20, 0], - [91.1212, 16, 7.6692, 32, 8], - [1.2097, 68, 48.3871, 731, 0, true, 2, false], - [1.8145, 73, 4.0149, 20, 6], - [1.8145, 101, 7.1998, 20, 6], - [1.8145, 129, 6.3996, 20, 6], - [1.8145, 157, 4.8986, 20, 6], - [1.8145, 185, 5.9555, 20, 6], - [1.8145, 213, 5.1427, 20, 6], - [1.8145, 241, 8.6158, 20, 6], - [1.8145, 269, 7.1163, 20, 6], - [1.8145, 297, 3.9677, 20, 6], - [1.8145, 325, 4.9427, 20, 6], - [1.8145, 353, 6.5036, 20, 6], - [1.8145, 381, 5.4467, 20, 6], - [1.8145, 409, 5.5066, 20, 6], - [1.8145, 437, 4.7316, 20, 6], - [1.8145, 465, 7.9511, 20, 6], - [1.8145, 493, 9.8601, 20, 6], - [1.8145, 521, 8.8095, 20, 6], - [1.8145, 549, 8.9466, 20, 6], - [1.8145, 577, 7.7826, 20, 6], - [1.8145, 605, 10.1799, 20, 6], - [1.8145, 633, 7.3305, 20, 6], - [1.8145, 661, 7.9842, 20, 6], - [1.8145, 689, 7.2407, 20, 6], - [1.8145, 717, 6.8785, 20, 6], - [1.8145, 745, 6.7399, 20, 6], - [1.8145, 773, 13.9554, 20, 6], - [51.2097, 71, 10.8839, 16, 6], - [51.2097, 98, 14.4405, 16, 6], - [51.2097, 121, 19.8762, 20, 6], - [51.2097, 159, 21.7773, 16, 6], - [51.2097, 182, 19.8762, 20, 6], - [51.2097, 220, 15.6439, 16, 6], - [51.2097, 243, 19.8762, 20, 6], - [51.2097, 281, 14.4405, 16, 6], - [51.2097, 304, 19.8762, 20, 6], - [51.2097, 342, 21.7773, 16, 6], - [51.2097, 365, 19.8762, 20, 6], - [51.2097, 403, 15.6439, 16, 6], - [51.2097, 426, 19.8762, 20, 6], - [51.2097, 464, 14.4405, 16, 6], - [51.2097, 487, 19.8762, 20, 6], - [51.2097, 525, 21.7773, 16, 6], - [51.2097, 548, 19.8762, 20, 6], - [51.2097, 586, 15.6439, 16, 6], - [51.2097, 609, 19.8762, 20, 6], - [51.2097, 647, 14.4405, 16, 6], - [51.2097, 670, 19.8762, 20, 6], - [50.4032, 706, 48.3871, 93, 0, true, 1, false], - [51.2097, 726, 10.3657, 16, 6], - [51.2097, 757, 16.4094, 20, 6], - [0, 827, 100, 261, 8, true, 0, true], - [0, 827, 100, 33, 0, true, 4, false], - [1.6129, 835, 8.7513, 16, 6], - [2.4194, 876, 8.8473, 29, 6], - [2.4194, 930, 88.6262, 18, 6], - [2.4194, 954, 40.5714, 18, 6], - [2.4194, 1001, 12.4921, 24, 6], - [2.4194, 1051, 88.3254, 18, 6] + [0, 0, 100, 977, 8, true, 0, true], + [1.2097, 12, 25.8065, 32, 8], + [27.8226, 12, 3.2258, 32, 8, true, 15, false], + [28.7298, 21, 1.4113, 14, 0], + [64.9115, 21, 1.4113, 14, 0], + [67.1292, 19, 21.9758, 20, 0], + [91.1212, 12, 7.6692, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9987, 920, 0, true, 2, false], + [1.6129, 76, 1.4113, 14, 0], + [1.6129, 106, 4.0149, 20, 6], + [1.6129, 134, 7.1998, 20, 6], + [1.6129, 162, 6.3996, 20, 6], + [1.6129, 190, 4.8986, 20, 6], + [1.6129, 218, 5.9555, 20, 6], + [1.6129, 246, 5.1427, 20, 6], + [1.6129, 274, 8.6158, 20, 6], + [1.6129, 302, 7.1163, 20, 6], + [1.6129, 330, 3.9677, 20, 6], + [1.6129, 358, 4.9427, 20, 6], + [1.6129, 386, 6.5036, 20, 6], + [1.6129, 414, 5.4467, 20, 6], + [1.6129, 442, 5.5066, 20, 6], + [1.6129, 470, 4.7316, 20, 6], + [1.6129, 498, 7.9511, 20, 6], + [1.6129, 526, 9.8601, 20, 6], + [1.6129, 554, 8.8095, 20, 6], + [1.6129, 582, 8.9466, 20, 6], + [1.6129, 610, 7.7826, 20, 6], + [1.6129, 638, 10.1799, 20, 6], + [1.6129, 666, 7.3305, 20, 6], + [1.6129, 694, 7.9842, 20, 6], + [1.6129, 722, 7.2407, 20, 6], + [1.6129, 750, 6.8785, 20, 6], + [1.6129, 778, 6.7399, 20, 6], + [1.6129, 806, 13.9554, 20, 6], + [59.9987, 57, 39.9997, 121, 0, true, 4, false], + [61.6116, 76, 1.4113, 14, 0], + [63.4262, 101, 5.9775, 15, 6], + [95.7709, 101, 2.6147, 15, 6], + [63.4262, 137, 3.4117, 15, 6], + [95.7677, 137, 2.6178, 15, 6], + [59.9987, 178, 39.9997, 707, 0, true, 4, false], + [61.6116, 197, 10.8839, 16, 6], + [61.6116, 232, 14.4405, 16, 6], + [61.6116, 297, 21.7773, 16, 6], + [61.6116, 362, 15.6439, 16, 6], + [61.6116, 427, 14.4405, 16, 6], + [61.6116, 492, 21.7773, 16, 6], + [61.6116, 557, 15.6439, 16, 6], + [61.6116, 622, 14.4405, 16, 6], + [61.6116, 687, 21.7773, 16, 6], + [61.6116, 752, 15.6439, 16, 6], + [61.6116, 817, 14.4405, 16, 6], + [61.6116, 904, 10.3657, 16, 6], + [61.6116, 935, 16.2109, 20, 6], + [0, 993, 100, 275, 12, true, 0, true], + [2.0161, 1007, 1.4113, 14, 0], + [0.4032, 1036, 99.1935, 228, 8, true, 0, true], + [2.8226, 1052, 8.8473, 29, 6], + [2.8226, 1106, 88.6262, 18, 6], + [2.8226, 1130, 40.5714, 18, 6], + [2.8226, 1177, 12.4921, 24, 6], + [2.8226, 1227, 88.3254, 18, 6] ] }, "1440": { "name": "repo-repoindexview--skeleton-fixture", "viewportWidth": 1408, "width": 1408, - "height": 1064, + "height": 1244, "bones": [ - [0, 0, 100, 811, 8, true, 0, true], - [0, 0, 70.0639, 4, 0], - [70.1349, 0, 29.8651, 4, 0], - [0.8523, 16, 18.1818, 32, 8], - [19.6023, 16, 2.2727, 32, 8, true, 15, false], - [20.2415, 25, 0.9943, 14, 0], - [75.2785, 25, 0.9943, 14, 0], - [76.841, 23, 15.483, 20, 0], - [93.7445, 16, 5.4033, 32, 8], - [0.8523, 68, 48.8636, 731, 0, true, 2, false], - [1.2784, 73, 2.8287, 20, 6], - [1.2784, 101, 5.0726, 20, 6], - [1.2784, 129, 4.5088, 20, 6], - [1.2784, 157, 3.4513, 20, 6], - [1.2784, 185, 4.1959, 20, 6], - [1.2784, 213, 3.6233, 20, 6], - [1.2784, 241, 6.0702, 20, 6], - [1.2784, 269, 5.0138, 20, 6], - [1.2784, 297, 2.7954, 20, 6], - [1.2784, 325, 3.4823, 20, 6], - [1.2784, 353, 4.5821, 20, 6], - [1.2784, 381, 3.8374, 20, 6], - [1.2784, 409, 3.8796, 20, 6], - [1.2784, 437, 3.3336, 20, 6], - [1.2784, 465, 5.6019, 20, 6], - [1.2784, 493, 6.9469, 20, 6], - [1.2784, 521, 6.2067, 20, 6], - [1.2784, 549, 6.3033, 20, 6], - [1.2784, 577, 5.4832, 20, 6], - [1.2784, 605, 7.1722, 20, 6], - [1.2784, 633, 5.1647, 20, 6], - [1.2784, 661, 5.6252, 20, 6], - [1.2784, 689, 5.1014, 20, 6], - [1.2784, 717, 4.8462, 20, 6], - [1.2784, 745, 4.7485, 20, 6], - [1.2784, 773, 9.8322, 20, 6], - [50.8523, 71, 7.6682, 16, 6], - [50.8523, 98, 10.174, 16, 6], - [50.8523, 121, 14.0037, 20, 6], - [50.8523, 159, 15.3431, 16, 6], - [50.8523, 182, 14.0037, 20, 6], - [50.8523, 220, 11.0218, 16, 6], - [50.8523, 243, 14.0037, 20, 6], - [50.8523, 281, 10.174, 16, 6], - [50.8523, 304, 14.0037, 20, 6], - [50.8523, 342, 15.3431, 16, 6], - [50.8523, 365, 14.0037, 20, 6], - [50.8523, 403, 11.0218, 16, 6], - [50.8523, 426, 14.0037, 20, 6], - [50.8523, 464, 10.174, 16, 6], - [50.8523, 487, 14.0037, 20, 6], - [50.8523, 525, 15.3431, 16, 6], - [50.8523, 548, 14.0037, 20, 6], - [50.8523, 586, 11.0218, 16, 6], - [50.8523, 609, 14.0037, 20, 6], - [50.8523, 647, 10.174, 16, 6], - [50.8523, 670, 14.0037, 20, 6], - [50.2841, 706, 48.8636, 93, 0, true, 1, false], - [50.8523, 726, 7.3031, 16, 6], - [50.8523, 757, 11.5612, 20, 6], - [0, 827, 100, 237, 8, true, 0, true], - [0, 827, 100, 33, 0, true, 4, false], - [1.1364, 835, 6.1657, 16, 6], - [1.7045, 876, 6.2334, 29, 6], - [1.7045, 930, 91.2831, 18, 6], - [1.7045, 977, 8.8013, 24, 6], - [1.7045, 1027, 62.2292, 18, 6] + [0, 0, 100, 977, 8, true, 0, true], + [0.8523, 12, 18.1818, 32, 8], + [19.6023, 12, 2.2727, 32, 8, true, 15, false], + [20.2415, 21, 0.9943, 14, 0], + [75.2785, 21, 0.9943, 14, 0], + [76.841, 19, 15.483, 20, 0], + [93.7445, 12, 5.4033, 32, 8], + [0, 56, 100, 921, 0, true, 1, false], + [0, 57, 59.9998, 920, 0, true, 2, false], + [1.1364, 76, 0.9943, 14, 0], + [1.1364, 106, 2.8287, 20, 6], + [1.1364, 134, 5.0726, 20, 6], + [1.1364, 162, 4.5088, 20, 6], + [1.1364, 190, 3.4513, 20, 6], + [1.1364, 218, 4.1959, 20, 6], + [1.1364, 246, 3.6233, 20, 6], + [1.1364, 274, 6.0702, 20, 6], + [1.1364, 302, 5.0138, 20, 6], + [1.1364, 330, 2.7954, 20, 6], + [1.1364, 358, 3.4823, 20, 6], + [1.1364, 386, 4.5821, 20, 6], + [1.1364, 414, 3.8374, 20, 6], + [1.1364, 442, 3.8796, 20, 6], + [1.1364, 470, 3.3336, 20, 6], + [1.1364, 498, 5.6019, 20, 6], + [1.1364, 526, 6.9469, 20, 6], + [1.1364, 554, 6.2067, 20, 6], + [1.1364, 582, 6.3033, 20, 6], + [1.1364, 610, 5.4832, 20, 6], + [1.1364, 638, 7.1722, 20, 6], + [1.1364, 666, 5.1647, 20, 6], + [1.1364, 694, 5.6252, 20, 6], + [1.1364, 722, 5.1014, 20, 6], + [1.1364, 750, 4.8462, 20, 6], + [1.1364, 778, 4.7485, 20, 6], + [1.1364, 806, 9.8322, 20, 6], + [59.9998, 57, 40.0002, 121, 0, true, 4, false], + [61.1361, 76, 0.9943, 14, 0], + [62.4146, 101, 4.2114, 15, 6], + [97.0215, 101, 1.8422, 15, 6], + [62.4146, 137, 2.4037, 15, 6], + [97.0193, 137, 1.8444, 15, 6], + [59.9998, 178, 40.0002, 707, 0, true, 4, false], + [61.1361, 197, 7.6682, 16, 6], + [61.1361, 232, 10.174, 16, 6], + [61.1361, 297, 15.3431, 16, 6], + [61.1361, 362, 11.0218, 16, 6], + [61.1361, 427, 10.174, 16, 6], + [61.1361, 492, 15.3431, 16, 6], + [61.1361, 557, 11.0218, 16, 6], + [61.1361, 622, 10.174, 16, 6], + [61.1361, 687, 15.3431, 16, 6], + [61.1361, 752, 11.0218, 16, 6], + [61.1361, 817, 10.174, 16, 6], + [61.1361, 904, 7.3031, 16, 6], + [61.1361, 935, 11.4213, 20, 6], + [0, 993, 100, 251, 12, true, 0, true], + [1.4205, 1007, 0.9943, 14, 0], + [0.2841, 1036, 99.4318, 204, 8, true, 0, true], + [1.9886, 1052, 6.2334, 29, 6], + [1.9886, 1106, 91.2831, 18, 6], + [1.9886, 1153, 8.8013, 24, 6], + [1.9886, 1203, 62.2292, 18, 6] ] } - }, - "_hash": "4d8efb9c935d0095e77bca72ad3c811c" + } } diff --git a/web/src/lib/components/repo/BranchList.stories.svelte b/web/src/lib/components/repo/BranchList.stories.svelte index cb9813920..8ecde1aef 100644 --- a/web/src/lib/components/repo/BranchList.stories.svelte +++ b/web/src/lib/components/repo/BranchList.stories.svelte @@ -24,14 +24,12 @@ args: { ownerHandle: "alice", repoName: "tangled", - currentRef: "main", branches } }); - - + import { resolve } from "$app/paths"; - import GitCompare from "$icon/git-compare"; - import Button from "#lib/components/ui/Button.svelte"; import Separator from "#lib/components/ui/Separator.svelte"; import Tag from "#lib/components/ui/Tag.svelte"; import TimeAgo from "#lib/components/ui/TimeAgo.svelte"; @@ -10,22 +8,23 @@ interface Props { ownerHandle: string; repoName: string; - currentRef: string; branches: BranchSummary[]; } - let { ownerHandle, repoName, currentRef, branches }: Props = $props(); + let { ownerHandle, repoName, branches }: Props = $props(); const base = $derived(`/${ownerHandle}/${repoName}`);
{#each branches as branch (branch.name)} -
+
{branch.name} @@ -33,29 +32,13 @@ {/if} {#if branch.isDefault} - Default + Default {/if}
- {#if branch.name !== currentRef} - - {/if}
{/each}
diff --git a/web/src/lib/components/repo/CommitList.svelte b/web/src/lib/components/repo/CommitList.svelte index 3bc2a90d7..f5ba11541 100644 --- a/web/src/lib/components/repo/CommitList.svelte +++ b/web/src/lib/components/repo/CommitList.svelte @@ -1,16 +1,19 @@ -
+
{#each commits as commit (commit.hash)} -
+
{commit.subject} {#if signOffsByCommit[commit.hash].length > 0} {/if} - {#if hasBodyBeyondSignOffs(commit.body)} - (expanded[commit.hash] = !expanded[commit.hash])} - /> - {/if} - {#if hasBodyBeyondSignOffs(commit.body) && expanded[commit.hash]} -

- {commit.body} -

- {/if} -
- - {commit.shortHash} - - {#if commit.authorHandle} - + {#if commit.authorHandle && commit.authorDid} + + + + {:else if commit.authorHandle} + {:else if commit.authorName && commit.authorEmail && !commit.authorDid} @@ -105,17 +101,51 @@ {@const pipeline = (await pipelineStatuses)?.[commit.hash]} {#if pipeline} - + + + {/if} {/if} +
+ {#if hasBodyBeyondSignOffs(commit.body)} + {@const toggleLabel = expanded[commit.hash] + ? "Hide description" + : "Show description"} + +
+ + {#if hasBodyBeyondSignOffs(commit.body) && expanded[commit.hash]} +

+ {commit.body} +

+ {/if}
{/each}
diff --git a/web/src/lib/components/repo/LanguageBar.stories.svelte b/web/src/lib/components/repo/LanguageBar.stories.svelte deleted file mode 100644 index 81506424d..000000000 --- a/web/src/lib/components/repo/LanguageBar.stories.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - diff --git a/web/src/lib/components/repo/LanguageBar.svelte b/web/src/lib/components/repo/LanguageBar.svelte deleted file mode 100644 index 92a4a9f75..000000000 --- a/web/src/lib/components/repo/LanguageBar.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - -
- - {#each languages as language (language.name)} - {#if language.share > 0.5} -
- {/if} - {/each} -
-
- {#each languages as language (language.name)} -
- - - {language.name} - {percent(language)}% - -
- {/each} -
-
diff --git a/web/src/lib/components/repo/LanguageList.stories.svelte b/web/src/lib/components/repo/LanguageList.stories.svelte new file mode 100644 index 000000000..4e1130f81 --- /dev/null +++ b/web/src/lib/components/repo/LanguageList.stories.svelte @@ -0,0 +1,45 @@ + + + + { + await expect(canvas.getAllByRole("listitem")).toHaveLength(6); + await expect(canvas.queryByText("HTML")).toBeNull(); + await expect(canvas.getByText("3 more languages")).toBeVisible(); + }} +/> + diff --git a/web/src/lib/components/repo/LanguageList.svelte b/web/src/lib/components/repo/LanguageList.svelte new file mode 100644 index 000000000..1e7911677 --- /dev/null +++ b/web/src/lib/components/repo/LanguageList.svelte @@ -0,0 +1,61 @@ + + +{#snippet row(name: string, color: string, share: number, percentage: number, muted = false)} +
  • +
    + + {name} + {percentLabel(share, percentage)}% +
    + +
  • +{/snippet} + +
      + {#each visible as language (language.name)} + {@render row(language.name, colorFor(language.name), language.share, language.percentage)} + {/each} + {#if hidden.length > 0} + {@render row(hiddenLabel, LANGUAGE_COLOR_FALLBACK, hiddenShare, hiddenPercentage, true)} + {/if} +
    diff --git a/web/src/lib/components/repo/LanguageStats.stories.svelte b/web/src/lib/components/repo/LanguageStats.stories.svelte new file mode 100644 index 000000000..7daeb2040 --- /dev/null +++ b/web/src/lib/components/repo/LanguageStats.stories.svelte @@ -0,0 +1,33 @@ + + + { + await expect(canvas.getByText("8")).toBeVisible(); + await expect(canvas.getByText("1.0 MB")).toBeVisible(); + await expect(canvas.getAllByRole("row")).toHaveLength(9); + }} +/> + diff --git a/web/src/lib/components/repo/LanguageStats.svelte b/web/src/lib/components/repo/LanguageStats.svelte new file mode 100644 index 000000000..969b8f010 --- /dev/null +++ b/web/src/lib/components/repo/LanguageStats.svelte @@ -0,0 +1,107 @@ + + + + {#if languages.length === 0} +
    +

    No languages detected

    +

    + Language stats appear once the default branch contains source files. +

    +
    + {:else} +
    +
    +
    Languages
    +
    {languages.length}
    +
    +
    +
    Total size
    +
    {formatBytes(totalSize)}
    +
    +
    +
    Primary language
    +
    {languages[0]?.name}
    +
    +
    + +
    + {#each languages as language (language.name)} +
    + + + +
    + {/each} +
    + + + + + + + + + + + + {#each languages as language (language.name)} + + + + + + + {/each} + +
    LanguageSizeShare
    + + + {language.name} + + + {formatBytes(language.size)} + {percent(language)}%
    + {/if} +
    diff --git a/web/src/lib/components/repo/PanelHeader.svelte b/web/src/lib/components/repo/PanelHeader.svelte index 63c79e13b..b1d73dec5 100644 --- a/web/src/lib/components/repo/PanelHeader.svelte +++ b/web/src/lib/components/repo/PanelHeader.svelte @@ -6,7 +6,7 @@ interface Props { title: string; - href: string; + href?: string; icon: Component; count?: number; approximate?: boolean; @@ -34,10 +34,7 @@ {formattedCount} {:else} - + {/if} - + {/if} diff --git a/web/src/lib/components/repo/Readme.svelte b/web/src/lib/components/repo/Readme.svelte index 614aaab2f..d47c12caa 100644 --- a/web/src/lib/components/repo/Readme.svelte +++ b/web/src/lib/components/repo/Readme.svelte @@ -1,6 +1,9 @@ - -
    - - -
    - {#if html} -
    - - {@html html} -
    - {:else} -
    -
    {contents}
    -
    - {/if} -
    + + + + + + {#if html} +
    + + {@html html} +
    + {:else} +
    +
    {contents}
    +
    + {/if} +
    +
    diff --git a/web/src/lib/components/repo/RepoIndexView.stories.svelte b/web/src/lib/components/repo/RepoIndexView.stories.svelte index 7fba5899c..18767185a 100644 --- a/web/src/lib/components/repo/RepoIndexView.stories.svelte +++ b/web/src/lib/components/repo/RepoIndexView.stories.svelte @@ -86,8 +86,8 @@ languages: streamed.languages ?? Promise.resolve([ - { name: "TypeScript", percentage: 70, share: 70 }, - { name: "Svelte", percentage: 30, share: 30 } + { name: "TypeScript", size: 286720, percentage: 70, share: 70 }, + { name: "Svelte", size: 122880, percentage: 30, share: 30 } ]), readmeBody: streamed.readmeBody ?? Promise.resolve({ html: "

    tangled

    ", contents: "" }), diff --git a/web/src/lib/components/repo/RepoIndexView.svelte b/web/src/lib/components/repo/RepoIndexView.svelte index 2027d62b8..90c6da5cc 100644 --- a/web/src/lib/components/repo/RepoIndexView.svelte +++ b/web/src/lib/components/repo/RepoIndexView.svelte @@ -1,4 +1,6 @@ + +
    +
    + {#if href} + + + + + + {:else} + + {/if} +
    +
    + {@render children()} +
    +
    diff --git a/web/src/lib/components/repo/RepoToolbar.svelte b/web/src/lib/components/repo/RepoToolbar.svelte index 6b4f92ed2..2c6d6da64 100644 --- a/web/src/lib/components/repo/RepoToolbar.svelte +++ b/web/src/lib/components/repo/RepoToolbar.svelte @@ -27,7 +27,7 @@ const encodedRef = $derived(encodeURIComponent(ref)); -
    +
    -
    +
    {#each tags as tag, index (tag.name)} -
    +
    {tag.name} @@ -31,11 +33,11 @@ {#if tag.when} {/if} {#if index === 0} - Latest + Latest {/if}
    {/if} diff --git a/web/src/lib/components/repo/types.ts b/web/src/lib/components/repo/types.ts index 39968a882..655c71f03 100644 --- a/web/src/lib/components/repo/types.ts +++ b/web/src/lib/components/repo/types.ts @@ -47,6 +47,7 @@ export interface RepoCounts { export interface LanguageSlice { name: string; + size: number; percentage: number; share: number; } diff --git a/web/src/routes/[handle]/[repo]/languages/+page.svelte b/web/src/routes/[handle]/[repo]/languages/+page.svelte new file mode 100644 index 000000000..72bf5d7e0 --- /dev/null +++ b/web/src/routes/[handle]/[repo]/languages/+page.svelte @@ -0,0 +1,10 @@ + + + + + diff --git a/web/src/routes/[handle]/[repo]/languages/+page.ts b/web/src/routes/[handle]/[repo]/languages/+page.ts new file mode 100644 index 000000000..ab551ec38 --- /dev/null +++ b/web/src/routes/[handle]/[repo]/languages/+page.ts @@ -0,0 +1,15 @@ +import { gitTarget, languages, requireGit } from "#lib/api/gitclient.ts"; +import { settle, stream } from "#lib/api/load.ts"; +import { toLanguageSlices } from "#lib/api/repoIndex.ts"; +import type { PageLoad } from "./$types"; + +export const load: PageLoad = async (event) => { + const parent = await event.parent(); + const slices = Promise.resolve(parent.repo).then(async (repo) => { + const target = requireGit(repo); + const git = gitTarget(parent.publicConfig, target, event.fetch); + const result = await languages(git, target.git.defaultBranch); + return toLanguageSlices(result.languages ?? []); + }); + return settle({ languages: stream(slices) }); +}; -- 2.54.0