diff --git a/demo/app/Sharp/Authors/Commands/VisitFacebookProfileCommand.php b/demo/app/Sharp/Authors/Commands/VisitFacebookProfileCommand.php index 8245784b8..64b5667b4 100644 --- a/demo/app/Sharp/Authors/Commands/VisitFacebookProfileCommand.php +++ b/demo/app/Sharp/Authors/Commands/VisitFacebookProfileCommand.php @@ -14,7 +14,8 @@ public function label(): string public function buildCommandConfig(): void { - $this->configureDescription('You will leave Sharp'); + $this->configureDescription('You will leave Sharp') + ->configureIcon('lucide-facebook'); } public function execute(mixed $instanceId, array $data = []): array diff --git a/demo/app/Sharp/Posts/Commands/BulkPublishPostsCommand.php b/demo/app/Sharp/Posts/Commands/BulkPublishPostsCommand.php index f67f23d58..db8186778 100644 --- a/demo/app/Sharp/Posts/Commands/BulkPublishPostsCommand.php +++ b/demo/app/Sharp/Posts/Commands/BulkPublishPostsCommand.php @@ -15,6 +15,7 @@ public function label(): ?string public function buildCommandConfig(): void { $this->configureDescription('Bulk command to publish posts') + ->configureIcon('lucide-check-check') ->configureInstanceSelectionRequired(); } diff --git a/demo/app/Sharp/Posts/Commands/ComposeEmailWithPostsWizardCommand.php b/demo/app/Sharp/Posts/Commands/ComposeEmailWithPostsWizardCommand.php index 2df71cc53..1d70b57f6 100644 --- a/demo/app/Sharp/Posts/Commands/ComposeEmailWithPostsWizardCommand.php +++ b/demo/app/Sharp/Posts/Commands/ComposeEmailWithPostsWizardCommand.php @@ -21,7 +21,8 @@ public function label(): ?string public function buildCommandConfig(): void { - $this->configureDescription('Use this wizard command to compose a message choosing posts links in a list'); + $this->configureDescription('Use this wizard command to compose a message choosing posts links in a list') + ->configureIcon('lucide-mail'); } public function buildFormFieldsForFirstStep(FieldsContainer $formFields): void diff --git a/ide.json b/ide.json index 6109af252..06aefa593 100644 --- a/ide.json +++ b/ide.json @@ -16,6 +16,56 @@ ] } ] + }, + { + "complete": "bladeIcon", + "condition": [ + { + "classFqn": [ + "Code16\\Sharp\\Utils\\Menu\\HasSharpMenuItems" + ], + "methodNames": [ + "addEntityLink" + ], + "parameters": [ + 3 + ] + }, + { + "classFqn": [ + "Code16\\Sharp\\Form\\Fields\\Embeds\\SharpFormEditorEmbed" + ], + "methodNames": [ + "configureIcon" + ], + "parameters": [ + 1 + ] + }, + { + "classFqn": [ + "Code16\\Sharp\\EntityList\\Commands\\Command" + ], + "methodNames": [ + "configureIcon" + ], + "parameters": [ + 1 + ] + }, + { + "place": "parameter", + "classFqn": [ + "Code16\\Sharp\\EntityList\\EntityListEntities" + ], + "methodNames": [ + "addEntity" + ], + "parameters": [ + 3 + ] + } + ] } ], "view": { @@ -285,4 +335,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/resources/js/commands/components/CommandDropdownItems.vue b/resources/js/commands/components/CommandDropdownItems.vue index f22ce3957..c66b3addb 100644 --- a/resources/js/commands/components/CommandDropdownItems.vue +++ b/resources/js/commands/components/CommandDropdownItems.vue @@ -6,6 +6,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import { useBreakpoints } from "@/composables/useBreakpoints"; import { showAlert } from "@/utils/dialogs"; + import Icon from "@/components/ui/Icon.vue"; const props = defineProps<{ commands: CommandData[][], @@ -38,6 +39,9 @@ @click="$emit('select', command)" :disabled="requiresSelection(command)" > +
{{ command.label }}