Skip to content

Commit 5eccffc

Browse files
committed
use showDialog directly
1 parent 288ba44 commit 5eccffc

File tree

13 files changed

+73
-98
lines changed

13 files changed

+73
-98
lines changed

i18n/en.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2144,7 +2144,11 @@
21442144
"trash_page_title": "Trash ({count})",
21452145
"trashed_items_will_be_permanently_deleted_after": "Trashed items will be permanently deleted after {days, plural, one {# day} other {# days}}.",
21462146
"trigger": "Trigger",
2147+
"trigger_asset_uploaded": "Asset Uploaded",
2148+
"trigger_asset_uploaded_description": "Triggered when a new asset is uploaded",
21472149
"trigger_description": "An event that kick off the workflow",
2150+
"trigger_person_recognized": "Person Recognized",
2151+
"trigger_person_recognized_description": "Triggered when a person is detected",
21482152
"trigger_type": "Trigger type",
21492153
"troubleshoot": "Troubleshoot",
21502154
"type": "Type",

mobile/openapi/lib/model/plugin_trigger_response_dto.dart

Lines changed: 1 addition & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

open-api/immich-openapi-specs.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18459,12 +18459,6 @@
1845918459
}
1846018460
]
1846118461
},
18462-
"description": {
18463-
"type": "string"
18464-
},
18465-
"name": {
18466-
"type": "string"
18467-
},
1846818462
"type": {
1846918463
"allOf": [
1847018464
{
@@ -18475,8 +18469,6 @@
1847518469
},
1847618470
"required": [
1847718471
"contextType",
18478-
"description",
18479-
"name",
1848018472
"type"
1848118473
],
1848218474
"type": "object"

open-api/typescript-sdk/src/fetch-client.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -968,8 +968,6 @@ export type PluginResponseDto = {
968968
};
969969
export type PluginTriggerResponseDto = {
970970
contextType: PluginContextType;
971-
description: string;
972-
name: string;
973971
"type": PluginTriggerType;
974972
};
975973
export type QueueResponseDto = {

server/src/dtos/plugin.dto.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ import type { JSONSchema } from 'src/types/plugin-schema.types';
55
import { ValidateEnum } from 'src/validation';
66

77
export class PluginTriggerResponseDto {
8-
name!: string;
98
@ValidateEnum({ enum: PluginTriggerType, name: 'PluginTriggerType' })
109
type!: PluginTriggerType;
11-
description!: string;
1210
@ValidateEnum({ enum: PluginContextType, name: 'PluginContextType' })
1311
contextType!: PluginContextType;
1412
}

server/src/plugins.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
import { PluginContext, PluginTriggerType } from 'src/enum';
22

33
export type PluginTrigger = {
4-
name: string;
54
type: PluginTriggerType;
6-
description: string;
75
contextType: PluginContext;
86
};
97

108
export const pluginTriggers: PluginTrigger[] = [
119
{
12-
name: 'Asset Uploaded',
1310
type: PluginTriggerType.AssetCreate,
14-
description: 'Triggered when a new asset is uploaded',
1511
contextType: PluginContext.Asset,
1612
},
1713
{
18-
name: 'Person Recognized',
1914
type: PluginTriggerType.PersonRecognized,
20-
description: 'Triggered when a person is detected',
2115
contextType: PluginContext.Person,
2216
},
2317
];

web/src/lib/components/workflows/WorkflowSummary.svelte

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
<script lang="ts">
2-
import type { PluginActionResponseDto, PluginFilterResponseDto, PluginTriggerResponseDto } from '@immich/sdk';
2+
import {
3+
PluginTriggerType,
4+
type PluginActionResponseDto,
5+
type PluginFilterResponseDto,
6+
type PluginTriggerResponseDto,
7+
} from '@immich/sdk';
38
import { Icon, IconButton, Text } from '@immich/ui';
49
import { mdiClose, mdiFilterOutline, mdiFlashOutline, mdiPlayCircleOutline, mdiViewDashboardOutline } from '@mdi/js';
510
import { t } from 'svelte-i18n';
@@ -12,6 +17,20 @@
1217
1318
let { trigger, filters, actions }: Props = $props();
1419
20+
const getTriggerName = (triggerType: PluginTriggerType) => {
21+
switch (triggerType) {
22+
case PluginTriggerType.AssetCreate: {
23+
return $t('trigger_asset_uploaded');
24+
}
25+
case PluginTriggerType.PersonRecognized: {
26+
return $t('trigger_person_recognized');
27+
}
28+
default: {
29+
return triggerType;
30+
}
31+
}
32+
};
33+
1534
let isOpen = $state(false);
1635
let position = $state({ x: 0, y: 0 });
1736
let isDragging = $state(false);
@@ -96,7 +115,7 @@
96115
<Icon icon={mdiFlashOutline} size="18" class="text-primary" />
97116
<span class="text-[10px] font-semibold uppercase tracking-wide">{$t('trigger')}</span>
98117
</div>
99-
<p class="text-sm truncate pl-5">{trigger.name}</p>
118+
<p class="text-sm truncate pl-5">{getTriggerName(trigger.type)}</p>
100119
</div>
101120

102121
<!-- Connector -->

web/src/lib/components/workflows/WorkflowTriggerCard.svelte

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { PluginTriggerType, type PluginTriggerResponseDto } from '@immich/sdk';
33
import { Icon, Text } from '@immich/ui';
44
import { mdiFaceRecognition, mdiFileUploadOutline, mdiLightningBolt } from '@mdi/js';
5+
import { t } from 'svelte-i18n';
56
67
interface Props {
78
trigger: PluginTriggerResponseDto;
@@ -24,6 +25,34 @@
2425
}
2526
}
2627
};
28+
29+
const getTriggerName = (triggerType: PluginTriggerType) => {
30+
switch (triggerType) {
31+
case PluginTriggerType.AssetCreate: {
32+
return $t('trigger_asset_uploaded');
33+
}
34+
case PluginTriggerType.PersonRecognized: {
35+
return $t('trigger_person_recognized');
36+
}
37+
default: {
38+
return triggerType;
39+
}
40+
}
41+
};
42+
43+
const getTriggerDescription = (triggerType: PluginTriggerType) => {
44+
switch (triggerType) {
45+
case PluginTriggerType.AssetCreate: {
46+
return $t('trigger_asset_uploaded_description');
47+
}
48+
case PluginTriggerType.PersonRecognized: {
49+
return $t('trigger_person_recognized_description');
50+
}
51+
default: {
52+
return '';
53+
}
54+
}
55+
};
2756
</script>
2857

2958
<button
@@ -42,9 +71,9 @@
4271
<Icon icon={getTriggerIcon(trigger.type)} size="24" />
4372
</div>
4473
<div class="flex-1">
45-
<Text class="font-semibold mb-1">{trigger.name}</Text>
46-
{#if trigger.description}
47-
<Text size="small">{trigger.description}</Text>
74+
<Text class="font-semibold mb-1">{getTriggerName(trigger.type)}</Text>
75+
{#if getTriggerDescription(trigger.type)}
76+
<Text size="small">{getTriggerDescription(trigger.type)}</Text>
4877
{/if}
4978
</div>
5079
</div>

web/src/lib/modals/WorkflowDeleteConfirmModal.svelte

Lines changed: 0 additions & 16 deletions
This file was deleted.

web/src/lib/modals/WorkflowNavigationConfirmModal.svelte

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)