Browse Source

feat: rename app and tweak ui

- rename for 'git together' to 'git work'
- tweak ui to make it responsive
master
DanConwayDev 2 years ago
parent
commit
2f3bd85e80
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. BIN
      __snapshots__/navbar--default.png
  2. BIN
      __snapshots__/navbar--nip-07-exists.png
  3. BIN
      __snapshots__/navbar--no-nip-07.png
  4. 134
      __snapshots__/navbar.test.js.snap
  5. BIN
      __snapshots__/prs-header--short-details.png
  6. 200
      __snapshots__/prs-header.test.js.snap
  7. BIN
      __snapshots__/repo-header--loading.png
  8. BIN
      __snapshots__/repo-header--long-name.png
  9. BIN
      __snapshots__/repo-header--no-name.png
  10. BIN
      __snapshots__/repo-header--short-name.png
  11. 42
      __snapshots__/repo-header.test.js.snap
  12. 13
      src/lib/components/Container.svelte
  13. 26
      src/lib/components/Navbar.svelte
  14. 85
      src/lib/components/prs/PRHeader.svelte
  15. 25
      src/lib/components/repo/RepoHeader.svelte
  16. 4
      src/routes/+layout.svelte
  17. 18
      src/routes/repo/[repo_id]/+page.svelte
  18. 39
      src/routes/repo/[repo_id]/pr/[pr_id]/+page.svelte
  19. 14
      tailwind.config.js

BIN
__snapshots__/navbar--default.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
__snapshots__/navbar--nip-07-exists.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
__snapshots__/navbar--no-nip-07.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

134
__snapshots__/navbar.test.js.snap

@ -1,29 +1,30 @@ @@ -1,29 +1,30 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Navbar Default smoke-test 1`] = `
<div class="bg-neutral">
<div class="mx-auto lg:container bg-neutral">
<div class="navbar">
<div class="flex-1">
<h4>
<span class="primary">
git
</span>
<span class>
together
</span>
<span class>
.xyz
</span>
</h4>
</div>
<div class="flex-none gap-4">
<div class="btn btn-primary normal-case">
Sign up
<div class="bg-base-400">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="navbar">
<div class="navbar-start">
</div>
<div class="navbar-center">
<h4 class="align-middle text-sm font-mono">
<span class="text-primary">
git
</span>
<span class="text-primary">
workshop
</span>
<span class>
.net
</span>
</h4>
</div>
<div class="navbar-end gap-4">
<div class="btn normal-case btn-sm btn-ghost">
Sign up
</div>
</div>
<button class="btn btn-outline normal-case">
Login
</button>
</div>
</div>
</div>
@ -31,26 +32,30 @@ exports[`Navbar Default smoke-test 1`] = ` @@ -31,26 +32,30 @@ exports[`Navbar Default smoke-test 1`] = `
`;
exports[`Navbar NIP07Exists smoke-test 1`] = `
<div class="bg-neutral">
<div class="mx-auto lg:container bg-neutral">
<div class="navbar">
<div class="flex-1">
<h4>
<span class="primary">
git
</span>
<span class>
together
</span>
<span class>
.xyz
</span>
</h4>
</div>
<div class="flex-none gap-4">
<button class="btn btn-outline normal-case">
Login
</button>
<div class="bg-base-400">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="navbar">
<div class="navbar-start">
</div>
<div class="navbar-center">
<h4 class="align-middle text-sm font-mono">
<span class="text-primary">
git
</span>
<span class="text-primary">
workshop
</span>
<span class>
.net
</span>
</h4>
</div>
<div class="navbar-end gap-4">
<button class="btn normal-case btn-sm btn-ghost">
Login
</button>
</div>
</div>
</div>
</div>
@ -58,29 +63,30 @@ exports[`Navbar NIP07Exists smoke-test 1`] = ` @@ -58,29 +63,30 @@ exports[`Navbar NIP07Exists smoke-test 1`] = `
`;
exports[`Navbar NoNIP07 smoke-test 1`] = `
<div class="bg-neutral">
<div class="mx-auto lg:container bg-neutral">
<div class="navbar">
<div class="flex-1">
<h4>
<span class="primary">
git
</span>
<span class>
together
</span>
<span class>
.xyz
</span>
</h4>
</div>
<div class="flex-none gap-4">
<div class="btn btn-primary normal-case">
Sign up
<div class="bg-base-400">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="navbar">
<div class="navbar-start">
</div>
<div class="navbar-center">
<h4 class="align-middle text-sm font-mono">
<span class="text-primary">
git
</span>
<span class="text-primary">
workshop
</span>
<span class>
.net
</span>
</h4>
</div>
<div class="navbar-end gap-4">
<div class="btn normal-case btn-sm btn-ghost">
Sign up
</div>
</div>
<button class="btn btn-outline normal-case">
Login
</button>
</div>
</div>
</div>

BIN
__snapshots__/prs-header--short-details.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

200
__snapshots__/prs-header.test.js.snap

@ -1,26 +1,30 @@ @@ -1,26 +1,30 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`PRs/Header Author Loading smoke-test 1`] = `
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3">
<div class="text-lg text-base-content mb-2">
short title
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 3 months ago
</div>
<div class="inline align-middle">
<div class="skeleton h-3 pb-2 w-20 inline-block">
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="text-lg text-base-content mb-2">
short title
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 3 months ago
</div>
<div class="inline align-middle">
<div class="skeleton h-3 pb-2 w-20 inline-block">
</div>
</div>
</div>
</div>
</div>
@ -28,94 +32,110 @@ exports[`PRs/Header Author Loading smoke-test 1`] = ` @@ -28,94 +32,110 @@ exports[`PRs/Header Author Loading smoke-test 1`] = `
`;
exports[`PRs/Header Long Details smoke-test 1`] = `
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3">
<div class="text-lg text-base-content mb-2">
rather long title that goes on and on and on and on and on and on...
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened a minute ago
</div>
<div class="inline align-middle">
DanConwayDev
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="text-lg text-base-content mb-2">
rather long title that goes on and on and on and on and on and on...
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened a minute ago
</div>
<div class="inline align-middle">
DanConwayDev
</div>
</div>
</div>
</div>
</div>
`;
exports[`PRs/Header Long and No Spaces smoke-test 1`] = `
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3">
<div class="text-lg text-base-content mb-2">
LongNameLongNameLongNameLongNameLongNameLongNameLongNameLongNameL...
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 3 months ago
</div>
<div class="inline align-middle">
DanConwayDev
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="text-lg text-base-content mb-2">
LongNameLongNameLongNameLongNameLongNameLongNameLongNameLongNameL...
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 3 months ago
</div>
<div class="inline align-middle">
DanConwayDev
</div>
</div>
</div>
</div>
</div>
`;
exports[`PRs/Header Short Details smoke-test 1`] = `
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3">
<div class="text-lg text-base-content mb-2">
short title
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 7 days ago
</div>
<div class="inline align-middle">
DanConwayDev
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4">
<div class="mx-auto lg:container">
<div class="px-3">
<div class="text-lg text-base-content mb-2">
short title
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
>
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0">
</path>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened 7 days ago
</div>
<div class="inline align-middle">
DanConwayDev
</div>
</div>
</div>
</div>
</div>
`;
exports[`PRs/Header loading smoke-test 1`] = `
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3">
<div>
<div class="h-7 w-60 pt-1 skeleton">
</div>
<div class>
<div class="h-8 w-20 mt-3 skeleton align-middle inline-block">
</div>
<div class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block">
</div>
<div class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block">
<div class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4">
<div class="mx-auto lg:container">
<div class="px-3">
<div>
<div class="h-7 w-60 pt-1 skeleton">
</div>
<div class>
<div class="h-8 w-20 mt-3 skeleton align-middle inline-block">
</div>
<div class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block">
</div>
<div class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block">
</div>
</div>
</div>
</div>
</div>

BIN
__snapshots__/repo-header--loading.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
__snapshots__/repo-header--long-name.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 15 KiB

BIN
__snapshots__/repo-header--no-name.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
__snapshots__/repo-header--short-name.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

42
__snapshots__/repo-header.test.js.snap

@ -1,46 +1,46 @@ @@ -1,46 +1,46 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Repo/Header Long Name smoke-test 1`] = `
<div class="bg-base-300 py-2 border-b border-accent-content">
<div class="bg-base-300 border-b border-accent-content">
<div class="mx-auto lg:container">
<div class="max-w-md prose px-3">
<h4 class="text-sm my-1 break-words">
Long Name that goes on and on and on and on a...
</h4>
</div>
<a href="/repo/9ee507fc4357d7ee16a5d8901bedcd103f23c17d"
class="btn btn-ghost text-sm break-words strong mt-0 mb-0 px-3"
>
Long Name that goes on and on and on and on a...
</a>
</div>
</div>
`;
exports[`Repo/Header No Name smoke-test 1`] = `
<div class="bg-base-300 py-2 border-b border-accent-content">
<div class="bg-base-300 border-b border-accent-content">
<div class="mx-auto lg:container">
<div class="max-w-md prose px-3">
<h4 class="text-sm my-1 break-words">
Untitled
</h4>
</div>
<a href="/repo/9ee507fc4357d7ee16a5d8901bedcd103f23c17d"
class="btn btn-ghost text-sm break-words strong mt-0 mb-0 px-3"
>
Untitled
</a>
</div>
</div>
`;
exports[`Repo/Header Short Name smoke-test 1`] = `
<div class="bg-base-300 py-2 border-b border-accent-content">
<div class="bg-base-300 border-b border-accent-content">
<div class="mx-auto lg:container">
<div class="max-w-md prose px-3">
<h4 class="text-sm my-1 break-words">
Short Name
</h4>
</div>
<a href="/repo/9ee507fc4357d7ee16a5d8901bedcd103f23c17d"
class="btn btn-ghost text-sm break-words strong mt-0 mb-0 px-3"
>
Short Name
</a>
</div>
</div>
`;
exports[`Repo/Header loading smoke-test 1`] = `
<div class="bg-base-300 py-2 border-b border-accent-content">
<div class="bg-base-300 border-b border-accent-content">
<div class="mx-auto lg:container">
<div class="max-w-md prose px-3">
<div class="h-5 my-2 skeleton w-28">
<div class="p-3">
<div class="h-6 skeleton w-28 bg-base-200">
</div>
</div>
</div>

13
src/lib/components/Container.svelte

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
<script lang="ts">
export let no_wrap: boolean = false;
</script>
<div class="mx-auto lg:container">
{#if no_wrap}
<slot />
{:else}
<div class="px-3">
<slot />
</div>
{/if}
</div>

26
src/lib/components/Navbar.svelte

@ -1,23 +1,27 @@ @@ -1,23 +1,27 @@
<script lang="ts">
import Container from "./Container.svelte";
export let nip07plugin: boolean = false;
</script>
<div class="bg-neutral">
<div class="mx-auto lg:container bg-neutral">
<div class="bg-base-400">
<Container>
<div class="navbar">
<div class="flex-1">
<h4>
<span class="primary">git</span>
<span class="">together</span>
<span class="">.xyz</span>
<div class="navbar-start"></div>
<div class="navbar-center">
<h4 class="align-middle text-sm font-mono">
<span class="text-primary">git</span><span class="text-primary"
>workshop</span
><span class="">.net</span>
</h4>
</div>
<div class="flex-none gap-4">
<div class="navbar-end gap-4">
{#if !nip07plugin}
<div class="btn btn-primary normal-case">Sign up</div>
<div class="btn normal-case btn-sm btn-ghost">Sign up</div>
{:else}
<button class="btn normal-case btn-sm btn-ghost">Login</button>
{/if}
<button class="btn btn-outline normal-case">Login</button>
</div>
</div>
</div>
</Container>
</div>

85
src/lib/components/prs/PRHeader.svelte

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
import relativeTime from "dayjs/plugin/relativeTime";
import { summary_defaults } from "./type";
import { getName } from "../users/type";
import Container from "../Container.svelte";
dayjs.extend(relativeTime);
export let { title, id, repo_id, comments, author, created_at, loading } =
@ -25,49 +26,51 @@ @@ -25,49 +26,51 @@
</script>
<div
class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4 px-3"
class="overflow-hidden grow text-xs text-neutral-content bg-base-200 border-b border-accent-content pt-2 pb-4"
>
{#if loading}
<div>
<div class="h-7 w-60 pt-1 skeleton"></div>
<div class="">
<div
class="h-8 w-20 mt-3 skeleton align-middle inline-block"
></div>
<div
class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block"
></div>
<div
class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block"
></div>
<Container>
{#if loading}
<div>
<div class="h-7 w-60 pt-1 skeleton"></div>
<div class="">
<div
class="h-8 w-20 mt-3 skeleton align-middle inline-block"
></div>
<div
class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block"
></div>
<div
class="h-3 w-28 ml-3 mt-5 align-middle skeleton inline-block"
></div>
</div>
</div>
</div>
{:else}
<div class="text-lg text-base-content mb-2">
{short_title}
</div>
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
><path
d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0"
/>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened {created_at_ago}
{:else}
<div class="text-lg text-base-content mb-2">
{short_title}
</div>
<div class="inline align-middle">
{#if author.loading}
<div class="skeleton h-3 pb-2 w-20 inline-block"></div>
{:else}
{author_name}
{/if}
<div class="pt-1">
<button class="btn btn-success btn-sm mr-3 align-middle">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 18 18"
class="h-5 w-5 pt-1 flex-none fill-success-content"
><path
d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5a.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0a.75.75 0 0 0-1.5 0"
/>
</svg>
Open
</button>
<div class="inline mr-3 align-middle">
opened {created_at_ago}
</div>
<div class="inline align-middle">
{#if author.loading}
<div class="skeleton h-3 pb-2 w-20 inline-block"></div>
{:else}
{author_name}
{/if}
</div>
</div>
</div>
{/if}
{/if}
</Container>
</div>

25
src/lib/components/repo/RepoHeader.svelte

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
<script lang="ts">
import type { User } from "$lib/components/users/type";
import UserHeader from "$lib/components/users/UserHeader.svelte";
import Container from "../Container.svelte";
import { defaults } from "./type";
export let {
@ -25,14 +26,18 @@ @@ -25,14 +26,18 @@
}
</script>
<div class="bg-base-300 py-2 border-b border-accent-content">
<div class="mx-auto lg:container">
<div class="max-w-md prose px-3">
{#if loading}
<div class="h-5 my-2 skeleton w-28"></div>
{:else}
<h4 class="text-sm my-1 break-words">{short_name}</h4>
{/if}
</div>
</div>
<div class="bg-base-300 border-b border-accent-content">
<Container no_wrap={true}>
{#if loading}
<div class="p-3">
<div class="h-6 skeleton w-28 bg-base-200"></div>
</div>
{:else}
<a
href={`/repo/${repo_id}`}
class="btn btn-ghost text-sm break-words strong mt-0 mb-0 px-3"
>{short_name}</a
>
{/if}
</Container>
</div>

4
src/routes/+layout.svelte

@ -5,6 +5,4 @@ @@ -5,6 +5,4 @@
<Navbar />
<div class="mx-auto lg:container">
<slot />
</div>
<slot />

18
src/routes/repo/[repo_id]/+page.svelte

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
import OpenPRs from "$lib/wrappers/OpenPRs.svelte";
import { ensureSelectedRepo, selected_repo } from "$lib/stores/repo";
import RepoHeader from "$lib/components/repo/RepoHeader.svelte";
import Container from "$lib/components/Container.svelte";
export let data: { repo_id: string };
let repo_id = data.repo_id;
@ -11,11 +12,14 @@ @@ -11,11 +12,14 @@
</script>
<RepoHeader {...$selected_repo} />
<div class="flex">
<div class="w-2/3 mx-2">
<OpenPRs {repo_id} />
</div>
<div class="w-1/3 mx-2 prose">
<RepoDetails {repo_id} />
<Container>
<div class="md:flex mt-2">
<div class="md:w-2/3 md:mr-2">
<OpenPRs {repo_id} />
</div>
<div class="w-1/3 ml-2 prose hidden md:flex">
<RepoDetails {repo_id} />
</div>
</div>
</div>
</Container>

39
src/routes/repo/[repo_id]/pr/[pr_id]/+page.svelte

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
import RepoHeader from "$lib/components/repo/RepoHeader.svelte";
import Thread from "$lib/wrappers/Thread.svelte";
import PrDetails from "$lib/components/prs/PRDetails.svelte";
import Container from "$lib/components/Container.svelte";
export let data: {
repo_id: string;
@ -25,24 +26,26 @@ @@ -25,24 +26,26 @@
<RepoHeader {...$selected_repo} />
<PrHeader {...$selected_pr_full.summary} />
<div class="flex">
<div class="w-2/3 mx-2">
<div class="prose my-3">
{$selected_pr_full.summary.descritpion}
<Container>
<div class="md:flex">
<div class="md:w-2/3 md:mr-2">
<div class="prose my-3">
{$selected_pr_full.summary.descritpion}
</div>
{#if $selected_pr_full.pr_event}
<Thread
event={$selected_pr_full.pr_event}
replies={$selected_pr_replies}
/>
{/if}
</div>
{#if $selected_pr_full.pr_event}
<Thread
event={$selected_pr_full.pr_event}
replies={$selected_pr_replies}
<div class="w-1/3 ml-2 prose hidden md:flex">
<PrDetails
summary={$selected_pr_full.summary}
status={$selected_pr_full.status}
labels={$selected_pr_full.labels}
loading={$selected_pr_full.loading}
/>
{/if}
</div>
<div class="w-1/3 mx-2 prose">
<PrDetails
summary={$selected_pr_full.summary}
status={$selected_pr_full.status}
labels={$selected_pr_full.labels}
loading={$selected_pr_full.loading}
/>
</div>
</div>
</div>
</Container>

14
tailwind.config.js

@ -1,15 +1,21 @@ @@ -1,15 +1,21 @@
/** @type {import('tailwindcss').Config} */
export default {
content: [ './src/**/*.{svelte,js,ts}' ],
content: ['./src/**/*.{svelte,js,ts}'],
theme: {
extend: {},
extend: {
colors: {
"base-400": "#16171e",
},
},
},
plugins: [
plugins: [
require('@tailwindcss/typography'),
require('daisyui'),
],
daisyui: {
themes: [ 'dracula'],
themes: ['dracula'],
}
}

Loading…
Cancel
Save