{"version":3,"file":"js/application-dfcb51f697b2a09c6bef.js","mappings":"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","sources":["webpack://pomodoro-dashboard/./app/javascript/channels/ sync _channel\\.js$","webpack://pomodoro-dashboard/./app/javascript/images/ sync ^\\.\\/.*$","webpack://pomodoro-dashboard/./app/javascript/channels/index.js","webpack://pomodoro-dashboard/./app/javascript/components/Heading/Heading.jsx","webpack://pomodoro-dashboard/./app/javascript/components/RollingTomato/RollingTomato.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/TomatoRoll/TomatoRoll.jsx","webpack://pomodoro-dashboard/./app/javascript/store/index.js","webpack://pomodoro-dashboard/./app/javascript/components/Notification/Notification.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Label/Label.jsx","webpack://pomodoro-dashboard/./app/javascript/components/TextField/TextField.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Button/Button.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Footer/Footer.jsx","webpack://pomodoro-dashboard/./app/javascript/components/PageContent/PageContent.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/SignIn/SignIn.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/UserInitialsUtils.js","webpack://pomodoro-dashboard/./app/javascript/components/User/User.jsx","webpack://pomodoro-dashboard/./app/javascript/components/UserGroup/UserGroup.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/TimerUtils.js","webpack://pomodoro-dashboard/./app/javascript/utils/TimeFormatter.js","webpack://pomodoro-dashboard/./app/javascript/components/Countdown/Countdown.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SpaceCard/SpaceCard.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SpaceCreateCard/SpaceCreateCard.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SpaceLoadingCard/SpaceLoadingCard.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SpaceNotFoundCard/SpaceNotFoundCard.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconList.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconSettings.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconExit.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconDashboard.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Tooltip/Tooltip.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Sidebar/Sidebar.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconSearch.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SearchField/SearchField.jsx","webpack://pomodoro-dashboard/./app/javascript/components/PageWithSidebar/PageWithSidebar.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/Spaces/Spaces.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/SpaceUtils.js","webpack://pomodoro-dashboard/./app/javascript/utils/Luxafor.js","webpack://pomodoro-dashboard/./app/javascript/components/Timer/breakMessages.js","webpack://pomodoro-dashboard/./app/javascript/utils/Favicon.js","webpack://pomodoro-dashboard/./app/javascript/components/Timer/Timer.jsx","webpack://pomodoro-dashboard/./app/javascript/components/TimerOption/TimerOption.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Backdrop/Backdrop.jsx","webpack://pomodoro-dashboard/./app/javascript/components/CustomTimerModal/CustomTimerModal.jsx","webpack://pomodoro-dashboard/./app/javascript/components/TimerPicker/TimerPicker.jsx","webpack://pomodoro-dashboard/./app/javascript/components/NotificationModal/NotificationModal.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/EventManager.js","webpack://pomodoro-dashboard/./app/javascript/components/CopyableLink/CopyableLink.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SpaceLinks/SpaceLinks.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/AlarmUtils.js","webpack://pomodoro-dashboard/./app/javascript/pages/Space/Space.jsx","webpack://pomodoro-dashboard/./app/javascript/channels/consumer.js","webpack://pomodoro-dashboard/./app/javascript/providers/SharedSpaceProvider.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/SharedSpace/SharedSpace.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/NameGenerator.js","webpack://pomodoro-dashboard/./app/javascript/pages/NewSpace/NewSpace.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/NewOrganisation/NewOrganisation.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/InviteToOrganisation/InviteToOrganisation.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/Locations.js","webpack://pomodoro-dashboard/./app/javascript/components/Checkbox/Checkbox.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Slider/Slider.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Dropdown/Dropdown.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/IconArrowRight.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SettingsMenu/SettingsMenu.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/SettingsProfile/SettingsProfile.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/SettingsOrganisation/SettingsOrganisation.jsx","webpack://pomodoro-dashboard/./app/javascript/components/Icons/iconEdit.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SettingsUsersTableRow/SettingsUsersTableRow.jsx","webpack://pomodoro-dashboard/./app/javascript/components/SettingsUsersTable/SettingsUsersTable.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/SettingsUsers/SettingsUsers.jsx","webpack://pomodoro-dashboard/./app/javascript/components/DashboardTableRow/DashboardTableRow.jsx","webpack://pomodoro-dashboard/./app/javascript/components/DashboardTable/DashboardTable.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/Dashboard/Dashboard.jsx","webpack://pomodoro-dashboard/./app/javascript/utils/DashboardUtils.js","webpack://pomodoro-dashboard/./app/javascript/pages/SignUp/SignUp.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/ResetPassword/ResetPassword.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/NewPassword/NewPassword.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/EditPassword/EditPassword.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/EmailVerification/EmailVerification.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/AcceptInvite/AcceptInvite.jsx","webpack://pomodoro-dashboard/./app/javascript/pages/NotFound/NotFound.jsx","webpack://pomodoro-dashboard/./app/javascript/channels/SpaceChannel.jsx","webpack://pomodoro-dashboard/./app/javascript/channels/SpacesChannel.jsx","webpack://pomodoro-dashboard/./app/javascript/App.jsx","webpack://pomodoro-dashboard/./app/javascript/entrypoints/application.jsx"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 760;\nmodule.exports = webpackEmptyContext;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 190;\nmodule.exports = webpackEmptyContext;","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context(\".\", true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","import React from \"react\"\n\nimport \"./Heading.scss\"\n\nclass Heading extends React.Component {\n render() {\n return

{this.props.text}

\n }\n}\n\nexport default Heading\n","import React from \"react\"\n\nimport \"./RollingTomato.scss\"\n\nfunction RollingTomato() {\n return
\n}\nexport default RollingTomato\n","import React from \"react\"\n\nimport Heading from \"~/components/Heading/Heading\"\nimport RollingTomato from \"~/components/RollingTomato/RollingTomato\"\n\nimport \"./TomatoRoll.scss\"\n\nclass TomatoRoll extends React.Component {\n render() {\n return (\n
\n \n \n
\n )\n }\n}\n\nexport default TomatoRoll\n","import {\n configureStore,\n createSlice,\n createAsyncThunk,\n createSelector,\n} from \"@reduxjs/toolkit\"\nimport axios from \"axios\"\n\n/* ===== ===== CYCLE ===== ===== */\n\nconst cycleSlice = createSlice({\n name: \"cycle\",\n initialState: {\n currentCycle: \"work\",\n },\n reducers: {\n setCycle: (state, action) => {\n state.currentCycle = action.payload\n },\n switchCycle: (state) => {\n const nextCycle = state.currentCycle === \"work\" ? \"break\" : \"work\"\n state.currentCycle = nextCycle\n },\n },\n})\n\nexport const { setCycle, switchCycle } = cycleSlice.actions\nexport const getCycle = (state) => state.cycleReducer.currentCycle\n\nexport const cycleReducer = cycleSlice.reducer\n\n/* ===== ===== USER ===== ===== */\n\nexport const fetchUser = createAsyncThunk(\"user/fetchUser\", async () => {\n const response = await axios.get(\"/api/users/me\")\n return response.data[\"data\"][\"attributes\"]\n})\n\nconst userSlice = createSlice({\n name: \"user\",\n initialState: {\n user: null,\n fetching: false,\n },\n reducers: {\n setUser: (state, action) => {\n state.user = action.payload\n },\n },\n extraReducers: (builder) => {\n builder\n .addCase(fetchUser.fulfilled, (state, action) => {\n state.user = action.payload\n state.fetching = false\n })\n .addCase(fetchUser.rejected, (state) => {\n state.user = null\n state.fetching = false\n })\n .addCase(fetchUser.pending, (state) => {\n state.fetching = true\n })\n },\n})\n\nexport const { setUser } = userSlice.actions\nexport const getUser = (state) => state.userReducer.user\nexport const getUserFetching = (state) => state.userReducer.fetching\n\nexport const userReducer = userSlice.reducer\n\n/* ===== ===== SPACES ===== ===== */\n\nconst spacesSlice = createSlice({\n name: \"spaces\",\n initialState: {\n spaces: [],\n spaceName: null,\n },\n reducers: {\n setSpaces: (state, action) => {\n const oldSpaces = state.spaces\n const newSpaces = action.payload.map((updated) => {\n const old = oldSpaces.find((old) => old.name === updated.name)\n return { ...old, ...updated }\n })\n\n state.spaces = newSpaces\n },\n setSpaceName: (state, action) => {\n state.spaceName = action.payload\n },\n updateSpace: (state, action) => {\n const { name, changes } = action.payload\n const indexOfSpace = state.spaces.findIndex(\n (space) => space.name === name\n )\n let updatedSpace = { ...state.spaces[indexOfSpace], ...changes }\n state.spaces.splice(indexOfSpace, 1, updatedSpace)\n },\n },\n})\n\nexport const { setSpaces, setSpaceName, updateSpace } = spacesSlice.actions\n\nexport const getSpaces = (state) => state.spacesReducer.spaces\nexport const getSpaceName = (state) => state.spacesReducer.spaceName\nexport const getCurrentSpace = createSelector(\n getSpaces,\n getSpaceName,\n (spaces, spaceName) =>\n spaces ? spaces.find((space) => space.name === spaceName) : null\n)\n\nexport const spacesReducer = spacesSlice.reducer\n\n/* ===== ===== NOTIFICATIONS ===== ===== */\n\nexport const AlertSlice = createSlice({\n name: \"alert\",\n initialState: {\n alerts: [],\n },\n reducers: {\n createAlert: (state, action) => {\n state.alerts.push({\n message: action.payload.message,\n type: action.payload.type,\n })\n },\n },\n})\n\nexport const { createAlert } = AlertSlice.actions\nexport const getAlerts = (state) => state.alertsReducer.alerts\nexport const alertsReducer = AlertSlice.reducer\n\n/* ===== ===== COUNTDOWN ===== ===== */\n\n// NOT YET IN USE\n\n// const countdownSlice = createSlice({\n// name: \"countdown\",\n// initialState: {\n// countdownInterval: null,\n// },\n// reducers: {\n// setInterval: (state) => {\n// state.countdownInterval\n// },\n// },\n// })\n\n/* ===== ===== STORE ===== ===== */\n\nexport const reducer = {\n cycleReducer: cycleReducer,\n userReducer: userReducer,\n spacesReducer: spacesReducer,\n alertsReducer: alertsReducer,\n}\n\nexport const store = configureStore({\n reducer,\n})\n","import React, { useEffect, useState } from \"react\"\nimport { useSelector } from \"react-redux\"\nimport { getAlerts } from \"~/store\"\nimport \"./Notification.scss\"\n\nfunction Notification() {\n const alerts = useSelector(getAlerts)\n const [alert, setAlert] = useState({ type: \"\", message: \"\" })\n const [show, setShow] = useState(false)\n\n useEffect(() => {\n if (alerts.length > 0) {\n setAlert(alerts[alerts.length - 1])\n setShow(true)\n }\n }, [alerts])\n\n const onClose = () => {\n setShow(false)\n }\n\n return show ? (\n
\n
{alert.message || \"\"}
\n\n
\n Close me\n
\n
\n ) : (\n \"\"\n )\n}\n\nexport default Notification\n","import classNames from \"classnames\"\nimport React from \"react\"\n\nimport \"./Label.scss\"\n\nfunction Label(props) {\n return (\n \n {props.text}\n \n )\n}\n\nexport default Label\n","import React from \"react\"\n\nimport \"~/components/Label/Label\"\nimport \"./TextField.scss\"\nimport Label from \"~/components/Label/Label\"\nimport classNames from \"classnames\"\n\nfunction TextField(props) {\n const {\n label,\n placeholder,\n style,\n autofocus,\n id,\n type,\n regex,\n name,\n disabled,\n maxLength,\n className,\n } = props\n\n const handleChange = (event) => {\n let input = event.target.value\n if (props.regex) {\n input = event.target.value.replace(regex, \"\")\n }\n\n if (props.valueChanged) {\n props.valueChanged(input)\n }\n }\n\n return (\n
\n {label ?
\n )\n}\n\nTextField.defaultProps = {\n style: \"dark\",\n autofocus: false,\n type: \"text\",\n disabled: false,\n maxLength: null,\n}\n\nexport default TextField\n","import classNames from \"classnames\"\nimport React from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport \"./Button.scss\"\n\nfunction Button(props) {\n const {\n text = \"Button\",\n style = \"\",\n className,\n linkTo = null,\n ...rest\n } = props\n\n const usedClassName = classNames(\"Button\", style, className)\n\n if (linkTo) {\n return (\n \n {text}\n \n )\n }\n\n return (\n \n )\n}\n\nexport default Button\n","import React from \"react\"\n\nimport \"./Footer.scss\"\n\nfunction Footer(props) {\n return (\n
\n \n
\n )\n}\n\nexport default Footer\n","import classNames from \"classnames\"\nimport React from \"react\"\n\nimport \"./PageContent.scss\"\n\nexport default function PageContent(props) {\n const { className, style = \"dark\", center = true, ...rest } = props\n\n const usedClassName = classNames(\n \"PageContent\",\n `PageContent--${style}`,\n {\n \"PageContent--center\": center,\n },\n className\n )\n\n return
\n}\n","import React, { useState } from \"react\"\nimport { NavLink } from \"react-router-dom\"\nimport Heading from \"~/components/Heading/Heading\"\nimport TextField from \"../../components/TextField/TextField\"\nimport Button from \"~/components/Button/Button\"\nimport Footer from \"~/components/Footer/Footer\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport { useDispatch } from \"react-redux\"\nimport { createAlert } from \"~/store\"\nimport axios from \"axios\"\n\nimport \"./SignIn.scss\"\n\nfunction SignIn() {\n const dispatch = useDispatch()\n const [signingIn, setSigningIn] = useState(false)\n const [email, setEmail] = useState(\"\")\n const [password, setPassword] = useState(\"\")\n\n const signInPassword = () => {\n setSigningIn(true)\n\n const token = document.querySelector(\"[name=csrf-token]\").content\n\n axios\n .post(\n \"/users/sign_in\",\n { user: { email, password } },\n { headers: { \"X-CSRF-TOKEN\": token } }\n )\n .then((response) => {\n // const userData = response.data[\"data\"][\"attributes\"]\n // dispatch(setUser(userData))\n window.location.reload(false)\n })\n .catch((error) => {\n dispatch(\n createAlert({\n message: error.response.data.error,\n type: \"error\",\n })\n )\n setSigningIn(false)\n })\n }\n\n const signInSSO = (url) => {\n var form = document.createElement(\"form\")\n document.body.appendChild(form)\n form.setAttribute(\"method\", \"POST\")\n form.setAttribute(\"action\", url)\n\n var input = document.createElement(\"input\")\n input.type = \"hidden\"\n input.name = \"authenticity_token\"\n input.value = document.head.querySelector(\"[name='csrf-token']\").content\n\n form.appendChild(input)\n form.submit()\n }\n\n return (\n \n
\n \n {process.env.SIGN_IN_WITH_EMAIL === \"true\" && (\n <>\n
\n \n\n \n\n
\n \n Forgot your password?{\" \"}\n Reset here\n \n \n
\n \n
\n \n
\n \n )}\n
\n {process.env.SIGN_IN_WITH_GOOGLE === \"true\" && (\n signInSSO(\"/users/auth/google_oauth2\")}\n />\n )}\n\n {process.env.SIGN_IN_WITH_MICROSOFT === \"true\" && (\n signInSSO(\"/users/auth/microsoft_graph\")}\n />\n )}\n
\n
\n\n
\n \n )\n}\n\nexport default SignIn\n","export const createImageFromInitials = (size, name, isGuest) => {\n if (name == null) return\n const initials = getInitials(name)\n\n const canvas = document.createElement(\"canvas\")\n const context = canvas.getContext(\"2d\")\n\n canvas.width = canvas.height = size\n\n //background\n context.fillStyle = isGuest ? \"#8bcfad\" : \"#ed948e\"\n context.fillRect(0, 0, size, size)\n\n //text\n context.fillStyle = \"#ffffff\"\n context.textBaseline = \"middle\"\n context.textAlign = \"center\"\n context.font = `${size / 2 - size / 10}px Hansen Grotesque`\n context.fillText(initials, size / 2, size / 2 + 15)\n\n return canvas.toDataURL()\n}\n\nexport const getInitials = (name) => {\n let initials\n const nameSplit = name.split(\" \")\n const nameLength = nameSplit.length\n if (nameLength > 1) {\n initials =\n nameSplit[0].substring(0, 1) + nameSplit[nameLength - 1].substring(0, 1)\n } else if (nameLength === 1) {\n initials = nameSplit[0].substring(0, 1)\n } else return\n\n return initials.toUpperCase()\n}\n","import classNames from \"classnames\"\nimport React from \"react\"\nimport { createImageFromInitials } from \"../../utils/UserInitialsUtils\"\nimport \"./User.scss\"\n\nfunction User({ name, picture, className, isGuest, ...rest }) {\n const usedClassName = classNames(\"User\", className)\n\n return (\n \n )\n}\n\nexport default User\n","import React from \"react\"\n\nimport User from \"~/components/User/User\"\nimport \"./UserGroup.scss\"\n\nfunction UserGroup({\n hideTitle = true,\n align = \"center\",\n users = [],\n guests = [],\n}) {\n return (\n
\n {hideTitle ? \"\" :

Members

}\n
\n {users.map((user) => (\n \n ))}\n {users.length > 0 && guests.length > 0 && (\n
\n )}\n {guests.map((user) => (\n \n ))}\n
\n
\n )\n}\n\nexport default UserGroup\n","export const calculateDurationLeft = (timer) => {\n const startedAt = new Date(timer.started_at)\n const duration = timer.duration\n const endsAt = new Date(startedAt.getTime() + duration * 1000)\n return Math.max(0, endsAt.getTime() / 1000 - new Date().getTime() / 1000)\n}\n\nexport const calculatePercentage = (timer) => {\n const duration = timer.duration\n return Math.min(\n Math.max(0, 100 - (calculateDurationLeft(timer) * 100) / duration),\n 100\n )\n}\n","const zeroPadded = (number) => (number > 9 ? number : \"0\" + number)\n\nexport const formattedDuration = (duration) => {\n const minutes = Math.floor(duration / 60)\n const seconds = Math.floor(duration % 60)\n\n return zeroPadded(minutes) + \":\" + zeroPadded(seconds)\n}\n","import React, { useEffect, useState } from \"react\"\n\nimport { calculateDurationLeft, calculatePercentage } from \"~/utils/TimerUtils\"\nimport { formattedDuration } from \"~/utils/TimeFormatter\"\n\nimport \"./Countdown.scss\"\n\nfunction Countdown(props) {\n const { timer, onTick, onEnded } = props\n const [durationLeft, setDurationLeft] = useState(\n timer ? calculateDurationLeft(timer) : 0\n )\n\n useEffect(() => {\n let timerAtZero = false\n const updateDuration = () => {\n const durationLeftNow = parseInt(calculateDurationLeft(timer))\n setDurationLeft(durationLeftNow)\n onTick(durationLeftNow)\n if (!timerAtZero && durationLeftNow == 0) {\n timerAtZero = true\n onEnded()\n }\n return updateDuration\n }\n const interval = setInterval(updateDuration, 1000)\n\n return () => {\n clearInterval(interval)\n }\n }, [timer, onTick, onEnded, setDurationLeft])\n\n return (\n <>\n \n
\n {formattedDuration(durationLeft)}\n
\n \n )\n}\n\nCountdown.defaultProps = {\n onTick: () => {},\n timer: null,\n spaceName: null,\n showBackground: false,\n}\n\nexport default Countdown\n","import React from \"react\"\nimport { useSelector } from \"react-redux\"\nimport { getUser } from \"~/store\"\nimport UserGroup from \"~/components/UserGroup/UserGroup\"\nimport Countdown from \"~/components/Countdown/Countdown\"\nimport { Link } from \"react-router-dom\"\nimport { calculateDurationLeft } from \"~/utils/TimerUtils\"\n\nimport \"./SpaceCard.scss\"\n\nconst SpaceCard = (props) => {\n const space = props.attributes\n let cardClassName = \"SpaceCard \"\n const timer = space.current_timer\n const timerExists = timer != null\n const user = useSelector(getUser)\n const isCurrentSpace = space.name == user.space_name\n\n if (timerExists) {\n const timerClass = timer.break ? \"SpaceCard--break\" : \"SpaceCard--work\"\n cardClassName += timerClass\n }\n\n return (\n
\n
\n
\n
{space.name}
\n
\n {timerExists && calculateDurationLeft(timer) > 0 && (\n void 0}\n />\n )}\n
\n
\n \n
\n
\n\n \n {isCurrentSpace ? \"Open space\" : \"Join space\"}\n \n
\n
\n )\n}\n\nexport default SpaceCard\n","import React from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport \"./SpaceCreateCard.scss\"\n\nconst SpaceCreateCard = () => {\n return (\n
\n +\n
\n
Start a new
\n
focus space
\n
\n
\n )\n}\n\nexport default SpaceCreateCard\n","import React from \"react\"\nimport RollingTomato from \"../../components/RollingTomato/RollingTomato\"\n\nimport \"./SpaceLoadingCard.scss\"\n\nconst SpaceLoadingCard = () => {\n return (\n
\n \n
\n )\n}\n\nexport default SpaceLoadingCard\n","import React from \"react\"\n\nimport \"./SpaceNotFoundCard.scss\"\nimport notFoundBgImg from \"./not_found.png\"\n\nconst SpaceNotFoundCard = () => {\n return (\n
\n \n 404\n
\n
\n )\n}\n\nexport default SpaceNotFoundCard\n","import React from \"react\"\n\nfunction IconList() {\n return (\n \n \n \n \n \n \n )\n}\n\nexport default IconList\n","import React from \"react\"\n\nfunction IconSettings() {\n return (\n \n \n \n \n )\n}\n\nexport default IconSettings\n","import React from \"react\"\n\nfunction IconExit() {\n return (\n \n \n \n )\n}\n\nexport default IconExit\n","import React from \"react\"\n\nfunction IconDashboard() {\n return (\n \n \n \n )\n}\n\nexport default IconDashboard\n","import React from \"react\"\n\nimport \"./Tooltip.scss\"\n\nfunction Tooltip(props) {\n return (\n
\n {props.text}\n {props.children}\n
\n )\n}\n\nexport default Tooltip\n","import React from \"react\"\nimport { NavLink } from \"react-router-dom\"\nimport { useSelector } from \"react-redux\"\n\nimport \"./Sidebar.scss\"\n\nimport IconList from \"~/components/Icons/IconList\"\nimport IconSettings from \"~/components/Icons/IconSettings\"\nimport IconExit from \"~/components/Icons/IconExit\"\nimport IconDashboard from \"~/components/Icons/IconDashboard\"\nimport Tooltip from \"~/components/Tooltip/Tooltip\"\nimport { getUser } from \"~/store\"\n\nfunction Sidebar(props) {\n return (\n \n )\n}\n\nSidebar.defaultProps = {\n onSpacePage: false,\n}\n\nexport default Sidebar\n","import React from \"react\"\n\nfunction IconSearch() {\n return (\n \n \n \n \n )\n}\n\nexport default IconSearch\n","import React, { useState } from \"react\"\nimport TextField from \"~/components/TextField/TextField\"\nimport IconSearch from \"../Icons/IconSearch\"\nimport \"./SearchField.scss\"\n\nfunction SearchField(props) {\n const [active, setActive] = useState(false)\n const [value, setValue] = useState(\"\")\n\n const handleChange = (value) => {\n setValue(value)\n props.onChange(value)\n }\n\n return (\n
\n {active ? (\n {\n handleChange(value)\n }}\n />\n ) : (\n setActive(true)}\n >\n \n \n )}\n
\n )\n}\n\nSearchField.defaultProps = {\n onChange: () => {},\n style: \"light\",\n}\n\nexport default SearchField\n","import classNames from \"classnames\"\nimport React from \"react\"\n\nimport \"./PageWithSidebar.scss\"\n\nexport default function PageWithSidebar(props) {\n const { className, ...rest } = props\n\n const usedClassName = classNames(\"PageWithSidebar\", className)\n\n return
\n}\n","import React, { useState } from \"react\"\nimport { useSelector } from \"react-redux\"\nimport SpaceCard from \"~/components/SpaceCard/SpaceCard\"\nimport SpaceCreateCard from \"~/components/SpaceCreateCard/SpaceCreateCard\"\nimport SpaceLoadingCard from \"~/components/SpaceLoadingCard/SpaceLoadingCard\"\nimport SpaceNotFoundCard from \"~/components/SpaceNotFoundCard/SpaceNotFoundCard\"\nimport Heading from \"~/components/Heading/Heading\"\nimport Sidebar from \"~/components/Sidebar/Sidebar\"\nimport Button from \"~/components/Button/Button\"\nimport { useHistory } from \"react-router-dom\"\nimport { sortSpaces, filteredSpaces } from \"~/utils/SpaceUtils\"\nimport { getUser, getSpaces } from \"~/store\"\nimport SearchField from \"../../components/SearchField/SearchField\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport PageWithSidebar from \"~/components/PageWithSidebar/PageWithSidebar\"\n\nimport \"./Spaces.scss\"\n\nfunction Spaces() {\n const user = useSelector(getUser)\n const spaces = useSelector(getSpaces)\n const [search, setSearch] = useState(\"\")\n let history = useHistory()\n const loaded = Array.isArray(spaces)\n\n const placeholderCards = [1, 2, 3, 4, 5, 6].map((key) => {\n return \n })\n\n const spaceCards = sortSpaces(filteredSpaces(spaces, search), user).map(\n (space) => {\n return \n }\n )\n\n return (\n \n \n
\n
\n \n {user.organisation_name ? (\n {\n setSearch(value)\n }}\n />\n ) : (\n history.push(\"/organisations/new\")}\n />\n )}\n
\n
\n {!loaded ? placeholderCards : null}\n {loaded ? : \"\"}\n {loaded && spaces.length > 0 && spaceCards.length == 0 ? (\n \n ) : (\n spaceCards\n )}\n
\n
\n
\n \n
\n )\n}\n\nexport default Spaces\n","export const sortSpaces = (spaces, user) => {\n return spaces.sort((space) => {\n return space.users.filter((u) => u.email == user.email).length > 0 ? -1 : 1\n })\n}\n\nconst keywordsForSpace = (space) => {\n let keywords = []\n keywords.push(space.name)\n space.users.forEach((user) => {\n keywords.push(user.name)\n keywords.push(user.email)\n })\n return keywords.map((keyword) => keyword.toLowerCase())\n}\n\nexport const filteredSpaces = (spaces, search) => {\n if (!spaces) return []\n\n return spaces.filter((space) => {\n const keywords = keywordsForSpace(space)\n return (\n search == \"\" ||\n keywords.filter((keyword) => keyword.includes(search.toLowerCase()))\n .length > 0\n )\n })\n}\n\nexport const getSpaceForUser = (spaces, user) => {\n return spaces.find((space) => {\n return space.users.find((u) => u.email == user.attributes.email)\n })\n}\n","import axios from \"axios\"\n\nexport const setLuxaforLight = async (user, color) => {\n if (!user?.luxafor_token) return\n\n await axios.post(\"/api/luxafor/color\", { color: color })\n}\n","export const BREAK_MESSAGES = [\n \"Pause for mindful breathing by sitting comfortably, inhaling deeply through your nose, holding the breath briefly, and then exhaling slowly through your mouth. Repeat this cycle for five minutes to focus your mind, relieve stress, and rejuvenate your body.\",\n \"Try gentle neck rolls by slowly tilting your head from one side to the other, then rolling it forward and backward to ease tension and enhance flexibility.\",\n \"Loosen up your shoulders with simple shrugs: lift them toward your ears, hold for a moment, then release down to relieve tension.\",\n \"Stretch your arms and wrists by extending them in front of you, then gently pulling your fingers back toward your body to counteract the effects of typing and texting.\",\n \"Relax your eyes by closing them and gently pressing your palms against them for a few moments to reduce strain and fatigue.\",\n \"Take a moment to hydrate by sipping water to refresh your body and mind.\",\n \"Stand up and stretch your legs by walking around your space to increase circulation and energy.\",\n \"Practice gratitude by reflecting on three things you are thankful for to boost your mood and perspective.\",\n \"Take a moment to breathe deeply by inhaling slowly through your nose, holding your breath briefly, and then exhaling slowly through your mouth to calm your mind and body.\",\n \"Try a quick meditation by sitting comfortably, closing your eyes, and focusing on your breath for a few minutes to center yourself and reduce stress.\",\n \"Reflect on your goals by visualizing your next steps and envisioning your success to motivate yourself and maintain focus.\",\n \"Stretch your back by sitting up straight, twisting gently to one side, holding for a moment, and then twisting to the other side to relieve tension and improve posture.\",\n \"Relax your jaw by opening your mouth wide, then closing it gently to release tension and reduce clenching.\",\n \"Practice mindfulness by focusing on your breath, sensations, or surroundings to cultivate awareness and presence in the moment.\",\n \"Stretch your arms by extending one across your chest, holding it with the opposite hand, then switch sides to help improve flexibility and ease muscle tightness.\",\n \"For a basic leg stretch, extend one leg forward, keeping it straight, and gently reach toward your toes to stretch your hamstrings, then switch legs to balance out the stretch.\",\n \"Relieve tension with a simple back stretch: sit or stand, reach your arms overhead, and gently bend forward, letting your arms dangle to stretch your lower back.\",\n \"Relax your eyes by looking away from your screen, focusing on a distant object for 20 seconds, then returning to your task to reduce eye strain and fatigue.\",\n \"Relax your eyes by gently looking up, then down, repeating this movement a few times to ease eye strain and enhance focus.\",\n \"Stay hydrated by pausing to drink a refreshing glass of water, helping you maintain energy and focus throughout the day.\",\n \"Take a quick walk to stretch your legs and refresh your mind, returning energized and ready to focus.\",\n \"Find relaxation with Child's Pose by kneeling on the floor, sitting back on your heels, and extending your arms forward, resting your forehead on the floor. Hold this position to gently stretch your back, hips, and shoulders.\",\n \"Practice deep breathing by inhaling slowly through your nose, holding your breath for a moment, and exhaling slowly through your mouth to calm your mind and body.\",\n \"Ground yourself in Mountain Pose by standing with feet together, pressing firmly into the ground, and engaging your legs. Roll your shoulders back, lift your chest, and reach your arms overhead or alongside your body, feeling strong and balanced.\",\n \"Try a seated twist by sitting tall with your legs crossed or extended, placing your right hand on your left knee and your left hand behind you. Inhale deeply to lengthen your spine, then exhale as you gently twist to the left. Hold for a few breaths, then switch sides.\",\n \"Stretch your neck by gently tilting your head to one side, holding for a few breaths, then switching to the other side. You can also extend one arm alongside your body and gently tilt your head to the opposite side to deepen the stretch.\",\n \"Relax your shoulders by rolling them up, back, and down in a slow, circular motion to release tension and improve mobility.\",\n \"Try the yoga pose Downward Dog. Start on all four, then lift your hips upward while straightening your legs, pressing your heels down and hands firmly on the floor. Keep your head between your arms and your spine long, feeling the stretch through your back and hamstrings.\",\n \"Challenge your balance by carefully standing on a balance board, engaging your core and maintaining a steady posture while shifting your weight back and forth. This exercise will strengthen your stabilizing muscles and improve overall coordination.\",\n \"Relax and unleash your creativity by doodling freely on paper, letting your thoughts flow and giving your mind a playful break from daily tasks.\",\n \"Take a moment to sketch, letting your imagination guide the pencil across the page to create images and ideas while providing a soothing mental escape.\",\n \"Learn to juggle with small items like soft balls or beanbags to improve coordination and focus while having fun and challenging yourself.\",\n \"Boost your mindset by repeating positive affirmations like, I am capable.\",\n \"Boost your mindset by repeating positive affirmations like, I handle challenges with grace.\",\n \"Boost your mindset by repeating positive affirmations like, I am resilient and can overcome any challenge.\",\n \"Boost your mindset by repeating positive affirmations like, I deserve success and embrace opportunities.\",\n \"Boost your mindset by repeating positive affirmations like, I trust my intuition and make wise decisions.\",\n \"Boost your mindset by repeating positive affirmations like, I am surrounded by love and attract positivity.\",\n \"Boost your mindset by repeating positive affirmations like, I believe in my potential and am always growing.\",\n \"Boost your mindset by repeating positive affirmations like, I radiate confidence and inner strength.\",\n \"Boost your mindset by repeating positive affirmations like, I am grateful for the abundance in my life.\",\n \"Boost your mindset by repeating positive affirmations like, I attract opportunities that align with my goals.\",\n \"Boost your mindset by repeating positive affirmations like, I am calm, centered, and at peace with myself.\",\n \"Boost your mindset by repeating positive affirmations like, I am worthy of all the good things that come my way.\",\n \"Boost your mindset by repeating positive affirmations like, I am beautiful, inside and out.\",\n \"Alleviate strain from typing by stretching your wrists to keep them relaxed and nimble.\",\n \"Alleviate strain from typing by flexing your fingers to keep them relaxed and nimble.\",\n \"Alleviate strain from typing by rotating your forearms to keep them relaxed and nimble.\",\n]\n","import { calculatePercentage } from \"~/utils/TimerUtils\"\n\nconst faviconElement = document.querySelector('link[rel=\"icon\"]')\n\n// Prepare canvas\nconst canvas = document.createElement(\"canvas\")\nconst canvasSize = 64\nconst centerPoint = canvasSize / 2\nconst progressRadius = (canvasSize / 2 / 16) * 12 // 2 px margin in an imaginary 16 px wide favicon\ncanvas.height = canvasSize\ncanvas.width = canvasSize\nconst ctx = canvas.getContext(\"2d\")\n\n// Load png favicons to images (so that we can use them as canvas backgrounds)\nconst workIcon = new Image()\nworkIcon.src = \"/favicon.png\"\nconst breakIcon = new Image()\nbreakIcon.src = \"/favicon-break.png\"\n\nexport function setCycleFavicon(cycle) {\n faviconElement.href =\n cycle === \"break\" ? \"/favicon-break.png\" : \"/favicon.png\"\n}\n\nexport function setTimerFavicon(\n timer,\n progressScale = 1 // Used for scaling the timer in\n) {\n ctx.clearRect(0, 0, canvasSize, canvasSize)\n\n // Draw normal favicon as background\n const usedBackground = timer.break ? breakIcon : workIcon\n ctx.drawImage(usedBackground, 0, 0, canvasSize, canvasSize)\n\n // Draw progress circle\n const circleStartingPoint = -Math.PI / 2\n const fullCircle = 2 * Math.PI\n const progress = calculatePercentage(timer) / 100\n ctx.beginPath()\n ctx.moveTo(centerPoint, centerPoint) // Start the path in the center\n ctx.arc(\n // Add the progress circle fragment to the path\n centerPoint,\n centerPoint,\n progressRadius * progressScale,\n circleStartingPoint + progress * fullCircle,\n circleStartingPoint + fullCircle\n )\n ctx.lineTo(centerPoint, centerPoint) // Move back to the center\n ctx.fillStyle = timer.break ? \"#ddf4e9\" : \"#f5c8c5\"\n ctx.fill() // Fill the created path\n\n faviconElement.href = canvas.toDataURL(\"image/png\")\n}\n\nlet animateDuration\nlet animateTimer\nlet animateStartTime\nlet animateInCallback\n\nconst easeOutCubic = (d) => 1 - Math.pow(1 - d, 3)\n\nexport function animateTimerFaviconIn(timer, duration) {\n animateDuration = duration\n animateTimer = timer\n requestAnimationFrame(animateStep)\n return new Promise((resolve) => (animateInCallback = resolve))\n}\n\nfunction animateStep(time) {\n if (!animateStartTime) animateStartTime = time\n\n const animateTimePassed = time - animateStartTime\n const d = Math.min(1, animateTimePassed / animateDuration) // Get the animation progress [0-1]\n\n setTimerFavicon(\n animateTimer,\n easeOutCubic(d) // Apply an easing function to the progress to make the animation smooth\n )\n\n if (d !== 1) {\n requestAnimationFrame(animateStep)\n } else {\n animateInCallback()\n animateDuration = undefined\n animateTimer = undefined\n animateStartTime = undefined\n animateInCallback = undefined\n }\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nimport Countdown from \"~/components/Countdown/Countdown\"\n\nimport { formattedDuration } from \"~/utils/TimeFormatter\"\nimport Button from \"~/components/Button/Button\"\n\nimport \"./Timer.scss\"\nimport { setLuxaforLight } from \"../../utils/Luxafor\"\nimport { getUser } from \"~/store\"\nimport { BREAK_MESSAGES } from \"./breakMessages\"\nimport {\n animateTimerFaviconIn,\n setCycleFavicon,\n setTimerFavicon,\n} from \"../../utils/Favicon\"\n\nfunction Timer(props) {\n const user = useSelector(getUser)\n const { timer, onEnded, onCancel } = props\n const [isAnimatedIn, setIsAnimatedIn] = useState(false)\n\n const updateTitleAndFavicon = useCallback(\n (durationLeft) => {\n if (!durationLeft) {\n document.title = \"Pomodoro\"\n setCycleFavicon(timer.break ? \"break\" : \"work\")\n } else {\n if (isAnimatedIn) setTimerFavicon(timer)\n document.title = formattedDuration(durationLeft)\n }\n },\n [isAnimatedIn]\n )\n\n useEffect(() => {\n setLuxaforLight(user, timer.break ? \"00ff00\" : \"ff0000\")\n animateTimerFaviconIn(timer, 1000).then(() => setIsAnimatedIn(true))\n\n return () => {\n setLuxaforLight(user, \"000000\")\n updateTitleAndFavicon()\n }\n }, [setIsAnimatedIn])\n\n const stringText = useMemo(() => {\n return BREAK_MESSAGES[Math.floor(Math.random() * BREAK_MESSAGES.length)]\n }, [])\n\n const handleCancel = () => {\n updateTitleAndFavicon()\n onCancel()\n }\n\n return (\n
\n \n {timer.break ? stringText : \"Stay focused for\"}\n \n\n
\n \n
\n \n
\n )\n}\n\nexport default Timer\n","import React from \"react\"\n\nimport \"./TimerOption.scss\"\n\nfunction TimerOption(props) {\n return (\n props.onClick(props.minutes)}\n >\n {props.minutes}\n minutes\n
\n )\n}\n\nTimerOption.defaultProps = {\n onClick: (_minutes) => {},\n cycleIsBreak: false,\n}\n\nexport default TimerOption\n","import React from \"react\"\n\nimport \"./Backdrop.scss\"\n\nfunction Backdrop({ onClick, children }) {\n return (\n
\n {children}\n
\n )\n}\n\nexport default Backdrop\n","import React, { useEffect, useRef, useState } from \"react\"\n\nimport \"./CustomTimerModal.scss\"\nimport Backdrop from \"../Backdrop/Backdrop\"\n\nfunction CustomTimerModal(props) {\n const [minutes, setMinutes] = useState(\"\")\n const inputRef = useRef()\n useEffect(() => {\n inputRef.current.focus()\n }, [inputRef.current])\n\n useEffect(() => {\n const listener = (event) => {\n switch (event.key) {\n case \"Escape\":\n props.onDismiss()\n break\n case \"Backspace\":\n if (minutes === \"\") props.onDismiss()\n break\n }\n }\n\n window.addEventListener(\"keydown\", listener)\n\n return () => window.removeEventListener(\"keydown\", listener)\n }, [minutes])\n\n const handleBackdropClick = (event) => {\n if (event.currentTarget === event.target) {\n props.onDismiss()\n }\n }\n\n const handleChange = ({ currentTarget: { value } }) => {\n setMinutes(value.replace(/[^0-9]/g, \"\"))\n }\n\n const handleSubmit = (event) => {\n event.preventDefault()\n props.onCreate(minutes)\n }\n\n return (\n \n \n
\n \n minutes\n
\n\n
\n \n Back\n \n \n Go\n \n
\n \n
\n )\n}\n\nexport default CustomTimerModal\n","import React, { useEffect, useState } from \"react\"\n\nimport Heading from \"~/components/Heading/Heading\"\nimport TimerOption from \"~/components/TimerOption/TimerOption\"\nimport CustomTimerModal from \"~/components/CustomTimerModal/CustomTimerModal\"\n\nimport \"./TimerPicker.scss\"\n\nfunction TimerPicker(props) {\n const [showCustomTimerModal, setShowCustomTimerModal] = useState(false)\n const { cycle, onCreate } = props\n const cycleIsBreak = cycle === \"break\"\n\n useEffect(() => {\n if (showCustomTimerModal) return\n\n const listener = (event) => {\n // Don't intercept keyboard shortcuts\n const hasModifier =\n event.shiftKey || event.altKey || event.ctrlKey || event.metaKey\n if (hasModifier) return\n\n if (/[1-9]/.test(event.key)) setShowCustomTimerModal(true)\n }\n\n window.addEventListener(\"keydown\", listener)\n return () => window.removeEventListener(\"keydown\", listener)\n }, [showCustomTimerModal])\n\n const minutes = {\n work: [20, 25, 35],\n break: [5, 10],\n }\n\n const minutesForCycle = cycleIsBreak ? minutes.break : minutes.work\n\n return (\n
\n \n
\n {minutesForCycle.map((minute, index) => {\n return (\n \n )\n })}\n setShowCustomTimerModal(true)}\n />\n
\n\n {showCustomTimerModal && (\n setShowCustomTimerModal(false)}\n onCreate={onCreate}\n />\n )}\n
\n )\n}\n\nexport default TimerPicker\n","import React, { useState } from \"react\"\n\nimport \"./NotificationModal.scss\"\nimport Backdrop from \"../Backdrop/Backdrop\"\n\nexport default function NotificationModal({ cycle }) {\n const [permission, setPermission] = useState(window.Notification?.permission)\n\n if (permission !== \"default\" || process.env.RAILS_ENV === \"test\") return null\n\n const handleClick = () => {\n Notification.requestPermission().then(setPermission)\n }\n\n return (\n \n
\n

\n Would you like a system notification when your timer\n ends?\n

\n\n \n\n
\n

We'll only bother you this once.

\n\n

\n Should you change your mind, you can always change the permissions\n for the site through your browser's settings.\n

\n
\n
\n
\n )\n}\n","import axios from \"axios\"\n\nexport const postEvent = (space, type, additionalParams = {}) => {\n const { spaceName, shareToken } = space || {}\n axios.post(\"/api/events\", {\n event: {\n type: type,\n space_name: spaceName,\n share_token: shareToken,\n ...additionalParams,\n },\n })\n}\n","import React, { useRef, useState } from \"react\"\nimport \"./CopyableLink.scss\"\nimport classNames from \"classnames\"\n\nexport default function CopyableLink({\n href,\n className,\n linkClassName,\n ...props\n}) {\n const [copied, setCopied] = useState(false)\n const copiedTimeoutRef = useRef(null)\n\n const handleCopy = () => {\n clearTimeout(copiedTimeoutRef.current)\n setCopied(true)\n navigator.clipboard.writeText(href)\n\n copiedTimeoutRef.current = setTimeout(() => {\n setCopied(false)\n }, 2000)\n }\n\n return (\n \n )\n}\n","import React from \"react\"\nimport \"./SpaceLinks.scss\"\n\nimport googleMeetIcon from \"./google-meet.svg\"\nimport externalLinkIcon from \"./external-link.svg\"\nimport CopyableLink from \"../CopyableLink/CopyableLink\"\nimport classNames from \"classnames\"\n\nfunction SpaceLinks({ hideTitle = true, align = \"center\", space = {} }) {\n return (\n
\n {hideTitle ? \"\" :

Links

}\n
\n \n \n \n {space.google_meet_url && (\n \n \n 0,\n })}\n >\n {space.google_meet_participant_count}\n
\n \n )}\n
\n
\n )\n}\n\nexport default SpaceLinks\n","const simpleNotificationPath = \"/sounds/simple-notification.mp3\"\n\nconst alarmAudio = new Audio(simpleNotificationPath)\n\nexport const playAlarm = (volume) => {\n alarmAudio.volume = volume\n alarmAudio.play()\n}\n","import React, { useEffect, useState } from \"react\"\nimport { useDispatch, useSelector } from \"react-redux\"\nimport { Redirect } from \"react-router-dom\"\n\nimport UserGroup from \"~/components/UserGroup/UserGroup\"\nimport Sidebar from \"~/components/Sidebar/Sidebar\"\nimport Timer from \"~/components/Timer/Timer\"\nimport Button from \"~/components/Button/Button\"\nimport TimerPicker from \"~/components/TimerPicker/TimerPicker\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport PageWithSidebar from \"~/components/PageWithSidebar/PageWithSidebar\"\nimport NotificationModal from \"~/components/NotificationModal/NotificationModal\"\n\nimport { useParams } from \"react-router-dom\"\n\nimport \"./Space.scss\"\nimport axios from \"axios\"\nimport { postEvent } from \"~/utils/EventManager\"\nimport {\n getCycle,\n getUser,\n setUser,\n switchCycle,\n getCurrentSpace,\n} from \"~/store\"\nimport { setSpaceName } from \"../../store\"\nimport SpaceLinks from \"../../components/SpaceLinks/SpaceLinks\"\nimport { setCycleFavicon } from \"../../utils/Favicon\"\nimport { playAlarm } from \"~/utils/AlarmUtils\"\n\nfunction Space() {\n const user = useSelector(getUser)\n const dispatch = useDispatch()\n const cycle = useSelector(getCycle)\n const { spaceName } = useParams()\n const currentSpace = useSelector(getCurrentSpace)\n const timer = currentSpace?.current_timer\n const [redirect, setRedirect] = useState(false)\n const [aTimerHasEnded, setATimerHasEnded] = useState(false)\n const timerIsRunning = Boolean(currentSpace?.current_timer)\n\n useEffect(() => {\n dispatch(setSpaceName(spaceName))\n }, [])\n\n useEffect(() => {\n let timerTitleReminderOn = false\n const interval = setInterval(() => {\n if (currentSpace && aTimerHasEnded) {\n if (!currentSpace.current_timer) {\n document.title = timerTitleReminderOn\n ? \"Pomodoro timer ended\"\n : \"Pomodoro\"\n timerTitleReminderOn = !timerTitleReminderOn\n }\n }\n }, 3000)\n return () => {\n document.title = \"Pomodoro\"\n clearInterval(interval)\n }\n }, [currentSpace, aTimerHasEnded])\n\n useEffect(() => {\n if (timerIsRunning) return\n\n setCycleFavicon(cycle)\n\n return () => setCycleFavicon(\"work\")\n }, [cycle, timerIsRunning])\n\n const leaveCurrentSpace = async () => {\n const response = await axios.put(`/api/users/${user.id}`, {\n user: { space_id: null },\n })\n\n postEvent({ spaceName }, \"userLeft\")\n const userData = response.data[\"data\"][\"attributes\"]\n dispatch(setUser(userData))\n dispatch(setSpaceName(null))\n setRedirect(true)\n }\n\n const handleCreate = (minutes) => {\n const params = {\n timer: {\n duration: minutes * 60,\n break: cycle === \"break\",\n },\n }\n\n axios\n .post(`/api/spaces/${spaceName}/timers`, params)\n .then((_response) => {\n postEvent({ spaceName }, \"timerCreated\")\n })\n .catch((error) => {\n console.log(error)\n })\n }\n\n const handleCancel = () => {\n axios\n .delete(`/api/spaces/${spaceName}/timers/current`)\n .then((_response) => {\n postEvent({ spaceName }, \"timerCancelled\")\n })\n }\n\n if (redirect) {\n return \n }\n\n if (!currentSpace || currentSpace.name !== spaceName) {\n return
\n }\n\n const playAlertSound = () => {\n if (user.alert) {\n playAlarm(user.alert_volume)\n }\n }\n\n const showNotification = () => {\n new Notification(\"Pomodoro\", {\n body: timer.break ? \"Pomodoro break ended\" : \"Pomodoro timer ended\",\n icon: timer.break ? \"/favicon-break.png\" : \"/favicon.png\",\n })\n }\n\n const handleEnded = () => {\n if (timer) postEvent({ spaceName }, \"timerEnded\", { timer_id: timer.id })\n\n if (user.space_name == spaceName) {\n setATimerHasEnded(true)\n playAlertSound()\n showNotification()\n }\n }\n\n return (\n \n \n
\n {timerIsRunning ? (\n \n ) : (\n
\n \n dispatch(switchCycle())}\n style={`outline Space__cycle--${cycle}`}\n text={cycle == \"work\" ? \"Take a break\" : \"Back to work\"}\n />\n
\n )}\n
\n
\n \n \n
\n \n \n \n
\n )\n}\n\nexport default Space\n","// Action Cable provides the framework to deal with WebSockets in Rails.\n// You can generate new channels where WebSocket features live using the `bin/rails generate channel` command.\n\nimport { createConsumer } from \"@rails/actioncable\"\n\nexport default createConsumer()\n","import React, { useEffect, useRef, useState } from \"react\"\nimport { deserialize } from \"jsonapi-deserializer\"\nimport { useParams } from \"react-router-dom\"\n\nimport consumer from \"~/channels/consumer\"\nimport { postEvent } from \"~/utils/EventManager\"\n\nexport const SharedSpaceContext = React.createContext(null)\n\nexport default function SharedSpaceProvider({ children }) {\n const [space, setSpace] = useState(null)\n const [cycle, setCycle] = useState(\"work\")\n const { shareToken } = useParams()\n const subscription = useRef(null)\n\n const switchCycle = () =>\n setCycle((prev) => (prev === \"work\" ? \"break\" : \"work\"))\n\n useEffect(() => {\n subscription.current = consumer.subscriptions.create(\n { channel: \"SpaceChannel\", shareToken },\n {\n connected() {\n postEvent({ shareToken }, \"userConnected\")\n },\n\n received(data) {\n const spaceData = deserialize(data[\"value\"])\n if (spaceData.current_timer) {\n if (spaceData.current_timer.break) setCycle(\"break\")\n else setCycle(\"work\")\n }\n\n if (data.type === \"timerEnded\") {\n setCycle(data.timer.data.attributes.break ? \"work\" : \"break\")\n spaceData.current_timer = null\n }\n\n setSpace((prev) => ({\n ...prev,\n ...spaceData,\n }))\n },\n }\n )\n\n return () => {\n subscription?.current?.unsubscribe()\n }\n }, [shareToken])\n\n if (!space) return null\n\n return (\n \n {children}\n \n )\n}\n","import React, { useContext, useEffect, useState } from \"react\"\n\nimport \"./SharedSpace.scss\"\nimport { Redirect } from \"react-router-dom\"\n\nimport { SharedSpaceContext } from \"~/providers/SharedSpaceProvider\"\nimport UserGroup from \"~/components/UserGroup/UserGroup\"\nimport Timer from \"~/components/Timer/Timer\"\nimport Button from \"~/components/Button/Button\"\nimport TimerPicker from \"~/components/TimerPicker/TimerPicker\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport PageWithSidebar from \"~/components/PageWithSidebar/PageWithSidebar\"\nimport NotificationModal from \"~/components/NotificationModal/NotificationModal\"\nimport SpaceLinks from \"../../components/SpaceLinks/SpaceLinks\"\n\nimport axios from \"axios\"\nimport { postEvent } from \"~/utils/EventManager\"\nimport { setCycleFavicon } from \"../../utils/Favicon\"\n\nexport default function SharedSpace() {\n const { space, cycle, switchCycle, shareToken } =\n useContext(SharedSpaceContext)\n const [aTimerHasEnded, setATimerHasEnded] = useState(false)\n const timerIsRunning = Boolean(space?.current_timer)\n const timer = space?.current_timer\n\n useEffect(() => {\n let timerTitleReminderOn = false\n const interval = setInterval(() => {\n if (space && aTimerHasEnded) {\n if (!space.current_timer) {\n document.title = timerTitleReminderOn\n ? \"Pomodoro timer ended\"\n : \"Pomodoro\"\n timerTitleReminderOn = !timerTitleReminderOn\n }\n }\n }, 3000)\n return () => {\n document.title = \"Pomodoro\"\n clearInterval(interval)\n }\n }, [space, aTimerHasEnded])\n\n useEffect(() => {\n if (timerIsRunning) return\n\n setCycleFavicon(cycle)\n\n return () => setCycleFavicon(\"work\")\n }, [cycle, timerIsRunning])\n\n if (!space) return \n\n const handleCreate = (minutes) => {\n const params = {\n timer: {\n duration: minutes * 60,\n break: cycle === \"break\",\n },\n }\n\n axios\n .post(`/api/shared_spaces/${shareToken}/timers`, params)\n .then((_response) => {\n postEvent({ shareToken }, \"timerCreated\")\n })\n .catch((error) => {\n console.log(error)\n })\n }\n\n const handleCancel = () => {\n axios\n .delete(`/api/shared_spaces/${shareToken}/timers/current`)\n .then((_response) => {\n postEvent({ shareToken }, \"timerCancelled\")\n })\n }\n\n const showNotification = () => {\n new Notification(\"Pomodoro\", {\n body: timer.break ? \"Pomodoro break ended\" : \"Pomodoro timer ended\",\n icon: timer.break ? \"/favicon-break.png\" : \"/favicon.png\",\n })\n }\n\n const handleEnded = () => {\n postEvent({ shareToken }, \"timerEnded\", { timer_id: timer.id })\n setATimerHasEnded(true)\n showNotification()\n }\n\n return (\n \n \n
\n {timerIsRunning ? (\n \n ) : (\n
\n \n \n
\n )}\n
\n
\n \n \n
\n \n \n
\n )\n}\n","function getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min)) + min\n}\n\nexport const generateRandomSpaceName = () => {\n const parts = [\n [\n \"Lead\",\n \"Senior\",\n \"Product\",\n \"National\",\n \"Regional\",\n \"District\",\n \"Central\",\n \"Global\",\n \"Customer\",\n \"Investor\",\n \"Dynamic\",\n \"International\",\n \"Legacy\",\n \"Forward\",\n \"Internal\",\n \"Chief\",\n \"Direct\",\n \"Corporate\",\n \"Future\",\n \"Human\",\n \"Principal\",\n ],\n [\n \"Cake\",\n \"Cookie\",\n \"Pie\",\n \"Ice-Cream\",\n \"Pudding\",\n \"Sweet-Bread\",\n \"Cupcake\",\n \"Cheesecake\",\n \"Brownie\",\n \"Cobbler\",\n \"Ice-Cream-Cake\",\n \"Doughnut\",\n \"Frozen-Yogurt\",\n \"Parfait\",\n \"Sundae\",\n \"Trifle\",\n \"Cake-Pop\",\n \"Fruit-Cake\",\n \"Coffee-Cake\",\n \"Key-Lime-Pie\",\n ],\n [\n \"Supervisor\",\n \"Associate\",\n \"Executive\",\n \"Liaison\",\n \"Officer\",\n \"Manager\",\n \"Engineer\",\n \"Specialist\",\n \"Director\",\n \"Coordinator\",\n \"Administrator\",\n \"Architect\",\n \"Analyst\",\n \"Designer\",\n \"Planner\",\n \"Orchestrator\",\n \"Technician\",\n \"Developer\",\n \"Producer\",\n \"Consultant\",\n \"Assistant\",\n \"Facilitator\",\n \"Agent\",\n \"Representative\",\n \"Strategist\",\n ],\n ]\n\n return parts\n .map((part) => {\n return part[getRandomInt(0, part.length - 1)]\n })\n .join(\"-\")\n .toLowerCase()\n}\n","import React, { useState } from \"react\"\nimport { useSelector, useDispatch } from \"react-redux\"\nimport { Redirect } from \"react-router-dom\"\n\nimport Heading from \"~/components/Heading/Heading\"\nimport Button from \"~/components/Button/Button\"\nimport Sidebar from \"~/components/Sidebar/Sidebar\"\nimport TextField from \"~/components/TextField/TextField\"\nimport { generateRandomSpaceName } from \"~/utils/NameGenerator\"\nimport PageWithSidebar from \"~/components/PageWithSidebar/PageWithSidebar\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport axios from \"axios\"\nimport { getUser, setUser, createAlert } from \"~/store\"\n\nfunction NewSpace() {\n const user = useSelector(getUser)\n const dispatch = useDispatch()\n const setStateUser = (user) => dispatch(setUser(user))\n const [redirect, setRedirect] = useState(false)\n const [spaceName, setSpaceName] = useState(generateRandomSpaceName())\n const [creating, setCreating] = useState(false)\n\n const createSpace = (event) => {\n event.preventDefault()\n\n setCreating(true)\n\n const params = {\n space: {\n name: spaceName,\n },\n }\n\n axios\n .post(\"/api/spaces\", params)\n .then((_response) => {\n setStateUser({ ...user, space_name: spaceName })\n setRedirect(true)\n })\n .catch((error) => {\n dispatch(\n createAlert({\n message: error.response.data.error.join(\", \"),\n type: \"error\",\n })\n )\n\n setCreating(false)\n })\n }\n\n return redirect ? (\n \n ) : (\n \n \n
\n \n
\n setSpaceName(newValue)}\n autofocus={true}\n regex={/[&/\\\\#,$~%.\":*{}]/g}\n maxLength=\"50\"\n />\n \n \n
\n
\n \n
\n )\n}\n\nexport default NewSpace\n","import React, { useState } from \"react\"\nimport { useDispatch } from \"react-redux\"\nimport Heading from \"~/components/Heading/Heading\"\nimport Button from \"~/components/Button/Button\"\nimport { useHistory } from \"react-router-dom\"\nimport TextField from \"~/components/TextField/TextField\"\nimport axios from \"axios\"\nimport { setUser, createAlert } from \"~/store\"\n\nimport \"./NewOrganisation.scss\"\nimport PageContent from \"../../components/PageContent/PageContent\"\n\nfunction NewOrganisation() {\n const dispatch = useDispatch()\n const [organisationName, setOrganisationName] = useState(\"\")\n const [creating, setCreating] = useState(false)\n\n let history = useHistory()\n\n const createOrganisation = (event) => {\n event.preventDefault()\n\n setCreating(true)\n\n const params = {\n organisation: {\n name: organisationName,\n },\n }\n\n axios\n .post(\"/api/organisations\", params)\n .then((_response) => {\n const userData = _response.data[\"data\"][\"attributes\"]\n dispatch(setUser(userData))\n\n history.push(\"/organisations/invite\")\n })\n .catch((error) => {\n setCreating(false)\n dispatch(\n createAlert({\n message: error.response.data.error,\n type: \"error\",\n })\n )\n })\n }\n\n return (\n \n
\n \n\n \n To start collaborating you need to create an organisation\n \n\n
\n setOrganisationName(newValue)}\n regex={/[&/\\\\#,$~%.\":*{}]/g}\n autofocus={true}\n maxLength=\"50\"\n />\n\n
\n history.push(\"/spaces\")}\n />\n \n
\n \n
\n
\n )\n}\n\nexport default NewOrganisation\n","import React, { useState } from \"react\"\nimport Heading from \"~/components/Heading/Heading\"\nimport Button from \"~/components/Button/Button\"\nimport { useHistory } from \"react-router-dom\"\nimport TextField from \"~/components/TextField/TextField\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport axios from \"axios\"\nimport { useDispatch } from \"react-redux\"\nimport { createAlert } from \"~/store\"\nimport \"./InviteToOrganisation.scss\"\n\nfunction InviteToOrganisation() {\n const dispatch = useDispatch()\n const [userEmail, setUserEmail] = useState(\"\")\n const [inviting, setInviting] = useState(false)\n const [firstInvite, setFirstInvite] = useState(true)\n let history = useHistory()\n\n const inviteToOrganisation = () => {\n setInviting(true)\n\n const token = document.querySelector(\"[name=csrf-token]\").content\n\n axios\n .post(\n \"/users/invitation\",\n { invite: { email: userEmail } },\n { headers: { \"X-CSRF-TOKEN\": token } }\n )\n .then((_response) => {\n dispatch(\n createAlert({\n message: `${userEmail} has been invited!`,\n type: \"success\",\n })\n )\n setInviting(false)\n setUserEmail(\"\")\n setFirstInvite(false)\n })\n .catch((error) => {\n dispatch(\n createAlert({\n message: error.response.data.error.join(\", \"),\n type: \"error\",\n })\n )\n setInviting(false)\n })\n }\n\n return (\n \n
\n \n\n
\n \n\n
\n history.push(\"/settings/users\")}\n />\n \n
\n \n
\n
\n )\n}\n\nexport default InviteToOrganisation\n","export const getLocations = (includeBlank) => {\n const locations = (process.env.LOCATIONS || \"Copenhagen;Odense\")\n .split(\";\")\n .map((location) => {\n return {\n optionValue: location.toLowerCase(),\n optionLabel: location,\n }\n })\n const blank = { optionValue: \"\", optionLabel: includeBlank }\n return includeBlank ? [blank, ...locations] : locations\n}\n","import React, { useState } from \"react\"\n\nimport \"~/components/Label/Label\"\nimport \"./Checkbox.scss\"\nimport Label from \"~/components/Label/Label\"\n\nfunction Checkbox(props) {\n const [value, setValue] = useState(props.value)\n\n const handleChange = (event) => {\n setValue(event.target.checked)\n\n if (props.valueChanged) {\n props.valueChanged(event.target.checked)\n }\n }\n\n const { id, label } = props\n\n return (\n
\n
\n )\n}\n\nexport default Checkbox\n","import React, { useState } from \"react\"\n\nimport \"~/components/Label/Label\"\nimport \"./Slider.scss\"\nimport Label from \"~/components/Label/Label\"\nimport { playAlarm } from \"~/utils/AlarmUtils\"\n\nfunction Slider(props) {\n const [value, setValue] = useState(props.value)\n\n const handleChange = (event) => {\n playAlarm(event.target.value)\n setValue(event.target.value)\n if (props.valueChanged) {\n props.valueChanged(event.target.value)\n }\n }\n\n const { label, disabled } = props\n\n return (\n
\n
\n )\n}\n\nexport default Slider\n","import React, { useState } from \"react\"\n\nimport \"~/components/Label/Label\"\nimport \"./Dropdown.scss\"\nimport Label from \"~/components/Label/Label\"\n\nfunction Dropdown(props) {\n const { label, options, valueChanged, ariaLabel } = props\n const [value, setValue] = useState(props.value)\n\n const handleChange = (event) => {\n setValue(event.target.value)\n\n if (valueChanged) {\n valueChanged(event.target.value)\n }\n }\n\n return (\n
\n {label &&
\n )\n}\n\nDropdown.defaultProps = {\n options: [],\n}\n\nexport default Dropdown\n","import React from \"react\"\n\nfunction IconArrowRight() {\n return (\n \n \n \n )\n}\n\nexport default IconArrowRight\n","import React from \"react\"\nimport axios from \"axios\"\nimport { NavLink } from \"react-router-dom\"\nimport { useSelector } from \"react-redux\"\nimport { getUser } from \"~/store\"\nimport IconArrowRight from \"~/components/Icons/IconArrowRight\"\nimport \"./SettingsMenu.scss\"\n\nfunction SettingsMenu() {\n const user = useSelector(getUser)\n\n const logUserOut = (e) => {\n e.preventDefault()\n const token = document.querySelector(\"[name=csrf-token]\").content\n\n axios\n .delete(\"/users/sign_out\", { headers: { \"X-CSRF-TOKEN\": token } })\n .then((_response) => {\n window.location.reload(false)\n })\n .catch((error) => {\n console.log(error)\n })\n }\n\n return (\n \n )\n}\n\nexport default SettingsMenu\n","import React, { useState } from \"react\"\nimport axios from \"axios\"\nimport { useSelector, useDispatch } from \"react-redux\"\nimport { getUser, setUser, createAlert } from \"~/store\"\nimport { getLocations } from \"~/utils/Locations\"\nimport Sidebar from \"~/components/Sidebar/Sidebar\"\nimport Footer from \"~/components/Footer/Footer\"\nimport Heading from \"~/components/Heading/Heading\"\nimport Button from \"~/components/Button/Button\"\nimport TextField from \"~/components/TextField/TextField\"\nimport Checkbox from \"~/components/Checkbox/Checkbox\"\nimport Slider from \"~/components/Slider/Slider\"\nimport Dropdown from \"~/components/Dropdown/Dropdown\"\nimport SettingsMenu from \"~/components/SettingsMenu/SettingsMenu\"\nimport PageContent from \"~/components/PageContent/PageContent\"\nimport PageWithSidebar from \"~/components/PageWithSidebar/PageWithSidebar\"\n\nimport \"./SettingsProfile.scss\"\n\nfunction SettingsProfile() {\n const user = useSelector(getUser)\n const dispatch = useDispatch()\n const [updating, setUpdating] = useState(false)\n const [luxaforToken, setLuxaforToken] = useState(user.luxafor_token || \"\")\n const [location, setLocation] = useState(user.location)\n const [alert, setAlert] = useState(user.alert)\n const [alertVolume, setAlertVolume] = useState(user.alert_volume)\n\n const updateUser = () => {\n setUpdating(true)\n\n const params = {\n user: {\n luxafor_token: luxaforToken,\n location: location,\n alert: alert,\n alert_volume: alertVolume,\n },\n }\n\n axios\n .put(`/api/users/${user.id}`, params)\n .then((response) => {\n const userData = response.data[\"data\"][\"attributes\"]\n dispatch(setUser(userData))\n dispatch(\n createAlert({\n message: \"User settings updated\",\n type: \"success\",\n })\n )\n })\n .catch((error) => {\n dispatch(\n createAlert({\n message: error.message,\n type: \"error\",\n })\n )\n })\n .then(() => {\n setUpdating(false)\n })\n }\n\n return (\n \n \n
\n \n\n
\n \n
\n \n setLocation(newValue)}\n />\n {!user.location && (\n \n ⚠️ Please select your location\n \n )}\n setAlert(newValue)}\n />\n setAlertVolume(newValue)}\n disabled={!alert}\n />\n \n
\n
\n
\n