From c639b09aafc23aeecc0e258b816941ee2576038d Mon Sep 17 00:00:00 2001 From: timmy Date: Fri, 7 Aug 2026 11:29:35 +0000 Subject: [PATCH] feat: schedule assigned issues from mobile (#191) --- README.md | 3 +- frontend/index.html | 66 +++++++++++++++++++++++++ frontend/issue-sheet.js | 28 +++++++++++ frontend/my-work.js | 36 ++++++++++++-- src/gitea_proxy.py | 34 +++++++++++++ src/main.py | 42 +++++++++++++++- src/models.py | 1 + tests/test_gitea_work_search.py | 2 + tests/test_issue_api.py | 83 +++++++++++++++++++++++++++++++ tests/test_my_work.py | 87 +++++++++++++++++++++++++++++++++ tests/test_work_pages.py | 2 + 11 files changed, 378 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 47b07a4..70b7bf3 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ python3 -m pip install -r requirements.txt Point the dashboard at the Gitea server root (without `/api/v1`) and provide a token that can read dashboard data, update the authenticated user's notification threads, create and self-assign issues, discover, claim, and release issue assignments, -create issue comments, close assigned issues, inspect/comment on assigned pull +set or clear due dates on assigned issues, create issue comments, close assigned issues, +inspect/comment on assigned pull requests, merge assigned pull requests, and submit pull-request reviews. Pull-request replies and mobile My Work issue and PR comments use Gitea's issue-comment API; mobile issue capture requires issue diff --git a/frontend/index.html b/frontend/index.html index 031fe88..8375937 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -146,6 +146,10 @@ textarea { resize: vertical; min-height: 120px; } .issue-label-option { min-height:44px; max-width:100%; display:flex; align-items:center; gap:10px; padding:8px; border:1px solid #2a496e; border-radius:10px; overflow-wrap:anywhere; } .issue-label-option input { width:20px; height:20px; flex:0 0 auto; } .issue-label-editor button { min-height:44px; width:100%; margin-top:10px; } +.issue-due-editor { display:grid; gap:8px; max-width:100%; margin:14px 0; padding:12px; border:1px solid #2a496e; border-radius:12px; } +.issue-due-editor input { box-sizing:border-box; width:100%; max-width:100%; } +.issue-due-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; } +.issue-due-editor input, .issue-due-editor button { min-height:44px; } .issue-sheet-actions { position:sticky; bottom:0; z-index:3; display:grid; gap:8px; margin-top:14px; padding:10px 4px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); background:rgba(11,21,38,.98); border-top:1px solid #2a496e; } .issue-sheet-actions button, .issue-sheet-actions a { min-height:44px; display:flex; align-items:center; justify-content:center; } .issue-sheet-actions a { border:1px solid #60a5fa; border-radius:10px; font-weight:700; } @@ -361,6 +365,16 @@ textarea { resize: vertical; min-height: 120px; }
Load an issue to edit labels.
+
+ Due date + + +
+ + +
+
Load an issue to schedule it.
+