diff --git a/.gitignore b/.gitignore index d30f40ef4422ff27041df9dba83e4bd26849dc48..84806a24c5350454585cf6aaac51435f8e44ece8 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +/public/images diff --git a/package-lock.json b/package-lock.json index e773c0cfddafea0c40a3b2cee65dec5d71c51cb0..c9ea83fb4d55e2024a44fbd3c8c069907362590c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -977,6 +977,28 @@ "babel-types": "6.26.0" } }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, "babel-preset-env": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", @@ -1475,6 +1497,11 @@ } } }, + "can-use-dom": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", + "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=" + }, "caniuse-api": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", @@ -1920,6 +1947,16 @@ "sha.js": "2.4.10" } }, + "create-react-class": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -2547,6 +2584,11 @@ "tapable": "0.2.8" } }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" + }, "entities": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", @@ -5708,6 +5750,14 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "requires": { + "string-convert": "0.2.1" + } + }, "json3": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", @@ -6435,6 +6485,69 @@ "mimic-fn": "1.1.0" } }, + "opencollective": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", + "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", + "requires": { + "babel-polyfill": "6.23.0", + "chalk": "1.1.3", + "inquirer": "3.0.6", + "minimist": "1.2.0", + "node-fetch": "1.6.3", + "opn": "4.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "inquirer": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.4", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "2.1.1", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "node-fetch": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", + "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + } + } + }, "opn": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", @@ -8406,6 +8519,20 @@ } } }, + "react-slick": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.17.1.tgz", + "integrity": "sha512-ffrbR8bSefalLCsaynPouS11cp+AO99aUxQiUYTKSJIY7fkqqSfYq/2bJMW3D1p6ejQdpzf9sQHIbgG9xbzNhg==", + "requires": { + "can-use-dom": "0.1.0", + "classnames": "2.2.5", + "create-react-class": "15.6.3", + "enquire.js": "2.1.6", + "json2mq": "0.2.0", + "object-assign": "4.1.1", + "opencollective": "1.0.3" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -8823,6 +8950,11 @@ "is-promise": "2.1.0" } }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -9244,6 +9376,11 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", diff --git a/package.json b/package.json index fd20ffca386a62ceff26afbd4f5bdd0ab088859b..73171f64ab5fa4cc2820664f965ded5ea8720e04 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "react-redux": "^5.0.6", "react-router-dom": "^4.2.2", "react-scripts": "1.1.0", + "react-slick": "^0.17.1", "redux": "^3.7.2", "redux-logger": "^3.0.6", "redux-thunk": "^2.2.0", diff --git a/public/index.html b/public/index.html index 7bee027101ebc858da5cdcf909733043fcd64f86..49f2db511474971fe5558bdec1d5b6a565b7ccde 100644 --- a/public/index.html +++ b/public/index.html @@ -3,6 +3,8 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <link rel="stylesheet" type="text/css" charset="UTF-8" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css" /> + <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.min.css" /> <meta name="theme-color" content="#000000"> <!-- manifest.json provides metadata used when your web app is added to the diff --git a/src/components/pages/Home.css b/src/components/pages/Home.css new file mode 100644 index 0000000000000000000000000000000000000000..7a16b0742de8a802d4910f974a94257fffa90352 --- /dev/null +++ b/src/components/pages/Home.css @@ -0,0 +1,12 @@ +.car-image-kszk { + position: relative; + width: 100%; /* for IE 6 */ + /* height: 1000px; */ +} + +.car-text-kszk { + position: absolute; + left: 0; + width: 100%; + top: 0; +} diff --git a/src/components/pages/Home.js b/src/components/pages/Home.js index 087234db9ba7d3c55bc12c43c544c0afad75ff08..8f129200d4210391f0772c6e564357abe5cd343c 100644 --- a/src/components/pages/Home.js +++ b/src/components/pages/Home.js @@ -1,4 +1,4 @@ -import React, { Component } from "react"; +import React, { Component } from 'react'; import { Button, Container, @@ -6,87 +6,127 @@ import { Icon, Segment, Image, - Divider -} from "semantic-ui-react"; -import KSZKbiglogo from "../images/kszk_big_logo.png"; + Divider, +} from 'semantic-ui-react'; +import Slider from 'react-slick'; +import './Home.css'; +import KSZKbiglogo from '../images/kszk_big_logo.png'; + +const settings = { + dots: false, + autoplay: true, + arrows: false, + infinite: true, + speed: 2000, + autoplaySpeed: 4000, + slidesToShow: 1, + slidesToScroll: 1, + centerMode: true, +}; + +const range = (count) => { + const newArray = []; + for (let i = 1; i < count; i += 1) { + newArray.push(i); + } + + return newArray; +}; + +const RegisterHeader = ({ image }) => ( + <div className='car-image-kszk'> + <img src={`images/${image}.JPG`} width='100%' alt='' /> + <div className='car-text-kszk'> + <Segment textAlign='center' vertical> + <Header + as='h1' + content='ĂdvĂśzlĂźnk a' + inverted + style={{ + fontSize: '3em', + fontWeight: 'normal', + marginBottom: 0, + marginTop: '0.5em', + }} + /> + <Header + as='h1' + content='KollĂŠgiumi SzĂĄmĂtĂĄstechnikai KĂśr' + inverted + style={{ + fontSize: '4em', + fontWeight: 'bold', + marginBottom: '0.5em', + marginTop: '0.5em', + }} + /> + <Header + as='h1' + content='ĂŠrdeklĹdĹinek szĂĄnt weboldalĂĄn!' + inverted + style={{ + fontSize: '3em', + fontWeight: 'normal', + marginBottom: 0, + marginTop: '0.5em', + }} + /> + <Image + verticalAlign='middle' + size='small' + src={KSZKbiglogo} + style={{ marginTop: '4em' }} + /> + <Header + as='h1' + content='Mindenkit szeretettel vĂĄrunk a KSZKĂŠpzĂŠs-re!' + inverted + style={{ + fontSize: '3em', + fontWeight: 'normal', + marginBottom: 0, + marginTop: '1em', + }} + /> + <Container> + <Button + href='/api/v1/login/authsch/' + primary + size='huge' + style={{ + fontSize: '2em', + marginTop: '1em', + marginBottom: '1em', + }} + > + JelentkezĂŠs + <Icon name='right arrow' /> + </Button> + </Container> + </Segment> + </div> + </div> +); export default class Home extends Component { render() { return ( <div> - <Segment inverted textAlign="center" vertical> - <Header - as="h1" - content="ĂdvĂśzlĂźnk a" - inverted - style={{ - fontSize: "3em", - fontWeight: "normal", - marginBottom: 0, - marginTop: "0.5em" - }} - /> - <Header - as="h1" - content="KollĂŠgiumi SzĂĄmĂtĂĄstechnikai KĂśr" - inverted - style={{ - fontSize: "4em", - fontWeight: "bold", - marginBottom: "0.5em", - marginTop: "0.5em" - }} - /> - <Header - as="h1" - content="ĂŠrdeklĹdĹinek szĂĄnt weboldalĂĄn!" - inverted - style={{ - fontSize: "3em", - fontWeight: "normal", - marginBottom: 0, - marginTop: "0.5em" - }} - /> - <Image - verticalAlign="middle" - size="small" - src={KSZKbiglogo} - style={{ marginTop: "4em" }} - /> - <Header - as="h1" - content="Mindenkit szeretettel vĂĄrunk a KSZKĂŠpzĂŠs-re!" - inverted - style={{ - fontSize: "3em", - fontWeight: "normal", - marginBottom: 0, - marginTop: "1em" - }} - /> - <Container> - <Button - href="/api/v1/login/authsch/" - primary - size="huge" - style={{ - fontSize: "2em", - marginTop: "1em", - marginBottom: "1em" - }} - > - JelentkezĂŠs - <Icon name="right arrow" /> - </Button> - </Container> - </Segment> - <Segment style={{ padding: "8em 0em" }} vertical> + <Slider {...settings}> + { + range(23).map(image => ( + <div key={image}> + <RegisterHeader image={image} /> + </div> + )) + } + </Slider> + <Segment style={{ padding: '8em 0em' }} vertical> <Container text> - <Header as="h3" style={{ fontSize: "2em" }}> + <Header as='h3' style={{ fontSize: '2em' }}> Kik is vagyunk mi? </Header> - <p style={{ fontSize: "1.33em" }}> + <p style={{ fontSize: '1.33em' }}> A KolleĚgiumi SzaĚmiĚtaĚstechnikai KoĚr az Egyetem legreĚgebben muĚkoĚdoĚ eĚs legnagyobb aktiĚv, informatikaĚval foglalkozoĚ oĚnteveĚkeny csoportosulaĚsa, tavaly uĚnnepeltuĚk 40. szuĚleteĚsnapunkat. A patinaĚs @@ -95,14 +135,14 @@ export default class Home extends Component { tagjaiboĚl verbuvaĚloĚdott, eĚs boĚvuĚl eĚvente uĚj tehetseĚgekkel, lelkes informatikusokkal, villamosmeĚrnoĚkoĚkkel. </p> - <Button size="large" href="/circles"> - Ismerd meg a kĂśreinket! <Icon name="right arrow" /> + <Button size='large' href='/circles'> + Ismerd meg a kĂśreinket! <Icon name='right arrow' /> </Button> - <Divider as="h4" className="header" style={{ margin: "3em 0em" }} /> - <Header as="h3" style={{ fontSize: "2em" }}> + <Divider as='h4' className='header' style={{ margin: '3em 0em' }} /> + <Header as='h3' style={{ fontSize: '2em' }}> LehetĹsĂŠgek </Header> - <p style={{ fontSize: "1.33em" }}> + <p style={{ fontSize: '1.33em' }}> A KSZK a lehetoĚseĚgek taĚrhaĚza, a hely ahol Te â leendoĚ meĚrnoĚk â minden teruĚleten kiproĚbaĚlhatod, tovaĚbbkeĚpezheted magad. NaĚlunk kibontakoztathatod kreativitaĚsod, tapasztalatot, meĚrnoĚki @@ -112,11 +152,11 @@ export default class Home extends Component { keruĚlteĚl. A reszort koĚrei a szakma egy-egy meghataĚrozoĚ teruĚleteĚvel foglalkoznak a fejleszteĚs eĚs uĚzemelteteĚs teruĚleteĚn. </p> - <Divider as="h4" className="header" style={{ margin: "3em 0em" }} /> - <Header as="h3" style={{ fontSize: "2em" }}> + <Divider as='h4' className='header' style={{ margin: '3em 0em' }} /> + <Header as='h3' style={{ fontSize: '2em' }}> KeĚpzeĚsuĚnk </Header> - <p style={{ fontSize: "1.33em" }}> + <p style={{ fontSize: '1.33em' }}> Kilenc alkalmas keĚpzeĚsuĚnk veĚgeĚn Te is igazi KSZK-ssaĚ vaĚlhatsz, hiszen rengeteg szakmai tudaĚst igyekszuĚnk aĚtadni nektek. A keĚpzeĚsalkalmak rendkiĚvuĚl joĚ hangulatban telnek, eĚs a szociaĚlis diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 0000000000000000000000000000000000000000..b44e78ee7a2b82f87e445a26490b59fb8fcacfaf --- /dev/null +++ b/src/routes.js @@ -0,0 +1,35 @@ +import { withRouter } from 'react-router-dom'; + +export const publicRoutes = [ + { + path: '/login', + component: Login, + }, + { + path: '/register', + component: Register, + }, + { + path: '/home', + }, + { + path: '/news', + }, + { + path: '/', + }, + { + component: NotFound, + }, +]; + +export const privateRoutes = [ + { + path: '/home', + component: withRouter(Home), + }, + { + path: '/store/details', + component: withRouter(Detail), + }, +]