flowstudio 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/ai_creator.d.ts +1 -0
- package/dist/ai_creator.js +140 -0
- package/dist/ai_creator.js.map +1 -0
- package/dist/app_analytics.d.ts +1 -0
- package/dist/app_analytics.js +76 -0
- package/dist/app_analytics.js.map +1 -0
- package/dist/app_details.d.ts +1 -0
- package/dist/app_details.js +84 -0
- package/dist/app_details.js.map +1 -0
- package/dist/app_layout.js +11 -0
- package/dist/app_layout.js.map +1 -0
- package/dist/app_settings.d.ts +1 -0
- package/dist/app_settings.js +15 -0
- package/dist/app_settings.js.map +1 -0
- package/dist/components/combo_box/index.d.ts +1 -0
- package/dist/components/combo_box/index.js +118 -33
- package/dist/components/combo_box/index.js.map +1 -1
- package/dist/components/date_picker/index.d.ts +1 -0
- package/dist/components/date_picker/index.js +46 -0
- package/dist/components/date_picker/index.js.map +1 -0
- package/dist/components/gtable.d.ts +15 -0
- package/dist/components/gtable.js +122 -0
- package/dist/components/gtable.js.map +1 -0
- package/dist/components/mention_input/index.d.ts +1 -0
- package/dist/components/mention_input/index.js +125 -0
- package/dist/components/mention_input/index.js.map +1 -0
- package/dist/components/paginator_table.d.ts +7 -0
- package/dist/components/paginator_table.js +38 -0
- package/dist/components/paginator_table.js.map +1 -0
- package/dist/components/sheet/index.d.ts +1 -1
- package/dist/components/sheet/index.js +3 -3
- package/dist/components/sheet/index.js.map +1 -1
- package/dist/context.d.ts +1 -0
- package/dist/context.js +7 -0
- package/dist/context.js.map +1 -0
- package/dist/envs.d.ts +2 -0
- package/dist/envs.js +135 -0
- package/dist/envs.js.map +1 -0
- package/dist/functions.d.ts +5 -0
- package/dist/functions.js +204 -0
- package/dist/functions.js.map +1 -0
- package/dist/getcode.d.ts +1 -0
- package/dist/getcode.js +8 -0
- package/dist/getcode.js.map +1 -0
- package/dist/home.d.ts +1 -0
- package/dist/home.js +47 -0
- package/dist/home.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +152 -3
- package/dist/index.js.map +1 -1
- package/dist/new_project.d.ts +1 -0
- package/dist/new_project.js +101 -0
- package/dist/new_project.js.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.js +219 -0
- package/dist/node.js.map +1 -0
- package/dist/project_widget.d.ts +1 -0
- package/dist/project_widget.js +23 -0
- package/dist/project_widget.js.map +1 -0
- package/dist/simulator.d.ts +1 -0
- package/dist/simulator.js +73 -0
- package/dist/simulator.js.map +1 -0
- package/dist/studio_pane.d.ts +1 -0
- package/dist/studio_pane.js +309 -0
- package/dist/studio_pane.js.map +1 -0
- package/dist/top_center_panel.d.ts +1 -0
- package/dist/top_center_panel.js +9 -0
- package/dist/top_center_panel.js.map +1 -0
- package/dist/top_left_panel.d.ts +1 -0
- package/dist/top_left_panel.js +46 -0
- package/dist/top_left_panel.js.map +1 -0
- package/dist/top_right_panel.d.ts +1 -0
- package/dist/top_right_panel.js +80 -0
- package/dist/top_right_panel.js.map +1 -0
- package/dist/triggers.d.ts +2 -0
- package/dist/triggers.js +156 -0
- package/dist/triggers.js.map +1 -0
- package/dist/zustand/store.d.ts +465 -285
- package/dist/zustand/store.js +34 -38
- package/dist/zustand/store.js.map +1 -1
- package/package.json +33 -12
- package/src/components/date_picker/style.css +204 -0
- package/src/components/sheet/style.css +5 -5
- package/src/studio.css +19 -0
- package/dist/components/app_layout.js +0 -14
- package/dist/components/app_layout.js.map +0 -1
- package/dist/components/app_settings/data_sources.d.ts +0 -1
- package/dist/components/app_settings/data_sources.js +0 -57
- package/dist/components/app_settings/data_sources.js.map +0 -1
- package/dist/components/app_settings/deploy.d.ts +0 -1
- package/dist/components/app_settings/deploy.js +0 -14
- package/dist/components/app_settings/deploy.js.map +0 -1
- package/dist/components/app_settings/index.d.ts +0 -1
- package/dist/components/app_settings/index.js +0 -14
- package/dist/components/app_settings/index.js.map +0 -1
- package/dist/components/app_settings/service_providers.d.ts +0 -1
- package/dist/components/app_settings/service_providers.js +0 -17
- package/dist/components/app_settings/service_providers.js.map +0 -1
- package/dist/components/app_settings/simulator.d.ts +0 -1
- package/dist/components/app_settings/simulator.js +0 -34
- package/dist/components/app_settings/simulator.js.map +0 -1
- package/dist/components/context.d.ts +0 -1
- package/dist/components/context.js +0 -19
- package/dist/components/context.js.map +0 -1
- package/dist/components/dock_panel.d.ts +0 -2
- package/dist/components/dock_panel.js +0 -38
- package/dist/components/dock_panel.js.map +0 -1
- package/dist/components/end.d.ts +0 -1
- package/dist/components/end.js +0 -6
- package/dist/components/end.js.map +0 -1
- package/dist/components/input.d.ts +0 -1
- package/dist/components/input.js +0 -11
- package/dist/components/input.js.map +0 -1
- package/dist/components/normal.d.ts +0 -1
- package/dist/components/normal.js +0 -6
- package/dist/components/normal.js.map +0 -1
- package/dist/components/start.d.ts +0 -1
- package/dist/components/start.js +0 -13
- package/dist/components/start.js.map +0 -1
- package/dist/components/studio/index.d.ts +0 -1
- package/dist/components/studio/index.js +0 -78
- package/dist/components/studio/index.js.map +0 -1
- package/dist/components/xnode.d.ts +0 -2
- package/dist/components/xnode.js +0 -28
- package/dist/components/xnode.js.map +0 -1
- package/dist/service_providers.json +0 -74
- package/dist/styles/sheet.css +0 -155
- package/src/styles/combo_box.css +0 -10
- package/src/styles/sheet.css +0 -155
- /package/dist/{components/app_layout.d.ts → app_layout.d.ts} +0 -0
- /package/{dist/styles/combo_box.css → src/components/combo_box/style.css} +0 -0
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
</picture>
|
|
7
7
|
</a>
|
|
8
8
|
<h1>Flow Studio</h1>
|
|
9
|
+
<h3>Work in Progress</h3>
|
|
9
10
|
|
|
10
11
|
[](https://npmjs.com/package/flowstudio)
|
|
11
12
|
[](https://npmjs.com/package/flowstudio)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function AICreator({ projectId }: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { yupResolver } from "@hookform/resolvers/yup";
|
|
3
|
+
import { Button, Card, Flex, TextField, Text, Spinner, Popover, Tooltip } from "@radix-ui/themes";
|
|
4
|
+
import { useForm } from "react-hook-form";
|
|
5
|
+
import * as Form from "@radix-ui/react-form";
|
|
6
|
+
import { useMemo, useState } from "react";
|
|
7
|
+
import * as Yup from "yup";
|
|
8
|
+
import parse from 'html-react-parser';
|
|
9
|
+
import { SendHorizonalIcon } from "lucide-react";
|
|
10
|
+
import { useReactFlow } from "@xyflow/react";
|
|
11
|
+
import GNode from './node';
|
|
12
|
+
export default function AICreator({ projectId }) {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
const [deploymentType, setDeploymentType] = useState('draft');
|
|
15
|
+
const [userType, setUserType] = useState('normal');
|
|
16
|
+
const [flowMessage, setFlowMessage] = useState('');
|
|
17
|
+
const [refreshing, setRefreshing] = useState(false);
|
|
18
|
+
// const [description, setDescription] = useState('');
|
|
19
|
+
const [isGenerating, setIsGenerating] = useState(false);
|
|
20
|
+
const { setEdges, setNodes } = useReactFlow();
|
|
21
|
+
const nodeTypes = useMemo(() => ({ gNode: GNode }), []);
|
|
22
|
+
// const aiEndpoint = ``
|
|
23
|
+
// const NODE_TYPES = ''
|
|
24
|
+
const AI_API_KEY = '';
|
|
25
|
+
async function generateFlowFromDescription(description) {
|
|
26
|
+
const prompt = `
|
|
27
|
+
Convert this flow description into nodes and edges:
|
|
28
|
+
"${description}"
|
|
29
|
+
|
|
30
|
+
Available node types: ${JSON.stringify(nodeTypes)}
|
|
31
|
+
Respond with JSON format: {nodes: [], edges: []}
|
|
32
|
+
`;
|
|
33
|
+
const response = await fetch('https://api.openai.com/v1/chat/completions', {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
headers: {
|
|
36
|
+
'Content-Type': 'application/json',
|
|
37
|
+
'Authorization': `Bearer ${AI_API_KEY}`
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify({
|
|
40
|
+
model: "gpt-4",
|
|
41
|
+
messages: [{ role: "user", content: prompt }],
|
|
42
|
+
temperature: 0.7
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
return parseAIResponse(await response.json());
|
|
46
|
+
}
|
|
47
|
+
const ussdFormSchema = Yup.object().shape({
|
|
48
|
+
query: Yup.string().required('required')
|
|
49
|
+
});
|
|
50
|
+
const { register: registerInput, handleSubmit: handleFormSubmit, getValues: getUssdValues, setValue: setUssdValue, setFocus, reset: resetForm, formState: { errors, isSubmitting }, } = useForm({
|
|
51
|
+
resolver: yupResolver(ussdFormSchema),
|
|
52
|
+
defaultValues: {}
|
|
53
|
+
});
|
|
54
|
+
const handleSubmit = async (data) => {
|
|
55
|
+
setIsGenerating(true);
|
|
56
|
+
try {
|
|
57
|
+
const flow = await generateFlowFromDescription(data.query);
|
|
58
|
+
// Update your ReactFlow instance with the new nodes/edges
|
|
59
|
+
setNodes(flow.nodes);
|
|
60
|
+
setEdges(flow.edges);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
setIsGenerating(false);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
function parseAIResponse(apiResponse, existingNodes = []) {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
try {
|
|
69
|
+
const content = (_b = (_a = apiResponse.choices[0]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.content;
|
|
70
|
+
if (!content)
|
|
71
|
+
throw new Error('Empty AI response');
|
|
72
|
+
const parsed = JSON.parse(content);
|
|
73
|
+
// Validate nodes
|
|
74
|
+
if (!Array.isArray(parsed.nodes)) {
|
|
75
|
+
throw new Error('Nodes must be an array');
|
|
76
|
+
}
|
|
77
|
+
// Calculate positions to avoid overlap
|
|
78
|
+
const existingXPositions = existingNodes.map((n) => n.position.x);
|
|
79
|
+
const maxX = existingXPositions.length > 0 ? Math.max(...existingXPositions) : 0;
|
|
80
|
+
const startX = maxX + 200; // Start new nodes to the right
|
|
81
|
+
// Process nodes
|
|
82
|
+
const nodes = parsed.nodes.map((node, index) => {
|
|
83
|
+
if (!node.id)
|
|
84
|
+
throw new Error('Node missing ID');
|
|
85
|
+
return {
|
|
86
|
+
id: String(node.id),
|
|
87
|
+
type: validateNodeType(node.type), // Ensure type is valid
|
|
88
|
+
data: {
|
|
89
|
+
label: node.label || `Step ${index + 1}`,
|
|
90
|
+
...(node.data || {}) // Preserve additional data
|
|
91
|
+
},
|
|
92
|
+
position: node.position || {
|
|
93
|
+
x: startX + (index * 200),
|
|
94
|
+
y: (index % 3) * 100 // Stagger vertically
|
|
95
|
+
},
|
|
96
|
+
...(node.style && { style: node.style })
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
// Process edges
|
|
100
|
+
const edges = (parsed.edges || []).map((edge, index) => {
|
|
101
|
+
if (!edge.source || !edge.target) {
|
|
102
|
+
throw new Error('Edge missing source or target');
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
id: edge.id || `edge-${edge.source}-${edge.target}-${index}`,
|
|
106
|
+
source: String(edge.source),
|
|
107
|
+
target: String(edge.target),
|
|
108
|
+
label: edge.label || '',
|
|
109
|
+
type: edge.type || 'default',
|
|
110
|
+
...(edge.animated && { animated: true })
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
return { nodes, edges };
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.log('AI Response Parsing Error:', error);
|
|
117
|
+
// Fallback UI that shows the error to the user
|
|
118
|
+
return {
|
|
119
|
+
nodes: [{
|
|
120
|
+
id: 'error-node',
|
|
121
|
+
type: 'error',
|
|
122
|
+
data: {
|
|
123
|
+
label: 'Error Generating Flow',
|
|
124
|
+
error: error === null || error === void 0 ? void 0 : error.message
|
|
125
|
+
},
|
|
126
|
+
position: { x: 0, y: 0 }
|
|
127
|
+
}],
|
|
128
|
+
edges: [],
|
|
129
|
+
error: error.message
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Helper function to validate node types
|
|
134
|
+
function validateNodeType(type) {
|
|
135
|
+
const validTypes = ['input', 'output', 'default', 'custom']; // Add your types
|
|
136
|
+
return validTypes.includes(type) ? type : 'default';
|
|
137
|
+
}
|
|
138
|
+
return (_jsxs(Popover.Root, { children: [_jsx(Tooltip, { content: 'AI Mode - Coming Soon', side: 'right', children: _jsx(Popover.Trigger, { children: _jsx(Button, { disabled: true, size: '1', highContrast: true, children: "AI" }) }) }), _jsx(Popover.Content, { side: 'right', sideOffset: 10, children: _jsxs(Flex, { direction: 'column', gap: '3', children: [_jsx(Flex, { justify: 'between', children: _jsx(Text, { weight: 'bold', children: "AI App Designer" }) }), _jsx(Card, { style: { height: 'auto', minHeight: '200px', width: '100%', maxWidth: '300px' }, children: _jsx(Text, { wrap: 'wrap', color: 'gray', size: '1', children: parse(flowMessage) || 'No message' }) }), _jsx(Form.Root, { onSubmit: handleFormSubmit(handleSubmit), noValidate: true, children: _jsxs(Form.Field, { name: 'query', serverInvalid: errors.query != null, children: [_jsx(TextField.Root, { type: "text", ...registerInput('query'), id: "query", autoComplete: "off", placeholder: 'Ask AI anything', autoFocus: true, children: _jsx(TextField.Slot, { side: 'right', pr: '1', children: _jsxs(Button, { size: '1', highContrast: true, disabled: true, type: "submit", children: [_jsx(Spinner, { loading: isSubmitting }), !isSubmitting && _jsx(SendHorizonalIcon, { size: '15' })] }) }) }), ((_a = errors.query) === null || _a === void 0 ? void 0 : _a.message) && _jsx(Form.Message, { children: (_b = errors.query) === null || _b === void 0 ? void 0 : _b.message })] }) })] }) })] }));
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=ai_creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai_creator.js","sourceRoot":"","sources":["../src/ai_creator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function AppAnalytics({ project, sessions, sessionsStatus, refetch }: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Badge, Card, Flex, Grid, SegmentedControl, Text } from "@radix-ui/themes";
|
|
4
|
+
import { useConfigStore } from "./zustand/store";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import GTable from "./components/gtable";
|
|
7
|
+
import moment from "moment";
|
|
8
|
+
import Sheet from "./components/sheet";
|
|
9
|
+
export default function AppAnalytics({ project, sessions, sessionsStatus, refetch }) {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
const { openReports, setOpenReports } = useConfigStore();
|
|
12
|
+
const [getReportType, setReportType] = useState('dashboard');
|
|
13
|
+
return (_jsx(Sheet, { open: openReports, setOpen: setOpenReports, title: "Analytics", showCloseBtn: true, side: "right", maxWidth: '850px', children: _jsxs(Flex, { direction: 'column', flexGrow: '1', gap: '3', p: '3', width: '100%', style: {}, children: [_jsx(Flex, { justify: 'between', children: _jsxs(SegmentedControl.Root, { defaultValue: getReportType, variant: 'classic', size: '1', children: [_jsx(SegmentedControl.Item, { onClick: () => setReportType('dashboard'), value: "dashboard", children: "Dashboard" }), _jsx(SegmentedControl.Item, { onClick: () => setReportType('data'), value: "data", children: "Data" }), _jsx(SegmentedControl.Item, { onClick: () => setReportType('logs'), value: "logs", children: "Logs" })] }) }), getReportType == 'dashboard' &&
|
|
14
|
+
_jsx(Flex, { direction: 'column', children: _jsxs(Grid, { columns: { initial: '2', sm: '3', md: '4' }, gap: '5', children: [_jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Sessions:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: ((_a = sessions === null || sessions === void 0 ? void 0 : sessions.results) === null || _a === void 0 ? void 0 : _a.length) || 0 })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Count of all user interactions with the flow app." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Sess. Duration:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Average time users spend per session" }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Active Sess.:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Users currently interacting with your app live." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Completion Rate:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Percentage of users who complete the entire flow." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Retention Rate:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Percentage of returning users over time." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Drop-Off Rate:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Drop-off rates measured at each node in the flow." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Time per Step:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Average duration users spend on specific flow steps." }) })] }) }), _jsx(Card, { children: _jsxs(Flex, { direction: 'column', gap: '2', children: [_jsxs(Flex, { justify: 'between', children: [" ", _jsx(Text, { size: '2', children: "Popular:" }), " ", _jsx(Text, { size: '1', weight: 'bold', children: "0" })] }), _jsx(Text, { color: 'gray', size: '1', children: _jsx("i", { children: "Most frequented routes through your app\u2019s logic." }) })] }) })] }) }), getReportType == 'data' &&
|
|
15
|
+
_jsx(GTable, { status: sessionsStatus, columns: [
|
|
16
|
+
{ Header: 'Phone Number', accessor: 'msisdn' },
|
|
17
|
+
...(((_c = (_b = project === null || project === void 0 ? void 0 : project.flow) === null || _b === void 0 ? void 0 : _b.nodes) === null || _c === void 0 ? void 0 : _c.map((val) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return ({
|
|
20
|
+
Header: _jsx(Flex, { gap: '2', children: (_a = val === null || val === void 0 ? void 0 : val.data) === null || _a === void 0 ? void 0 : _a.label }),
|
|
21
|
+
accessor: val === null || val === void 0 ? void 0 : val.id,
|
|
22
|
+
});
|
|
23
|
+
})) || [])
|
|
24
|
+
],
|
|
25
|
+
// columns={
|
|
26
|
+
// project?.flow?.nodes?.map((val: any) => ({
|
|
27
|
+
// Header: <Flex gap={'2'}>[] {val?.data?.label}</Flex>,
|
|
28
|
+
// accessor: val?.id,
|
|
29
|
+
// })) || []}
|
|
30
|
+
data: ((_d = sessions === null || sessions === void 0 ? void 0 : sessions.results) === null || _d === void 0 ? void 0 : _d.filter((session, index, self) => index === self.findIndex((s) => s.session_id === session.session_id)).map((session) => {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
const updatedSession = { ...session };
|
|
33
|
+
(_b = (_a = project === null || project === void 0 ? void 0 : project.flow) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.forEach((node) => {
|
|
34
|
+
var _a, _b, _c, _d, _e;
|
|
35
|
+
const matchingSession = (_a = sessions === null || sessions === void 0 ? void 0 : sessions.results) === null || _a === void 0 ? void 0 : _a.find((s) => s.session_id === session.session_id && s.node_id === (node === null || node === void 0 ? void 0 : node.id));
|
|
36
|
+
updatedSession[node === null || node === void 0 ? void 0 : node.id] = (matchingSession === null || matchingSession === void 0 ? void 0 : matchingSession.input_value) ? (_jsxs(Flex, { gap: '2', children: [_jsx(Badge, { color: 'teal', children: matchingSession.input_id }), _jsx(Text, { children: (_e = (_d = (_c = (_b = node === null || node === void 0 ? void 0 : node.data) === null || _b === void 0 ? void 0 : _b.response) === null || _c === void 0 ? void 0 : _c.inputs) === null || _d === void 0 ? void 0 : _d.find((nd) => `${nd.id}` === matchingSession.input_id)) === null || _e === void 0 ? void 0 : _e.text })] })) : null;
|
|
37
|
+
});
|
|
38
|
+
return updatedSession;
|
|
39
|
+
})) || [],
|
|
40
|
+
// data={sessions?.results?.filter((session: any, index: number, self: any[]) => index === self.findIndex((s) => s.session_id === session.session_id))}
|
|
41
|
+
// project?.flow?.nodes?.map((val:any, ind:any)=>(<Flex key={ind}><Badge>{val?.input_id}</Badge> {val?.input_value}</Flex>))
|
|
42
|
+
search: { hint: `${'Search Data'}`, items: ['mode', 'input_id', 'input_value', 'node_id', 'created'] }, topRightBtns: _jsx(Flex, { gap: '3' }), showDownload: true }), getReportType == 'logs' &&
|
|
43
|
+
_jsx(GTable, { status: sessionsStatus, data: (sessions === null || sessions === void 0 ? void 0 : sessions.results) || [], columns: [
|
|
44
|
+
{
|
|
45
|
+
Header: '#', sticky: 'left',
|
|
46
|
+
Cell: (cell) => ([cell.row.index + 1])
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
Header: 'Phone Number',
|
|
50
|
+
accessor: 'msisdn'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
Header: 'Mode',
|
|
54
|
+
accessor: 'mode'
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
Header: 'Node / Stage',
|
|
58
|
+
Cell: ({ value, row, original }) => {
|
|
59
|
+
var _a, _b, _c, _d;
|
|
60
|
+
return (_jsx(_Fragment, { children: (_d = (_c = (_b = (_a = project === null || project === void 0 ? void 0 : project.flow) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.find((node) => { var _a; return (node === null || node === void 0 ? void 0 : node.id) === ((_a = row.original) === null || _a === void 0 ? void 0 : _a.node_id); })) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.label }));
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
Header: 'Input Id',
|
|
65
|
+
accessor: 'input_id'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
Header: 'Input Value',
|
|
69
|
+
accessor: 'input_value'
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
Header: 'Date', accessor: (d) => (moment(d.created).local().format("Do MMM YYYY hh:mm a"))
|
|
73
|
+
}
|
|
74
|
+
], search: { hint: `${'Search Logs'}`, items: ['mode', 'input_id', 'input_value', 'node_id', 'created'] }, topRightBtns: _jsx(Flex, { gap: '3' }), showDownload: true }), getReportType == 'analytics' && _jsx(_Fragment, { children: _jsx(Card, { style: { '--card-border-radius': '0' } }) })] }) }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=app_analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app_analytics.js","sourceRoot":"","sources":["../src/app_analytics.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function AppDetails({ api_key, project, projectsRefetch }: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, Callout, Flex, Popover, Separator, Spinner, Switch, Text, TextArea, TextField } from "@radix-ui/themes";
|
|
4
|
+
import * as Yup from "yup";
|
|
5
|
+
import { yupResolver } from "@hookform/resolvers/yup";
|
|
6
|
+
import { Controller, useForm } from "react-hook-form";
|
|
7
|
+
import * as Form from "@radix-ui/react-form";
|
|
8
|
+
import { BsTrash } from "react-icons/bs";
|
|
9
|
+
import { useEffect, useState } from "react";
|
|
10
|
+
import { useConfigStore } from "./zustand/store";
|
|
11
|
+
import { InfoCircledIcon } from "@radix-ui/react-icons";
|
|
12
|
+
export default function AppDetails({ api_key, project, projectsRefetch }) {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
const { openedProjects, setOpenedProjects, setActiveTab, setOpenSettings } = useConfigStore();
|
|
15
|
+
const [deleting, setDeleting] = useState(false);
|
|
16
|
+
const formSchema = Yup.object().shape({
|
|
17
|
+
name: Yup.string().required('required'),
|
|
18
|
+
description: Yup.string(),
|
|
19
|
+
active: Yup.boolean()
|
|
20
|
+
});
|
|
21
|
+
const { control, register, handleSubmit: handleFormSubmit, getValues, setValue, reset, watch, formState: { errors, isSubmitting }, } = useForm({
|
|
22
|
+
resolver: yupResolver(formSchema),
|
|
23
|
+
});
|
|
24
|
+
const handleSubmit = async (data) => {
|
|
25
|
+
try {
|
|
26
|
+
const post_data = JSON.stringify({
|
|
27
|
+
name: data.name,
|
|
28
|
+
description: data.description,
|
|
29
|
+
active: data.active
|
|
30
|
+
});
|
|
31
|
+
const response = await fetch(`${process.env.BACKEND_ENDPOINT}/projects/${project === null || project === void 0 ? void 0 : project.identifier}`, {
|
|
32
|
+
method: "PATCH", headers: {
|
|
33
|
+
"X-API-KEY": `${api_key}`,
|
|
34
|
+
"Content-Type": "application/json",
|
|
35
|
+
}, body: post_data
|
|
36
|
+
});
|
|
37
|
+
if (await response.ok) {
|
|
38
|
+
projectsRefetch();
|
|
39
|
+
// toast.success("Question posted successfully");
|
|
40
|
+
// reset();
|
|
41
|
+
// refetchQuestions();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// toast.error("Failed to post question");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.log(e);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (project) {
|
|
53
|
+
reset(project);
|
|
54
|
+
}
|
|
55
|
+
}, [project]);
|
|
56
|
+
const deleteProject = async (identifier) => {
|
|
57
|
+
try {
|
|
58
|
+
setDeleting(true);
|
|
59
|
+
const post_data = null;
|
|
60
|
+
const response = await fetch(`${process.env.BACKEND_ENDPOINT}/projects/${identifier}`, { method: 'DELETE', headers: { "X-API-KEY": `${api_key}`, "Content-Type": "application/json" }, body: post_data });
|
|
61
|
+
if (await response.ok) {
|
|
62
|
+
projectsRefetch();
|
|
63
|
+
// const data = await response.json()
|
|
64
|
+
setOpenedProjects(openedProjects.filter((prj) => prj.identifier !== identifier));
|
|
65
|
+
setActiveTab('home');
|
|
66
|
+
setDeleting(false);
|
|
67
|
+
setOpenSettings(false);
|
|
68
|
+
// toast.success("Env Deleted Successfully")
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
alert('not ok');
|
|
72
|
+
// toast.error(JSON.stringify(data))
|
|
73
|
+
}
|
|
74
|
+
setDeleting(false);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
console.log('Project Error: ' + e);
|
|
78
|
+
setDeleting(false);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return (_jsx(Flex, { height: '100%', direction: 'column', gap: '3', children: _jsx(Form.Root, { onSubmit: handleFormSubmit(handleSubmit), noValidate: true, children: _jsxs(Flex, { direction: 'column', gap: '4', children: [_jsxs(Form.Field, { name: "name", serverInvalid: errors.name != null, children: [_jsx(TextField.Root, { type: "text", autoComplete: "off", placeholder: "Flow App Name", ...register("name") }), ((_a = errors.name) === null || _a === void 0 ? void 0 : _a.message) && (_jsx(Form.Message, { children: (_b = errors.name) === null || _b === void 0 ? void 0 : _b.message }))] }), _jsxs(Form.Field, { name: "description", serverInvalid: errors.description != null, children: [_jsx(TextArea, { placeholder: "Description", ...register("description"), rows: 5 }), ((_c = errors.description) === null || _c === void 0 ? void 0 : _c.message) && (_jsx(Form.Message, { children: (_d = errors.description) === null || _d === void 0 ? void 0 : _d.message }))] }), !watch('active') &&
|
|
82
|
+
_jsxs(Callout.Root, { size: '1', color: 'yellow', children: [_jsx(Callout.Icon, { children: _jsx(InfoCircledIcon, {}) }), _jsx(Callout.Text, { children: "Deactivated Apps are unable to process hits from users." })] }), _jsxs(Flex, { justify: 'between', gap: '3', children: [_jsx(Controller, { name: "active", control: control, render: ({ field }) => (_jsx("label", { htmlFor: "active", children: _jsxs(Flex, { gap: '2', children: [_jsx(Switch, { checked: field.value, onCheckedChange: (checked) => { field.onChange(checked); }, highContrast: true, size: '1', id: 'active' }), " ", _jsx(Text, { color: 'gray', size: '2', children: watch('active') ? 'Deactivate' : 'Activate' })] }) })) }), _jsxs(Flex, { gap: '3', children: [_jsxs(Button, { type: 'submit', highContrast: true, size: '2', disabled: isSubmitting, children: [_jsx(Spinner, { loading: isSubmitting }), " ", isSubmitting ? 'Updating' : 'Update'] }), _jsxs(Popover.Root, { children: [_jsx(Popover.Trigger, { children: _jsx(Button, { "aria-label": 'Delete Project', color: "red", variant: 'surface', size: '2', children: _jsx(BsTrash, {}) }) }), _jsxs(Popover.Content, { align: 'end', maxWidth: '250px', size: '1', children: [_jsx(Text, { size: '1', color: 'gray', children: "Are you sure you want to Delete this Project" }), _jsx(Separator, { my: '3', size: '4' }), _jsxs(Flex, { justify: 'end', gap: '3', mt: '3', children: [_jsx(Popover.Close, { children: _jsx(Button, { variant: 'soft', color: 'gray', size: '1', children: "Cancel" }) }), _jsxs(Button, { color: 'red', type: 'button', size: '1', disabled: deleting, onClick: () => { deleteProject(project === null || project === void 0 ? void 0 : project.identifier); }, children: [_jsx(Spinner, { loading: deleting }), " ", deleting ? 'Deleting' : 'Delete'] })] })] })] })] })] })] }) }) }));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=app_details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app_details.js","sourceRoot":"","sources":["../src/app_details.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAO,MAAM,EAAE,OAAO,EAAQ,IAAI,EAAc,OAAO,EAAc,SAAS,EAAE,OAAO,EAAE,MAAM,EAAQ,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClK,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAO;;IAC3E,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,CAAA;IAE3F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE/C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE;KAExB,CAAC,CAAC;IAEH,MAAM,EACF,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GACtC,GAAG,OAAO,CAAC;QACR,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;QACrC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE,EACjE;gBACI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;oBACtB,WAAW,EAAE,GAAG,OAAO,EAAE;oBACzB,cAAc,EAAE,kBAAkB;iBACrC,EAAE,IAAI,EAAE,SAAS;aACrB,CACJ,CAAC;YAEF,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAA;gBACjB,iDAAiD;gBACjD,WAAW;gBACX,sBAAsB;YAC1B,CAAC;iBAAM,CAAC;gBACJ,0CAA0C;YAC9C,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACL,CAAC,CAAC;IAEA,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAGX,MAAM,aAAa,GAAG,KAAK,EAAE,UAAe,EAAE,EAAE;QAC5C,IAAI,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,CAAA;YACjB,MAAM,SAAS,GAAG,IAAI,CAAA;YAEtB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YACzM,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAA;gBACjB,qCAAqC;gBAErC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAA;gBACrF,YAAY,CAAC,MAAM,CAAC,CAAA;gBAEpB,WAAW,CAAC,KAAK,CAAC,CAAA;gBAClB,eAAe,CAAC,KAAK,CAAC,CAAA;gBAEtB,4CAA4C;YAChD,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACf,oCAAoC;YACxC,CAAC;YAGD,WAAW,CAAC,KAAK,CAAC,CAAA;QAEtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAA;YAClC,WAAW,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACL,CAAC,CAAA;IAED,OAAO,CACP,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,YACnD,KAAC,IAAI,CAAC,IAAI,IAAC,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,UAAU,kBAC3D,MAAC,IAAI,IAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,aAE/B,MAAC,IAAI,CAAC,KAAK,IAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,aACxD,KAAC,SAAS,CAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,EAAC,WAAW,EAAC,eAAe,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAI,EAClG,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,KAAI,CAAC,KAAC,IAAI,CAAC,OAAO,cAAE,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,GAAgB,CAAC,IACrE,EAEb,MAAC,IAAI,CAAC,KAAK,IAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,aACtE,KAAC,QAAQ,IAAC,WAAW,EAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,EAC3E,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,OAAO,KAAI,CAAC,KAAC,IAAI,CAAC,OAAO,cAAE,MAAA,MAAM,CAAC,WAAW,0CAAE,OAAO,GAAgB,CAAC,IACnF,EAEZ,CAAC,KAAK,CAAC,QAAQ,CAAC;wBACb,MAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,aACpC,KAAC,OAAO,CAAC,IAAI,cAAC,KAAC,eAAe,KAAG,GAAe,EAChD,KAAC,OAAO,CAAC,IAAI,0EAAuE,IACzE,EAGnB,MAAC,IAAI,IAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAClC,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC/D,gBAAO,OAAO,EAAC,QAAQ,YAAE,MAAC,IAAI,IAAC,GAAG,EAAE,GAAG,aAAE,KAAC,MAAM,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,OAAO,EAAC,EAAE,GAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAA,CAAC,EAAE,YAAY,QAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAG,KAAK,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAA,YAAY,CAAA,CAAC,CAAA,UAAU,GAAQ,IAAO,GAAQ,CACxQ,GAAG,EAEA,MAAC,IAAI,IAAC,GAAG,EAAE,GAAG,aACd,MAAC,MAAM,IAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,QAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,aAAE,KAAC,OAAO,IAAC,OAAO,EAAE,YAAY,GAAI,OAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAU,EAC1J,MAAC,OAAO,CAAC,IAAI,eACT,KAAC,OAAO,CAAC,OAAO,cACZ,KAAC,MAAM,kBAAY,gBAAgB,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,YAAE,KAAC,OAAO,KAAG,GAAS,GACrF,EAClB,MAAC,OAAO,CAAC,OAAO,IAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aACrD,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,6DAAqD,EACnF,KAAC,SAAS,IAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAI,EACjC,MAAC,IAAI,IAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,aACnC,KAAC,OAAO,CAAC,KAAK,cACV,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAiB,GACpD,EAChB,MAAC,MAAM,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAE,KAAC,OAAO,IAAC,OAAO,EAAE,QAAQ,GAAI,OAAE,QAAQ,CAAA,CAAC,CAAA,UAAU,CAAA,CAAC,CAAA,QAAQ,IAAU,IAC9L,IACO,IACP,IACR,IACJ,IAEJ,GACC,GAGL,CAAC,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Theme } from '@radix-ui/themes';
|
|
3
|
+
import '@radix-ui/themes/styles.css';
|
|
4
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
5
|
+
import '@xyflow/react/dist/style.css';
|
|
6
|
+
import { ReactFlowProvider } from '@xyflow/react';
|
|
7
|
+
export default function AppLayout({ theme = 'inherit', accent = 'gray', children }) {
|
|
8
|
+
const queryClient = new QueryClient();
|
|
9
|
+
return (_jsx(Theme, { appearance: theme, accentColor: accent, panelBackground: 'solid', style: { height: '100%', minHeight: '100%' }, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(ReactFlowProvider, { children: children }) }) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=app_layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app_layout.js","sourceRoot":"","sources":["../src/app_layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAC,KAAK,GAAC,SAAS,EAAE,MAAM,GAAC,MAAM,EAAE,QAAQ,EAAK;IAC5E,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,OAAO,CACH,KAAC,KAAK,IAAC,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,EAAE,YAChH,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACpC,KAAC,iBAAiB,cAErB,QAAQ,GAEW,GACE,GAClB,CACX,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function AppSettings({ api_key, project, projectsRefetch, providers, provider, triggers, triggersRefetch, functions, functionsRefetch, envs, envsRefetch }: any): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Flex, Tabs } from "@radix-ui/themes";
|
|
4
|
+
import { useConfigStore } from "./zustand/store";
|
|
5
|
+
import Triggers from "./triggers";
|
|
6
|
+
import Functions from "./functions";
|
|
7
|
+
import Envs from "./envs";
|
|
8
|
+
import AppDetails from "./app_details";
|
|
9
|
+
import GetCode from "./getcode";
|
|
10
|
+
import Sheet from "./components/sheet";
|
|
11
|
+
export default function AppSettings({ api_key, project, projectsRefetch, providers, provider, triggers, triggersRefetch, functions, functionsRefetch, envs, envsRefetch }) {
|
|
12
|
+
const { appTheme, openSettings, setOpenSettings } = useConfigStore();
|
|
13
|
+
return (_jsx(Sheet, { open: openSettings, setOpen: setOpenSettings, title: "App Settings", showCloseBtn: true, side: "right", maxWidth: '550px', children: _jsx(Flex, { direction: 'column', flexGrow: '1', px: '3', width: '100%', style: {}, children: _jsxs(Tabs.Root, { defaultValue: "details", style: { width: '100%' }, children: [_jsxs(Tabs.List, { size: { initial: '1', md: '2' }, children: [_jsx(Tabs.Trigger, { value: "details", children: "Details" }), _jsx(Tabs.Trigger, { value: "triggers", children: "Triggers" }), _jsx(Tabs.Trigger, { value: "functions", children: "Functions" }), _jsx(Tabs.Trigger, { value: "envs", children: "Envs" }), _jsx(Tabs.Trigger, { value: "getcode", children: "Get Code" })] }), _jsx(Tabs.Content, { value: 'details', children: _jsx(Flex, { direction: 'column', gap: '3', px: '2', py: '4', children: _jsx(AppDetails, { api_key: api_key, project: project, projectsRefetch: projectsRefetch }) }) }), _jsx(Tabs.Content, { value: 'triggers', children: _jsx(Flex, { direction: 'column', gap: '3', px: '2', py: '4', children: _jsx(Triggers, { api_key: api_key, project: project, triggers: triggers, triggersRefetch: triggersRefetch, providers: providers, provider: provider }) }) }), _jsx(Tabs.Content, { value: 'functions', children: _jsx(Flex, { direction: 'column', gap: '3', px: '2', py: '4', children: _jsx(Functions, { api_key: api_key, project: project, functions: functions, functionsRefetch: functionsRefetch, envs: envs }) }) }), _jsx(Tabs.Content, { value: 'envs', children: _jsx(Flex, { direction: 'column', gap: '3', px: '2', py: '4', children: _jsx(Envs, { api_key: api_key, project: project, envs: envs, envsRefetch: envsRefetch }) }) }), _jsx(Tabs.Content, { value: 'getcode', children: _jsx(Flex, { direction: 'column', gap: '3', px: '2', py: '4', children: _jsx(GetCode, { api_key: api_key, project: project }) }) })] }) }) }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=app_settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app_settings.js","sourceRoot":"","sources":["../src/app_settings.tsx"],"names":[],"mappings":"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"}
|