twreporter-react
Version:
React-Redux site for The Reporter Foundation in Taiwan
433 lines (363 loc) • 27.2 kB
JavaScript
'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
};