From 914671ff7398f60831befc1ab3dbab4b77a58c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A1imon=20Kala?= Date: Sun, 13 Oct 2024 12:42:51 +0200 Subject: [PATCH] More consistent colors; lowered commit hex len to 7 chars; added favicon --- src/app.py | 2 +- src/repository.py | 8 ++--- src/static/favicon.ico | Bin 0 -> 118869 bytes src/static/style.css | 44 +++++++++++++++++++++++ src/templates/base.html.jinja | 6 ++-- src/templates/buildlog.html.jinja | 6 ++-- src/templates/index.html.jinja | 24 +++++++------ src/templates/info.html.jinja | 4 +-- src/templates/listdir.html.jinja | 6 ++-- src/templates/path_breadcrumb.html.jinja | 2 +- src/templates/signin.html.jinja | 2 +- src/templates/viewfile.html.jinja | 2 +- 12 files changed, 76 insertions(+), 30 deletions(-) create mode 100644 src/static/favicon.ico diff --git a/src/app.py b/src/app.py index 99dd9c7..6a51841 100644 --- a/src/app.py +++ b/src/app.py @@ -82,7 +82,7 @@ def info(repo: Repository): commit_hash = log[1].split()[0][1:] try: commit_msg, commit_author, commit_url = repo.get_commit_info(commit_hash) - formatted_commit_info = f"#{commit_hash}: {commit_msg} (by {commit_author})" + formatted_commit_info = f"#{commit_hash}: {commit_msg} (by {commit_author})" except Exception as e: formatted_commit_info = '' else: diff --git a/src/repository.py b/src/repository.py index 1fa3a80..565ee6c 100644 --- a/src/repository.py +++ b/src/repository.py @@ -121,13 +121,13 @@ def _runJob(self, reponame, user): repo = self._updateRepo(reponame) try: if self._build(reponame): - msg = f"#{repo.head.commit.hexsha[:10]} Build succeeded." + msg = f"#{repo.head.commit.hexsha[:8]} Build succeeded." time_end = time.time() else: - msg = f"#{repo.head.commit.hexsha[0:10]} Build failed." + msg = f"#{repo.head.commit.hexsha[0:8]} Build failed." time_end = time.time() except: - msg = f"#{repo.head.commit.hexsha[0:10]} Build error." + msg = f"#{repo.head.commit.hexsha[0:8]} Build error." raise except GitCommandError as e: msg = f"Pull error. ({e})" @@ -250,7 +250,7 @@ def get_current_build_status(self): return { "status": status, "timeinfo": f"- {self._format_time_ago(last_record[0])}", - "commit": f" - #{commit_hash}: {commit_msg} (by {commit_author})" + "commit": f" - #{commit_hash}: {commit_msg} (by {commit_author})" } except Exception as e: return { diff --git a/src/static/favicon.ico b/src/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c4a3e872c25c44bf780de6e09e0e233cd6de442c GIT binary patch literal 118869 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 literal 0 HcmV?d00001 diff --git a/src/static/style.css b/src/static/style.css index d655422..e287724 100644 --- a/src/static/style.css +++ b/src/static/style.css @@ -1,3 +1,47 @@ table td { padding: 1px 10px 1px 10px; +} + +:root { + --bs-pink: #da1175; +} + +.btn-pink { + color: #fff; + background-color: var(--bs-pink); + border-color: var(--bs-pink); +} + +.btn-pink:hover { + color: #fff; + background-color: #b80e63; + border-color: #ad0d5d; +} + +.btn-outline-pink { + color: var(--bs-pink) !important; + border-color: var(--bs-pink) !important; +} + +.btn-outline-pink:hover { + color: #fff !important; + background-color: var(--bs-pink) !important; + border-color: var(--bs-pink) !important; +} + +.link-pink { + color: var(--bs-pink) !important; +} + +.link-pink:hover { + color: #b80e63 !important; + text-decoration: underline !important; +} + +.text-pink { + color: var(--bs-pink) !important; +} + +.bg-pink { + background-color: var(--bs-pink) !important; } \ No newline at end of file diff --git a/src/templates/base.html.jinja b/src/templates/base.html.jinja index 6a0335f..1d95424 100644 --- a/src/templates/base.html.jinja +++ b/src/templates/base.html.jinja @@ -5,14 +5,14 @@ Astrid - {% block title %}{% endblock %} + - -