Merge branch 'pulsejet:master' into issue-738.ux-improvements
commit
9ef9c573f7
|
@ -4,7 +4,9 @@ description: Steps to configure support for different image and video formats
|
|||
|
||||
# File type support
|
||||
|
||||
Memories supports the file types supported by the Nextcloud previews app. If you add support for any one of the file types below, you must run `occ memories:index` to index these files.
|
||||
Memories supports the file types supported by the Nextcloud previews app. File type support is determined in part by the values listed in the `enabledPreviewProviders` configuration parameter in your configuration file. If your `config.php` does not contain an `enabledPreviewProviders` array, this means you are using Nextcloud's defaults. Copy the array over from `config.sample.php` before adding any of the values below, or else you will effectively disable all of the defaults.
|
||||
|
||||
If you add support for any one of the file types below, you must run `occ memories:index` to index these files.
|
||||
|
||||
## Common Formats
|
||||
|
||||
|
@ -15,40 +17,33 @@ GIF (image/gif)
|
|||
BMP (image/bmp)
|
||||
```
|
||||
|
||||
These are enabled by having the following in your `config.php`,
|
||||
These are enabled by inclusion of the following values in `config.php`'s `enabledPreviewProviders` array:
|
||||
|
||||
```php
|
||||
'enabledPreviewProviders' =>
|
||||
array (
|
||||
'OC\\Preview\\Image',
|
||||
),
|
||||
'OC\Preview\Image',
|
||||
```
|
||||
|
||||
## HEIC and TIFF
|
||||
|
||||
You must enable `HEIC` and `TIFF` in Nextcloud `config.php`, and install Imagemagick (included in the official Nextcloud docker image)
|
||||
|
||||
In `config.php`, add,
|
||||
These are enabled by inclusion of the following values in `config.php`'s `enabledPreviewProviders` array:
|
||||
|
||||
```php
|
||||
'enabledPreviewProviders' =>
|
||||
array (
|
||||
'OC\\Preview\\HEIC',
|
||||
'OC\\Preview\\TIFF',
|
||||
),
|
||||
'OC\Preview\HEIC',
|
||||
'OC\Preview\TIFF',
|
||||
```
|
||||
|
||||
You must also install Imagemagick (included in the official Nextcloud docker image).
|
||||
|
||||
## Videos
|
||||
|
||||
You need to install `ffmpeg` and add the video config to `config.php`
|
||||
These are enabled by inclusion of the following value in `config.php`'s `enabledPreviewProviders` array:
|
||||
|
||||
```php
|
||||
'enabledPreviewProviders' =>
|
||||
array (
|
||||
'OC\\Preview\\Movie',
|
||||
),
|
||||
'OC\Preview\Movie',
|
||||
```
|
||||
|
||||
You must also install `ffmpeg` and add the video config to `config.php`.
|
||||
|
||||
## RAW images
|
||||
|
||||
Install the [camera raw previews](https://github.com/ariselseng/camerarawpreviews) app from the Nextcloud app store.
|
||||
|
|
|
@ -347,10 +347,10 @@ OC.L10N.register(
|
|||
"Draw" : "Debuxar",
|
||||
"Resize" : "Cambiar o tamaño",
|
||||
"Invalid image." : "Imaxe incorrecta",
|
||||
"Error while uploading the image." : "Produciuse un erro ao cargar a imaxe.",
|
||||
"Error while uploading the image." : "Produciuse un erro ao enviar a imaxe.",
|
||||
"are not images" : "non son imaxes",
|
||||
"is not an image" : "non é unha imaxe",
|
||||
"to be uploaded" : "para cargar",
|
||||
"to be uploaded" : "para enviar",
|
||||
"Crop" : "Recortar",
|
||||
"Original" : "Orixinal",
|
||||
"Custom" : "Personalizado",
|
||||
|
@ -396,7 +396,7 @@ OC.L10N.register(
|
|||
"Warmth" : "Calor",
|
||||
"+ Add watermark" : "+ Engadir marca de auga",
|
||||
"Choose watermark type" : "Escoller o tipo de marca de auga",
|
||||
"Upload watermark" : "Cargar a marca de auga",
|
||||
"Upload watermark" : "Enviar a marca de auga",
|
||||
"Add as text" : "Engadir como texto",
|
||||
"Padding" : "Recheo",
|
||||
"Shadow" : "Sombra",
|
||||
|
@ -431,7 +431,7 @@ OC.L10N.register(
|
|||
"Failed to favorite some files." : "Produciuse un fallo ao marcar algúns ficheiros como favoritos.",
|
||||
"Failed to favorite {fileName}." : "Produciuse un fallo ao marcar {fileName} como favorito.",
|
||||
"Memories has been updated to {version}. Reload to get the new version." : "Lembranzas foi actualizado á versión {version}. Volva cargar para obter a nova versión.",
|
||||
"Upload some photos and make sure the timeline path is configured" : "Carga algunhas fotos e asegúrese de que a ruta da liña temporal estea configurada",
|
||||
"Upload some photos and make sure the timeline path is configured" : "Envíe algunhas fotos e asegúrese de que a ruta da liña temporal estea configurada",
|
||||
"Mark photos as favorite to find them easily" : "Marcar as fotos como favoritas para atopalas facilmente",
|
||||
"Memories from past years will appear here" : "Aquí aparecerán lembranzas de anos pasados",
|
||||
"You will find your friends soon. Please be patient" : "Logo atopará os seus amigos. Teña paciencia",
|
||||
|
|
|
@ -345,10 +345,10 @@
|
|||
"Draw" : "Debuxar",
|
||||
"Resize" : "Cambiar o tamaño",
|
||||
"Invalid image." : "Imaxe incorrecta",
|
||||
"Error while uploading the image." : "Produciuse un erro ao cargar a imaxe.",
|
||||
"Error while uploading the image." : "Produciuse un erro ao enviar a imaxe.",
|
||||
"are not images" : "non son imaxes",
|
||||
"is not an image" : "non é unha imaxe",
|
||||
"to be uploaded" : "para cargar",
|
||||
"to be uploaded" : "para enviar",
|
||||
"Crop" : "Recortar",
|
||||
"Original" : "Orixinal",
|
||||
"Custom" : "Personalizado",
|
||||
|
@ -394,7 +394,7 @@
|
|||
"Warmth" : "Calor",
|
||||
"+ Add watermark" : "+ Engadir marca de auga",
|
||||
"Choose watermark type" : "Escoller o tipo de marca de auga",
|
||||
"Upload watermark" : "Cargar a marca de auga",
|
||||
"Upload watermark" : "Enviar a marca de auga",
|
||||
"Add as text" : "Engadir como texto",
|
||||
"Padding" : "Recheo",
|
||||
"Shadow" : "Sombra",
|
||||
|
@ -429,7 +429,7 @@
|
|||
"Failed to favorite some files." : "Produciuse un fallo ao marcar algúns ficheiros como favoritos.",
|
||||
"Failed to favorite {fileName}." : "Produciuse un fallo ao marcar {fileName} como favorito.",
|
||||
"Memories has been updated to {version}. Reload to get the new version." : "Lembranzas foi actualizado á versión {version}. Volva cargar para obter a nova versión.",
|
||||
"Upload some photos and make sure the timeline path is configured" : "Carga algunhas fotos e asegúrese de que a ruta da liña temporal estea configurada",
|
||||
"Upload some photos and make sure the timeline path is configured" : "Envíe algunhas fotos e asegúrese de que a ruta da liña temporal estea configurada",
|
||||
"Mark photos as favorite to find them easily" : "Marcar as fotos como favoritas para atopalas facilmente",
|
||||
"Memories from past years will appear here" : "Aquí aparecerán lembranzas de anos pasados",
|
||||
"You will find your friends soon. Please be patient" : "Logo atopará os seus amigos. Teña paciencia",
|
||||
|
|
|
@ -168,6 +168,7 @@ OC.L10N.register(
|
|||
"Enable NVENC Temporal AQ" : "Habilitar NVENC Temporal AQ",
|
||||
"NPP scaler" : "Escalador NPP",
|
||||
"CUDA scaler" : "Escalador CUDA",
|
||||
"not recommended" : "não recomendado",
|
||||
"VA-API device ({dev}) is readable" : "O dispositivo VA-API ({dev}) é legível",
|
||||
"VA-API device ({dev}) not found" : "Dispositivo VA-API ({dev}) não encontrado",
|
||||
"VA-API device ({dev}) has incorrect permissions" : "O dispositivo VA-API ({dev}) tem permissões incorretas",
|
||||
|
|
|
@ -166,6 +166,7 @@
|
|||
"Enable NVENC Temporal AQ" : "Habilitar NVENC Temporal AQ",
|
||||
"NPP scaler" : "Escalador NPP",
|
||||
"CUDA scaler" : "Escalador CUDA",
|
||||
"not recommended" : "não recomendado",
|
||||
"VA-API device ({dev}) is readable" : "O dispositivo VA-API ({dev}) é legível",
|
||||
"VA-API device ({dev}) not found" : "Dispositivo VA-API ({dev}) não encontrado",
|
||||
"VA-API device ({dev}) has incorrect permissions" : "O dispositivo VA-API ({dev}) tem permissões incorretas",
|
||||
|
|
|
@ -81,7 +81,6 @@ export default defineComponent({
|
|||
methods: {
|
||||
async routeChange() {
|
||||
try {
|
||||
const route = this.$route.name;
|
||||
this.items = [];
|
||||
this.loading++;
|
||||
|
||||
|
@ -89,13 +88,13 @@ export default defineComponent({
|
|||
// @ts-ignore
|
||||
await this.$refs.dtm?.refresh?.();
|
||||
|
||||
if (route === 'albums') {
|
||||
if (this.routeIsAlbums) {
|
||||
this.items = await dav.getAlbums(3, this.config.album_list_sort);
|
||||
} else if (route === 'tags') {
|
||||
} else if (this.routeIsTags) {
|
||||
this.items = await dav.getTags();
|
||||
} else if (route === 'recognize' || route === 'facerecognition') {
|
||||
this.items = await dav.getFaceList(route);
|
||||
} else if (route === 'places') {
|
||||
} else if (this.routeIsPeople) {
|
||||
this.items = await dav.getFaceList(<any>this.$route.name);
|
||||
} else if (this.routeIsPlaces) {
|
||||
this.items = await dav.getPlaces();
|
||||
}
|
||||
} finally {
|
||||
|
|
|
@ -211,13 +211,13 @@ export default defineComponent({
|
|||
routeHasNative(): boolean {
|
||||
return this.routeIsBase && nativex.has();
|
||||
},
|
||||
|
||||
isMonthView(): boolean {
|
||||
if (this.$route.query.sort === 'timeline') return false;
|
||||
|
||||
if (this.$route.query.sort === 'album') return true;
|
||||
return (
|
||||
this.$route.query.sort === 'album' ||
|
||||
(this.config.sort_album_month && (this.$route.name === 'albums' || this.$route.name === 'album-share')) ||
|
||||
(this.config.sort_folder_month && this.$route.name === 'folders')
|
||||
(this.config.sort_album_month && (this.routeIsAlbums || this.routeIsAlbumShare)) ||
|
||||
(this.config.sort_folder_month && this.routeIsFolders)
|
||||
);
|
||||
},
|
||||
|
||||
|
|
|
@ -46,6 +46,9 @@ export default defineComponent({
|
|||
routeIsExplore(): boolean {
|
||||
return this.$route.name === 'explore';
|
||||
},
|
||||
routeIsAlbumShare(): boolean {
|
||||
return this.$route.name === 'album-share';
|
||||
},
|
||||
routeIsPublic(): boolean {
|
||||
return this.$route.name?.endsWith('-share') ?? false;
|
||||
},
|
||||
|
|
|
@ -28,9 +28,13 @@ export function getAlbumPath(user: string, name: string) {
|
|||
export async function getAlbums(type: 1 | 2 | 3, sortOrder: 1 | 2) {
|
||||
const data = (await axios.get<IAlbum[]>(API.ALBUM_LIST(type))).data;
|
||||
|
||||
// Response is already sorted by date, sort otherwise
|
||||
if (sortOrder === 2) {
|
||||
// Sort the response
|
||||
switch (sortOrder) {
|
||||
case 2:
|
||||
data.sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }));
|
||||
break;
|
||||
default:
|
||||
data.sort((a, b) => b.last_added_photo - a.last_added_photo);
|
||||
}
|
||||
|
||||
return data;
|
||||
|
|
|
@ -22,6 +22,7 @@ declare module 'vue' {
|
|||
routeIsMap: boolean;
|
||||
routeIsTags: boolean;
|
||||
routeIsExplore: boolean;
|
||||
routeIsAlbumShare: boolean;
|
||||
routeIsPublic: boolean;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue