UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

163 lines 28 kB
{ "ast": null, "code": "import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState } from 'react';\nimport ScrollView from \"react-native-web/dist/exports/ScrollView\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { Card, Title, TextInput, Button, Checkbox, List, Chip, IconButton, SegmentedButtons, Switch } from 'react-native-paper';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { addProject } from \"../store/projectsSlice\";\nimport { startProject } from \"../store/progressSlice\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function CreateProjectScreen() {\n var dispatch = useDispatch();\n var availableTemplates = useSelector(function (state) {\n return state.templates.templates;\n });\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n projectName = _useState2[0],\n setProjectName = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n projectPath = _useState4[0],\n setProjectPath = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n gitRemote = _useState6[0],\n setGitRemote = _useState6[1];\n var _useState7 = useState([]),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedTemplates = _useState8[0],\n setSelectedTemplates = _useState8[1];\n var _useState9 = useState('merge'),\n _useState0 = _slicedToArray(_useState9, 2),\n mergeStrategy = _useState0[0],\n setMergeStrategy = _useState0[1];\n var _useState1 = useState(true),\n _useState10 = _slicedToArray(_useState1, 2),\n initGit = _useState10[0],\n setInitGit = _useState10[1];\n var _useState11 = useState(['.git/**', 'node_modules/**']),\n _useState12 = _slicedToArray(_useState11, 2),\n excludePatterns = _useState12[0],\n setExcludePatterns = _useState12[1];\n var _useState13 = useState(''),\n _useState14 = _slicedToArray(_useState13, 2),\n newExcludePattern = _useState14[0],\n setNewExcludePattern = _useState14[1];\n var handleTemplateToggle = function handleTemplateToggle(templateId) {\n setSelectedTemplates(function (prev) {\n return prev.includes(templateId) ? prev.filter(function (id) {\n return id !== templateId;\n }) : [].concat(_toConsumableArray(prev), [templateId]);\n });\n };\n var handleAddExcludePattern = function handleAddExcludePattern() {\n if (newExcludePattern.trim() && !excludePatterns.includes(newExcludePattern.trim())) {\n setExcludePatterns([].concat(_toConsumableArray(excludePatterns), [newExcludePattern.trim()]));\n setNewExcludePattern('');\n }\n };\n var handleRemoveExcludePattern = function handleRemoveExcludePattern(pattern) {\n setExcludePatterns(excludePatterns.filter(function (p) {\n return p !== pattern;\n }));\n };\n var handleCreateProject = function handleCreateProject() {\n var selectedTemplateObjects = availableTemplates.filter(function (t) {\n return selectedTemplates.includes(t.id);\n });\n var newProject = {\n id: Date.now().toString(),\n name: projectName,\n path: projectPath,\n templates: selectedTemplateObjects,\n gitRemote: gitRemote || undefined,\n excludePatterns: excludePatterns,\n mergeStrategy: mergeStrategy,\n createdAt: new Date(),\n updatedAt: new Date()\n };\n dispatch(addProject(newProject));\n dispatch(startProject({\n id: newProject.id,\n name: projectName,\n status: 'pending',\n progress: 0,\n currentStep: 'Initializing project',\n totalSteps: selectedTemplateObjects.length + (initGit ? 1 : 0),\n errors: []\n }));\n setProjectName('');\n setProjectPath('');\n setGitRemote('');\n setSelectedTemplates([]);\n setExcludePatterns(['.git/**', 'node_modules/**']);\n };\n var isFormValid = projectName.trim() && projectPath.trim() && selectedTemplates.length > 0;\n return _jsxs(ScrollView, {\n style: styles.container,\n children: [_jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Project Details\"\n }), _jsx(TextInput, {\n label: \"Project Name\",\n value: projectName,\n onChangeText: setProjectName,\n style: styles.input,\n mode: \"outlined\"\n }), _jsx(TextInput, {\n label: \"Project Path\",\n value: projectPath,\n onChangeText: setProjectPath,\n style: styles.input,\n mode: \"outlined\",\n placeholder: \"/path/to/your/project\"\n }), _jsx(TextInput, {\n label: \"Git Remote (optional)\",\n value: gitRemote,\n onChangeText: setGitRemote,\n style: styles.input,\n mode: \"outlined\",\n placeholder: \"https://github.com/user/repo.git\"\n }), _jsxs(View, {\n style: styles.switchContainer,\n children: [_jsx(Title, {\n style: styles.switchLabel,\n children: \"Initialize Git Repository\"\n }), _jsx(Switch, {\n value: initGit,\n onValueChange: setInitGit\n })]\n })]\n })\n }), _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Select Templates\"\n }), availableTemplates.map(function (template) {\n return _jsx(List.Item, {\n title: template.name,\n description: template.url,\n left: function left() {\n return _jsx(Checkbox, {\n status: selectedTemplates.includes(template.id) ? 'checked' : 'unchecked',\n onPress: function onPress() {\n return handleTemplateToggle(template.id);\n }\n });\n },\n onPress: function onPress() {\n return handleTemplateToggle(template.id);\n }\n }, template.id);\n })]\n })\n }), _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Merge Strategy\"\n }), _jsx(SegmentedButtons, {\n value: mergeStrategy,\n onValueChange: function onValueChange(value) {\n return setMergeStrategy(value);\n },\n buttons: [{\n value: 'merge',\n label: 'Merge'\n }, {\n value: 'overwrite',\n label: 'Overwrite'\n }, {\n value: 'skip',\n label: 'Skip'\n }],\n style: styles.segmentedButtons\n })]\n })\n }), _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Exclude Patterns\"\n }), _jsxs(View, {\n style: styles.addPatternContainer,\n children: [_jsx(TextInput, {\n label: \"Add exclude pattern\",\n value: newExcludePattern,\n onChangeText: setNewExcludePattern,\n style: styles.patternInput,\n mode: \"outlined\",\n placeholder: \"*.log, temp/**, etc.\"\n }), _jsx(IconButton, {\n icon: \"plus\",\n mode: \"contained\",\n onPress: handleAddExcludePattern,\n disabled: !newExcludePattern.trim()\n })]\n }), _jsx(View, {\n style: styles.patternsContainer,\n children: excludePatterns.map(function (pattern, index) {\n return _jsx(Chip, {\n mode: \"outlined\",\n onClose: function onClose() {\n return handleRemoveExcludePattern(pattern);\n },\n style: styles.patternChip,\n children: pattern\n }, index);\n })\n })]\n })\n }), _jsx(View, {\n style: styles.buttonContainer,\n children: _jsx(Button, {\n mode: \"contained\",\n onPress: handleCreateProject,\n disabled: !isFormValid,\n style: styles.createButton,\n contentStyle: styles.createButtonContent,\n children: \"Create Project\"\n })\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#f5f5f5',\n padding: 16\n },\n card: {\n marginBottom: 16\n },\n input: {\n marginBottom: 16\n },\n switchContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 8\n },\n switchLabel: {\n fontSize: 16\n },\n segmentedButtons: {\n marginTop: 8\n },\n addPatternContainer: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n marginBottom: 16\n },\n patternInput: {\n flex: 1,\n marginRight: 8\n },\n patternsContainer: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n patternChip: {\n marginRight: 8,\n marginBottom: 8\n },\n buttonContainer: {\n marginBottom: 32\n },\n createButton: {\n marginTop: 16\n },\n createButtonContent: {\n paddingVertical: 8\n }\n});", "map": { "version": 3, "names": [ "React", "useState", "ScrollView", "StyleSheet", "View", "Card", "Title", "TextInput", "Button", "Checkbox", "List", "Chip", "IconButton", "SegmentedButtons", "Switch", "useSelector", "useDispatch", "addProject", "startProject", "jsx", "_jsx", "jsxs", "_jsxs", "CreateProjectScreen", "dispatch", "availableTemplates", "state", "templates", "_useState", "_useState2", "_slicedToArray", "projectName", "setProjectName", "_useState3", "_useState4", "projectPath", "setProjectPath", "_useState5", "_useState6", "gitRemote", "setGitRemote", "_useState7", "_useState8", "selectedTemplates", "setSelectedTemplates", "_useState9", "_useState0", "mergeStrategy", "setMergeStrategy", "_useState1", "_useState10", "initGit", "setInitGit", "_useState11", "_useState12", "excludePatterns", "setExcludePatterns", "_useState13", "_useState14", "newExcludePattern", "setNewExcludePattern", "handleTemplateToggle", "templateId", "prev", "includes", "filter", "id", "concat", "_toConsumableArray", "handleAddExcludePattern", "trim", "handleRemoveExcludePattern", "pattern", "p", "handleCreateProject", "selectedTemplateObjects", "t", "newProject", "Date", "now", "toString", "name", "path", "undefined", "createdAt", "updatedAt", "status", "progress", "currentStep", "totalSteps", "length", "errors", "isFormValid", "style", "styles", "container", "children", "card", "Content", "label", "value", "onChangeText", "input", "mode", "placeholder", "switchContainer", "switchLabel", "onValueChange", "map", "template", "Item", "title", "description", "url", "left", "onPress", "buttons", "segmentedButtons", "addPatternContainer", "patternInput", "icon", "disabled", "patternsContainer", "index", "onClose", "patternChip", "buttonContainer", "createButton", "contentStyle", "createButtonContent", "create", "flex", "backgroundColor", "padding", "marginBottom", "flexDirection", "justifyContent", "alignItems", "fontSize", "marginTop", "marginRight", "flexWrap", "paddingVertical" ], "sources": [ "/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/src/screens/CreateProjectScreen.tsx" ], "sourcesContent": [ "import React, { useState } from 'react';\nimport { ScrollView, StyleSheet, View } from 'react-native';\nimport {\n Card,\n Title,\n TextInput,\n Button,\n Checkbox,\n List,\n Chip,\n IconButton,\n SegmentedButtons,\n Switch,\n Divider,\n} from 'react-native-paper';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { RootState } from '../store';\nimport { addProject } from '../store/projectsSlice';\nimport { startProject } from '../store/progressSlice';\nimport { MobileRepositoryConfig, MobileTemplateRepository } from '../types';\n\nexport function CreateProjectScreen() {\n const dispatch = useDispatch();\n const availableTemplates = useSelector((state: RootState) => state.templates.templates);\n \n const [projectName, setProjectName] = useState('');\n const [projectPath, setProjectPath] = useState('');\n const [gitRemote, setGitRemote] = useState('');\n const [selectedTemplates, setSelectedTemplates] = useState<string[]>([]);\n const [mergeStrategy, setMergeStrategy] = useState<'overwrite' | 'merge' | 'skip'>('merge');\n const [initGit, setInitGit] = useState(true);\n const [excludePatterns, setExcludePatterns] = useState<string[]>(['.git/**', 'node_modules/**']);\n const [newExcludePattern, setNewExcludePattern] = useState('');\n\n const handleTemplateToggle = (templateId: string) => {\n setSelectedTemplates(prev =>\n prev.includes(templateId)\n ? prev.filter(id => id !== templateId)\n : [...prev, templateId]\n );\n };\n\n const handleAddExcludePattern = () => {\n if (newExcludePattern.trim() && !excludePatterns.includes(newExcludePattern.trim())) {\n setExcludePatterns([...excludePatterns, newExcludePattern.trim()]);\n setNewExcludePattern('');\n }\n };\n\n const handleRemoveExcludePattern = (pattern: string) => {\n setExcludePatterns(excludePatterns.filter(p => p !== pattern));\n };\n\n const handleCreateProject = () => {\n const selectedTemplateObjects = availableTemplates.filter(t => \n selectedTemplates.includes(t.id)\n );\n\n const newProject: MobileRepositoryConfig = {\n id: Date.now().toString(),\n name: projectName,\n path: projectPath,\n templates: selectedTemplateObjects,\n gitRemote: gitRemote || undefined,\n excludePatterns,\n mergeStrategy,\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n dispatch(addProject(newProject));\n \n // Start the project creation process\n dispatch(startProject({\n id: newProject.id,\n name: projectName,\n status: 'pending',\n progress: 0,\n currentStep: 'Initializing project',\n totalSteps: selectedTemplateObjects.length + (initGit ? 1 : 0),\n errors: [],\n }));\n\n // Reset form\n setProjectName('');\n setProjectPath('');\n setGitRemote('');\n setSelectedTemplates([]);\n setExcludePatterns(['.git/**', 'node_modules/**']);\n };\n\n const isFormValid = projectName.trim() && projectPath.trim() && selectedTemplates.length > 0;\n\n return (\n <ScrollView style={styles.container}>\n <Card style={styles.card}>\n <Card.Content>\n <Title>Project Details</Title>\n \n <TextInput\n label=\"Project Name\"\n value={projectName}\n onChangeText={setProjectName}\n style={styles.input}\n mode=\"outlined\"\n />\n \n <TextInput\n label=\"Project Path\"\n value={projectPath}\n onChangeText={setProjectPath}\n style={styles.input}\n mode=\"outlined\"\n placeholder=\"/path/to/your/project\"\n />\n \n <TextInput\n label=\"Git Remote (optional)\"\n value={gitRemote}\n onChangeText={setGitRemote}\n style={styles.input}\n mode=\"outlined\"\n placeholder=\"https://github.com/user/repo.git\"\n />\n \n <View style={styles.switchContainer}>\n <Title style={styles.switchLabel}>Initialize Git Repository</Title>\n <Switch value={initGit} onValueChange={setInitGit} />\n </View>\n </Card.Content>\n </Card>\n\n <Card style={styles.card}>\n <Card.Content>\n <Title>Select Templates</Title>\n {availableTemplates.map((template) => (\n <List.Item\n key={template.id}\n title={template.name}\n description={template.url}\n left={() => (\n <Checkbox\n status={selectedTemplates.includes(template.id) ? 'checked' : 'unchecked'}\n onPress={() => handleTemplateToggle(template.id)}\n />\n )}\n onPress={() => handleTemplateToggle(template.id)}\n />\n ))}\n </Card.Content>\n </Card>\n\n <Card style={styles.card}>\n <Card.Content>\n <Title>Merge Strategy</Title>\n <SegmentedButtons\n value={mergeStrategy}\n onValueChange={(value) => setMergeStrategy(value as typeof mergeStrategy)}\n buttons={[\n { value: 'merge', label: 'Merge' },\n { value: 'overwrite', label: 'Overwrite' },\n { value: 'skip', label: 'Skip' },\n ]}\n style={styles.segmentedButtons}\n />\n </Card.Content>\n </Card>\n\n <Card style={styles.card}>\n <Card.Content>\n <Title>Exclude Patterns</Title>\n \n <View style={styles.addPatternContainer}>\n <TextInput\n label=\"Add exclude pattern\"\n value={newExcludePattern}\n onChangeText={setNewExcludePattern}\n style={styles.patternInput}\n mode=\"outlined\"\n placeholder=\"*.log, temp/**, etc.\"\n />\n <IconButton\n icon=\"plus\"\n mode=\"contained\"\n onPress={handleAddExcludePattern}\n disabled={!newExcludePattern.trim()}\n />\n </View>\n \n <View style={styles.patternsContainer}>\n {excludePatterns.map((pattern, index) => (\n <Chip\n key={index}\n mode=\"outlined\"\n onClose={() => handleRemoveExcludePattern(pattern)}\n style={styles.patternChip}\n >\n {pattern}\n </Chip>\n ))}\n </View>\n </Card.Content>\n </Card>\n\n <View style={styles.buttonContainer}>\n <Button\n mode=\"contained\"\n onPress={handleCreateProject}\n disabled={!isFormValid}\n style={styles.createButton}\n contentStyle={styles.createButtonContent}\n >\n Create Project\n </Button>\n </View>\n </ScrollView>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#f5f5f5',\n padding: 16,\n },\n card: {\n marginBottom: 16,\n },\n input: {\n marginBottom: 16,\n },\n switchContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 8,\n },\n switchLabel: {\n fontSize: 16,\n },\n segmentedButtons: {\n marginTop: 8,\n },\n addPatternContainer: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n marginBottom: 16,\n },\n patternInput: {\n flex: 1,\n marginRight: 8,\n },\n patternsContainer: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n patternChip: {\n marginRight: 8,\n marginBottom: 8,\n },\n buttonContainer: {\n marginBottom: 32,\n },\n createButton: {\n marginTop: 16,\n },\n createButtonContent: {\n paddingVertical: 8,\n },\n});" ], "mappings": "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", "ignoreList": [] }, "metadata": {}, "sourceType": "module", "externalDependencies": [] }