diff --git a/package.json b/package.json index cbdd0cc..60de211 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "prop-types": "^15.5.10", "react": "16.0.0-alpha.12", "react-native": "0.46.3", + "react-native-htmlview": "^0.12.0", "react-navigation": "^1.0.0-beta.11", "react-redux": "^5.0.5", "redux": "^3.7.2" diff --git a/src/modules/events/EventDetails.js b/src/modules/events/EventDetails.js index 0bb69d7..cb14817 100644 --- a/src/modules/events/EventDetails.js +++ b/src/modules/events/EventDetails.js @@ -1,12 +1,83 @@ import React, { Component } from 'react'; -import {ScrollView, Text} from "react-native"; +import {StyleSheet, ScrollView, Text, Platform, View, Image} from "react-native"; +import HTMLView from 'react-native-htmlview'; +import moment from "moment"; export default class EventDetails extends Component { + _formatTime(time) { + moment.locale('nb'); + return moment(time).format('llll'); + } + render() { const item = this.props.item; - return ( - {item.link} - ) + return ( + + + + {item.title.decoded} + {this._formatTime(item.start_time)} + + + + ) } } + +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', + }, + image: { + height: 260, + }, + time: { + fontSize: 14, + color: '#666' + }, + content: { + paddingTop: 10, + } +}); + +//FIXME: Ninja margin +const HTMLStyles = StyleSheet.create({ + p: { + fontSize: 16, + marginBottom: -30, + color: '#000', + }, + ul: { + fontSize: 16, + color: '#000', + marginTop: -20, + marginBottom: -30, + }, +}); \ No newline at end of file diff --git a/src/screens/EventScreen.js b/src/screens/EventScreen.js index 47ad1eb..80d0580 100644 --- a/src/screens/EventScreen.js +++ b/src/screens/EventScreen.js @@ -16,6 +16,6 @@ export default class EventsScreen extends Component { }; render() { - return (); + return (); } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f0b409f..efaa812 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1361,10 +1361,38 @@ diff@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.0.tgz#056695150d7aa93237ca7e378ac3b1682b7963b9" +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" +domelementtype@1, domelementtype@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domhandler@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + dependencies: + domelementtype "1" + +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + dependencies: + dom-serializer "0" + domelementtype "1" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -1387,6 +1415,10 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" +entities@^1.1.1, entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + "errno@>=0.1.1 <0.2.0-0": version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" @@ -1449,6 +1481,10 @@ event-target-shim@^1.0.5: version "1.1.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-1.1.1.tgz#a86e5ee6bdaa16054475da797ccddf0c55698491" +eventemitter2@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-1.0.5.tgz#f983610517b1737c0b9dc643beca93893c04df18" + exec-sh@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" @@ -1834,6 +1870,18 @@ html-encoding-sniffer@^1.0.1: dependencies: whatwg-encoding "^1.0.1" +htmlparser2-without-node-native@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/htmlparser2-without-node-native/-/htmlparser2-without-node-native-3.9.0.tgz#7594357386e43be3d9ec4264df9d7ec60f81a7df" + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + eventemitter2 "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.2" + http-errors@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" @@ -1876,7 +1924,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.1: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3229,6 +3277,13 @@ react-native-easy-grid@0.1.14: dependencies: lodash "^4.11.1" +react-native-htmlview@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/react-native-htmlview/-/react-native-htmlview-0.12.0.tgz#9b19a7dccd38586c0aebf975e6083184685013a6" + dependencies: + entities "^1.1.1" + htmlparser2-without-node-native "^3.9.0" + react-native-keyboard-aware-scroll-view@0.2.9: version "0.2.9" resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.2.9.tgz#2a1ae49cfae90a9665b21763c1f8bd03ed5fb92c" @@ -3431,6 +3486,18 @@ read-pkg@^1.0.0: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@^2.0.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + readable-stream@~1.1.8, readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -3619,6 +3686,10 @@ safe-buffer@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + sane@~1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" @@ -3859,6 +3930,12 @@ string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"