merge
25
highneed/events/highneed_react/.gitignore
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
.vs/*
|
70
highneed/events/highneed_react/README.md
Normal file
@ -0,0 +1,70 @@
|
||||
# Getting Started with Create React App
|
||||
|
||||
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
|
||||
|
||||
## Available Scripts
|
||||
|
||||
In the project directory, you can run:
|
||||
|
||||
### `npm start`
|
||||
|
||||
Runs the app in the development mode.\
|
||||
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
||||
|
||||
The page will reload if you make edits.\
|
||||
You will also see any lint errors in the console.
|
||||
|
||||
### `npm test`
|
||||
|
||||
Launches the test runner in the interactive watch mode.\
|
||||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
|
||||
|
||||
### `npm run build`
|
||||
|
||||
Builds the app for production to the `build` folder.\
|
||||
It correctly bundles React in production mode and optimizes the build for the best performance.
|
||||
|
||||
The build is minified and the filenames include the hashes.\
|
||||
Your app is ready to be deployed!
|
||||
|
||||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
|
||||
|
||||
### `npm run eject`
|
||||
|
||||
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
|
||||
|
||||
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
||||
|
||||
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
|
||||
|
||||
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
|
||||
|
||||
## Learn More
|
||||
|
||||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
|
||||
|
||||
To learn React, check out the [React documentation](https://reactjs.org/).
|
||||
|
||||
### Code Splitting
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
|
||||
|
||||
### Analyzing the Bundle Size
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
|
||||
|
||||
### Making a Progressive Web App
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
|
||||
|
||||
### Deployment
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
|
||||
|
||||
### `npm run build` fails to minify
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
|
36617
highneed/events/highneed_react/package-lock.json
generated
Normal file
44
highneed/events/highneed_react/package.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "highneed",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@testing-library/jest-dom": "^5.12.0",
|
||||
"@testing-library/react": "^11.2.6",
|
||||
"@testing-library/user-event": "^12.8.3",
|
||||
"bootstrap": "^5.0.1",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-responsive-image": "^5.0.0",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"react-scripts": "4.0.3",
|
||||
"web-vitals": "^1.1.2"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"react-app",
|
||||
"react-app/jest"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"html-loader": "^2.1.2"
|
||||
}
|
||||
}
|
BIN
highneed/events/highneed_react/public/favicon.ico
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
highneed/events/highneed_react/public/images/img-1.jpg
Normal file
After Width: | Height: | Size: 914 KiB |
BIN
highneed/events/highneed_react/public/images/img-2.jpg
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
highneed/events/highneed_react/public/images/img-article-m.jpg
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
highneed/events/highneed_react/public/images/img-article-s.jpg
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
highneed/events/highneed_react/public/images/img-article.jpg
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
highneed/events/highneed_react/public/images/img-article2-m.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
highneed/events/highneed_react/public/images/img-article2-s.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
highneed/events/highneed_react/public/images/img-article2.jpg
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
highneed/events/highneed_react/public/images/img-map-m.png
Normal file
After Width: | Height: | Size: 398 KiB |
BIN
highneed/events/highneed_react/public/images/img-map-s.png
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
highneed/events/highneed_react/public/images/img-map.png
Normal file
After Width: | Height: | Size: 1019 KiB |
43
highneed/events/highneed_react/public/index.html
Normal file
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Web site created using create-react-app"
|
||||
/>
|
||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is installed on a
|
||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||
-->
|
||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||
|
||||
<script src="https://kit.fontawesome.com/193dc25cf1.js" crossorigin="anonymous"></script>
|
||||
<!--
|
||||
Notice the use of %PUBLIC_URL% in the tags above.
|
||||
It will be replaced with the URL of the `public` folder during the build.
|
||||
Only files inside the `public` folder can be referenced from the HTML.
|
||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||
work correctly both with client-side routing and a non-root public URL.
|
||||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
<title>React App</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
BIN
highneed/events/highneed_react/public/logo192.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
highneed/events/highneed_react/public/logo512.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
25
highneed/events/highneed_react/public/manifest.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
3
highneed/events/highneed_react/public/robots.txt
Normal file
@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
11
highneed/events/highneed_react/src/App.css
Normal file
@ -0,0 +1,11 @@
|
||||
body {
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: content-box;
|
||||
margin: 0;
|
||||
|
||||
padding: 0;
|
||||
font-family: 'Verdana', Arial;
|
||||
}
|
||||
|
30
highneed/events/highneed_react/src/App.js
Normal file
@ -0,0 +1,30 @@
|
||||
import React from 'react';
|
||||
import './App.css';
|
||||
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
|
||||
|
||||
import NavBar from './components/NavBar';
|
||||
import Home from './Pages/Home';
|
||||
import Login from './Pages/Login';
|
||||
import SearchEvent from './Pages/SearchEvent';
|
||||
import Calendar from './Pages/Calendar';
|
||||
import FBfanpage from './Pages/FBfanpage';
|
||||
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<>
|
||||
<Router>
|
||||
<NavBar />
|
||||
<Switch>
|
||||
<Route path='/' exact component={Home} />
|
||||
<Route path='/login' exact component={Login} />
|
||||
<Route path='/search-events' exact component={SearchEvent} />
|
||||
<Route path='/calendar' exact component={Calendar} />
|
||||
<Route path='/fanpage' exact component={FBfanpage} />
|
||||
</Switch>
|
||||
</Router>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
12
highneed/events/highneed_react/src/Pages/Calendar.js
Normal file
@ -0,0 +1,12 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
|
||||
function Calendar() {
|
||||
return (
|
||||
<>
|
||||
Calendar
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Calendar;
|
12
highneed/events/highneed_react/src/Pages/FBfanpage.js
Normal file
@ -0,0 +1,12 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
|
||||
function FBfanpage() {
|
||||
return (
|
||||
<>
|
||||
FB fanpage
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default FBfanpage;
|
62
highneed/events/highneed_react/src/Pages/Home-responsive.css
Normal file
@ -0,0 +1,62 @@
|
||||
@media screen and (max-width: 416px) {
|
||||
.article-container {
|
||||
padding: 3% 1%;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.article2-container {
|
||||
padding: 3% 1%;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.article4-container {
|
||||
padding: 3% 1%;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.article-img {
|
||||
margin-bottom: 1%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.search-components {
|
||||
width: 170px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-width: 801px) {
|
||||
.article-container {
|
||||
padding-top:1.5%;
|
||||
padding-bottom:1.5%;
|
||||
}
|
||||
|
||||
.article2-container {
|
||||
padding-top: 1.5%;
|
||||
padding-bottom: 1.5%;
|
||||
}
|
||||
|
||||
.article4-container {
|
||||
padding-top: 1.5%;
|
||||
padding-bottom: 1.5%;
|
||||
}
|
||||
|
||||
h1{
|
||||
font-size:22px;
|
||||
}
|
||||
|
||||
p{
|
||||
font-size:17px;
|
||||
max-width: 700px;
|
||||
}
|
||||
|
||||
|
||||
}
|
114
highneed/events/highneed_react/src/Pages/Home.css
Normal file
@ -0,0 +1,114 @@
|
||||
.homepage {
|
||||
}
|
||||
|
||||
.sport-list {
|
||||
padding: 1% 1%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
background-color: #F0FAF3;
|
||||
}
|
||||
|
||||
.categories{
|
||||
margin: 0.5%;
|
||||
min-width:15%;
|
||||
}
|
||||
|
||||
.article-container {
|
||||
padding: 2.5% 1%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.article2-container {
|
||||
padding: 2.5% 1%;
|
||||
background-color: #F0FAF3;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.article4-container {
|
||||
padding: 2.5% 1%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.article-text {
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.article2-text {
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.article4-text {
|
||||
height: 300px;
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
}
|
||||
|
||||
|
||||
.article-img {
|
||||
display:flex;
|
||||
border-radius: 5%;
|
||||
overflow: clip;
|
||||
margin-left: 1%;
|
||||
margin-right: 1%;
|
||||
}
|
||||
|
||||
.article-img2 {
|
||||
border-radius: 50%;
|
||||
overflow: clip;
|
||||
margin-left: 1%;
|
||||
margin-right: 1%;
|
||||
}
|
||||
|
||||
.article-img3 {
|
||||
max-height:500px;
|
||||
overflow:clip;
|
||||
}
|
||||
|
||||
h1 {
|
||||
padding-bottom: 8px;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
color: #347945;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.searching {
|
||||
padding-top: 10%;
|
||||
}
|
||||
|
||||
.search-components {
|
||||
width: 205px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.button-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
157
highneed/events/highneed_react/src/Pages/Home.js
Normal file
@ -0,0 +1,157 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { ResponsiveImage, ResponsiveImageSize } from 'react-responsive-image';
|
||||
import './Home.css'
|
||||
import './Home-responsive.css'
|
||||
import BottomBar from '../components/BottomBar';
|
||||
|
||||
const small = '/images/img-article-s.jpg';
|
||||
const medium = '/images/img-article-m.jpg';
|
||||
const large = '/images/img-article.jpg';
|
||||
|
||||
const small_2 = '/images/img-article2-s.jpg';
|
||||
const medium_2 = '/images/img-article2-m.jpg';
|
||||
const large_2 = '/images/img-article2.jpg';
|
||||
|
||||
const small_3 = '/images/img-map-s.png';
|
||||
const medium_3 = '/images/img-map-m.png';
|
||||
const large_3 = '/images/img-map.png';
|
||||
|
||||
|
||||
function Home() {
|
||||
return (
|
||||
<>
|
||||
<div className='homepage'>
|
||||
<div className='sport-list'>
|
||||
|
||||
<button className='button categories'>
|
||||
<div className='categories'>
|
||||
Sport
|
||||
</div>
|
||||
</button>
|
||||
<button className='button categories'>
|
||||
<div className='categories'>
|
||||
Plastyka
|
||||
</div>
|
||||
</button>
|
||||
<button className='button categories'>
|
||||
<div className='categories'>
|
||||
Muzyka
|
||||
</div>
|
||||
</button>
|
||||
<button className='button categories'>
|
||||
<div className='text'>
|
||||
Taniec
|
||||
</div>
|
||||
</button>
|
||||
<button className='button categories'>
|
||||
<div className='search-text'>
|
||||
Edukacja
|
||||
</div>
|
||||
</button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className='article-container'>
|
||||
<div className='article-img'>
|
||||
<ResponsiveImage>
|
||||
<ResponsiveImageSize
|
||||
minWidth={0}
|
||||
path={small}
|
||||
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={416}
|
||||
path={medium}
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={801}
|
||||
path={large}
|
||||
/>
|
||||
</ResponsiveImage>
|
||||
</div>
|
||||
|
||||
<div className='article-text'>
|
||||
<h1>Witamy na stronie HighNeed</h1>
|
||||
<p>HighNeed.pl jest portalem do planowania aktywności dla rodzin z dziećmi w Poznaniu.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class='line'></div>
|
||||
|
||||
<div className='article2-container'>
|
||||
<div className='article2-text'>
|
||||
<h1>Wyszukiwanie wydarzeń w Twojej okolicy</h1>
|
||||
<p>Znajdź grupy i wydarzenia na terenie Poznania, dzięki którym Twoje dziecko rozwinie swoje zainteresowania oraz zawrze nowe znajomości. </p>
|
||||
|
||||
<Link className='center searching' to={'/search-events'}>
|
||||
<button className='button'>
|
||||
<div className='search-components'>
|
||||
<div className='search button-icon'>
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.9325 15.7562C18.969 13.1408 18.785 9.35694 16.3807 6.95262C13.7772 4.34913 9.55612 4.34913 6.95262 6.95262C4.34913 9.55612 4.34913 13.7772 6.95262 16.3807C9.35694 18.785 13.1408 18.969 15.7562 16.9325C15.7675 16.9453 15.7793 16.9578 15.7915 16.97L19.327 20.5055C19.6524 20.8309 20.1801 20.8309 20.5055 20.5055C20.8309 20.1801 20.8309 19.6524 20.5055 19.327L16.97 15.7915C16.9578 15.7793 16.9453 15.7675 16.9325 15.7562ZM15.2022 8.13113C17.1548 10.0838 17.1548 13.2496 15.2022 15.2022C13.2496 17.1548 10.0838 17.1548 8.13113 15.2022C6.17851 13.2496 6.17851 10.0838 8.13113 8.13113C10.0838 6.17851 13.2496 6.17851 15.2022 8.13113Z" fill="white" />
|
||||
</svg>
|
||||
</div>
|
||||
<div className='search-text'>
|
||||
Wyszukaj wydarzenia
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div className='article-img2'>
|
||||
<ResponsiveImage>
|
||||
<ResponsiveImageSize
|
||||
minWidth={0}
|
||||
path={small_2}
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={416}
|
||||
path={medium_2}
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={801}
|
||||
path={large_2}
|
||||
/>
|
||||
</ResponsiveImage>
|
||||
</div>
|
||||
</div>
|
||||
<div class='line'></div>
|
||||
|
||||
<div className='article3-container'>
|
||||
<div className='article-img3'>
|
||||
<ResponsiveImage>
|
||||
<ResponsiveImageSize
|
||||
minWidth={0}
|
||||
path={small_3}
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={416}
|
||||
path={medium_3}
|
||||
/>
|
||||
<ResponsiveImageSize
|
||||
minWidth={801}
|
||||
path={large_3}
|
||||
/>
|
||||
</ResponsiveImage>
|
||||
</div>
|
||||
</div>
|
||||
<div class='line'></div>
|
||||
|
||||
<div className='article4-container'>
|
||||
<div className='article4-text'>
|
||||
<h1>Nadchodzące wydarzenia</h1>
|
||||
|
||||
<p>* Będzie po połączeniu zaimportowanych wydarzeń *</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class='line'></div>
|
||||
|
||||
<BottomBar />
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Home;
|
58
highneed/events/highneed_react/src/Pages/Login.css
Normal file
@ -0,0 +1,58 @@
|
||||
.signup {
|
||||
padding-top:5%;
|
||||
}
|
||||
|
||||
.login-container {
|
||||
background-color: #F0FAF3;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
h3 {
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
padding: 5%;
|
||||
font-size: 40px;
|
||||
color: #347945;
|
||||
}
|
||||
|
||||
.login{
|
||||
}
|
||||
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.input-container{
|
||||
padding: 5% 5%
|
||||
}
|
||||
|
||||
|
||||
input {
|
||||
border-color: #347945;
|
||||
border-radius: 5px;
|
||||
|
||||
height:20px;
|
||||
width: 100%;
|
||||
|
||||
padding:1% 0%;
|
||||
margin:2% 0%;
|
||||
}
|
||||
|
||||
.login-bottom {
|
||||
padding: 5% 5%;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.text-button{
|
||||
margin: 5% 5%;
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
justify-content:center;
|
||||
}
|
46
highneed/events/highneed_react/src/Pages/Login.js
Normal file
@ -0,0 +1,46 @@
|
||||
import React from 'react'
|
||||
import './Login.css'
|
||||
|
||||
function Login() {
|
||||
return (
|
||||
<div className='signup' >
|
||||
|
||||
<div className='login-container'>
|
||||
<div class='line'></div>
|
||||
<form>
|
||||
<h3>Logowanie</h3>
|
||||
<div className='input-container'>
|
||||
<p>E-mail:</p>
|
||||
<input type='tekst' />
|
||||
|
||||
<p>Has³o:</p>
|
||||
<input type='tekst' />
|
||||
|
||||
<button className='button login'>
|
||||
Zaloguj sie
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className='login-bottom'>
|
||||
<div className='text-button'>
|
||||
<p>Pierwszy raz na stronie?</p>
|
||||
|
||||
<button className='button register'>
|
||||
Zarejestruj siê
|
||||
</button>
|
||||
</div>
|
||||
<div className='text-button'>
|
||||
<p>Nie pamiêtasz has³a?</p>
|
||||
<button className='button reset'>
|
||||
Zresetuj has³o
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<div class='line'></div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
export default Login;
|
13
highneed/events/highneed_react/src/Pages/SearchEvent.js
Normal file
@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
import Events from '../components/Events';
|
||||
|
||||
function SearchEvent() {
|
||||
return (
|
||||
<>
|
||||
<Events/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default SearchEvent;
|
53
highneed/events/highneed_react/src/components/BottomBar.css
Normal file
@ -0,0 +1,53 @@
|
||||
.bottom-bar {
|
||||
background-color: #64BE7B;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0.5% 1%;
|
||||
}
|
||||
|
||||
.contact-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.contact {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.contact:hover {
|
||||
color: #347945;
|
||||
}
|
||||
|
||||
.contact-text {
|
||||
height: 22px;
|
||||
font-size: 16px;
|
||||
text-decoration: underline;
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
padding-bottom: 0.5%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 416px) {
|
||||
h2 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.contact-text {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.contact-icon {
|
||||
scale: 90%;
|
||||
}
|
||||
}
|
41
highneed/events/highneed_react/src/components/BottomBar.js
Normal file
@ -0,0 +1,41 @@
|
||||
import React from 'react'
|
||||
import { Link } from 'react-router-dom';
|
||||
import './BottomBar.css';
|
||||
|
||||
function BottomBar() {
|
||||
return (
|
||||
<div className='bottom-bar'>
|
||||
<div className='contact-info'>
|
||||
<h2 center>Kontakt:</h2>
|
||||
|
||||
<div className='contact-container'>
|
||||
<div className='contact-icon'>
|
||||
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="2.19995" y="2.26282" width="17.6" height="13.5771" fill="white" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.011941 1.22869C0.011941 0.550109 0.559142 0 1.23416 0H20.7778C21.4528 0 22 0.550109 22 1.22869V15.1426C22 16.4998 20.9056 17.6 19.5556 17.6H2.44444C1.09441 17.6 0 16.4998 0 15.1426V1.62705C0 1.56854 0.0040699 1.51099 0.011941 1.45466V1.22869ZM2.44444 3.961V15.1426H19.5556V3.96142L13.5929 9.95559C12.161 11.3951 9.83938 11.3951 8.40748 9.95559L2.44444 3.961ZM4.36617 2.41763H17.6342L11.8645 8.21798C11.3872 8.69778 10.6133 8.69778 10.136 8.21798L4.36617 2.41763Z" fill="#FF0000" />
|
||||
</svg>
|
||||
</div>
|
||||
<div className='contact-text'>
|
||||
<p2>testowymail@mail.com</p2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Link className='contact' to={'/fanpage'}>
|
||||
<div className='contact-container'>
|
||||
<div className='contact-icon'>
|
||||
<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22 11.3492C22 5.08071 17.0756 0 11 0C4.92438 0 0 5.08071 0 11.3492C0 17.0145 4.02027 21.7096 9.28219 22.5616V14.6327H6.49151V11.3492H9.28219V8.84927C9.28219 6.00731 10.9216 4.43396 13.4351 4.43396C14.6405 4.43396 15.9003 4.65784 15.9003 4.65784V7.45005H14.514C13.1458 7.45005 12.7238 8.3269 12.7238 9.2224V11.3492H15.7737L15.2855 14.6327H12.7238V22.5616C17.9797 21.7096 22 17.0145 22 11.3492Z" fill="#1877F2" />
|
||||
<path d="M15.2794 14.6327L15.7677 11.3492H12.7178V9.22239C12.7178 8.32689 13.1457 7.45005 14.5079 7.45005H15.8942V4.65783C15.8942 4.65783 14.6345 4.43396 13.429 4.43396C10.9156 4.43396 9.27616 6.0073 9.27616 8.84927V11.3492H6.48547V14.6327H9.27616V22.5616C9.83671 22.6549 10.4093 22.6984 10.994 22.6984C11.5786 22.6984 12.1512 22.6487 12.7118 22.5616V14.6327H15.2794Z" fill="white" />
|
||||
</svg>
|
||||
</div>
|
||||
<div className='contact-text'>
|
||||
<p2>Facebook fanpage</p2>
|
||||
</div>
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
export default BottomBar;
|
41
highneed/events/highneed_react/src/components/EventItem.js
Normal file
@ -0,0 +1,41 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
|
||||
function EventItem(props) {
|
||||
return (
|
||||
<>
|
||||
<li className='events__item'>
|
||||
<Link className='events__item__img__link' to={props.path}>
|
||||
<img
|
||||
className='events__item__img'
|
||||
alt='Event Image'
|
||||
width='200px'
|
||||
height='200px'
|
||||
src={props.src}
|
||||
/>
|
||||
|
||||
</Link>
|
||||
<div className='events__item__info'>
|
||||
<h5 className='events__item__data'>{props.data}</h5>
|
||||
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<h4 className='events__item__title'>{props.title}</h4>
|
||||
</Link>
|
||||
<h5 className='events__item__category'>{props.category}</h5>
|
||||
<h5 className='events__item__age'>{props.age}</h5>
|
||||
<h5 className='events__item__address'>{props.address}</h5>
|
||||
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<button className='button button-details'>Szczegóły</button>
|
||||
</Link>
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<button className='button button-add'>Dodaj do listy</button>
|
||||
</Link>
|
||||
</div>
|
||||
</li>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default EventItem;
|
154
highneed/events/highneed_react/src/components/Events.css
Normal file
@ -0,0 +1,154 @@
|
||||
.events
|
||||
{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.events__container
|
||||
{
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
.events__items
|
||||
{
|
||||
display: block;
|
||||
|
||||
}
|
||||
|
||||
.events__item__img
|
||||
{
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
|
||||
.events__item__info
|
||||
{
|
||||
padding: 20px 30px 30px;
|
||||
width: 80%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.events__item__img__link
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: #64BE7B; /* Green */
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 8px 16px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
border-radius: 40px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button:hover {background-color: #347945}
|
||||
|
||||
/*.events {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.events__container {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
align-items: center;
|
||||
max-width: 2120px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.events__wrapper {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
margin: 50px 0 45px;
|
||||
}
|
||||
|
||||
.events__items {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.events__item {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
margin: 0 1rem;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.events__item__link {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
box-shadow: 0 6px 20px rgba(56, 125, 255, 0.17);
|
||||
-webkit-filter: drop-shadow(0 6px 20px rgba(56, 125, 255, 0.017));
|
||||
filter: drop-shadow(0 6px 20px rgba(56, 125, 255, 0.017));
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.events__item__pic-wrap {
|
||||
position: relative;
|
||||
width: 50%;
|
||||
padding-top: 27%; wysokość karty
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fade-img {
|
||||
animation-name: fade-img;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
.events__item__pic-wrap::after {
|
||||
content: attr(data-category);
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
margin-left: 10px;
|
||||
padding: 6px 8px;
|
||||
max-width: calc((100%) - 60px);
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
background-color: #1f98f4;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.events__item__img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 90%;
|
||||
max-width: 100%;
|
||||
height: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: cover;
|
||||
transition: all 0.2s linear;
|
||||
}
|
||||
|
||||
.events__item__img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.events__item__info {
|
||||
padding: 20px 30px 30px;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.events__item__text {
|
||||
color: #252e48;
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
*/
|
34
highneed/events/highneed_react/src/components/Events.js
Normal file
@ -0,0 +1,34 @@
|
||||
import React from 'react';
|
||||
import './Events.css';
|
||||
import EventItem from './EventItem';
|
||||
|
||||
function Events() {
|
||||
return (
|
||||
<div className='events'>
|
||||
<div className='events__container'>
|
||||
<ul className='events__items'>
|
||||
<EventItem
|
||||
src='images/img-1.jpg'
|
||||
data='29.07.2020 Piątek, 18:00 - 20:00'
|
||||
title='Współne zabawy na placu zabaw'
|
||||
category='Zabawa'
|
||||
age = '5-7 lat'
|
||||
address = 'Hetmańska 48, Poznań'
|
||||
path='/'
|
||||
/>
|
||||
<EventItem
|
||||
src='images/img-2.jpg'
|
||||
data='29.07.2020 Piątek, 18:00 - 20:00'
|
||||
title='Współne zabawy na placu zabaw'
|
||||
category='Zabawa'
|
||||
age = '5-7 lat'
|
||||
address = 'Hetmańska 48, Poznań'
|
||||
path='/'
|
||||
/>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Events;
|
149
highneed/events/highneed_react/src/components/NavBar.css
Normal file
@ -0,0 +1,149 @@
|
||||
.navbar {
|
||||
}
|
||||
|
||||
.navbar-container {
|
||||
padding: 1% 1%;
|
||||
background-color: #64BE7B;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.line {
|
||||
height: 5px;
|
||||
width: 100%;
|
||||
background-color: #347945;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
position:absolute;
|
||||
left:50%;
|
||||
right:50%;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.logo-h1 {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.logo-h2 {
|
||||
font-weight:normal;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
.icons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
}
|
||||
|
||||
.menu-icon-list {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.menu-icon-cross {
|
||||
position: relative;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
|
||||
.icon-list, .icon-cross {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.sidebar.disable {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-icon-cross .icon-cross {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.menu-icon-list .icon-list {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav-links {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding: 1% 1%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
li:hover {
|
||||
border-radius: 40px;
|
||||
background-color: #F0FAF3;
|
||||
}
|
||||
|
||||
li {
|
||||
display: flex;
|
||||
flex-direction:row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
.sidebar {
|
||||
width: 100%;
|
||||
border-bottom: #347945 2px solid;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.sidebar-icon {
|
||||
padding: 0.5%;
|
||||
display:flex;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.sidebar-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0.5%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 416px) {
|
||||
.logo-h1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.logo-h2{
|
||||
font-size:12px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 801px) {
|
||||
.logo-h1 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.logo-h2 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
}
|
115
highneed/events/highneed_react/src/components/NavBar.js
Normal file
@ -0,0 +1,115 @@
|
||||
import React, { useState } from 'react'
|
||||
import { Link } from 'react-router-dom';
|
||||
import './NavBar.css';
|
||||
|
||||
function NavBar() {
|
||||
const [click, setClick] = useState(false);
|
||||
const handleClick = () => setClick(!click);
|
||||
const closeMobileMenu = () => setClick(false);
|
||||
|
||||
return (
|
||||
<>
|
||||
<nav className='navbar'>
|
||||
<div className='navbar-container'>
|
||||
|
||||
<div className='menu icon-container' onClick={handleClick}>
|
||||
<div className={click ? 'menu-icon-list' : 'menu-icon-cross'}>
|
||||
<svg className='icon-list' width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<line x1="4.28577" y1="7.92859" x2="25.7143" y2="7.92859" stroke="white" stroke-width="3" />
|
||||
<line x1="4.28577" y1="21.6428" x2="25.7143" y2="21.6428" stroke="white" stroke-width="3" />
|
||||
<line x1="4.28577" y1="14.7858" x2="25.7143" y2="14.7858" stroke="white" stroke-width="3" />
|
||||
</svg>
|
||||
|
||||
<svg className='icon-cross' width="30" height="30" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.3 5.70997C17.91 5.31997 17.28 5.31997 16.89 5.70997L12 10.59L7.10997 5.69997C6.71997 5.30997 6.08997 5.30997 5.69997 5.69997C5.30997 6.08997 5.30997 6.71997 5.69997 7.10997L10.59 12L5.69997 16.89C5.30997 17.28 5.30997 17.91 5.69997 18.3C6.08997 18.69 6.71997 18.69 7.10997 18.3L12 13.41L16.89 18.3C17.28 18.69 17.91 18.69 18.3 18.3C18.69 17.91 18.69 17.28 18.3 16.89L13.41 12L18.3 7.10997C18.68 6.72997 18.68 6.08997 18.3 5.70997V5.70997Z" fill="white" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Link className='logo' to='/' onClick={closeMobileMenu}>
|
||||
<div className ='logo-h1'> HighNeed.pl </div>
|
||||
<div className='logo-h2'> Poznań </div>
|
||||
</Link>
|
||||
|
||||
<div className='icons'>
|
||||
|
||||
<Link className='home icons' to='/'>
|
||||
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6061 23.7391V17.4347H17.3886V23.7391C17.3886 24.4326 17.9267 25 18.5843 25H22.1712C22.8288 25 23.3668 24.4326 23.3668 23.7391V14.9129H25.3994C25.9494 14.9129 26.2125 14.1942 25.794 13.816L15.7984 4.32153C15.3441 3.89282 14.6506 3.89282 14.1963 4.32153L4.20069 13.816C3.79417 14.1942 4.04526 14.9129 4.59525 14.9129H6.62785V23.7391C6.62785 24.4326 7.16588 25 7.82349 25H11.4104C12.068 25 12.6061 24.4326 12.6061 23.7391Z" fill="white" />
|
||||
</svg>
|
||||
</Link>
|
||||
|
||||
<Link className='log-in icons' to='/login'>
|
||||
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.6805 8.1121C19.6805 10.4926 17.6606 12.4224 15.1692 12.4224C12.6777 12.4224 10.6579 10.4926 10.6579 8.1121C10.6579 5.73156 12.6777 3.80176 15.1692 3.80176C17.6606 3.80176 19.6805 5.73156 19.6805 8.1121ZM17.4248 8.1121C17.4248 9.30237 16.415 10.2673 15.1692 10.2673C13.9234 10.2673 12.9135 9.30237 12.9135 8.1121C12.9135 6.92183 13.9234 5.95693 15.1692 5.95693C16.415 5.95693 17.4248 6.92183 17.4248 8.1121Z" fill="white" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 24.6724V17.1724C7.5 15.1012 8.93909 13.4224 10.7143 13.4224H19.2857C21.061 13.4224 22.5 15.1012 22.5 17.1724V24.6724H7.5ZM19.2857 15.9224C19.8775 15.9224 20.3571 16.482 20.3571 17.1724V22.3448H9.64286V17.1724C9.64286 16.482 10.1226 15.9224 10.7143 15.9224H19.2857Z" fill="white" />
|
||||
</svg>
|
||||
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div className='line'></div>
|
||||
</nav>
|
||||
|
||||
|
||||
<nav className={click ? 'sidebar' : 'sidebar disable'}>
|
||||
<ul>
|
||||
<li>
|
||||
<div className='sidebar-icon'>
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.4004 6.76005C16.4004 8.74383 14.7172 10.352 12.641 10.352C10.5647 10.352 8.88159 8.74383 8.88159 6.76005C8.88159 4.77626 10.5647 3.16809 12.641 3.16809C14.7172 3.16809 16.4004 4.77626 16.4004 6.76005ZM14.5207 6.76005C14.5207 7.75194 13.6791 8.55602 12.641 8.55602C11.6028 8.55602 10.7613 7.75194 10.7613 6.76005C10.7613 5.76815 11.6028 4.96407 12.641 4.96407C13.6791 4.96407 14.5207 5.76815 14.5207 6.76005Z" fill="black" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.25 20.5604V14.3104C6.25 12.5844 7.44924 11.1854 8.92857 11.1854H16.0714C17.5508 11.1854 18.75 12.5844 18.75 14.3104V20.5604H6.25ZM16.0714 13.2687C16.5646 13.2687 16.9643 13.735 16.9643 14.3104V18.6207H8.03571V14.3104C8.03571 13.735 8.43546 13.2687 8.92857 13.2687H16.0714Z" fill="black" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className='sidebar-text'>
|
||||
|
||||
<Link className='nav-links' to='/login' onClick={closeMobileMenu} >Zaloguj się</Link>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div className='sidebar-icon'>
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.9325 15.7562C18.969 13.1408 18.785 9.35694 16.3807 6.95262C13.7772 4.34913 9.55612 4.34913 6.95262 6.95262C4.34913 9.55612 4.34913 13.7772 6.95262 16.3807C9.35694 18.785 13.1408 18.969 15.7562 16.9325C15.7675 16.9453 15.7793 16.9578 15.7915 16.97L19.327 20.5055C19.6524 20.8309 20.1801 20.8309 20.5055 20.5055C20.8309 20.1801 20.8309 19.6524 20.5055 19.327L16.97 15.7915C16.9578 15.7793 16.9453 15.7675 16.9325 15.7562ZM15.2022 8.13113C17.1548 10.0838 17.1548 13.2496 15.2022 15.2022C13.2496 17.1548 10.0838 17.1548 8.13113 15.2022C6.17851 13.2496 6.17851 10.0838 8.13113 8.13113C10.0838 6.17851 13.2496 6.17851 15.2022 8.13113Z" fill="black" />
|
||||
</svg>
|
||||
</div>
|
||||
<div className='sidebar-text'>
|
||||
<Link className='nav-links' to='/search-events' onClick={closeMobileMenu} >Wyszukaj wydarzenie</Link>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div className='sidebar-icon'>
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16.6667 10.4167H8.33333C7.76042 10.4167 7.29167 10.8854 7.29167 11.4583C7.29167 12.0312 7.76042 12.5 8.33333 12.5H16.6667C17.2396 12.5 17.7083 12.0312 17.7083 11.4583C17.7083 10.8854 17.2396 10.4167 16.6667 10.4167ZM19.7917 3.12499H18.75V2.08332C18.75 1.51041 18.2812 1.04166 17.7083 1.04166C17.1354 1.04166 16.6667 1.51041 16.6667 2.08332V3.12499H8.33333V2.08332C8.33333 1.51041 7.86458 1.04166 7.29167 1.04166C6.71875 1.04166 6.25 1.51041 6.25 2.08332V3.12499H5.20833C4.05208 3.12499 3.125 4.06249 3.125 5.20832V19.7917C3.125 20.9375 4.05208 21.875 5.20833 21.875H19.7917C20.9375 21.875 21.875 20.9375 21.875 19.7917V5.20832C21.875 4.06249 20.9375 3.12499 19.7917 3.12499ZM18.75 19.7917H6.25C5.67708 19.7917 5.20833 19.3229 5.20833 18.75V8.33332H19.7917V18.75C19.7917 19.3229 19.3229 19.7917 18.75 19.7917ZM13.5417 14.5833H8.33333C7.76042 14.5833 7.29167 15.0521 7.29167 15.625C7.29167 16.1979 7.76042 16.6667 8.33333 16.6667H13.5417C14.1146 16.6667 14.5833 16.1979 14.5833 15.625C14.5833 15.0521 14.1146 14.5833 13.5417 14.5833Z" fill="black" fill-opacity="0.8" />
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<div className='sidebar-text'>
|
||||
<Link className='nav-links' to='/calendar' onClick={closeMobileMenu} >Kalendarz</Link>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div className='sidebar-icon'>
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M25 12.5C25 5.59589 19.4041 0 12.5 0C5.59589 0 0 5.59589 0 12.5C0 18.7397 4.56849 23.911 10.5479 24.8493V16.1164H7.37671V12.5H10.5479V9.74658C10.5479 6.61644 12.411 4.88356 15.2671 4.88356C16.637 4.88356 18.0685 5.13014 18.0685 5.13014V8.20548H16.4931C14.9384 8.20548 14.4589 9.17123 14.4589 10.1575V12.5H17.9247L17.3699 16.1164H14.4589V24.8493C20.4315 23.911 25 18.7397 25 12.5Z" fill="#1877F2" />
|
||||
<path d="M17.3631 16.1164L17.9178 12.5H14.4521V10.1575C14.4521 9.17119 14.9384 8.20543 16.4863 8.20543H18.0617V5.13009C18.0617 5.13009 16.6302 4.88351 15.2603 4.88351C12.4041 4.88351 10.5411 6.61639 10.5411 9.74653V12.5H7.3699V16.1164H10.5411V24.8493C11.1781 24.952 11.8288 25 12.4932 25C13.1576 25 13.8083 24.9452 14.4452 24.8493V16.1164H17.3631Z" fill="white" />
|
||||
</svg>
|
||||
</div>
|
||||
<div className='sidebar-text'>
|
||||
<Link className='nav-links' to='/fanpage' onClick={closeMobileMenu} >Facebook fanpage</Link>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default NavBar
|
13
highneed/events/highneed_react/src/index.js
Normal file
@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import App from './App';
|
||||
import { BrowserRouter } from "react-router-dom";
|
||||
|
||||
|
||||
ReactDOM.render(
|
||||
<BrowserRouter>
|
||||
<App />
|
||||
</BrowserRouter>,
|
||||
document.getElementById('root'),
|
||||
);
|
||||
|
@ -61,7 +61,7 @@ ROOT_URLCONF = 'highneed.urls'
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [os.path.join(BASE_DIR, 'templates')],
|
||||
'DIRS': [os.path.join(BASE_DIR, 'events/highneed_react/build'), ],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
@ -143,4 +143,7 @@ ACCOUNT_DEFAULT_HTTP_PROTOCOL = "https"
|
||||
STATIC_URL = '/static/'
|
||||
LOGIN_REDIRECT_URL = 'events'
|
||||
LOGOUT_REDIRECT_URL = 'events'
|
||||
SESSION_COOKIE_SECURE = False
|
||||
SESSION_COOKIE_SECURE = False
|
||||
STATICFILES_DIRS = [
|
||||
os.path.join(BASE_DIR, 'events/highneed_react/build/static'),
|
||||
]
|
@ -19,7 +19,8 @@ from django.views.generic import TemplateView
|
||||
|
||||
urlpatterns = [
|
||||
#path('events/', include('events.urls')),
|
||||
path('events/', TemplateView.as_view(template_name='events/index.html'), name='events'),
|
||||
#path('events/', TemplateView.as_view(template_name='events/index.html'), name='events'),
|
||||
path('events/', TemplateView.as_view(template_name='index.html')),
|
||||
path('admin/', admin.site.urls),
|
||||
path('accounts/', include('allauth.urls')),
|
||||
]
|
||||
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
@ -8,8 +8,7 @@ import Login from './Pages/Login';
|
||||
import SearchEvent from './Pages/SearchEvent';
|
||||
import Calendar from './Pages/Calendar';
|
||||
import FBfanpage from './Pages/FBfanpage';
|
||||
import EventDetails from './Pages/EventDetails';
|
||||
import EventDetails2 from './Pages/EventDetails2';
|
||||
|
||||
|
||||
function App() {
|
||||
return (
|
||||
@ -22,8 +21,6 @@ function App() {
|
||||
<Route path='/search-events' exact component={SearchEvent} />
|
||||
<Route path='/calendar' exact component={Calendar} />
|
||||
<Route path='/fanpage' exact component={FBfanpage} />
|
||||
<Route path='/EventDetails' exact component={EventDetails} />
|
||||
<Route path='/EventDetails2' exact component={EventDetails2} />
|
||||
</Switch>
|
||||
</Router>
|
||||
</>
|
||||
|
@ -1,13 +0,0 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
import StocksDetails from '../components/StocksDetails';
|
||||
|
||||
function EventDetails() {
|
||||
return (
|
||||
<>
|
||||
<StocksDetails/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default EventDetails;
|
@ -1,13 +0,0 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
import StocksDetails2 from '../components/StocksDetails2';
|
||||
|
||||
function EventDetails2() {
|
||||
return (
|
||||
<>
|
||||
<StocksDetails2/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default EventDetails2;
|
@ -1,14 +1,11 @@
|
||||
import React from 'react';
|
||||
import '../App.css';
|
||||
import Events from '../components/Events';
|
||||
import Stocks from '../components/Stocks';
|
||||
import Stocks2 from '../components/Stocks2';
|
||||
|
||||
function SearchEvent() {
|
||||
return (
|
||||
<>
|
||||
<Stocks/>
|
||||
<Stocks2/>
|
||||
<Events/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ function EventItem(props) {
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<h4 className='content events__item__title'>{props.title}</h4>
|
||||
</Link>
|
||||
<<<<<<< HEAD
|
||||
<h5 className='content events__item__category'>{props.category}</h5>
|
||||
<h5 className='content events__item__age'>{props.age}</h5>
|
||||
<h5 className='content events__item__address'>{props.address}</h5>
|
||||
@ -39,6 +40,18 @@ function EventItem(props) {
|
||||
</Link>
|
||||
|
||||
</div>
|
||||
=======
|
||||
<h5 className='events__item__category'>{props.category}</h5>
|
||||
<h5 className='events__item__age'>{props.age}</h5>
|
||||
<h5 className='events__item__address'>{props.address}</h5>
|
||||
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<button className='button button-details'>Szczegóły</button>
|
||||
</Link>
|
||||
<Link className='events__item__link' to={props.path}>
|
||||
<button className='button button-add'>Dodaj do listy</button>
|
||||
</Link>
|
||||
>>>>>>> 26686fee423d80e0080a6a14b61d8f4a759a7540
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
@ -53,11 +53,6 @@ a
|
||||
color: black;
|
||||
}
|
||||
|
||||
.button-container
|
||||
{
|
||||
margin-top: 10px;;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: #64BE7B; /* Green */
|
||||
border: none;
|
||||
|
@ -1,10 +0,0 @@
|
||||
{"startDate": "2021-06-16T22:15:00+0200\"",
|
||||
"name": "Darmowy webinar \"Jak odzwyczai\u0107 dziecko korzystania z urz\u0105dze\u0144 mobilnych?\"\"",
|
||||
"description": "Ju\u017c 16.06.2021 (\u015broda) o godzinie 22:15 wyj\u0105tkowy webinar\n \"Jak odzwyczai\u0107 dziecko korzystania z urz\u0105dze\u0144 mobilnych?\"\n\nPodczas webinaru:\n Dowiedz\u0105 si\u0119 Pa\u0144stwo co zrobi\u0107, gdy dziecko sp\u0119dza sw\u00f3j ca\u0142y wolny czas przed tabletem, telefonem czy komputerem,\n\n Otrzymaj\u0105 Pa\u0144stwo wskaz\u00f3wki jak odzwyczai\u0107 dziecko korzystania z urz\u0105dze\u0144 mobilnych\n\nGo\u015bciem specjalnym b\u0119dzie mgr Sonia Michalik, psycholog, coach, familiolog\n\nSzanowni Pa\u0144stwo\u2757\ufe0f\n\nMusicie by\u0107 z nami \n\nZapisuj\u0105c si\u0119 na webinar - otrzymuj\u0105 Pa\u0144stwo darmowego e-booka !\n\u27a1\ufe0f https://webinar.misjarodzic.com/jak-odzwyczaic-dziecko-korzystania-zurzadzen-mobilnych/\n\nSpotkajmy si\u0119 na BEZP\u0141ATNYM webinarze z cyklu Misja Rodzic TV \u2764\n\nDo zobaczenia ! \"",
|
||||
"organizer": " Sonia Michalik - psycholog dzieci\u0119cy",
|
||||
"online": "true",
|
||||
"price": "za darmo",
|
||||
"category": ["Film"]}
|
||||
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
{"startDate": "2021-06-13T10:30:00+0200\"",
|
||||
"name": "Rodzinna joga na \u015bwie\u017cym powietrzu\"",
|
||||
"description": "Joga rodzinna, czyli co? Czego si\u0119 mo\u017cesz spodziewa\u0107?... Postawimy las drzew, b\u0119dziemy si\u0119 rusza\u0107 jak koty i psy, zrobimy or\u0142a cie\u0144 i wiele innych pozycji b\u0119dzie du\u017co ruchu i wsp\u00f3lnej zabawy z dzie\u0107mi! Przyjd\u017a i sprawd\u017a czy i Wam si\u0119 spodoba!\n\n\nZapisy pod numerem 780044816 (mo\u017cna SMSem). Op\u0142ata za zaj\u0119cia:\nKa\u017cda \u0107wicz\u0105ca osoba (r\u00f3wnie\u017c dzieci) - 10 z\u0142:)\n...przelewem na konto:\nFundacja Pozna\u0144czycy\nSantander Bank Polska\n511090136200000001 34828100\n\n\nNale\u017cy mie\u0107 mat\u0119 lub karimat\u0119 (je\u015bli nie ma si\u0119 maty). Warto zabezpieczy\u0107 si\u0119 przed kleszczami \nWej\u015bcie na teren od ul. Smardzewskiej. W razie deszczu przeniesiemy si\u0119 do sali w \nMinor Studio Aktywno\u015bci ul. Podchor\u0105\u017cych 15. \n\"",
|
||||
"organizer": " Kalejdoskop jogi i Grunwaldzki Park Spo\u0142eczny",
|
||||
"online": "false",
|
||||
"place": ["Projekt schron"],
|
||||
"price": "za darmo",
|
||||
"category": ["Wellness"]}
|