{
	"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": []
}