├── .github └── workflows │ ├── ci.yaml │ └── deploy.yaml ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── LICENSE ├── README.md ├── eslint.config.js ├── index.html ├── package.json ├── public ├── fonts │ └── RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf ├── images │ └── favicon │ │ ├── longBreak-dark.svg │ │ ├── longBreak-light.svg │ │ ├── pomodoro-dark.svg │ │ ├── pomodoro-light.svg │ │ ├── shortBreak-dark.svg │ │ └── shortBreak-light.svg ├── robots.txt ├── sounds │ └── ring.mp3 └── workers │ └── timer.js ├── src ├── app │ └── index.tsx ├── components │ ├── Box │ │ ├── Box.styles.ts │ │ ├── index.tsx │ │ └── types.ts │ ├── Button │ │ ├── Button.styles.ts │ │ ├── index.tsx │ │ └── types.ts │ ├── Chip │ │ ├── Chip.styles.ts │ │ └── index.tsx │ ├── Icon │ │ ├── Icon.styles.ts │ │ ├── index.tsx │ │ ├── static │ │ │ ├── Break.tsx │ │ │ ├── Close.tsx │ │ │ ├── Dots.tsx │ │ │ ├── Focus.tsx │ │ │ ├── Forward.tsx │ │ │ ├── Pause.tsx │ │ │ └── Play.tsx │ │ └── types.ts │ ├── Modal │ │ ├── Modal.styles.ts │ │ └── index.tsx │ ├── Switch │ │ ├── Switch.styles.ts │ │ └── index.tsx │ ├── TextField │ │ ├── NumericField │ │ │ ├── NumericField.styles.ts │ │ │ └── index.tsx │ │ ├── TextField.styles.ts │ │ ├── index.tsx │ │ └── types.ts │ ├── Timer │ │ ├── TimerContext.ts │ │ └── index.tsx │ ├── Typography │ │ ├── Typography.styles.ts │ │ ├── index.tsx │ │ └── types.ts │ └── UIProvider │ │ ├── Font.styles.ts │ │ ├── UIProvider.styles.ts │ │ └── index.tsx ├── features │ ├── ControlPanel │ │ ├── SkipInterval.tsx │ │ ├── ToggleTimer.tsx │ │ └── index.tsx │ ├── IntervalChip │ │ └── index.tsx │ ├── RemainingTime │ │ ├── getRemainingTime.ts │ │ └── index.tsx │ └── SettingsModal │ │ ├── SettingsForm.tsx │ │ └── index.tsx ├── hooks │ ├── index.ts │ ├── useClickAway.ts │ ├── useIntervalSequence.ts │ ├── useOpen.ts │ ├── useSettings.ts │ ├── useThemedFavicon.ts │ └── useTimeTitle.ts ├── main.tsx ├── store │ ├── index.ts │ ├── intervals.ts │ └── settings.ts └── types │ ├── emotion.d.ts │ └── index.ts ├── tsconfig.json └── vite.config.ts /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/.github/workflows/ci.yaml -------------------------------------------------------------------------------- /.github/workflows/deploy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/.github/workflows/deploy.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/README.md -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/eslint.config.js -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/package.json -------------------------------------------------------------------------------- /public/fonts/RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/fonts/RobotoFlex-VariableFont_GRAD,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf -------------------------------------------------------------------------------- /public/images/favicon/longBreak-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/longBreak-dark.svg -------------------------------------------------------------------------------- /public/images/favicon/longBreak-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/longBreak-light.svg -------------------------------------------------------------------------------- /public/images/favicon/pomodoro-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/pomodoro-dark.svg -------------------------------------------------------------------------------- /public/images/favicon/pomodoro-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/pomodoro-light.svg -------------------------------------------------------------------------------- /public/images/favicon/shortBreak-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/shortBreak-dark.svg -------------------------------------------------------------------------------- /public/images/favicon/shortBreak-light.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/images/favicon/shortBreak-light.svg -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / 3 | -------------------------------------------------------------------------------- /public/sounds/ring.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/sounds/ring.mp3 -------------------------------------------------------------------------------- /public/workers/timer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/public/workers/timer.js -------------------------------------------------------------------------------- /src/app/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/app/index.tsx -------------------------------------------------------------------------------- /src/components/Box/Box.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Box/Box.styles.ts -------------------------------------------------------------------------------- /src/components/Box/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Box/index.tsx -------------------------------------------------------------------------------- /src/components/Box/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Box/types.ts -------------------------------------------------------------------------------- /src/components/Button/Button.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Button/Button.styles.ts -------------------------------------------------------------------------------- /src/components/Button/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Button/index.tsx -------------------------------------------------------------------------------- /src/components/Button/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Button/types.ts -------------------------------------------------------------------------------- /src/components/Chip/Chip.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Chip/Chip.styles.ts -------------------------------------------------------------------------------- /src/components/Chip/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Chip/index.tsx -------------------------------------------------------------------------------- /src/components/Icon/Icon.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/Icon.styles.ts -------------------------------------------------------------------------------- /src/components/Icon/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/index.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Break.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Break.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Close.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Close.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Dots.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Dots.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Focus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Focus.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Forward.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Forward.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Pause.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Pause.tsx -------------------------------------------------------------------------------- /src/components/Icon/static/Play.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/static/Play.tsx -------------------------------------------------------------------------------- /src/components/Icon/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Icon/types.ts -------------------------------------------------------------------------------- /src/components/Modal/Modal.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Modal/Modal.styles.ts -------------------------------------------------------------------------------- /src/components/Modal/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Modal/index.tsx -------------------------------------------------------------------------------- /src/components/Switch/Switch.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Switch/Switch.styles.ts -------------------------------------------------------------------------------- /src/components/Switch/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Switch/index.tsx -------------------------------------------------------------------------------- /src/components/TextField/NumericField/NumericField.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/TextField/NumericField/NumericField.styles.ts -------------------------------------------------------------------------------- /src/components/TextField/NumericField/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/TextField/NumericField/index.tsx -------------------------------------------------------------------------------- /src/components/TextField/TextField.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/TextField/TextField.styles.ts -------------------------------------------------------------------------------- /src/components/TextField/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/TextField/index.tsx -------------------------------------------------------------------------------- /src/components/TextField/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/TextField/types.ts -------------------------------------------------------------------------------- /src/components/Timer/TimerContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Timer/TimerContext.ts -------------------------------------------------------------------------------- /src/components/Timer/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Timer/index.tsx -------------------------------------------------------------------------------- /src/components/Typography/Typography.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Typography/Typography.styles.ts -------------------------------------------------------------------------------- /src/components/Typography/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Typography/index.tsx -------------------------------------------------------------------------------- /src/components/Typography/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/Typography/types.ts -------------------------------------------------------------------------------- /src/components/UIProvider/Font.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/UIProvider/Font.styles.ts -------------------------------------------------------------------------------- /src/components/UIProvider/UIProvider.styles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/UIProvider/UIProvider.styles.ts -------------------------------------------------------------------------------- /src/components/UIProvider/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/components/UIProvider/index.tsx -------------------------------------------------------------------------------- /src/features/ControlPanel/SkipInterval.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/ControlPanel/SkipInterval.tsx -------------------------------------------------------------------------------- /src/features/ControlPanel/ToggleTimer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/ControlPanel/ToggleTimer.tsx -------------------------------------------------------------------------------- /src/features/ControlPanel/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/ControlPanel/index.tsx -------------------------------------------------------------------------------- /src/features/IntervalChip/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/IntervalChip/index.tsx -------------------------------------------------------------------------------- /src/features/RemainingTime/getRemainingTime.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/RemainingTime/getRemainingTime.ts -------------------------------------------------------------------------------- /src/features/RemainingTime/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/RemainingTime/index.tsx -------------------------------------------------------------------------------- /src/features/SettingsModal/SettingsForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/SettingsModal/SettingsForm.tsx -------------------------------------------------------------------------------- /src/features/SettingsModal/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/features/SettingsModal/index.tsx -------------------------------------------------------------------------------- /src/hooks/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/index.ts -------------------------------------------------------------------------------- /src/hooks/useClickAway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useClickAway.ts -------------------------------------------------------------------------------- /src/hooks/useIntervalSequence.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useIntervalSequence.ts -------------------------------------------------------------------------------- /src/hooks/useOpen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useOpen.ts -------------------------------------------------------------------------------- /src/hooks/useSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useSettings.ts -------------------------------------------------------------------------------- /src/hooks/useThemedFavicon.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useThemedFavicon.ts -------------------------------------------------------------------------------- /src/hooks/useTimeTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/hooks/useTimeTitle.ts -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/main.tsx -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/store/index.ts -------------------------------------------------------------------------------- /src/store/intervals.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/store/intervals.ts -------------------------------------------------------------------------------- /src/store/settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/store/settings.ts -------------------------------------------------------------------------------- /src/types/emotion.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/types/emotion.d.ts -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/src/types/index.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/krau5/pomo/HEAD/vite.config.ts --------------------------------------------------------------------------------