mirror of
https://github.com/kusti8/proton-native.git
synced 2026-05-15 14:15:50 -06:00
* Add initial test structure and some tests for Window * Start on rewriting registerComponent * Add View support * Add flexbox support, still need to test more * Add styling and better props management * Add nested text support * Fix text measurement and qt hogging layout styles * Font size must be in px, so convert if it isn't * Add stylesheet * Various changes, start adding tests * Try out travis CI * Remove xwd package * Install qt5 * Install correct moc * Add g++ 5 * Add xwd and imagemagick * Yoga layout doesn't support v12 right now * Add touchablewithoutfeedback * Add opacity. Need to investigate seg fault * Fix build errors, unsupport trusty * Force xenial version * Add touchablehighlight. Start button * Add support for image require * Start on image * Add image resizing and TextInput * Fix button view * Quit loop when all windows closed * Fix require not working with jest * Fix quit deleting still in use pointers * Disable caching * Depend on stable node-qt-napi * Copy docs, start examples * Many bug fixes, get cat example to work * Fix percent issue and start more documentation * Start docs * Finish docs * Fix App appendChild with comments * Abstract QT bindings * Add calculator example; try to get devtools working * Update react-devtools * Add hot reloading support * Add hot reloading to examples, fix reloading bugs * Update documentation on v2 * Add more examples to v2 changes * Change readme for v2 * Remove packaging until it works * Add prepack instead * Use node-qt-napi up * 2.0.1 * Convert everything to typescript * Add note on TS * Update readme with new images * Add comparison to others in docs * Add packaging instructions * Fix windows packaging * Create FUNDING.yml * Update v2_changes.md * Create LICENSE * Add wx backend option * Add more wx components * Add wx backend notes * Add note on mac wxwidgets libuv bug * Add note on Macs with libuv bug * Use npx by default * Bump version for wx backend * V2 small code improvements (#240) * slightly improved import * better type defs * merged append and insert as they pretty same * Run prettier * Add issue templates (#241) * About page typo (#216) * Update quickstart.md (#223) * Update README.md (#229) * Create FUNDING.yml * Add issue templates * Update README.md Co-authored-by: Yevhen Hraivoronskyi <evhenious@gmail.com>
115 lines
3.2 KiB
JavaScript
115 lines
3.2 KiB
JavaScript
import React, { Component } from 'react';
|
|
import {
|
|
App,
|
|
Window,
|
|
Text,
|
|
TextInput,
|
|
View,
|
|
Picker,
|
|
Button,
|
|
Image,
|
|
} from '../../../../bin';
|
|
import * as Actions from '../actions';
|
|
import { sizeConsts, typeConsts } from '../consts';
|
|
import { connect } from 'react-redux/lib/alternate-renderers';
|
|
import { bindActionCreators } from 'redux';
|
|
|
|
class Main extends Component {
|
|
render() {
|
|
return (
|
|
<App>
|
|
<Window>
|
|
<View style={{ margin: 10, flex: 1 }}>
|
|
<View
|
|
style={{
|
|
flexDirection: 'row',
|
|
justifyContent: 'center',
|
|
marginBottom: 10,
|
|
}}
|
|
>
|
|
<Text style={{ fontSize: 45 }}>CatApi</Text>
|
|
</View>
|
|
<View style={{ flexDirection: 'row', marginBottom: 10 }}>
|
|
<Text style={{ marginRight: 15, fontSize: 20 }}>ID</Text>
|
|
<TextInput
|
|
onChangeText={id => this.props.setId(id)}
|
|
value={this.props.id}
|
|
style={{ flex: 1 }}
|
|
/>
|
|
</View>
|
|
<View style={{ flexDirection: 'row', marginBottom: 10 }}>
|
|
<Text style={{ marginRight: 15, fontSize: 20 }}>Size</Text>
|
|
<Picker
|
|
style={{ flex: 1 }}
|
|
selectedValue={this.props.size}
|
|
onValueChange={val => this.props.setSize(val)}
|
|
>
|
|
{sizeConsts.map((s, i) => (
|
|
<Picker.Item key={i} label={s} />
|
|
))}
|
|
</Picker>
|
|
</View>
|
|
<View style={{ flexDirection: 'row', marginBottom: 10 }}>
|
|
<Text style={{ marginRight: 15, fontSize: 20 }}>Type</Text>
|
|
<Picker
|
|
style={{ flex: 1 }}
|
|
selectedValue={this.props.type}
|
|
onValueChange={val => this.props.setType(val)}
|
|
>
|
|
{typeConsts.map((s, i) => (
|
|
<Picker.Item key={i} label={s} />
|
|
))}
|
|
</Picker>
|
|
</View>
|
|
<View
|
|
style={{
|
|
flexDirection: 'row',
|
|
justifyContent: 'center',
|
|
marginBottom: 10,
|
|
}}
|
|
>
|
|
<Button onPress={() => this.props.search()} title="Submit" />
|
|
</View>
|
|
<View
|
|
style={{
|
|
flexDirection: 'row',
|
|
marginBottom: 10,
|
|
}}
|
|
>
|
|
<Text style={{ marginRight: 15, fontSize: 20 }}>URL</Text>
|
|
<TextInput value={this.props.url} style={{ flex: 1 }} />
|
|
</View>
|
|
<View
|
|
style={{
|
|
marginBottom: 10,
|
|
flex: 1,
|
|
}}
|
|
>
|
|
<Image
|
|
source={{
|
|
uri: this.props.url,
|
|
}}
|
|
style={{ flex: 1 }}
|
|
/>
|
|
</View>
|
|
</View>
|
|
</Window>
|
|
</App>
|
|
);
|
|
}
|
|
}
|
|
|
|
function mapStateToProps(state, props) {
|
|
return {
|
|
url: state.url,
|
|
id: state.id,
|
|
size: state.size,
|
|
type: state.type,
|
|
};
|
|
}
|
|
|
|
function mapDispatchToProps(dispatch) {
|
|
return bindActionCreators(Actions, dispatch);
|
|
}
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(Main);
|