123 lines
4.2 KiB
HTML
123 lines
4.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Tasks - Roject</title>
|
|
<link rel="stylesheet" href="../_assets_/styles.css">
|
|
<link rel="stylesheet" href="../_assets_/nav.css">
|
|
<link rel="stylesheet" href="../_assets_/boards.css">
|
|
</head>
|
|
<body>
|
|
<div class="board-page">
|
|
|
|
<header>
|
|
<p class="date">Board</p>
|
|
<h1>Tasks</h1>
|
|
<p class="subtitle">Click a task title to expand or collapse its content.</p>
|
|
</header>
|
|
|
|
<div class="board">
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">To Do</div>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Remote Projects in Electron</task-title>
|
|
<task-content>
|
|
Allow the Electron app to connect to roject.rokojori.com and list remote projects
|
|
alongside local ones. The JWT is already available;
|
|
it's a matter of pointing requests at the remote URL with the token.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Unauthenticated Landing Screen</task-title>
|
|
<task-content>
|
|
Unauthenticated users currently crash on dashboard components.
|
|
They should land on a screen that explains the app and shows a login link.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Replace browser confirm() in group editor and account delete</task-title>
|
|
<task-content>
|
|
The group editor and account delete button still use the browser confirm() dialog.
|
|
Replace with the custom <confirm-dialog> component already used elsewhere.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>MediaViewerPanel for images and PDFs</task-title>
|
|
<task-content>
|
|
Non-text files (images, PDFs) are visible in the file tree but not openable.
|
|
Add a MediaViewerPanel and register it in FileEditorRegistry for common media types.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>CI deploy email notification</task-title>
|
|
<task-content>
|
|
The /api/deploy endpoint should send an email notification after each successful
|
|
restart so deploys are visible without checking server logs.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Switch Gitea webhook to dev branch</task-title>
|
|
<task-content>
|
|
The Gitea webhook currently triggers on pushes to main, redeploying on every commit.
|
|
Switch to a dev branch so main is the stable release target.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">In Progress</div>
|
|
|
|
<task-item class="yellow hide-content">
|
|
<task-title>Local Filesystem Access</task-title>
|
|
<task-content>
|
|
Extend the file tree to browse arbitrary directories on the host
|
|
machine using Node.js fs rather than the server's JSON-backed project storage.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">Done</div>
|
|
|
|
<task-item class="green hide-content">
|
|
<task-title>Electron Desktop App Shell</task-title>
|
|
<task-content>
|
|
Login window, JWT auth via API, Authorization header injection, token persistence,
|
|
ROJECT_ROOT path fix, ELECTRON_RUN_AS_NODE workaround. Full local-only Electron app working.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<footer>
|
|
Roject — tasks
|
|
</footer>
|
|
|
|
</div>
|
|
<script>var NAV_ROOT = '../';</script>
|
|
<script src="../_assets_/nav-data.js"></script>
|
|
<script src="../_assets_/nav.js"></script>
|
|
<script>
|
|
document.querySelectorAll( 'task-title' ).forEach( title =>
|
|
{
|
|
title.addEventListener( 'click', () =>
|
|
{
|
|
title.closest( 'task-item' ).classList.toggle( 'hide-content' );
|
|
} );
|
|
} );
|
|
</script>
|
|
</body>
|
|
</html>
|