forked from farhana-shahid/farhana-shahid.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-pages-index-js-14ec6b7ba883b42a633a.js.map
1 lines (1 loc) · 98.1 KB
/
component---src-pages-index-js-14ec6b7ba883b42a633a.js.map
1
{"version":3,"sources":["webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/createClass.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/inherits.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/typeof.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://farhana-shahid.github.io/./node_modules/classnames/index.js","webpack://farhana-shahid.github.io/./node_modules/react-scrollspy/lib/scrollspy.js","webpack://farhana-shahid.github.io/./node_modules/react-scrollspy/lib/throttle.js","webpack://farhana-shahid.github.io/./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack://farhana-shahid.github.io/./config.js","webpack://farhana-shahid.github.io/./src/components/Scroll.js","webpack://farhana-shahid.github.io/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://farhana-shahid.github.io/./src/assets/images/avatar3.jpg","webpack://farhana-shahid.github.io/./src/components/Sidebar.js","webpack://farhana-shahid.github.io/./src/assets/images/rohingyacamp.jpg","webpack://farhana-shahid.github.io/./src/assets/images/FBPost-media.png","webpack://farhana-shahid.github.io/./src/pages/index.js"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","arrayLikeToArray","isArray","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","obj","value","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","subClass","superClass","create","constructor","iter","Symbol","iterator","from","_typeof","assertThisInitialized","self","call","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","minLen","n","toString","slice","name","test","hasOwn","hasOwnProperty","classNames","classes","arguments","arg","argType","push","inner","apply","join","default","_interopRequireDefault","_extends2","_defineProperty2","_toConsumableArray2","_classCallCheck2","_possibleConstructorReturn2","_getPrototypeOf2","_assertThisInitialized2","_createClass2","_inherits2","_propTypes","_react","_classnames","_throttle","Scrollspy","_React$Component","_this","this","state","targetItems","inViewState","isScrolledPast","_handleSpy","bind","get","items","arrayOf","string","isRequired","currentClassName","scrolledPastClassName","style","object","componentTag","oneOfType","elementType","offset","number","rootEl","onUpdate","func","map","item","document","getElementById","array","val","newArray","max","_getScrollDimension","scrollTop","doc","querySelector","documentElement","body","parentNode","scrollHeight","targets","elemsInView","elemsOutView","viewStatusList","hasInViewAlready","currentContent","isInView","_isInView","isLastItem","isScrolled","_isScrolled","_isAtBottom","pop","_fillArray","inView","outView","scrolledPast","_getScrolledPast","el","rootRect","_this$props","getBoundingClientRect","rect","winH","height","window","innerHeight","scrollBottom","elTop","top","elBottom","offsetHeight","_this$_getScrollDimen2","some","hasFoundInView","_this2","elemensViewState","_getElemsViewState","currentStatuses","setState","_update","prevStatuses","a","b","every","index","indexOf","_spy","_initSpyTarget","removeEventListener","addEventListener","_initFromProps","onEvent","offEvent","_this3","Tag","_this$props2","children","className","counter","Children","child","idx","_classNames","ChildTag","type","childClass","concat","createElement","itemClass","Component","_default","fn","last","timer","threshold","undefined","now","Date","clearTimeout","setTimeout","polyfill","w","d","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","original","scroll","scrollTo","scrollBy","elementScroll","scrollElement","scrollIntoView","performance","ROUNDING_TOLERANCE","navigator","RegExp","shouldBailOut","smoothScroll","left","scrollX","pageXOffset","scrollY","pageYOffset","scrollLeft","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","clientRects","getComputedStyle","position","x","y","firstArg","hasScrollableSpace","axis","clientHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","host","step","context","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","siteTitle","manifestName","manifestShortName","manifestStartUrl","manifestBackgroundColor","manifestThemeColor","manifestDisplay","manifestIcon","firstName","lastName","socialLinks","icon","url","book","music","travel","job","handleClick","ReferenceError","componentDidMount","smoothscroll","e","preventDefault","elem","element","timeout","getElementsByClassName","console","log","offSet","elemPos","render","React","onClick","role","tabIndex","onKeyDown","tabs","id","content","href","config","src","avatar","alt","data-toggle","data-target","aria-controls","aria-expanded","aria-label","s","tab","withPrefix","rel","data","Layout","social","class","srcEffect","camp"],"mappings":"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","file":"component---src-pages-index-js-14ec6b7ba883b42a633a.js","sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _throttle = _interopRequireDefault(require(\"./throttle\"));\n\nfunction isEqualArray(a, b) {\n return a.length === b.length && a.every(function (item, index) {\n return item === b[index];\n });\n}\n\nvar Scrollspy = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2.default)(Scrollspy, _React$Component);\n (0, _createClass2.default)(Scrollspy, null, [{\n key: \"propTypes\",\n get: function get() {\n return {\n items: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,\n currentClassName: _propTypes.default.string.isRequired,\n scrolledPastClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n componentTag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.elementType]),\n offset: _propTypes.default.number,\n rootEl: _propTypes.default.string,\n onUpdate: _propTypes.default.func\n };\n }\n }, {\n key: \"defaultProps\",\n get: function get() {\n return {\n items: [],\n currentClassName: '',\n style: {},\n componentTag: 'ul',\n offset: 0,\n onUpdate: function onUpdate() {}\n };\n }\n }]);\n\n function Scrollspy(props) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Scrollspy);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Scrollspy).call(this, props));\n _this.state = {\n targetItems: [],\n inViewState: [],\n isScrolledPast: [] // manually bind as ES6 does not apply this\n // auto binding as React.createClass does\n\n };\n _this._handleSpy = _this._handleSpy.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n (0, _createClass2.default)(Scrollspy, [{\n key: \"_initSpyTarget\",\n value: function _initSpyTarget(items) {\n var targetItems = items.map(function (item) {\n return document.getElementById(item);\n });\n return targetItems;\n } // https://github.com/makotot/react-scrollspy/pull/45\n\n }, {\n key: \"_fillArray\",\n value: function _fillArray(array, val) {\n var newArray = [];\n\n for (var i = 0, max = array.length; i < max; i++) {\n newArray[i] = val;\n }\n\n return newArray;\n }\n }, {\n key: \"_isScrolled\",\n value: function _isScrolled() {\n return this._getScrollDimension().scrollTop > 0;\n }\n }, {\n key: \"_getScrollDimension\",\n value: function _getScrollDimension() {\n var doc = document;\n var rootEl = this.props.rootEl;\n var scrollTop = rootEl ? doc.querySelector(rootEl).scrollTop : doc.documentElement.scrollTop || doc.body.parentNode.scrollTop || doc.body.scrollTop;\n var scrollHeight = rootEl ? doc.querySelector(rootEl).scrollHeight : doc.documentElement.scrollHeight || doc.body.parentNode.scrollHeight || doc.body.scrollHeight;\n return {\n scrollTop: scrollTop,\n scrollHeight: scrollHeight\n };\n }\n }, {\n key: \"_getElemsViewState\",\n value: function _getElemsViewState(targets) {\n var elemsInView = [];\n var elemsOutView = [];\n var viewStatusList = [];\n var targetItems = targets ? targets : this.state.targetItems;\n var hasInViewAlready = false;\n\n for (var i = 0, max = targetItems.length; i < max; i++) {\n var currentContent = targetItems[i];\n var isInView = hasInViewAlready ? false : this._isInView(currentContent);\n\n if (isInView) {\n hasInViewAlready = true;\n elemsInView.push(currentContent);\n } else {\n elemsOutView.push(currentContent);\n }\n\n var isLastItem = i === max - 1;\n\n var isScrolled = this._isScrolled(); // https://github.com/makotot/react-scrollspy/pull/26#issue-167413769\n\n\n var isLastShortItemAtBottom = this._isAtBottom() && this._isInView(currentContent) && !isInView && isLastItem && isScrolled;\n\n if (isLastShortItemAtBottom) {\n elemsOutView.pop();\n elemsOutView.push.apply(elemsOutView, (0, _toConsumableArray2.default)(elemsInView));\n elemsInView = [currentContent];\n viewStatusList = this._fillArray(viewStatusList, false);\n isInView = true;\n }\n\n viewStatusList.push(isInView);\n }\n\n return {\n inView: elemsInView,\n outView: elemsOutView,\n viewStatusList: viewStatusList,\n scrolledPast: this.props.scrolledPastClassName && this._getScrolledPast(viewStatusList)\n };\n }\n }, {\n key: \"_isInView\",\n value: function _isInView(el) {\n if (!el) {\n return false;\n }\n\n var _this$props = this.props,\n rootEl = _this$props.rootEl,\n offset = _this$props.offset;\n var rootRect;\n\n if (rootEl) {\n rootRect = document.querySelector(rootEl).getBoundingClientRect();\n }\n\n var rect = el.getBoundingClientRect();\n var winH = rootEl ? rootRect.height : window.innerHeight;\n\n var _this$_getScrollDimen = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen.scrollTop;\n\n var scrollBottom = scrollTop + winH;\n var elTop = rootEl ? rect.top + scrollTop - rootRect.top + offset : rect.top + scrollTop + offset;\n var elBottom = elTop + el.offsetHeight;\n return elTop < scrollBottom && elBottom > scrollTop;\n }\n }, {\n key: \"_isAtBottom\",\n value: function _isAtBottom() {\n var rootEl = this.props.rootEl;\n\n var _this$_getScrollDimen2 = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen2.scrollTop,\n scrollHeight = _this$_getScrollDimen2.scrollHeight;\n\n var winH = rootEl ? document.querySelector(rootEl).getBoundingClientRect().height : window.innerHeight;\n var scrolledToBottom = scrollTop + winH >= scrollHeight;\n return scrolledToBottom;\n }\n }, {\n key: \"_getScrolledPast\",\n value: function _getScrolledPast(viewStatusList) {\n if (!viewStatusList.some(function (item) {\n return item;\n })) {\n return viewStatusList;\n }\n\n var hasFoundInView = false;\n var scrolledPastItems = viewStatusList.map(function (item) {\n if (item && !hasFoundInView) {\n hasFoundInView = true;\n return false;\n }\n\n return !hasFoundInView;\n });\n return scrolledPastItems;\n }\n }, {\n key: \"_spy\",\n value: function _spy(targets) {\n var _this2 = this;\n\n var elemensViewState = this._getElemsViewState(targets);\n\n var currentStatuses = this.state.inViewState;\n this.setState({\n inViewState: elemensViewState.viewStatusList,\n isScrolledPast: elemensViewState.scrolledPast\n }, function () {\n _this2._update(currentStatuses);\n });\n }\n }, {\n key: \"_update\",\n value: function _update(prevStatuses) {\n if (isEqualArray(this.state.inViewState, prevStatuses)) {\n return;\n }\n\n this.props.onUpdate(this.state.targetItems[this.state.inViewState.indexOf(true)]);\n }\n }, {\n key: \"_handleSpy\",\n value: function _handleSpy() {\n (0, _throttle.default)(this._spy(), 100);\n }\n }, {\n key: \"_initFromProps\",\n value: function _initFromProps() {\n var targetItems = this._initSpyTarget(this.props.items);\n\n this.setState({\n targetItems: targetItems\n });\n\n this._spy(targetItems);\n }\n }, {\n key: \"offEvent\",\n value: function offEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.removeEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"onEvent\",\n value: function onEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.addEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._initFromProps();\n\n this.onEvent();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.offEvent();\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps() {\n this._initFromProps();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var Tag = this.props.componentTag;\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n scrolledPastClassName = _this$props2.scrolledPastClassName,\n style = _this$props2.style;\n var counter = 0;\n\n var items = _react.default.Children.map(children, function (child, idx) {\n var _classNames;\n\n if (!child) {\n return null;\n }\n\n var ChildTag = child.type;\n var isScrolledPast = scrolledPastClassName && _this3.state.isScrolledPast[idx];\n var childClass = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(child.props.className), child.props.className), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.currentClassName), _this3.state.inViewState[idx]), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.scrolledPastClassName), isScrolledPast), _classNames));\n return _react.default.createElement(ChildTag, (0, _extends2.default)({}, child.props, {\n className: childClass,\n key: counter++\n }), child.props.children);\n });\n\n var itemClass = (0, _classnames.default)((0, _defineProperty2.default)({}, \"\".concat(className), className));\n return _react.default.createElement(Tag, {\n className: itemClass,\n style: style\n }, items);\n }\n }]);\n return Scrollspy;\n}(_react.default.Component);\n\nexports.default = Scrollspy;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar throttle = function throttle(fn) {\n var threshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n var last;\n var timer;\n return function () {\n var now = +new Date();\n var timePassed = !!last && now < last + threshold;\n\n if (timePassed) {\n clearTimeout(timer);\n timer = setTimeout(function () {\n last = now;\n fn();\n }, threshold);\n } else {\n last = now;\n fn();\n }\n };\n};\n\nvar _default = throttle;\nexports.default = _default;","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict'; // polyfill\n\n function polyfill() {\n // aliases\n var w = window;\n var d = document; // return if scroll behavior is supported and polyfill is not forced\n\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n } // globals\n\n\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468; // object gathering original scroll methods\n\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n }; // define timing method\n\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n\n\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n\n\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n\n\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n } // throw error when behavior is not supported\n\n\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n\n\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n\n\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME; // avoid elapsed times higher than one\n\n elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time\n\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY); // scroll more if we have not reached our destination\n\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now(); // define scroll context\n\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n } // scroll looping over a frame\n\n\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n } // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n\n\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset, // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n }; // w.scrollBy\n\n\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n }; // Element.prototype.scroll and Element.prototype.scrollTo\n\n\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(this, // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft, // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN!\n\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n }; // Element.prototype.scrollBy\n\n\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n }; // Element.prototype.scrollIntoView\n\n\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top); // reveal parent in viewport unless is fixed\n\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","module.exports = {\r\n siteTitle: 'Farhana Shahid', // <title>\r\n manifestName: 'Resume',\r\n manifestShortName: 'Landing', // max 12 characters\r\n manifestStartUrl: '/',\r\n manifestBackgroundColor: '#663399',\r\n manifestThemeColor: '#663399',\r\n manifestDisplay: 'standalone',\r\n manifestIcon: 'src/assets/img/website-icon.png',\r\n firstName: 'Farhana ',\r\n lastName: 'Shahid',\r\n // social\r\n socialLinks: [\r\n {\r\n icon: 'fa fa-envelope',\r\n name: 'Email',\r\n url: 'mailto:[email protected]'\r\n },\r\n {\r\n icon: 'ai ai-google-scholar',\r\n name: 'Google Scholar',\r\n url: 'https://scholar.google.com/citations?user=mYk4EZsAAAAJ',\r\n },\r\n {\r\n icon: 'fab fa-linkedin-in',\r\n name: 'Linked In',\r\n url: 'https://www.linkedin.com/in/farhana-shahid',\r\n },\r\n {\r\n icon: 'fab fa-twitter',\r\n name: 'Twitter',\r\n url: 'https://twitter.com/FarhanaShahid_',\r\n },\r\n {\r\n icon: 'fab fa-github',\r\n name: 'Github',\r\n url: 'https://github.com/farhana-shahid',\r\n },\r\n {\r\n icon: 'fab fa-goodreads-g',\r\n name: 'Goodreads',\r\n url: 'https://www.goodreads.com/user/show/52763346-farhana',\r\n },\r\n ],\r\n book: 'Books',\r\n music: 'Music',\r\n travel: 'Travel',\r\n job: 'Research',\r\n};\r\n","import smoothscroll from 'smoothscroll-polyfill';\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Element = props => {\r\n return props.children;\r\n};\r\n\r\nclass Scroll extends React.Component {\r\n static propTypes = {\r\n type: PropTypes.string,\r\n element: PropTypes.string,\r\n offset: PropTypes.number,\r\n timeout: PropTypes.number,\r\n children: PropTypes.node.isRequired,\r\n };\r\n constructor() {\r\n super();\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n componentDidMount() {\r\n smoothscroll.polyfill();\r\n }\r\n handleClick(e) {\r\n e.preventDefault();\r\n let elem = 0;\r\n let scroll = true;\r\n const { type, element, offset, timeout } = this.props;\r\n if (type && element) {\r\n switch (type) {\r\n case 'class':\r\n elem = document.getElementsByClassName(element)[0];\r\n scroll = elem ? true : false;\r\n break;\r\n case 'id':\r\n elem = document.getElementById(element);\r\n scroll = elem ? true : false;\r\n break;\r\n default:\r\n }\r\n }\r\n scroll\r\n ? this.scrollTo(elem, offset, timeout)\r\n : console.log(`Element not found: ${element}`); // eslint-disable-line\r\n }\r\n scrollTo(element, offSet = 0, timeout = null) {\r\n const elemPos = element\r\n ? element.getBoundingClientRect().top + window.pageYOffset\r\n : 0;\r\n if (timeout) {\r\n setTimeout(() => {\r\n window.scroll({ top: elemPos + offSet, left: 0, behavior: 'smooth' });\r\n }, timeout);\r\n } else {\r\n window.scroll({ top: elemPos + offSet, left: 0, behavior: 'smooth' });\r\n }\r\n }\r\n render() {\r\n return (\r\n <Element>\r\n {typeof this.props.children === 'object' ? (\r\n React.cloneElement(this.props.children, { onClick: this.handleClick})\r\n ) : (\r\n <span role = \"button\" tabIndex={0} onClick={this.handleClick} onKeyDown={this.handleClick}>{this.props.children}</span>\r\n )}\r\n </Element>\r\n );\r\n }\r\n}\r\n\r\nexport default Scroll;\r\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default __webpack_public_path__ + \"static/avatar3-896688793e322d2558ab5853b00ef60d.jpg\";","import React, { Component } from 'react';\r\nimport Scrollspy from 'react-scrollspy';\r\nimport Scroll from './Scroll';\r\n\r\nimport avatar from '../assets/images/avatar3.jpg';\r\nimport config from '../../config';\r\nimport { withPrefix } from 'gatsby'\r\n\r\nexport class Sidebar extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabs: [\r\n { id: 'about', content: 'About', href: 'about' },\r\n { id: 'publication', content: 'Publications', href: 'publication' },\r\n { id: 'research', content: 'Research', href: 'research' },\r\n { id: 'teaching', content: 'Teaching', href: 'teaching' }, \r\n ],\r\n };\r\n }\r\n\r\n render() {\r\n const { tabs } = this.state;\r\n return (\r\n <nav\r\n className=\"navbar navbar-expand-lg navbar-dark bg-primary fixed-top\"\r\n id=\"sideNav\"\r\n >\r\n <a className=\"navbar-brand\" href=\"#page-top\">\r\n <span className=\"d-block d-lg-none\">\r\n {config.firstName} {config.lastName}\r\n </span>\r\n <span className=\"d-none d-lg-block\">\r\n <img\r\n className=\"img-fluid img-profile rounded-circle mx-auto mb-2\"\r\n src={avatar}\r\n alt=\"\"\r\n />\r\n </span>\r\n </a>\r\n <button\r\n className=\"navbar-toggler\"\r\n type=\"button\"\r\n data-toggle=\"collapse\"\r\n data-target=\"#navbarSupportedContent\"\r\n aria-controls=\"navbarSupportedContent\"\r\n aria-expanded=\"false\"\r\n aria-label=\"Toggle navigation\"\r\n >\r\n <span className=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div className=\"collapse navbar-collapse\" id=\"navbarSupportedContent\">\r\n <Scrollspy\r\n items={tabs.map(s => s.href)}\r\n currentClassName=\"active\"\r\n offset={-300}\r\n className=\"navbar-nav\"\r\n >\r\n {tabs.map((tab, i) => {\r\n const { id, href, content } = tab;\r\n if (id==='cv'){\r\n \treturn(\r\n \t\t<li className=\"nav-item\" key={href}>\r\n \t\t<a className=\"nav-link\" href={withPrefix('/files/FSH Resume.pdf')}\r\n \t\ttarget=\"_blank\" rel=\"noopener noreferrer\">{content}</a>\r\n \t\t</li>\r\n \t);\r\n }\r\n else{\r\n \treturn (\r\n\t <li className=\"nav-item\" key={href}>\r\n\t <Scroll type=\"id\" element={href}>\r\n\t <a className=\"nav-link\" href={`#${href}`}>\r\n\t {content}\r\n\t </a>\r\n\t </Scroll>\r\n\t </li>\r\n );\r\n \t\r\n }\r\n \r\n })}\r\n </Scrollspy>\r\n </div>\r\n </nav>\r\n );\r\n }\r\n}\r\n\r\nexport default Sidebar;\r\n","export default __webpack_public_path__ + \"static/rohingyacamp-244cee3dc943ce000d4e3d0da755dc18.jpg\";","export default __webpack_public_path__ + \"static/FBPost-media-ac0e9bfcc20182e1bf1dfd549b25462b.png\";","import React from \"react\";\r\nimport { withPrefix } from \"gatsby\";\r\n\r\nimport Layout from \"../components/Layout\";\r\nimport Sidebar from \"../components/Sidebar\";\r\nimport config from \"../../config\";\r\n\r\nimport camp from \"../assets/images/rohingyacamp.jpg\";\r\nimport srcEffect from \"../assets/images/FBPost-media.png\";\r\n\r\nconst Named =({ data }) => (\r\n <Layout>\r\n <Sidebar />\r\n <div className=\"container-fluid p-0\">\r\n <section\r\n className=\"resume-section p-lg-5 p-md-4 d-flex align-items-center\"\r\n id=\"about\"\r\n >\r\n <div className=\"w-100\">\r\n <h1 className=\"mb-0\">\r\n {config.firstName}\r\n <span className=\"text-primary\">{config.lastName}</span>\r\n </h1>\r\n <div className=\"subheading mb-5\">\r\n {config.job} + {config.book} + {config.music} + {config.travel} = 🙆♀️\r\n </div>\r\n <div className=\"intro-container\">\r\n <div className=\"introduction\">\r\n <p className=\"lead\">\r\n Hi, I am Farhana (she/ her/ hers) from Bangladesh! I rethink the design and use\r\n of technologies to address the needs of low-resource\r\n communities.\r\n <br />\r\n <br />I am a first year PhD student in{\" \"}\r\n <a\r\n href=\"https://infosci.cornell.edu/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Cornell Information Science</span>\r\n </a>{\" \"}\r\n working with Professor{\" \"}\r\n <a\r\n href=\"https://www.adityavashistha.com/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Aditya Vashistha</span>\r\n </a>\r\n . My research focuses on the design, use, and adaptation of\r\n existing technologies to meet the needs of underserved\r\n communities for upholding their right to digital inclusion. My\r\n goal is not only to solve problems. Rather I aspire to bring\r\n solutions that are{\" \"}\r\n <span className=\"sym-icon\">accessible, adaptable,</span> and{\" \"}\r\n <span className=\"sym-icon\">acceptable</span> to the communities with and for whom\r\n I am working.\r\n <br />\r\n <br />\r\n Before coming to the US, I obtained both my BSc and MSc degrees\r\n in Computer Science and Engineering from{\" \"}\r\n <a\r\n href=\"https://cse.buet.ac.bd/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">BUET</span>\r\n </a>\r\n , where I worked with Professor{\" \"}\r\n <a\r\n href=\"https://sites.google.com/site/abmalimalislam/home\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">A. B. M. Alim Al Islam.</span>\r\n </a>{\" \"}\r\n I also\r\n spent around four wonderful years at{\" \"}\r\n <a\r\n href=\"https://www.bracu.ac.bd/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Brac University</span>\r\n </a>{\" \"}\r\n and{\" \"}\r\n <a\r\n href=\"https://www.easternuni.edu.bd/\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Eastern University</span>\r\n </a>{\" \"}\r\n serving as a lecturer of CSE, where I closely worked with\r\n undergraduate students.\r\n <br />\r\n <br />\r\n Apart from research, I am very much drawn to books, concerts, long walks, full moons, and solo travels. And I am trying \r\n to embrace 2Q22 with kindness, empathy, and self-care. \r\n <br />\r\n <br />\r\n <a\r\n href={withPrefix(\"/files/FSH CV.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\"><b>Download CV</b></span>\r\n </a>{\" \"}\r\n </p>\r\n\r\n <div className=\"social-icons\">\r\n {config.socialLinks.map((social) => {\r\n const { icon, url } = social;\r\n return (\r\n <a\r\n key={url}\r\n href={url}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <i className={icon}></i>\r\n </a>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n\r\n <div className=\"news\">\r\n <span className=\"recNews\">\r\n <b>Recent News</b>\r\n </span>\r\n <ul class=\"fa-ul\">\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-chalkboard-teacher\"></i>\r\n </span>\r\n <b>May 22</b>: Presented our paper on users' perceptions of fake videos in CHI!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-hands-helping\"></i>\r\n </span>\r\n <b>May 22</b>: Volunteered at CHI!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-pen-square\"></i>\r\n </span>\r\n <b>Feb 22</b>: Paper on perceptions and attitudes around fake videos accepted at CHI!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-award\"></i>\r\n </span>\r\n <b>Feb 22</b>: Selected as a Finalist in <span className=\"sym-icon\"><b>Meta PhD Research Fellowship </b></span>\r\n under Social Media, People, and Society category!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-pen-square\"></i>\r\n </span>\r\n <b>Dec 21</b>: Paper on source effect on the perceptions of fake news accepted at CSCW!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-hands-helping\"></i>\r\n </span>\r\n <b>Oct 21</b>: Volunteered at CSCW!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-hands-helping\"></i>\r\n </span>\r\n <b>Sep 21</b>: Volunteered at UbiComp!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-user-graduate\"></i>\r\n </span>\r\n <b>Jun 21</b>: Started PhD at Cornell University!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-graduation-cap\"></i>\r\n </span>\r\n <b>May 21</b>: Defended MSc thesis at BUET!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-hands-helping\"></i>\r\n </span>\r\n <b>May 21</b>: Volunteered at CHI!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-chalkboard-teacher\"></i>\r\n </span>\r\n <b>Oct 20</b>: Presented our paper on dengue epidemic in\r\n Bangladesh at CSCW!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-award\"></i>\r\n </span>\r\n <b>Oct 20</b>: Our work on 2019 Dengue epidemic in Bangladesh\r\n won{\" \"}\r\n <span className=\"sym-icon\"><b>CSCW Honorable Mention Award</b></span>\r\n !\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-award\"></i>\r\n </span>\r\n <b>Sep 20</b>: Our work on PTSD among Rohingya refugees won{\" \"}\r\n <span className=\"sym-icon\">\r\n <b>IMWUT Distinguished Paper Award</b>\r\n </span>\r\n !\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-chalkboard-teacher\"></i>\r\n </span>\r\n <b>Sep 20</b>: Presented our paper on PTSD and free-hand\r\n sketches at UbiComp!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-pen-square\"></i>\r\n </span>\r\n <b>Jul 20</b>: Paper on PTSD and free-hand sketches accepted\r\n at IMWUT!\r\n </li>\r\n <li>\r\n <span class=\"fa-li\">\r\n <i class=\"fas fa-pen-square\"></i>\r\n </span>\r\n <b>Apr 20</b>: Paper on dengue epidemic accepted at CSCW!\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <hr className=\"m-0\" />\r\n\r\n <section\r\n className=\"resume-section p-lg-5 p-md-4 d-flex justify-content-center\"\r\n id=\"publication\"\r\n >\r\n <div className=\"w-100\">\r\n <h2 className=\"mb-5\">Publications</h2>\r\n\r\n\r\n\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-3\">\r\n <div className=\"resume-content\">\r\n <h3 className=\"mb-0\">2022</h3>\r\n <ul className=\"papers\">\r\n <li className=\"paper\">\r\n <a\r\n href=\"https://dl.acm.org/doi/10.1145/3491102.3517646\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">\"It Matches My Worldview\": Examining Perceptions and Attitudes Around Fake Videos.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>, Srujana Kamath, Annie Sidotam, Vivian Jiang, Alexa Batino, and Aditya Vashistha. \r\n In{\" \"}\r\n <span className=\"publishedwhere\">\r\n {\" \"}\r\n CHI Conference on Human Factors in Computing Systems (CHI 2022).\r\n </span> [\r\n <a\r\n href={withPrefix(\"/files/chi22_fake_video.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n PDF\r\n </a>\r\n ][\r\n <a\r\n href={withPrefix(\"/files/chi22_deepfake.pptx\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n CHI'22 Presentation\r\n </a>\r\n ] [\r\n <a\r\n href={\"https://youtu.be/m5rI7HE2Rrk\"}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Video\r\n </a>\r\n ]\r\n <br/>\r\n </li> \r\n <br/>\r\n\r\n <li className=\"paper\">\r\n <a\r\n href=\"https://dl.acm.org/doi/10.1145/3512936\"\r\n target=\"_blank\"\r\n rel=\"noopener\r\n noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Examining Source Effects on Perceptions of Fake News in Rural India.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>, Shrirang Mare, and Aditya Vashistha. In{\" \"}\r\n <span className=\"publishedwhere\">\r\n {\" \"}\r\n Proceedings of the ACM on Human-Computer Interaction\r\n </span>\r\n : Vol. 6, Issue CSCW1, Article 89. [\r\n <a\r\n href={withPrefix(\"/files/Source_Effect_CSCW.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n PDF\r\n </a>\r\n ] \r\n <br/>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-3\">\r\n <div className=\"resume-content\">\r\n <h3 className=\"mb-0\">2021</h3>\r\n <ul className=\"papers\">\r\n <li className=\"paper\">\r\n <a\r\n href={withPrefix(\"/files/FSH_MSc_Thesis.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Leveraging Features from EEG and Free-Hand Sketches for\r\n Effective Diagnosis of Post-Traumatic Stress Disorder.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>. M.Sc. Engg.\r\n Thesis, Department of Computer Science and Engineering, BUET.\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-3\">\r\n <div className=\"resume-content\">\r\n <h3 className=\"mb-0\">2020</h3>\r\n <ul className=\"papers\">\r\n <li className=\"paper\">\r\n <a\r\n href=\"https://dl.acm.org/doi/10.1145/3411835\"\r\n target=\"_blank\"\r\n rel=\"noopener\r\n\t noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Leveraging Free-Hand Sketches for Potential Screening of\r\n PTSD.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>, Wasifur\r\n Rahman, M. Saifur Rahman, Sharmin Akther Purabi, Ayesha\r\n Seddiqa, Moin Mostakim, Farhan Feroz, Tanjir Rashid Soron,\r\n Fahmida Hossain, Nabila Khan, Anika Binte Islam, Nipi Paul,\r\n Ehsan Hoque, and A. B. M. Alim Al Islam. In{\" \"}\r\n <span className=\"publishedwhere\">\r\n {\" \"}\r\n Proceedings of the ACM on Interactive Mobile, Wearable and\r\n Ubiquitous Technologies (IMWUT' 20)\r\n </span>\r\n : Vol. 4, No. 3, Article 94. [\r\n <a\r\n href={withPrefix(\"/files/Sketch_Camera_Ready.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n PDF\r\n </a>\r\n ] [\r\n <a\r\n href={withPrefix(\"/files/UbiComp20_Sketch.pptx\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n UbiComp'20 Presentation\r\n </a>\r\n ] [\r\n <a\r\n href={\"https://youtu.be/-L8GdW69AFU\"}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Video\r\n </a>\r\n ]\r\n </li>\r\n <br />\r\n\r\n <li className=\"paper\">\r\n <a\r\n href=\"https://dl.acm.org/doi/10.1145/3392875\"\r\n target=\"_blank\"\r\n rel=\"noopener\r\n\t noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Learning from Tweets: Opportunities and Challenges to Inform\r\n Policy Making During Dengue Epidemic.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>, Shahinul\r\n Hoque Ony, Takrim Rahman Albi, Sriram Chellappan, Aditya\r\n Vashistha, and A. B. M. Alim Al Islam. In{\" \"}\r\n <span className=\"publishedwhere\">\r\n {\" \"}\r\n Proceedings of the ACM on Human-Computer Interaction\r\n </span>\r\n : Vol. 4, Issue CSCW1, Article 65. <br/>[\r\n <a\r\n href={withPrefix(\"/files/cscw_dengue_2020.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n PDF\r\n </a>\r\n ] [\r\n <a\r\n href={withPrefix(\"/files/CSCW20_Presentation.pptx\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n CSCW'20 Presentation\r\n </a>\r\n ] [\r\n <a\r\n href={\"https://youtu.be/Oe0fD_LwpyY\"}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Video\r\n </a>\r\n ]\r\n </li>\r\n <span class=\"sym-icon\">\r\n <i class=\"fas fa-award\"></i>\r\n <b> CSCW Honorable Mention Award</b>\r\n </span>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between\">\r\n <div className=\"resume-content\">\r\n <h3 className=\"mb-0\">2019</h3>\r\n <ul className=\"papers\">\r\n <li className=\"paper\">\r\n <a\r\n href=\"https://dl.acm.org/doi/10.1145/3351259\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">Two Tell-tale Perspectives of PTSD: Neurobiological\r\n Abnormalities and Bayesian Regulatory Network of the\r\n Underlying Disorder in a Refugee Context.</span>\r\n </a>\r\n <br />\r\n <span className=\"authorMe\">Farhana Shahid</span>, Wasifur\r\n Rahman, Anika Binte Islam, Nipi Paul, Nabila Khan, Mohammad\r\n Saifur Rahman, Md Munirul Haque, and A. B. M. Alim Al Islam.\r\n In{\" \"}\r\n <span className=\"publishedwhere\">\r\n Proceedings of the ACM on Interactive Mobile, Wearable and\r\n Ubiquitous Technologies (IMWUT' 19)\r\n </span>\r\n : Vol. 3, No. 3, Article 101. [\r\n <a\r\n href={withPrefix(\"/files/FSH_IMWUT19.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n PDF\r\n </a>\r\n ] [\r\n <a\r\n href={withPrefix(\"/files/UbiComp19_PTSD.pptx\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n UbiComp'19 Presentation\r\n </a>\r\n ]\r\n </li>\r\n <span class=\"sym-icon\">\r\n <i class=\"fas fa-award\"></i>\r\n <b> IMWUT Distinguished Paper Award</b>\r\n </span>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <hr className=\"m-0\" />\r\n\r\n <section\r\n className=\"resume-section p-lg-5 p-md-4 d-flex align-items-center\"\r\n id=\"research\"\r\n >\r\n <div className=\"w-100\">\r\n <h2 className=\"mb-5\">Research</h2>\r\n\r\n <h3 className=\"mb-3\">Appointments</h3>\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n <div className=\"resume-content\">\r\n <h4 className=\"mb-0\">Graduate Research Assistant</h4>\r\n <div className=\"subheading mb-1\">\r\n Department of Information Science, Cornell University\r\n </div>\r\n </div>\r\n <div className=\"resume-date text-md-right\">\r\n <span className=\"text-primary\">Summer 2022, Spring 2022, Summer 2021</span>\r\n </div>\r\n </div>\r\n\r\n\r\n <h3 className=\"mb-3\">Projects</h3>\r\n\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n\r\n <div className=\"resume-content\">\r\n\r\n <h4 className=\"mb-3\">Misinformation in the Global South</h4>\r\n <div className=\"paper-container\">\r\n <div className=\"paper-body\">\r\n <p className=\"paper\">\r\n Following the widespread growth of social media platforms in the Global North, these services \r\n are now aiming at the billions of new users emerging from the Global South. Many of these first \r\n generation Internet users are often low-literate, lack technological know-hows, and are \r\n exposed to global platforms that do not usually incorporate local values and sensibilities in their design. \r\n All these make them more susceptible to the harms of online misinformation and fake \r\n news. However, there is little focus on how users from the Global South perceive, interact, and deal \r\n with different modalities (i.e., text, image, video, or audio) of misinformation. In this regard, we study \r\n what factors influence users' perceptions and mental models of misinformation and \r\n explore how to incorporate responsible design practices on social media to better help these \r\n users deal with online misinformation and fake news.\r\n\r\n <br />\r\n Publications:{\" \"}\r\n <a\r\n href={withPrefix(\"/files/Source_Effect_CSCW.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">CSCW 2022</span>\r\n </a>\r\n ,\r\n <a\r\n href={withPrefix(\"/files/chi22_fake_video.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n {\" \"}\r\n <span className=\"sym-icon\">CHI 2022</span>\r\n </a>\r\n </p>\r\n </div>\r\n <div className=\"paper-image\">\r\n <img\r\n className=\"img-fluid\"\r\n src={srcEffect}\r\n alt=\"A simulated Facebook post from actor Priyanka Chopra saying Delhi Chief Minister Arvvind Kejriwal \r\n has said that the number of coronavirus-related deaths has declined.\"\r\n />\r\n <p className=\"img-caption\">\r\n Controlled experiment to see how various sources (e.g., news media) affect users' trust in online news.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n\r\n <div className=\"resume-content\">\r\n\r\n <h4 className=\"mb-3\">PTSD within Low-Resource Communities</h4>\r\n <div className=\"paper-container\">\r\n <div className=\"paper-body\">\r\n <p className=\"paper\">\r\n Critical lack of trained mental health professionals,\r\n communication and cultural barriers, social stigma around\r\n mental health in low-rosurce communities expose the\r\n traumatized individuals to greater health risks. Traditional\r\n diagnostic tools of PTSD often suffer from under-utilization\r\n due to various issues associated with human-human\r\n interactions while applying them within resource-scarce\r\n populations. In this regard, we aim to explore alternative\r\n methods to potentially screen for PTSD using various\r\n low-cost, off-the-shelf tools, e.g., portable EEG headsets\r\n and free-hand sketches using simple pencil and paper.\r\n Findings from our field work involving refugees and\r\n slum-dwellers enable us to identify scopes for improvement\r\n in screening the potential cases of PTSD within low-rosurce\r\n communities.\r\n <br />\r\n Publications:{\" \"}\r\n <a\r\n href={withPrefix(\"/files/FSH_IMWUT19.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n <span className=\"sym-icon\">IMWUT 2019</span>\r\n </a>\r\n ,\r\n <a\r\n href={withPrefix(\"/files/Sketch_Camera_Ready.pdf\")}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n {\" \"}\r\n <span className=\"sym-icon\">IMWUT 2020</span>\r\n </a>\r\n </p>\r\n </div>\r\n <div className=\"paper-image\">\r\n <img\r\n className=\"img-fluid\"\r\n src={camp}\r\n alt=\"Some female Rohingya refugees are waiting in a room for interview in the camp area\"\r\n />\r\n <p className=\"img-caption\">\r\n Kutupalong Rohingya refugee camp, Cox's Bazar, Bangladesh\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <hr className=\"m-0\" />\r\n\r\n <section\r\n className=\"resume-section p-lg-5 p-md-4 d-flex align-items-center\"\r\n id=\"teaching\"\r\n >\r\n <div className=\"w-100\">\r\n <h2 className=\"mb-5\">Teaching</h2>\r\n\r\n <h3 className=\"mb-3\">Appointments</h3>\r\n\r\n \r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n <div className=\"resume-content\">\r\n <h4 className=\"mb-0\">Graduate Teaching Assistant</h4>\r\n <div className=\"subheading mb-1\">\r\n Department of Information Science, Cornell University\r\n </div>\r\n </div>\r\n <div className=\"resume-date text-md-right\">\r\n <span className=\"text-primary\">Aug 2021 - Dec 2021</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n <div className=\"resume-content\">\r\n <h4 className=\"mb-0\">Lecturer</h4>\r\n <div className=\"subheading mb-1\">\r\n Department of Computer Science and Engineering, Brac University\r\n </div>\r\n </div>\r\n <div className=\"resume-date text-md-right\">\r\n <span className=\"text-primary\">May 2018 - May 2021</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"resume-item d-flex flex-column flex-md-row justify-content-between mb-5\">\r\n <div className=\"resume-content\">\r\n <h4 className=\"mb-0\">Lecturer</h4>\r\n <div className=\"subheading mb-1\">\r\n Department of Computer Science and Engineering, Eastern\r\n University\r\n </div>\r\n </div>\r\n <div className=\"resume-date text-md-right\">\r\n <span className=\"text-primary\">September 2017 - April 2018</span>\r\n </div>\r\n </div>\r\n\r\n <h3 className=\"mb-3\">Courses Taught</h3>\r\n\r\n <ul className=\"fa-ul mb-0\">\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Computing and Global Development (Fall 2021)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Computer Graphics (Spring 2021, Fall 2020, Summer 2020, Spring\r\n 2020, Fall 2019, Summer 2019, Spring 2019, Spring 2018)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Pattern Recognition (Fall 2020, Summer 2020)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Artificial Intelligence (Spring 2020, Fall 2019)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Object Oriented Programming (Fall 2019, Summer 2019, Spring 2019,\r\n Fall 2018, Summer 2018)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Digital Logic Design (Spring 2020, Summer 2018)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Algorithms (Summer 2019, Fall 2019, Summer 2018)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Data Structures (Summer 2019, Summer 2018)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Operating Systems (Spring 2018, Fall 2017)\r\n </li>\r\n <li>\r\n <i className=\"fa-li fa fa-check\"></i>\r\n Mathematical Analysis for Computer Science (Fall 2017)\r\n </li>\r\n </ul>\r\n <br />\r\n </div>\r\n </section>\r\n </div>\r\n </Layout>\r\n);\r\n\r\nexport default Named;\r\n"],"sourceRoot":""}