UNPKG

repoweaver

Version:

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

1 lines 13.6 kB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React 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, Paragraph, FAB, List, Chip } from 'react-native-paper';\nimport { useSelector } from 'react-redux';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function HomeScreen() {\n var projects = useSelector(function (state) {\n return state.projects.projects;\n });\n var activeProjects = useSelector(function (state) {\n return state.progress.activeProjects;\n });\n return _jsxs(View, {\n style: styles.container,\n children: [_jsxs(ScrollView, {\n style: styles.scrollView,\n children: [activeProjects.length > 0 && _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Active Projects\"\n }), activeProjects.map(function (project) {\n return _jsx(List.Item, {\n title: project.name,\n description: `${project.currentStep} (${project.progress}%)`,\n left: function left(props) {\n return _jsx(List.Icon, _objectSpread(_objectSpread({}, props), {}, {\n icon: \"progress-clock\"\n }));\n },\n right: function right() {\n return _jsx(Chip, {\n mode: \"outlined\",\n compact: true,\n children: project.status\n });\n }\n }, project.id);\n })]\n })\n }), _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Recent Projects\"\n }), projects.length === 0 ? _jsx(Paragraph, {\n children: \"No projects yet. Create your first project!\"\n }) : projects.slice(0, 5).map(function (project) {\n return _jsx(List.Item, {\n title: project.name,\n description: `${project.templates.length} templates • ${project.path}`,\n left: function left(props) {\n return _jsx(List.Icon, _objectSpread(_objectSpread({}, props), {}, {\n icon: \"folder\"\n }));\n },\n right: function right() {\n return _jsx(Chip, {\n mode: \"outlined\",\n compact: true,\n children: project.mergeStrategy\n });\n }\n }, project.id);\n })]\n })\n }), _jsx(Card, {\n style: styles.card,\n children: _jsxs(Card.Content, {\n children: [_jsx(Title, {\n children: \"Quick Stats\"\n }), _jsxs(View, {\n style: styles.statsRow,\n children: [_jsxs(View, {\n style: styles.statItem,\n children: [_jsx(Title, {\n children: projects.length\n }), _jsx(Paragraph, {\n children: \"Projects\"\n })]\n }), _jsxs(View, {\n style: styles.statItem,\n children: [_jsx(Title, {\n children: projects.reduce(function (sum, p) {\n return sum + p.templates.length;\n }, 0)\n }), _jsx(Paragraph, {\n children: \"Templates Used\"\n })]\n }), _jsxs(View, {\n style: styles.statItem,\n children: [_jsx(Title, {\n children: activeProjects.length\n }), _jsx(Paragraph, {\n children: \"Active\"\n })]\n })]\n })]\n })\n })]\n }), _jsx(FAB, {\n style: styles.fab,\n icon: \"plus\",\n onPress: function onPress() {}\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#f5f5f5'\n },\n scrollView: {\n flex: 1,\n padding: 16\n },\n card: {\n marginBottom: 16\n },\n fab: {\n position: 'absolute',\n margin: 16,\n right: 0,\n bottom: 0\n },\n statsRow: {\n flexDirection: 'row',\n justifyContent: 'space-around',\n marginTop: 16\n },\n statItem: {\n alignItems: 'center'\n }\n});","map":{"version":3,"names":["React","ScrollView","StyleSheet","View","Card","Title","Paragraph","FAB","List","Chip","useSelector","jsx","_jsx","jsxs","_jsxs","HomeScreen","projects","state","activeProjects","progress","style","styles","container","children","scrollView","length","card","Content","map","project","Item","title","name","description","currentStep","left","props","Icon","_objectSpread","icon","right","mode","compact","status","id","slice","templates","path","mergeStrategy","statsRow","statItem","reduce","sum","p","fab","onPress","create","flex","backgroundColor","padding","marginBottom","position","margin","bottom","flexDirection","justifyContent","marginTop","alignItems"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/src/screens/HomeScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, StyleSheet, View } from 'react-native';\nimport { Card, Title, Paragraph, FAB, List, Chip } from 'react-native-paper';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../store';\n\nexport function HomeScreen() {\n const projects = useSelector((state: RootState) => state.projects.projects);\n const activeProjects = useSelector((state: RootState) => state.progress.activeProjects);\n\n return (\n <View style={styles.container}>\n <ScrollView style={styles.scrollView}>\n {activeProjects.length > 0 && (\n <Card style={styles.card}>\n <Card.Content>\n <Title>Active Projects</Title>\n {activeProjects.map((project) => (\n <List.Item\n key={project.id}\n title={project.name}\n description={`${project.currentStep} (${project.progress}%)`}\n left={(props) => <List.Icon {...props} icon=\"progress-clock\" />}\n right={() => (\n <Chip mode=\"outlined\" compact>\n {project.status}\n </Chip>\n )}\n />\n ))}\n </Card.Content>\n </Card>\n )}\n\n <Card style={styles.card}>\n <Card.Content>\n <Title>Recent Projects</Title>\n {projects.length === 0 ? (\n <Paragraph>No projects yet. Create your first project!</Paragraph>\n ) : (\n projects.slice(0, 5).map((project) => (\n <List.Item\n key={project.id}\n title={project.name}\n description={`${project.templates.length} templates • ${project.path}`}\n left={(props) => <List.Icon {...props} icon=\"folder\" />}\n right={() => (\n <Chip mode=\"outlined\" compact>\n {project.mergeStrategy}\n </Chip>\n )}\n />\n ))\n )}\n </Card.Content>\n </Card>\n\n <Card style={styles.card}>\n <Card.Content>\n <Title>Quick Stats</Title>\n <View style={styles.statsRow}>\n <View style={styles.statItem}>\n <Title>{projects.length}</Title>\n <Paragraph>Projects</Paragraph>\n </View>\n <View style={styles.statItem}>\n <Title>{projects.reduce((sum, p) => sum + p.templates.length, 0)}</Title>\n <Paragraph>Templates Used</Paragraph>\n </View>\n <View style={styles.statItem}>\n <Title>{activeProjects.length}</Title>\n <Paragraph>Active</Paragraph>\n </View>\n </View>\n </Card.Content>\n </Card>\n </ScrollView>\n\n <FAB\n style={styles.fab}\n icon=\"plus\"\n onPress={() => {\n // Navigate to create project screen\n }}\n />\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#f5f5f5',\n },\n scrollView: {\n flex: 1,\n padding: 16,\n },\n card: {\n marginBottom: 16,\n },\n fab: {\n position: 'absolute',\n margin: 16,\n right: 0,\n bottom: 0,\n },\n statsRow: {\n flexDirection: 'row',\n justifyContent: 'space-around',\n marginTop: 16,\n },\n statItem: {\n alignItems: 'center',\n },\n});"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAAC,OAAAC,UAAA;AAAA,OAAAC,UAAA;AAAA,OAAAC,IAAA;AAE1B,SAASC,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAEC,GAAG,EAAEC,IAAI,EAAEC,IAAI,QAAQ,oBAAoB;AAC5E,SAASC,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG1C,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,IAAMC,QAAQ,GAAGN,WAAW,CAAC,UAACO,KAAgB;IAAA,OAAKA,KAAK,CAACD,QAAQ,CAACA,QAAQ;EAAA,EAAC;EAC3E,IAAME,cAAc,GAAGR,WAAW,CAAC,UAACO,KAAgB;IAAA,OAAKA,KAAK,CAACE,QAAQ,CAACD,cAAc;EAAA,EAAC;EAEvF,OACEJ,KAAA,CAACX,IAAI;IAACiB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC5BT,KAAA,CAACb,UAAU;MAACmB,KAAK,EAAEC,MAAM,CAACG,UAAW;MAAAD,QAAA,GAClCL,cAAc,CAACO,MAAM,GAAG,CAAC,IACxBb,IAAA,CAACR,IAAI;QAACgB,KAAK,EAAEC,MAAM,CAACK,IAAK;QAAAH,QAAA,EACvBT,KAAA,CAACV,IAAI,CAACuB,OAAO;UAAAJ,QAAA,GACXX,IAAA,CAACP,KAAK;YAAAkB,QAAA,EAAC;UAAe,CAAO,CAAC,EAC7BL,cAAc,CAACU,GAAG,CAAC,UAACC,OAAO;YAAA,OAC1BjB,IAAA,CAACJ,IAAI,CAACsB,IAAI;cAERC,KAAK,EAAEF,OAAO,CAACG,IAAK;cACpBC,WAAW,EAAE,GAAGJ,OAAO,CAACK,WAAW,KAAKL,OAAO,CAACV,QAAQ,IAAK;cAC7DgB,IAAI,EAAE,SAANA,IAAIA,CAAGC,KAAK;gBAAA,OAAKxB,IAAA,CAACJ,IAAI,CAAC6B,IAAI,EAAAC,aAAA,CAAAA,aAAA,KAAKF,KAAK;kBAAEG,IAAI,EAAC;gBAAgB,EAAE,CAAC;cAAA,CAAC;cAChEC,KAAK,EAAE,SAAPA,KAAKA,CAAA;gBAAA,OACH5B,IAAA,CAACH,IAAI;kBAACgC,IAAI,EAAC,UAAU;kBAACC,OAAO;kBAAAnB,QAAA,EAC1BM,OAAO,CAACc;gBAAM,CACX,CAAC;cAAA;YACP,GARGd,OAAO,CAACe,EASd,CAAC;UAAA,CACH,CAAC;QAAA,CACU;MAAC,CACX,CACP,EAEDhC,IAAA,CAACR,IAAI;QAACgB,KAAK,EAAEC,MAAM,CAACK,IAAK;QAAAH,QAAA,EACvBT,KAAA,CAACV,IAAI,CAACuB,OAAO;UAAAJ,QAAA,GACXX,IAAA,CAACP,KAAK;YAAAkB,QAAA,EAAC;UAAe,CAAO,CAAC,EAC7BP,QAAQ,CAACS,MAAM,KAAK,CAAC,GACpBb,IAAA,CAACN,SAAS;YAAAiB,QAAA,EAAC;UAA2C,CAAW,CAAC,GAElEP,QAAQ,CAAC6B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACjB,GAAG,CAAC,UAACC,OAAO;YAAA,OAC/BjB,IAAA,CAACJ,IAAI,CAACsB,IAAI;cAERC,KAAK,EAAEF,OAAO,CAACG,IAAK;cACpBC,WAAW,EAAE,GAAGJ,OAAO,CAACiB,SAAS,CAACrB,MAAM,gBAAgBI,OAAO,CAACkB,IAAI,EAAG;cACvEZ,IAAI,EAAE,SAANA,IAAIA,CAAGC,KAAK;gBAAA,OAAKxB,IAAA,CAACJ,IAAI,CAAC6B,IAAI,EAAAC,aAAA,CAAAA,aAAA,KAAKF,KAAK;kBAAEG,IAAI,EAAC;gBAAQ,EAAE,CAAC;cAAA,CAAC;cACxDC,KAAK,EAAE,SAAPA,KAAKA,CAAA;gBAAA,OACH5B,IAAA,CAACH,IAAI;kBAACgC,IAAI,EAAC,UAAU;kBAACC,OAAO;kBAAAnB,QAAA,EAC1BM,OAAO,CAACmB;gBAAa,CAClB,CAAC;cAAA;YACP,GARGnB,OAAO,CAACe,EASd,CAAC;UAAA,CACH,CACF;QAAA,CACW;MAAC,CACX,CAAC,EAEPhC,IAAA,CAACR,IAAI;QAACgB,KAAK,EAAEC,MAAM,CAACK,IAAK;QAAAH,QAAA,EACvBT,KAAA,CAACV,IAAI,CAACuB,OAAO;UAAAJ,QAAA,GACXX,IAAA,CAACP,KAAK;YAAAkB,QAAA,EAAC;UAAW,CAAO,CAAC,EAC1BT,KAAA,CAACX,IAAI;YAACiB,KAAK,EAAEC,MAAM,CAAC4B,QAAS;YAAA1B,QAAA,GAC3BT,KAAA,CAACX,IAAI;cAACiB,KAAK,EAAEC,MAAM,CAAC6B,QAAS;cAAA3B,QAAA,GAC3BX,IAAA,CAACP,KAAK;gBAAAkB,QAAA,EAAEP,QAAQ,CAACS;cAAM,CAAQ,CAAC,EAChCb,IAAA,CAACN,SAAS;gBAAAiB,QAAA,EAAC;cAAQ,CAAW,CAAC;YAAA,CAC3B,CAAC,EACPT,KAAA,CAACX,IAAI;cAACiB,KAAK,EAAEC,MAAM,CAAC6B,QAAS;cAAA3B,QAAA,GAC3BX,IAAA,CAACP,KAAK;gBAAAkB,QAAA,EAAEP,QAAQ,CAACmC,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC;kBAAA,OAAKD,GAAG,GAAGC,CAAC,CAACP,SAAS,CAACrB,MAAM;gBAAA,GAAE,CAAC;cAAC,CAAQ,CAAC,EACzEb,IAAA,CAACN,SAAS;gBAAAiB,QAAA,EAAC;cAAc,CAAW,CAAC;YAAA,CACjC,CAAC,EACPT,KAAA,CAACX,IAAI;cAACiB,KAAK,EAAEC,MAAM,CAAC6B,QAAS;cAAA3B,QAAA,GAC3BX,IAAA,CAACP,KAAK;gBAAAkB,QAAA,EAAEL,cAAc,CAACO;cAAM,CAAQ,CAAC,EACtCb,IAAA,CAACN,SAAS;gBAAAiB,QAAA,EAAC;cAAM,CAAW,CAAC;YAAA,CACzB,CAAC;UAAA,CACH,CAAC;QAAA,CACK;MAAC,CACX,CAAC;IAAA,CACG,CAAC,EAEbX,IAAA,CAACL,GAAG;MACFa,KAAK,EAAEC,MAAM,CAACiC,GAAI;MAClBf,IAAI,EAAC,MAAM;MACXgB,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ,CAEf;IAAE,CACH,CAAC;EAAA,CACE,CAAC;AAEX;AAEA,IAAMlC,MAAM,GAAGnB,UAAU,CAACsD,MAAM,CAAC;EAC/BlC,SAAS,EAAE;IACTmC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE;EACnB,CAAC;EACDlC,UAAU,EAAE;IACViC,IAAI,EAAE,CAAC;IACPE,OAAO,EAAE;EACX,CAAC;EACDjC,IAAI,EAAE;IACJkC,YAAY,EAAE;EAChB,CAAC;EACDN,GAAG,EAAE;IACHO,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,EAAE;IACVtB,KAAK,EAAE,CAAC;IACRuB,MAAM,EAAE;EACV,CAAC;EACDd,QAAQ,EAAE;IACRe,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,SAAS,EAAE;EACb,CAAC;EACDhB,QAAQ,EAAE;IACRiB,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}