postiz/apps/frontend/src/components/plugs/plugs.context.ts

47 lines
924 B
TypeScript

'use client';
import { createContext, useContext } from 'react';
export interface PlugSettings {
providerId: string;
name: string;
identifier: string;
}
export interface PlugInterface extends PlugSettings {
plugs: PlugsInterface[];
}
export interface FieldsInterface {
name: string;
type: string;
validation: string;
placeholder: string;
description: string;
}
export interface PlugsInterface {
title: string;
description: string;
runEveryMilliseconds: number;
methodName: string;
fields: FieldsInterface[];
}
export const PlugsContext = createContext<PlugInterface>({
providerId: '',
name: '',
identifier: '',
plugs: [
{
title: '',
description: '',
runEveryMilliseconds: 0,
methodName: '',
fields: [{ name: '', type: '', placeholder: '', description: '', validation: '' }],
},
],
});
export const usePlugs = () => useContext(PlugsContext);