Media Library

@if (mediaService.uploading()) {
Uploading...
} @if (mediaService.loading()) {
Loading...
} @else { }
@if (mediaService.error()) {
error

{{ mediaService.error() }}

} image Images ({{ images().length }})
@if (selectedItems().length > 0) {
{{ selectedItems().length }} item(s) selected
} @else {
} @if (images().length === 0) {
image

No images found in your library

} @else {
@for (item of images(); track item.sha256) {
check_circle
@if (item.mirrors && item.mirrors.length > 0) {
cloud_done {{ item.mirrors.length }}
}
{{ getFileName(item.url) }} {{ formatFileSize(item.size) }}
}
}
videocam Videos ({{ videos().length }})
@if (selectedItems().length > 0) {
{{ selectedItems().length }} item(s) selected
} @else {
} @if (videos().length === 0) {
videocam

No videos found in your library

} @else {
@for (item of videos(); track item.sha256) {
check_circle
@if (item.mirrors && item.mirrors.length > 0) {
cloud_done {{ item.mirrors.length }}
}
play_circle_filled
{{ getFileName(item.url) }} {{ formatFileSize(item.size) }}
}
}
folder Files ({{ files().length }})
@if (selectedItems().length > 0) {
{{ selectedItems().length }} item(s) selected
} @else {
} @if (files().length === 0) {
insert_drive_file

No files found in your library

} @else {
check_box_outline_blank {{isSelected(item.sha256) ? 'check_box' : 'check_box_outline_blank'}} Name
insert_drive_file {{ getFileName(item.url) }}
Mirrors @if (item.mirrors && item.mirrors.length > 0) {
cloud_done {{ item.mirrors.length }}
} @else { - }
Type {{ item.type || 'Unknown' }} Size {{ formatFileSize(item.size || 0) }} Uploaded {{ item.uploaded | timestamp:'medium' }} Actions
}
storage Media Servers

Your Nostr Media Servers

Media servers are endpoints that can host your content following the Nostr BUD (Blossom - Blobs stored simply on mediaservers) protocol.

@if (mediaService.mediaServers().length > 0) {
Primary server: The first server in the list is your primary upload server. Drag and drop to reorder servers and change your primary server.
}
@if (mediaService.mediaServers().length === 0) {
cloud_off

No media servers configured

Add servers to store and distribute your media

} @else {
@for (server of mediaService.mediaServers(); track server; let i = $index) {
drag_indicator
@if (i === 0) {
star Primary
} storage {{ server || server }} {{ server }}
}
}