diff --git a/package.json b/package.json index ccc6e6d..d71e22d 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,11 @@ }, "dependencies": { "moment": "^2.18.1", + "native-base": "^2.3.0", "prop-types": "^15.5.10", "react": "16.0.0-alpha.12", "react-native": "0.46.3", + "react-navigation": "^1.0.0-beta.11", "react-redux": "^5.0.5", "redux": "^3.7.2" }, @@ -23,7 +25,7 @@ "jest": { "preset": "react-native", "transformIgnorePatterns": [ - "node_modules/(?!react-native|tcomb-form-native|apsl-react-native-button,react-native-device-info|react-clone-referenced-element)" + "node_modules/(?!react-native|react-navigation)" ] } } diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..a629875 --- /dev/null +++ b/src/App.js @@ -0,0 +1,18 @@ +import Dusken from "./Dusken"; +import React, {Component} from 'react'; +import { Provider } from 'react-redux'; +import { createStore } from 'redux' +import duskenApp from "./reducers"; + +let store = createStore(duskenApp); + + +export default class App extends Component { + render() { + return ( + + + + ) + } +} diff --git a/src/Dusken.js b/src/Dusken.js index 19cec12..da3bbe1 100644 --- a/src/Dusken.js +++ b/src/Dusken.js @@ -1,12 +1,27 @@ -import React, { Component } from 'react'; -import LoginContainer from './modules/login/LoginContainer'; -import EventListContainer from "./modules/events/EventListContainer"; +import React from 'react'; +import {connect} from "react-redux"; +import {TabNavigator, StackNavigator} from "react-navigation"; -export default class Dusken extends Component { - render() { - // TODO: Navigation++ - return ( - - ) - } -} \ No newline at end of file +import EventsScreen from "./screens/EventScreen"; +import AboutScreen from "./screens/AboutScreen"; +import MembershipScreen from "./screens/MembershipScreen"; + + +const routeConfig = { + Events: { screen: EventsScreen }, + Membership: { screen: MembershipScreen }, + About: { screen: AboutScreen }, +}; + +const tabConfig = { + tabBarPosition: 'bottom' +}; + +/* Navigation */ +const tabNav = TabNavigator(routeConfig, tabConfig); + +const DuskenContainer = StackNavigator({ + Root: { screen: tabNav}, +}); + +export default connect()(DuskenContainer); \ No newline at end of file diff --git a/src/DuskenContainer.js b/src/DuskenContainer.js deleted file mode 100644 index d7816f0..0000000 --- a/src/DuskenContainer.js +++ /dev/null @@ -1,4 +0,0 @@ -import {connect} from "react-redux"; -import Dusken from "./Dusken"; - -export default connect()(Dusken); \ No newline at end of file diff --git a/src/modules/about/About.js b/src/modules/about/About.js new file mode 100644 index 0000000..ecac8fa --- /dev/null +++ b/src/modules/about/About.js @@ -0,0 +1,54 @@ +import React, { Component } from 'react'; +import {Text, ScrollView, View, Platform, StyleSheet, Image} from "react-native"; + +export default class About extends Component { + render() { + return ( + + + Chateau Neuf + + Studentene i Oslo har sitt naturlige tilholdssted på Det Norske Studentersamfund, i hyggelige lokaler på Chateau Neuf øverst på Majorstuen. Her er det åpent alle dager unntatt søndag, og hver dag skjer det en rekke ting i våre mange arrangementslokaler. Enten man ønsker en tur i baren, på kafé, på debatt, på konsert, teater eller kino, har man muligheten på Chateau Neuf. + Chateau Neuf er et frivillig drevet studenthus. Studenter over alt i Oslo kan komme hit og få nyttig og spennende erfaring med å drive et av Oslos største kulturhus. Her kan du stå i bar, sette lys og lyd, jobbe med markedsføring, produsere konserter, bli kjent med hundrevis av bra mennesker og få minner for livet. + Alle studentforeninger i Oslo kan arrangere gratis på Chateau Neuf. Skal du arrangere en fest, sette en konsert, holde et foredrag eller gjennomføre et møte, har vi lokaler som kan brukes til dette. + + + ) + } +} + + +const styles = StyleSheet.create({ + header: { + fontSize: 16, + fontWeight: 'bold', + color: '#000', + }, + paragraph: { + fontSize: 16, + color: '#000', + paddingBottom: 10, + lineHeight: 25, + }, + card: { + borderColor: '#e1e8ee', + borderWidth: 1, + ...Platform.select({ + ios: { + shadowColor: 'rgba(0,0,0, .2)', + shadowOffset: {height: 0, width: 0}, + shadowOpacity: 1, + shadowRadius: 1, + }, + android: { + elevation: 1, + }, + }), + padding: 8, + margin: 8, + backgroundColor: '#fff', + }, + featuredImage: { + height: 230, + } +}); \ No newline at end of file diff --git a/src/modules/about/AboutContainer.js b/src/modules/about/AboutContainer.js new file mode 100644 index 0000000..6e416ad --- /dev/null +++ b/src/modules/about/AboutContainer.js @@ -0,0 +1,5 @@ +import {connect} from "react-redux"; + +import About from "./About"; + +export default connect()(About); \ No newline at end of file diff --git a/src/modules/events/EventList.js b/src/modules/events/EventList.js index cf9be89..f67d593 100644 --- a/src/modules/events/EventList.js +++ b/src/modules/events/EventList.js @@ -43,15 +43,15 @@ export default class EventList extends Component { const styles = StyleSheet.create({ listItem: { - height: 100, + height: 86, }, listItemTitle: { - fontSize: 18, + fontSize: 16, fontWeight: 'bold', color: 'black' }, listItemTime: { - fontSize: 18, + fontSize: 16, color: 'black' }, container: { diff --git a/src/modules/membership/Membership.js b/src/modules/membership/Membership.js new file mode 100644 index 0000000..366fd8e --- /dev/null +++ b/src/modules/membership/Membership.js @@ -0,0 +1,62 @@ +import React, {Component} from 'react'; +import {ScrollView, Text, View, Linking, StyleSheet, Platform, Button} from "react-native"; + +export default class Membership extends Component { + render() { + return ( + + + Siden 1813 har Det Norske Studentersamfund samlet studenter til kulturell, politisk, faglig og ikke minst sosial aktivitet. Som medlem i DNS er du med på å understreke viktigheten til en felles møteplass for alle Oslos studenter, uavhengig av utdanningsinstitusjon, studie og hvem de er. + Vi setter pris på felleskapet som er med på å bygge Chateau Neuf. DNS er en organisasjon av og for medlemmene. Derfor sørger vi for at det blir litt lettere å være student ved å ta en del av kaka for medlemmene våre. Med medlemskap får billigere inngang og servering på alt som skjer på Chateau Neuf. + + +