You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Translation/src/index.tsx

64 lines
1.4 KiB

import {
Renderer,
View,
Text,
Button,
Window,
Image,
useEventHandler
5 years ago
} from "@nodegui/react-nodegui";
5 years ago
import path from "path";
import React, { useState } from "react";
import { AspectRatioMode, QPushButtonEvents } from "@nodegui/nodegui";
import imageUrl from "../assets/sample.jpg";
5 years ago
const distImgUrl = path.resolve(__dirname, imageUrl);
const fixedSize = { width: 500, height: 500 };
const App = () => {
5 years ago
const [time, setTime] = useState(new Date());
const btnHandler = useEventHandler(
{ [QPushButtonEvents.clicked]: () => setTime(new Date()) },
[]
);
return (
<Window minSize={fixedSize} maxSize={fixedSize} styleSheet={styleSheet}>
<View id="container">
<Button text="Update Time" on={btnHandler} />
5 years ago
<Text id="result">{`${time}`}</Text>
<Text id="result">{`Time in epoc: ${time.getTime()}`}</Text>
<Image
style={imageStyle}
5 years ago
src={distImgUrl}
aspectRatioMode={AspectRatioMode.KeepAspectRatio}
/>
</View>
</Window>
);
};
const imageStyle = `
height: "70%";
`;
const styleSheet = `
#container {
flex: 1;
flex-direction: column;
min-height: '100%';
align-items: 'center';
justify-content: 'center';
background-color: black;
}
#opBtn {
font-size: 20px;
}
#result {
font-size: 12px;
flex: 1;
color: cyan;
}
`;
Renderer.render(<App />);