feat: UI separates locals, remotes, and virtuals (#54)
## Summary - New "Locals" sidebar nav item with list + detail + browse pages - Remotes page filters out local repos (repo_type=local hidden) - LocalDetail: simplified view — just name, type, description + "Browse Files" button - Virtuals: member links resolve to /locals/ or /remotes/ based on repo_type - Objects page detects context for correct back-navigation ## Test plan - [ ] Visual check: locals page shows only local repos - [ ] Remotes page hides local repos - [ ] Virtual member links point to correct pages - [ ] Browse files works from local detail page Reviewed-on: #54 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #54.
This commit is contained in:
@@ -32,9 +32,10 @@ export function Remotes() {
|
||||
.finally(() => setLoading(false));
|
||||
}, []);
|
||||
|
||||
const types = [...new Set(remotes.map(r => r.package_type))].sort();
|
||||
const remoteOnly = remotes.filter(r => r.repo_type !== 'local');
|
||||
const types = [...new Set(remoteOnly.map(r => r.package_type))].sort();
|
||||
|
||||
const filtered = remotes.filter(r => {
|
||||
const filtered = remoteOnly.filter(r => {
|
||||
if (typeFilter && r.package_type !== typeFilter) return false;
|
||||
if (filter && !r.name.toLowerCase().includes(filter.toLowerCase())) return false;
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user