Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { useState } from 'react';
|
||||
|
||||
import { ListTemplatesRequestQuery, Template } from '@activepieces/shared';
|
||||
|
||||
import { templatesApi } from '../lib/templates-api';
|
||||
|
||||
export const useTemplates = (request: ListTemplatesRequestQuery) => {
|
||||
const [search, setSearch] = useState<string>('');
|
||||
|
||||
const { data: templates, isLoading } = useQuery<Template[], Error>({
|
||||
queryKey: ['templates'],
|
||||
queryFn: async () => {
|
||||
const templates = await templatesApi.list(request);
|
||||
return templates.data;
|
||||
},
|
||||
staleTime: 0,
|
||||
});
|
||||
|
||||
const filteredTemplates = templates?.filter((template) => {
|
||||
const templateName = template.name.toLowerCase();
|
||||
const templateDescription = template.description.toLowerCase();
|
||||
return (
|
||||
templateName.includes(search.toLowerCase()) ||
|
||||
templateDescription.includes(search.toLowerCase())
|
||||
);
|
||||
});
|
||||
|
||||
return {
|
||||
templates,
|
||||
filteredTemplates,
|
||||
isLoading,
|
||||
search,
|
||||
setSearch,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user