UNPKG

twreporter-react

Version:

React-Redux site for The Reporter Foundation in Taiwan

433 lines (363 loc) 27.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _index = require('../../constants/index'); var _index2 = require('../../utils/index'); var _reactRouter = require('react-router'); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _Common = { "inner-block": "Common__inner-block___2cOrF", "disable-inner-block": "Common__disable-inner-block___1MLd0", "text-color": "Common__text-color___1TD3U", "desc-text-color": "Common__desc-text-color___2fV3l", "desc-text-block": "Common__desc-text-block___1Z4b-", "text-link": "Common__text-link___1jaLy", "topic-box": "Common__topic-box___2Q-kN" }; var _Common2 = _interopRequireDefault(_Common); var _iconDonation = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI2cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI2IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjguMyAoMjk4MDIpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPmljb24tZG9uYXRpb248L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iQXJ0aWNsZSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlRvcGljLeKAky1Nb2JpbGUtUG9ydHJhaXQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03Mi4wMDAwMDAsIC0yOC4wMDAwMDApIiBmaWxsPSIjQzcxQjBBIj4KICAgICAgICAgICAgPHBhdGggZD0iTTg0LjQ0MTY5NTYsMzAuNzEwMzM2OSBDODMuMTQxNjkxNywyOS4wNDk2OTA4IDgxLjIyNjU1NzUsMjggNzkuMDkwOTA5MSwyOCBDNzUuMzczNjk4NywyOCA3Mi4zMjQ1NDE5LDMxLjE4MDA2NjQgNzIuMDI0MjcwOSwzNS4yMjY3MjI3IEw3MiwzNS4yMjY3MjI3IEw3MiwzNi41NDA2NzIzIEM3Miw0NC41MjMwODk3IDg0LjE2NzAxNTYsNTEuNzc5OTE2MyA4NC4xNjcwMTU2LDUxLjc3OTkxNjMgQzg0LjYyNzA2MDIsNTIuMDcxNjA2IDg1LjM3NTA0NDgsNTIuMDc1MTExMiA4NS44NDI5NDk3LDUxLjc3MzM4ODMgQzg1Ljg0Mjk0OTcsNTEuNzczMzg4MyA5OCw0NC41MjMwODk3IDk4LDM2LjU0MDY3MjMgTDk4LDM1LjIyNjcyMjcgTDk3Ljk3NTcyOTEsMzUuMjI2NzIyNyBDOTcuNjc1NDU4MSwzMS4xODAwNjY0IDk0LjYyNjMwMTMsMjggOTAuOTA5MDkwOSwyOCBDODkuMDM3NzY2NCwyOCA4Ny4zMzU3NDkxLDI4LjgwNTkzNTEgODYuMDY4NTE5NSwzMC4xMjI2NDMxIEM4Ni4wNzYzNDI4LDMwLjEyNjcxNTQgODYuMDg0MTU0MywzMC4xMzA4NzA2IDg2LjA5MTk1NCwzMC4xMzUxMDg4IEM4Ni4yOTExODg3LDMwLjI0MzM2ODQgODYuMzkwODA0NiwzMC40MDU3NTUzIDg2LjM5MDgwNDYsMzAuNjIyMjc0NSBDODYuMzkwODA0NiwzMC45MTA5NjY3IDg2LjM2NzgxNjMsMzEuMjIxMzA2MiA4Ni4zMjE4MzkxLDMxLjU1MzMwMjIgQzg2LjI3NTg2MTgsMzEuODg1Mjk4MyA4Ni4yMzc1NDgsMzIuMTk1NjM3NyA4Ni4yMDY4OTY2LDMyLjQ4NDMyOTkgQzg2LjUyODczNzIsMzIuNTU2NTAzIDg2Ljg2NTg5ODYsMzIuNjQ2NzE4IDg3LjIxODM5MDgsMzIuNzU0OTc3NSBDODcuNTcwODgzLDMyLjg2MzIzNzEgODcuOTExODc1NywzMi45OTMxNDY3IDg4LjI0MTM3OTMsMzMuMTQ0NzEwMSBDODguNTcwODgyOSwzMy4yOTYyNzM1IDg4Ljg3NzM5MzIsMzMuNDgwMzEyIDg5LjE2MDkxOTUsMzMuNjk2ODMxMiBDODkuNDQ0NDQ1OSwzMy45MTMzNTAzIDg5LjY3MDQ5NzIsMzQuMTY1OTUyMiA4OS44MzkwODA1LDM0LjQ1NDY0NDQgQzg5Ljg4NTA1NzcsMzQuNTQxMjUyMSA4OS45MjMzNzE1LDM0LjYyNDI0OTkgODkuOTU0MDIzLDM0LjcwMzY0MDIgQzg5Ljk4NDY3NDUsMzQuNzgzMDMwNiA5MCwzNC44NjYwMjgzIDkwLDM0Ljk1MjYzNiBDOTAsMzUuMTU0NzIwNiA4OS45NDI1MjkzLDM1LjMyNDMyNDcgODkuODI3NTg2MiwzNS40NjE0NTM1IEM4OS43MTI2NDMxLDM1LjU5ODU4MjMgODkuNTY3MDUwNywzNS43MTQwNTc0IDg5LjM5MDgwNDYsMzUuODA3ODgyNCBDODkuMjE0NTU4NSwzNS45MDE3MDc0IDg5LjAyNjgyMDksMzUuOTcwMjcwOCA4OC44Mjc1ODYyLDM2LjAxMzU3NDYgQzg4LjYyODM1MTUsMzYuMDU2ODc4NCA4OC40NDQ0NDUzLDM2LjA3ODUzIDg4LjI3NTg2MjEsMzYuMDc4NTMgQzg4LjAxNTMyNDQsMzYuMDc4NTMgODcuNzYyNDUzMywzNi4wMzg4MzU0IDg3LjUxNzI0MTQsMzUuOTU5NDQ1MSBDODcuMjcyMDI5NCwzNS44ODAwNTQ3IDg3LjAyMjk4OTgsMzUuNzk3MDU2OSA4Ni43NzAxMTQ5LDM1LjcxMDQ0OTMgQzg2LjUxNzI0MDEsMzUuNjIzODQxNiA4Ni4yNDUyMTIyLDM1LjU0MDg0MzggODUuOTU0MDIzLDM1LjQ2MTQ1MzUgQzg1LjY2MjgzMzgsMzUuMzgyMDYzMSA4NS4zNDA5OTc5LDM1LjM0MjM2ODUgODQuOTg4NTA1NywzNS4zNDIzNjg1IEM4NC44NTA1NzQsMzUuMzQyMzY4NSA4NC42ODU4MjQ3LDM1LjM1NjgwMjkgODQuNDk0MjUyOSwzNS4zODU2NzIyIEM4NC4zMDI2ODEsMzUuNDE0NTQxNCA4NC4xMjI2MDYyLDM1LjQ2NTA2MTggODMuOTU0MDIzLDM1LjUzNzIzNDggQzgzLjc4NTQzOTgsMzUuNjA5NDA3OSA4My42NDM2Nzg3LDM1LjcwMzIzMTQgODMuNTI4NzM1NiwzNS44MTg3MDgzIEM4My40MTM3OTI1LDM1LjkzNDE4NTIgODMuMzU2MzIxOCwzNi4wNzg1MjkxIDgzLjM1NjMyMTgsMzYuMjUxNzQ0NSBDODMuMzU2MzIxOCwzNi41MTE1Njc1IDgzLjUxNzIzOTgsMzYuNzQ2MTI2NCA4My44MzkwODA1LDM2Ljk1NTQyODIgQzg0LjE2MDkyMTEsMzcuMTY0NzMwMSA4NC41NjcwNDc0LDM3LjM4MTI0NiA4NS4wNTc0NzEzLDM3LjYwNDk4MjQgQzg1LjU0Nzg5NTIsMzcuODI4NzE4OSA4Ni4wNzI3OTQxLDM4LjA3NDEwMzYgODYuNjMyMTgzOSwzOC4zNDExNDM5IEM4Ny4xOTE1NzM3LDM4LjYwODE4NDIgODcuNzE2NDcyNiwzOC45MTQ5MTUxIDg4LjIwNjg5NjYsMzkuMjYxMzQ1NyBDODguNjk3MzIwNSwzOS42MDc3NzY0IDg5LjEwMzQ0NjcsNDAuMDA4MzMwOCA4OS40MjUyODc0LDQwLjQ2MzAyMTEgQzg5Ljc0NzEyOCw0MC45MTc3MTEzIDg5LjkwODA0Niw0MS40NTUzOTI1IDg5LjkwODA0Niw0Mi4wNzYwODA3IEM4OS45MDgwNDYsNDIuNjEwMTYxMyA4OS44MDg0MzAxLDQzLjAzNTk3NTkgODkuNjA5MTk1NCw0My4zNTM1Mzc0IEM4OS40MDk5NjA3LDQzLjY3MTA5ODggODkuMTQ5NDI2OSw0My45MjczMDkzIDg4LjgyNzU4NjIsNDQuMTIyMTc2NSBDODguNTA1NzQ1NSw0NC4zMTcwNDM4IDg4LjEzNzkzMzEsNDQuNDY4NjA0OSA4Ny43MjQxMzc5LDQ0LjU3Njg2NDUgQzg3LjMxMDM0MjgsNDQuNjg1MTI0MSA4Ni44OTY1NTM4LDQ0Ljc4OTc3MzQgODYuNDgyNzU4Niw0NC44OTA4MTU3IEM4Ni40MDYxMjk5LDQ0LjkwNTI1MDMgODYuMzYzOTg0Nyw0NC45ODgyNDgxIDg2LjM1NjMyMTgsNDUuMTM5ODExNSBDODYuMzQ4NjU5LDQ1LjI5MTM3NDkgODYuMzQ0ODI3Niw0NS40NzE4MDQ4IDg2LjM0NDgyNzYsNDUuNjgxMTA2NyBDODYuMzQ0ODI3Niw0NS44OTA0MDg1IDg2LjM0MDk5NjIsNDYuMTE0MTQxNyA4Ni4zMzMzMzMzLDQ2LjM1MjMxMjcgQzg2LjMyNTY3MDUsNDYuNTkwNDgzOCA4Ni4yODM1MjUzLDQ2LjgxMDYwODMgODYuMjA2ODk2Niw0Ny4wMTI2OTI5IEM4Ni4xMzAyNjc4LDQ3LjIxNDc3NzQgODYuMDA3NjYzNyw0Ny4zODQzODE1IDg1LjgzOTA4MDUsNDcuNTIxNTEwMyBDODUuNjcwNDk3Miw0Ny42NTg2MzkxIDg1LjQyNTI4OSw0Ny43MjcyMDI1IDg1LjEwMzQ0ODMsNDcuNzI3MjAyNSBDODQuODEyMjU5MSw0Ny43MjcyMDI1IDg0LjU0MDIzMTEsNDcuNjM2OTg3NiA4NC4yODczNTYzLDQ3LjQ1NjU1NDkgQzg0LjAzNDQ4MTUsNDcuMjc2MTIyMyA4My45MDgwNDYsNDcuMDQxNTYzNCA4My45MDgwNDYsNDYuNzUyODcxMiBDODMuOTA4MDQ2LDQ2LjYzNzM5NDMgODMuOTExODc3NCw0Ni41MjU1Mjc3IDgzLjkxOTU0MDIsNDYuNDE3MjY4MiBDODMuOTI3MjAzMSw0Ni4zMDkwMDg2IDgzLjkzMTAzNDUsNDYuMTk3MTQyIDgzLjkzMTAzNDUsNDYuMDgxNjY1MSBMODMuOTMxMDM0NSw0NS44NDM0OTUyIEM4My45MzEwMzQ1LDQ1LjcyODAxODQgODMuOTIzMzcxNyw0NS42MDUzMjYgODMuOTA4MDQ2LDQ1LjQ3NTQxNDUgQzgzLjg5MjcyMDIsNDUuMzQ1NTAzIDgzLjg2OTczMiw0NS4yMzAwMjc5IDgzLjgzOTA4MDUsNDUuMTI4OTg1NiBDODMuODA4NDI5LDQ1LjAyNzk0MzMgODMuNzcwMTE1Miw0NC45NzAyMDU3IDgzLjcyNDEzNzksNDQuOTU1NzcxMSBDODMuNDMyOTQ4Nyw0NC44ODM1OTgxIDgzLjA3Mjc5OTEsNDQuODA0MjA4OSA4Mi42NDM2NzgyLDQ0LjcxNzYwMTMgQzgyLjIxNDU1NzIsNDQuNjMwOTkzNiA4MS44MDQ1OTk3LDQ0LjUxMTkwOTggODEuNDEzNzkzMSw0NC4zNjAzNDY0IEM4MS4wMjI5ODY2LDQ0LjIwODc4MyA4MC42ODk2NTY2LDQ0LjAxNzUyNzMgODAuNDEzNzkzMSw0My43ODY1NzM1IEM4MC4xMzc5Mjk3LDQzLjU1NTYxOTggODAsNDMuMjU5NzE0NyA4MCw0Mi44OTg4NDk0IEM4MCw0Mi41NjY4NTM0IDgwLjEzNDA5ODMsNDIuMjkyNTk5OSA4MC40MDIyOTg5LDQyLjA3NjA4MDcgQzgwLjY3MDQ5OTQsNDEuODU5NTYxNiA4MC45NzMxNzg0LDQxLjc1MTMwMzYgODEuMzEwMzQ0OCw0MS43NTEzMDM2IEM4MS42MDE1MzQsNDEuNzUxMzAzNiA4MS44ODg4ODc1LDQxLjc5NDYwNjggODIuMTcyNDEzOCw0MS44ODEyMTQ1IEM4Mi40NTU5NDAxLDQxLjk2NzgyMjEgODIuNzQ3MTI0OSw0Mi4wNjE2NDU3IDgzLjA0NTk3Nyw0Mi4xNjI2ODggQzgzLjM0NDgyOTEsNDIuMjYzNzMwMiA4My42NTEzMzk0LDQyLjM1NzU1MzggODMuOTY1NTE3Miw0Mi40NDQxNjE0IEM4NC4yNzk2OTUxLDQyLjUzMDc2OTEgODQuNjA1MzYyMyw0Mi41NzQwNzIzIDg0Ljk0MjUyODcsNDIuNTc0MDcyMyBDODUuMDY1MTM0Nyw0Mi41NzQwNzIzIDg1LjIxODM4OTksNDIuNTYzMjQ2NSA4NS40MDIyOTg5LDQyLjU0MTU5NDYgQzg1LjU4NjIwNzgsNDIuNTE5OTQyNyA4NS43NjI0NTEzLDQyLjQ3NjYzOTUgODUuOTMxMDM0NSw0Mi40MTE2ODM3IEM4Ni4wOTk2MTc3LDQyLjM0NjcyOCA4Ni4yNDUyMTAxLDQyLjI2MDEyMTYgODYuMzY3ODE2MSw0Mi4xNTE4NjIgQzg2LjQ5MDQyMjEsNDIuMDQzNjAyNSA4Ni41NTE3MjQxLDQxLjkwMjg2NzEgODYuNTUxNzI0MSw0MS43Mjk2NTE4IEM4Ni41NTE3MjQxLDQxLjU3MDg3MTEgODYuNDc1MDk2Niw0MS40MjY1MjcxIDg2LjMyMTgzOTEsNDEuMjk2NjE1NiBDODYuMTY4NTgxNiw0MS4xNjY3MDQxIDg1Ljk4ODUwNjgsNDEuMDUxMjI5IDg1Ljc4MTYwOTIsNDAuOTUwMTg2NyBDODUuNTc0NzExNiw0MC44NDkxNDQ0IDg1LjM2Mzk4NTcsNDAuNzU4OTI5NSA4NS4xNDk0MjUzLDQwLjY3OTUzOTEgQzg0LjkzNDg2NDgsNDAuNjAwMTQ4OCA4NC43NjYyODQxLDQwLjUzODgwMjYgODQuNjQzNjc4Miw0MC40OTU0OTg4IEM4NC4xNTMyNTQzLDQwLjMwNzg0ODggODMuNjM5ODQ5NCw0MC4wODc3MjQzIDgzLjEwMzQ0ODMsMzkuODM1MTE4NiBDODIuNTY3MDQ3MSwzOS41ODI1MTI5IDgyLjA3Mjc5OTIsMzkuMjg2NjA3OSA4MS42MjA2ODk3LDM4Ljk0NzM5NDUgQzgxLjE2ODU4MDEsMzguNjA4MTgxMiA4MC43OTMxMDQ5LDM4LjIxNDg0MzkgODAuNDk0MjUyOSwzNy43NjczNzEgQzgwLjE5NTQwMDgsMzcuMzE5ODk4MSA4MC4wNDU5NzcsMzYuODAwMjU5OSA4MC4wNDU5NzcsMzYuMjA4NDQwOSBDODAuMDQ1OTc3LDM1LjY4ODc5NDkgODAuMTU3MDg3LDM1LjIxNjA2ODUgODAuMzc5MzEwMywzNC43OTAyNDc1IEM4MC42MDE1MzM3LDM0LjM2NDQyNjQgODAuOTAwMzgxMywzMy45OTk5NTggODEuMjc1ODYyMSwzMy42OTY4MzEyIEM4MS42NTEzNDI5LDMzLjM5MzcwNDMgODIuMDgwNDU3NCwzMy4xNTE5MjgyIDgyLjU2MzIxODQsMzIuOTcxNDk1NiBDODMuMDQ1OTc5NCwzMi43OTEwNjMgODMuNTU1NTUyOSwzMi42ODY0MTM2IDg0LjA5MTk1NCwzMi42NTc1NDQ0IEM4NC4xNTMyNTcsMzIuMzI1NTQ4NCA4NC4yMDY4OTYzLDMxLjk4OTk0ODcgODQuMjUyODczNiwzMS42NTA3MzUzIEM4NC4yOTU3ODczLDMxLjMzNDEyMzcgODQuMzU4NzI3NCwzMS4wMjA2NjAzIDg0LjQ0MTY5NTYsMzAuNzEwMzM2OSBaIiBpZD0iaWNvbi1kb25hdGlvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"; var _iconDonation2 = _interopRequireDefault(_iconDonation); var _iconNavbarToc = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iNnB4IiB2aWV3Qm94PSIwIDAgMjQgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMzkgKDMxNjY3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5pY29uLW5hdmJhci10b2M8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iTW9iaWxlIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0aWNsZS3igJMtU2Nyb2xsaW5nLeKAky1Nb2JpbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNzYuMDAwMDAwLCAtMzMuMDAwMDAwKSIgZmlsbD0iIzdGN0Y3RiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOTcsMzkgQzE5NS4zNDQsMzkgMTk0LDM3LjY1NiAxOTQsMzYgQzE5NCwzNC4zNDQgMTk1LjM0NCwzMyAxOTcsMzMgQzE5OC42NTYsMzMgMjAwLDM0LjM0NCAyMDAsMzYgQzIwMCwzNy42NTYgMTk4LjY1NiwzOSAxOTcsMzkgWiBNMTg4LDM5IEMxODYuMzQ0LDM5IDE4NSwzNy42NTYgMTg1LDM2IEMxODUsMzQuMzQ0IDE4Ni4zNDQsMzMgMTg4LDMzIEMxODkuNjU2LDMzIDE5MSwzNC4zNDQgMTkxLDM2IEMxOTEsMzcuNjU2IDE4OS42NTYsMzkgMTg4LDM5IFogTTE3OSwzOSBDMTc3LjM0NCwzOSAxNzYsMzcuNjU2IDE3NiwzNiBDMTc2LDM0LjM0NCAxNzcuMzQ0LDMzIDE3OSwzMyBDMTgwLjY1NiwzMyAxODIsMzQuMzQ0IDE4MiwzNiBDMTgyLDM3LjY1NiAxODAuNjU2LDM5IDE3OSwzOSBaIiBpZD0iaWNvbi1uYXZiYXItdG9jIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="; var _iconNavbarToc2 = _interopRequireDefault(_iconNavbarToc); var _logoNavbarS = '/' + "8af1a9a3d631ae693c9c7742866dd282.svg"; var _logoNavbarS2 = _interopRequireDefault(_logoNavbarS); var _logoWhiteS = '/' + "0965d858f26fc64817df3c80764394b0.svg"; var _logoWhiteS2 = _interopRequireDefault(_logoWhiteS); var _SubNavBar = require('./SubNavBar'); var _SubNavBar2 = _interopRequireDefault(_SubNavBar); var _SearchBox = require('./SearchBox'); var _SearchBox2 = _interopRequireDefault(_SearchBox); var _navbarFixedTopLogo = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzNSAzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzUgMzU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtkaXNwbGF5Om5vbmU7fQ0KCS5zdDF7ZGlzcGxheTppbmxpbmU7fQ0KCS5zdDJ7ZmlsbDojRkZGRkZGO30NCgkuc3Qze2ZpbGw6IzY2NjY3NDt9DQoJLnN0NHtmaWxsOm5vbmU7c3Ryb2tlOiM2NjY2NzQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojNjY2Njc0O3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e29wYWNpdHk6MC4zNTtmaWxsOiM2NjY2NzQ7fQ0KCS5zdDd7ZmlsbDojQzMwMDBCO30NCgkuc3Q4e2ZpbGw6I0UyMDAxMjt9DQoJLnN0OXtmaWxsOm5vbmU7c3Ryb2tlOiM2NjY2NzQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3QxMHtmaWxsOiMzOUFENEE7fQ0KCS5zdDExe2ZpbGw6IzQ3NjM5OTt9DQoJLnN0MTJ7ZmlsbDojNDFBNkRDO30NCgkuc3QxM3tmaWxsOiNDNjAwMEI7fQ0KCS5zdDE0e2ZpbGw6IzIzMTgxNTt9DQoJLnN0MTV7ZmlsbDojREFFMUU1O30NCgkuc3QxNntmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQ0KCS5zdDE3e2ZpbGw6bm9uZTtzdHJva2U6I0M5NDIyMztzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MTh7ZmlsbDojQzk0MjIzO30NCgkuc3QxOXtmaWxsOiMzNjM0ODQ7fQ0KCS5zdDIwe2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGcgaWQ9IuWcluWxpF8yIiBjbGFzcz0ic3QwIj4NCjwvZz4NCjxnIGlkPSLlnJblsaRfMSI+DQoJPGc+DQoJCTxwb2x5Z29uIGNsYXNzPSJzdDciIHBvaW50cz0iMjkuMywyNS45IDIwLDIzLjcgMjAsMTIgMjkuMyw5LjQgCQkiLz4NCgkJPHBvbHlnb24gY2xhc3M9InN0OCIgcG9pbnRzPSI1LjcsMzAuNCAyMC4zLDIzLjcgMjAuMywxMiA1LjcsNS4zIAkJIi8+DQoJPC9nPg0KPC9nPg0KPGcgaWQ9IuWcluWxpF8zIiBjbGFzcz0ic3QwIj4NCjwvZz4NCjwvc3ZnPg0K"; var _navbarFixedTopLogo2 = _interopRequireDefault(_navbarFixedTopLogo); var _NavMenu = { "nav-block": "NavMenu__nav-block___3x25f", "navLeft": "NavMenu__navLeft___2u9sU", "navCenter": "NavMenu__navCenter___1Uxwg", "navRight": "NavMenu__navRight___2Z-g2", "menu-item": "NavMenu__menu-item___2srPG", "active": "NavMenu__active___24jGD", "topBar": "NavMenu__topBar___32HJJ", "fade-in-down": "NavMenu__fade-in-down___6miMP", "nav-item-algin": "NavMenu__nav-item-algin___27ppK", "donateButton": "NavMenu__donateButton___ijwA3", "navButton": "NavMenu__navButton___3NX9g", "navIcon": "NavMenu__navIcon___22ZlX", "slidedUpNav": "NavMenu__slidedUpNav___E-57F", "articleTitle": "NavMenu__articleTitle___hRu10", "fade-in-left": "NavMenu__fade-in-left___2lmV4", "articleTitleText": "NavMenu__articleTitleText___3deeb", "fadeRight": "NavMenu__fadeRight___1BMYm", "fadeLeft": "NavMenu__fadeLeft___1O_TL", "fade-in-right": "NavMenu__fade-in-right___1ihcO", "slideUp": "NavMenu__slideUp___3NI0t", "slide-up": "NavMenu__slide-up___3xqwC", "slideDown": "NavMenu__slideDown___1Ea7_", "slide-down": "NavMenu__slide-down___1wT55", "linkOuterContainer": "NavMenu__linkOuterContainer___26IiN", "catLinkContainer": "NavMenu__catLinkContainer___3w2Tj", "item-animation": "NavMenu__item-animation___1YU-7", "navContainer": "NavMenu__navContainer___37T4I", "navLogo": "NavMenu__navLogo___3fR2I", "fade-in": "NavMenu__fade-in___bxizO", "logoRight": "NavMenu__logoRight___1jZLk", "up": "NavMenu__up___1e6Cd", "donateIcon": "NavMenu__donateIcon___BA0LT", "iconOpen": "NavMenu__iconOpen___7u9KA", "fade-out": "NavMenu__fade-out___2dsM8", "fade-in-up": "NavMenu__fade-in-up___1l4y2", "fade-out-down": "NavMenu__fade-out-down___1vb8o", "fade-out-left": "NavMenu__fade-out-left___6TTnj", "fade-out-right": "NavMenu__fade-out-right___I_FYx" }; var _NavMenu2 = _interopRequireDefault(_NavMenu); var _NavCommon = { "nav-menu": "NavCommon__nav-menu___33dYD", "nav-scrolled-outer": "NavCommon__nav-scrolled-outer___SwhHT", "fade-in": "NavCommon__fade-in___3TkUK", "fade-out": "NavCommon__fade-out___PuMB6", "fade-in-up": "NavCommon__fade-in-up___TKFSn", "fade-in-down": "NavCommon__fade-in-down___37abI", "fade-out-down": "NavCommon__fade-out-down___DwkJ2", "fade-in-left": "NavCommon__fade-in-left___oYWPZ", "fade-out-left": "NavCommon__fade-out-left___pa7Cc", "fade-in-right": "NavCommon__fade-in-right___gNDeL", "fade-out-right": "NavCommon__fade-out-right___10XpL" }; var _NavCommon2 = _interopRequireDefault(_NavCommon); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var TRIMMED_RATIO = 0.5; var NavMenu = function (_Component) { _inherits(NavMenu, _Component); function NavMenu(props, context) { _classCallCheck(this, NavMenu); var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(NavMenu).call(this, props, context)); _this.state = { open: false, windowWidth: 200, trimmedTitle: '', isDown: false }; _this.handleResize = _this._handleResize.bind(_this); _this.handleArticleTitle = _this._handleArticleTitle.bind(_this); return _this; } _createClass(NavMenu, [{ key: 'componentDidMount', value: function componentDidMount() { window.addEventListener('resize', this.handleResize); this.handleResize(); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { window.removeEventListener('resize', this.handleResize); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { if (nextProps.isScrolledOver) { this.setState({ isDown: true }); } if (nextProps.pageTitle !== this.props.pageTitle) { this.setState({ trimmedTitle: '' }); } if (this.state.trimmedTitle == '') { this.handleArticleTitle(nextProps.pageTitle); } } }, { key: '_handleResize', value: function _handleResize() { this.setState({ windowWidth: window.innerWidth }); // handle trimming problem for the article title this.handleArticleTitle(); } }, { key: '_handleArticleTitle', value: function _handleArticleTitle() { var titleSpan = _reactDom2.default.findDOMNode(this.refs.title); var _props = this.props; var pageTitle = _props.pageTitle; var pageTopic = _props.pageTopic; var topicOffset = pageTopic ? pageTopic.length : 0; if (titleSpan) { var fontSize = Number(getComputedStyle(titleSpan, '').fontSize.match(/(\d*(\.\d*)?)px/)[1]); if (!fontSize || fontSize < 0) { fontSize = 18; } var wordCnt = this.state.windowWidth * TRIMMED_RATIO / fontSize - topicOffset; var titleText = pageTitle; if (pageTitle.length > wordCnt) { titleText = pageTitle.substr(0, wordCnt - 1) + '...'; } this.setState({ trimmedTitle: titleText }); } } }, { key: '_renderAritcleFirst', value: function _renderAritcleFirst(burgerMenu, logo) { var animateClass = this.state.isDown ? _NavMenu2.default['slideDown'] : null; return _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.navContainer, animateClass) }, _react2.default.createElement( 'div', { className: _NavMenu2.default.navLeft }, burgerMenu, _react2.default.createElement(DonateButton, { isSlidedUp: false }) ), _react2.default.createElement( 'div', { className: _NavMenu2.default.navCenter }, _react2.default.createElement( _reactRouter.Link, { className: _NavMenu2.default.navLogo, to: '/' }, _react2.default.createElement('img', { src: logo }) ) ), _react2.default.createElement( 'div', { className: _NavMenu2.default.navRight }, _react2.default.createElement( _reactRouter.Link, { className: _NavMenu2.default.logoRight, to: '/' }, _react2.default.createElement('img', { src: _navbarFixedTopLogo2.default }) ) ) ); } }, { key: '_renderAritcleSecond', value: function _renderAritcleSecond(burgerMenu, cUrl) { var navItemClass = _NavMenu2.default.navButton; var trimmedTitle = this.state.trimmedTitle; // trimmed title var pageTopic = this.props.pageTopic; var topicBox = pageTopic ? _react2.default.createElement( 'span', { className: _Common2.default['topic-box'] }, pageTopic ) : null; return _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.navContainer, _NavMenu2.default.slidedUpNav) }, _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.navLeft, _NavMenu2.default.slideUp) }, burgerMenu, _react2.default.createElement(DonateButton, { isSlidedUp: true }) ), _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.articleTitle, _NavMenu2.default.fadeRight) }, _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.articleTitleText), ref: 'title' }, topicBox, trimmedTitle ) ), _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.navRight, _NavMenu2.default.fadeLeft) }, _react2.default.createElement( 'div', { className: navItemClass, url: cUrl, appId: _index.appId }, _react2.default.createElement('img', { src: _iconNavbarToc2.default }) ) ) ); } }, { key: 'render', value: function render() { var _this2 = this; var _props2 = this.props; var path = _props2.path; var bgStyle = _props2.bgStyle; var header = _props2.header; var isScrolledOver = _props2.isScrolledOver; var cUrl = (0, _index2.getAbsPath)(this.context.location.pathname, this.context.location.search); var backgroundColor = _index.colors.whiteBg; var navTopBackground = isScrolledOver ? _index.colors.superWhite : _index.colors.whiteBg; var logo = _logoNavbarS2.default; var linkColor = _index.colors.darkBg; var navLinks = []; var burgerIconClass = _NavMenu2.default.navIcon; var navOuterClass = ''; var subNavBar = null; var searchClass = ''; // generate category navigation bar var navItems = [].concat(_index.navPath); navItems.unshift({ title: '首頁', path: '/' }); for (var i in navItems) { var itemClassName = void 0; if (navItems[i].path === path) { itemClassName = _NavMenu2.default.active; } navLinks.push(_react2.default.createElement( _reactRouter.Link, { key: i, style: { color: linkColor }, className: (0, _classnames2.default)(_NavMenu2.default['menu-item'], itemClassName), to: navItems[i].path, onClick: function onClick() { _this2.setState({ open: !_this2.state.open }); } }, _react2.default.createElement( 'h1', null, navItems[i].title ) )); } // if the burger icon is clicked if (this.state.open) { burgerIconClass = (0, _classnames2.default)(_NavMenu2.default.navIcon, _NavMenu2.default.iconOpen); subNavBar = _react2.default.createElement( 'div', { className: _NavMenu2.default.linkOuterContainer }, _react2.default.createElement( 'div', { className: _NavMenu2.default.catLinkContainer }, navLinks ), _react2.default.createElement(_SubNavBar2.default, this.props) ); // change the color of the navbar navOuterClass = _NavCommon2.default['nav-scrolled-outer']; } else { searchClass = 'hidden'; } var burgerMenu = _react2.default.createElement( 'div', { className: burgerIconClass, onClick: function onClick() { _this2.setState({ open: !_this2.state.open }); } }, _react2.default.createElement('span', null), _react2.default.createElement('span', null), _react2.default.createElement('span', null), _react2.default.createElement('span', null) ); if (bgStyle === 'dark' && !this.state.open) { backgroundColor = _index.colors.darkBg; navTopBackground = _index.colors.darkBg; logo = _logoWhiteS2.default; linkColor = _index.colors.whiteBg; } var menuBar = this._renderAritcleFirst(burgerMenu, logo); var searchBox = _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavMenu2.default.topBar, searchClass) }, _react2.default.createElement(_SearchBox2.default, { style: { width: '260px', marginTop: '-5px', display: 'inline-block' }, path: path }) ); // if the page has been scrolled down, show another menu if (isScrolledOver && header.pageType === _index.ARTICLE) { menuBar = this._renderAritcleSecond(burgerMenu, cUrl); navOuterClass = _NavCommon2.default['nav-scrolled-outer']; } return _react2.default.createElement( 'div', { style: { backgroundColor: backgroundColor } }, _react2.default.createElement( 'div', { className: (0, _classnames2.default)(_NavCommon2.default['nav-menu'], navOuterClass), style: { backgroundColor: navTopBackground } }, menuBar, searchBox, subNavBar ) ); } }]); return NavMenu; }(_react.Component); exports.default = NavMenu; var DonateButton = function DonateButton(props) { var isSlidedUp = props.isSlidedUp; var dClass = isSlidedUp ? _NavMenu2.default['up'] : null; return _react2.default.createElement( 'a', { target: '_blank', title: '贊助我們', className: (0, _classnames2.default)(_NavMenu2.default.donateButton, dClass), href: _index.donatePath }, _react2.default.createElement('img', { src: _iconDonation2.default }), _react2.default.createElement( 'span', null, '贊助我們' ) ); }; NavMenu.contextTypes = { location: _react2.default.PropTypes.object }; NavMenu.propTypes = { path: _react2.default.PropTypes.string, pageTitle: _react2.default.PropTypes.string, pageTopic: _react2.default.PropTypes.string };