Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • kszk/devteam/kszkepzes/old/kszkepzes-frontend
  • kbgergely/kszkepzes-frontend
2 results
Show changes
Showing
with 826 additions and 88 deletions
.news-extra {
color: grey;
font-size: 0.75em;
font-style: italic;
font-family: fantasy;
text-align: justify;
}
.news-text {
font-size: 1.15em;
font-family: Arial, Helvetica, sans-serif;
text-align: justify;
}
import './News.css';
import { Button, Container, Grid, Item, Segment } from 'semantic-ui-react';
import React, { Component } from 'react';
import { deleteNews, getNews, setSelectedNews } from '../../actions/news';
import AddNewsForm from '../forms/AddNewsForm';
import ConfirmModal from '../forms/ConfirmModal';
import EditNewsForm from '../forms/EditNewsForm';
import { connect } from 'react-redux';
import moment from 'moment';
const linkify = (text) => {
const urlRegex = /(https?:\/\/[^\s]+)/g;
return text.split(urlRegex).map((part, index) =>
part.match(urlRegex) ? (
<a key={index} href={part} target="_blank" rel="noopener noreferrer">
{part}
</a>
) : (
part
)
);
};
class News extends Component {
UNSAFE_componentWillMount() {
this.props.getNews();
}
renderNews() {
return this.props.news.map((item) => (
<Item key={item.id}>
<Item.Content>
<Container text textAlign="left">
<Item.Header style={{ fontSize: '2em', width: '100%' }}>
<Grid>
<Grid.Column
floated="left"
width={this.props.user.role === 'Staff' ? 12 : 16}
>
{item.title}
</Grid.Column>
{this.props.user.role === 'Staff' ? (
<Grid.Column floated="right" width={4}>
<EditNewsForm
onClick={() => this.props.setSelectedNews(item)}
/>
<ConfirmModal
text={`törölni akarod a következő hírt: ${item.title}`}
button={
<Button compact color="red" size="mini">
Törlés
</Button>
}
onAccept={() => this.props.deleteNews(item)}
/>
</Grid.Column>
) : null}
</Grid>
</Item.Header>
<Item.Meta style={{ fontSize: '0.75em', fontStyle: 'italic' }}>
Közzétéve:
{moment(item.created_at).format('LLLL')}
</Item.Meta>
<Item.Description className="news-text" style={{ fontSize: '1em' }}>
{this.renderMultiLine(item.text)}
</Item.Description>
</Container>
</Item.Content>
</Item>
));
}
renderMultiLine = (text) => {
const strings = text.split('\n');
return strings.map((string) => <p key={Math.random()}>{linkify(string)}</p>);
};
render() {
return (
<div style={{ paddingTop: '1em', paddingBottom: '5em' }}>
<Segment vertical>
{/* { this.props.user.is_superuser ? <AddNewsForm /> : ''} */}
<Container text textAlign="center">
{this.props.user.role === 'Staff' ? <AddNewsForm /> : null}
<Item.Group divided>{this.renderNews()}</Item.Group>
</Container>
</Segment>
</div>
);
}
}
const mapStateToProps = ({ news, user }) => ({ news, user });
export default connect(mapStateToProps, {
getNews,
deleteNews,
setSelectedNews,
})(News);
import React from 'react';
import { Button, Container, Header, Icon, Segment } from 'semantic-ui-react';
import React, { Component } from 'react';
const NotFound = () => (
<div>
<p>404: Page not found</p>
</div>
);
export default NotFound;
export default class NotFound extends Component {
render() {
return (
<div>
<Segment inverted textAlign="center" vertical>
<Container>
<Header
as="h1"
content="404 - A keresett oldal nem található!"
inverted
style={{
fontSize: '3em',
fontWeight: 'normal',
marginBottom: 0,
marginTop: '0.5em',
}}
/>
<Button
href="/"
primary
size="huge"
style={{
fontSize: '2em',
marginTop: '1em',
marginBottom: '1em',
}}
>
Vissza a Főoldalra
<Icon name="right arrow" />
</Button>
</Container>
</Segment>
</div>
);
}
}
This diff is collapsed.
This diff is collapsed.
import React from 'react';
import { Switch, Route } from 'react-router-dom';
import FullRoster from './roster/FullRoster';
import Player from './roster/Player';
const Roster = () => (
<Switch>
<Route exact path='/roster' component={FullRoster} />
<Route path='/roster/:number' component={Player} />
</Switch>
);
export default Roster;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
export const APIKEY = '';
This diff is collapsed.
This diff is collapsed.
body {
margin: 0;
padding: 0;
font-family: sans-serif;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.