roundabout,
created on Wednesday, 6 December 2023, 13:34:13 (1701869653),
received on Wednesday, 31 July 2024, 06:54:39 (1722408879)
Author identity: vlad <vlad.muntoiu@gmail.com>
746e795af759379ce3a518c88be3d9cb9e29c486
app.py
@@ -590,7 +590,18 @@ def repositoryBranches(username, repository):
repository) is not None):
flask.abort(403)
return flask.render_template("repo-branches.html", username=username, repository=repository)
serverRepoLocation = os.path.join(config.REPOS_PATH, os.path.join(username, repository))
app.logger.info(f"Loading {serverRepoLocation}")
if not os.path.exists(serverRepoLocation):
app.logger.error(f"Cannot load {serverRepoLocation}")
return flask.render_template("not-found.html"), 404
repo = git.Repo(serverRepoLocation)
repoData = Repo.query.filter_by(route=f"/{username}/{repository}").first()
return flask.render_template("repo-branches.html", username=username, repository=repository, repoData=repoData, repo=repo)
@app.route("/<username>/<repository>/log/")
static/efficient-ui/cards.css
@@ -43,7 +43,7 @@ figcaption {
max-width: var(--figure-max-size-horizontal-card);
}
.card-horizontal > figure + :is(section, header, footer) {
.card-horizontal > figure ~ :is(section, header, footer) {
/* Beside figure */
padding-top: var(--padding-card-top);
}
static/style.css
@@ -1,5 +1,12 @@
@import url("/static/efficient-ui/MASTER.css");
:root {
--color-branch: var(--color-primary-1);
--color-branch-text: var(--color-primary-1-text);
--color-tag: var(--color-accent-1);
--color-tag-text: var(--color-accent-1-text);
}
.big-button {
font-size: 1.5em;
}
@@ -153,4 +160,12 @@ body > footer hr {
#footer-lists > dl {
flex: 1 0 0;
}
.branch-icon {
width: 2em;
font-size: 32px;
align-items: center;
justify-content: center;
display: flex;
}
templates/repo-branches.html
@@ -0,0 +1,46 @@
{% extends "repo.html" %}
{% block content %}
<x-vbox>
<x-frame style="--width: 896px;" class="flexible-space">
<h2>Branches</h2>
<x-vbox>
{% for branch in repo.branches %}
<article class="card card-horizontal">
<figure style="background-color: var(--color-branch); color: var(--color-branch-text);" class="branch-icon">
<iconify-icon icon="{% if repoData.defaultBranch == branch.name %}mdi:star{% else %}mdi:source-branch{% endif %}"></iconify-icon>
</figure>
<section class="card-main flexible-space">
<h3>{{ branch.name }}</h3>
{% if repoData.defaultBranch == branch.name %}<p>Default</p>{% endif %}
<code>{{ branch.commit.hexsha }}</code>
</section>
<section>
<x-buttonbox style="align-items: center; height: 100%;">
<a class="button" href="/{{ username }}/{{ repository }}/tree/{{ branch.name | replace('/', '~') }}">View tree</a>
</x-buttonbox>
</section>
</article>
{% endfor %}
</x-vbox>
<h2>Tags</h2>
<x-vbox>
{% for tag in repo.tags %}
<article class="card card-horizontal">
<figure style="background-color: var(--color-tag); color: var(--color-tag-text);" class="branch-icon">
<iconify-icon icon="mdi:tag"></iconify-icon>
</figure>
<section class="card-main flexible-space">
<h3>{{ tag.name }}</h3>
<code>{{ tag.commit.hexsha }}</code>
</section>
<section>
<x-buttonbox style="align-items: center; height: 100%;">
<a class="button" href="/{{ username }}/{{ repository }}/tree/tag:{{ tag.name | replace('/', '~') }}">View tree</a>
</x-buttonbox>
</section>
</article>
{% endfor %}
</x-vbox>
</x-frame>
</x-vbox>
{% endblock %}
templates/repo-file.html
@@ -1,5 +1,4 @@
{% extends "repo.html" %}
{% block header %}{{ super() }}/<a href="/{{ username }}/{{ repository }}/tree">tree</a>{% endblock %}
{% block content %}
<!--
<dialog id="commit-dialog">
templates/repo-tree.html
@@ -1,5 +1,4 @@
{% extends "repo.html" %}
{% block header %}{{ super() }}/<a href="/{{ username }}/{{ repository }}/tree">tree</a>{% endblock %}
{% block content %}
<!--
<dialog id="commit-dialog">