feat(05): cloud folder browser views, routing, and sidebar nav
Add CloudStorageView (/cloud) and CloudFolderView (/cloud/:provider/:folderId).
Tree items filter to directories only (is_dir) to hide files in the nav tree.
CloudProviderTreeItem root click navigates to /cloud/{provider}/root instead
of /settings. AppSidebar Cloud Storage link upgraded to router-link with
active-class highlighting. Router registers both cloud routes with requiresAuth.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
54ef3357ba
commit
5250895587
@@ -102,7 +102,7 @@ async function loadChildren() {
|
||||
loadError.value = false
|
||||
try {
|
||||
const data = await api.getCloudFolders(props.provider, props.folder.id)
|
||||
children.value = data.items ?? []
|
||||
children.value = (data.items ?? []).filter(i => i.is_dir)
|
||||
childrenLoaded.value = true
|
||||
} catch {
|
||||
loadError.value = true
|
||||
|
||||
@@ -92,7 +92,7 @@ async function loadChildren() {
|
||||
loadError.value = false
|
||||
try {
|
||||
const data = await api.getCloudFolders(props.connection.provider, 'root')
|
||||
children.value = data.items ?? []
|
||||
children.value = (data.items ?? []).filter(i => i.is_dir)
|
||||
childrenLoaded.value = true
|
||||
} catch {
|
||||
loadError.value = true
|
||||
@@ -113,6 +113,6 @@ async function retry() {
|
||||
}
|
||||
|
||||
function navigateToRoot() {
|
||||
router.push('/settings')
|
||||
router.push(`/cloud/${props.connection.provider}/root`)
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user