mirror of https://git.jolheiser.com/ugit.git
30 lines
2.2 KiB
Plaintext
30 lines
2.2 KiB
Plaintext
|
package html
|
||
|
|
||
|
import "fmt"
|
||
|
import "github.com/dustin/go-humanize"
|
||
|
import "go.jolheiser.com/ugit/internal/git"
|
||
|
|
||
|
type RepoCommitContext struct{
|
||
|
BaseContext
|
||
|
RepoHeaderComponentContext
|
||
|
Commit git.Commit
|
||
|
}
|
||
|
|
||
|
templ RepoCommit(rcc RepoCommitContext) {
|
||
|
@base(rcc.BaseContext) {
|
||
|
@repoHeaderComponent(rcc.RepoHeaderComponentContext)
|
||
|
<div class="text-text mt-5"><a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("/%s/tree/%s/", rcc.RepoHeaderComponentContext.Name, rcc.Commit.SHA)) }>tree</a>{ " " }<a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("/%s/log/%s", rcc.RepoHeaderComponentContext.Name, rcc.Commit.SHA)) }>log</a>{ " " }<a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("/%s/commit/%s.patch", rcc.RepoHeaderComponentContext.Name, rcc.Commit.SHA)) }>patch</a></div>
|
||
|
<div class="text-text whitespace-pre mt-5">{ rcc.Commit.Message }</div>
|
||
|
<div class="text-text mt-3">
|
||
|
<div>{ rcc.Commit.Author }{ " " }<a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("mailto:%s", rcc.Commit.Email)) }>{ fmt.Sprintf("<%s>", rcc.Commit.Email) }</a></div>
|
||
|
<div title={ rcc.Commit.When.Format("01/02/2006 03:04:05 PM") }>{ humanize.Time(rcc.Commit.When) }</div>
|
||
|
</div>
|
||
|
<div class="text-text mt-5">{ fmt.Sprintf("%d changed files, %d additions(+), %d deletions(-)", rcc.Commit.Stats.Changed, rcc.Commit.Stats.Additions, rcc.Commit.Stats.Deletions) }</div>
|
||
|
for _, file := range rcc.Commit.Files {
|
||
|
<div class="text-text mt-5"><span class="text-text/80">{ string(file.Action[0]) }</span>{ " " }<a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("/%s/tree/%s/%s", rcc.RepoHeaderComponentContext.Name, file.From.Commit, file.From.Path)) }>{ file.From.Path }</a>{ " -> " }<a class="underline decoration-text/50 decoration-dashed hover:decoration-solid" href={ templ.SafeURL(fmt.Sprintf("/%s/tree/%s/%s", rcc.RepoHeaderComponentContext.Name, file.To.Commit, file.To.Path)) }>{ file.To.Path }</a></div>
|
||
|
<div class="whitespace-pre commit">@templ.Raw(file.Patch)</div>
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|