├── .babelrc ├── app ├── components │ ├── Atoms │ │ ├── Name │ │ │ ├── name.css │ │ │ ├── Name.js │ │ │ └── Name.test.js │ │ ├── ScreenName │ │ │ ├── screenName.css │ │ │ ├── ScreenName.js │ │ │ └── ScreenName.test.js │ │ ├── UserImage │ │ │ ├── userImage.css │ │ │ └── UserImage.js │ │ ├── CreatedAt │ │ │ ├── createdAt.css │ │ │ └── CreatedAt.js │ │ ├── Text │ │ │ ├── text.css │ │ │ └── Text.js │ │ ├── RetweetActions │ │ │ ├── retweetActions.css │ │ │ └── RetweetActions.js │ │ ├── RemainingCharacters │ │ │ ├── remainingCharacters.css │ │ │ └── RemainingCharacters.js │ │ ├── Loading │ │ │ ├── loading.css │ │ │ ├── Loading.js │ │ │ ├── Loading.test.js │ │ │ └── loading.svg │ │ ├── Textarea │ │ │ ├── textarea.css │ │ │ ├── Textarea.js │ │ │ └── Textarea.test.js │ │ ├── UserCount │ │ │ ├── userCount.css │ │ │ └── UserCount.js │ │ ├── FavoriteTrigger │ │ │ ├── favoriteTrigger.css │ │ │ └── FavoriteTrigger.js │ │ ├── RetweetTrigger │ │ │ ├── retweetTrigger.css │ │ │ └── RetweetTrigger.js │ │ ├── Menu │ │ │ ├── Menu.js │ │ │ ├── menu.css │ │ │ ├── back_off.svg │ │ │ ├── back_on.svg │ │ │ ├── forward_off.svg │ │ │ └── forward_on.svg │ │ ├── Button │ │ │ ├── Button.js │ │ │ ├── Button.test.js │ │ │ └── button.css │ │ └── NavigationItem │ │ │ ├── NavigationItem.js │ │ │ ├── home.svg │ │ │ ├── navigationItem.css │ │ │ ├── search.svg │ │ │ ├── lists.svg │ │ │ └── mentions.svg │ ├── Organisms │ │ ├── Tweet │ │ │ ├── tweet.css │ │ │ └── Tweet.js │ │ └── User │ │ │ ├── user.css │ │ │ └── User.js │ ├── Modules │ │ ├── Timeline │ │ │ ├── timeline.css │ │ │ └── Timeline.js │ │ ├── ListsTimeline │ │ │ ├── listsTimeline.css │ │ │ └── ListsTimeline.js │ │ ├── TweetWrapper │ │ │ ├── tweetWrapper.css │ │ │ └── TweetWrapper.js │ │ ├── SearchTimeline │ │ │ ├── searchTimeline.css │ │ │ └── SearchTimeline.js │ │ ├── UserModal │ │ │ └── UserModal.js │ │ └── App │ │ │ ├── app.css │ │ │ └── App.js │ └── Molecules │ │ ├── Triggers │ │ ├── triggers.css │ │ └── Triggers.js │ │ ├── UserInfo │ │ ├── userInfo.css │ │ └── UserInfo.js │ │ ├── Meta │ │ ├── meta.css │ │ └── Meta.js │ │ ├── Lists │ │ ├── lists.css │ │ └── Lists.js │ │ ├── PostForm │ │ ├── postForm.css │ │ ├── PostForm.test.js │ │ └── PostForm.js │ │ ├── UserCounts │ │ ├── userCounts.css │ │ └── UserCounts.js │ │ ├── Navigation │ │ ├── navigation.css │ │ ├── Navigation.js │ │ └── github.svg │ │ └── RetweetModal │ │ ├── retweetModal.css │ │ └── RetweetModal.js ├── styles │ └── variable.css ├── keymap.js ├── actions │ ├── user.js │ ├── users.js │ ├── userStream.js │ ├── update.js │ ├── search.js │ ├── retweet.js │ ├── lists.js │ ├── siteStream.js │ ├── favorites.js │ └── timeline.js ├── reducers │ ├── user.test.js │ ├── retweet.js │ ├── user.js │ ├── update.js │ ├── update.test.js │ ├── userTimeline.js │ ├── mentionsTimeline.js │ ├── homeTimeline.js │ ├── searchTimeline.js │ └── lists.js ├── routes.js ├── containers │ ├── Organisms │ │ └── Tweet.js │ ├── Atoms │ │ ├── RetweetTrigger.js │ │ └── FavoriteTrigger.js │ ├── Modules │ │ ├── UserModal.js │ │ ├── App.js │ │ ├── MentionsTimeline.js │ │ ├── HomeTimeline.js │ │ ├── ListsTimeline.js │ │ ├── SearchTimeline.js │ │ └── UserTimeline.js │ └── Molecules │ │ ├── Lists.js │ │ ├── PostForm.js │ │ └── RetweetModal.js ├── sagas │ ├── streams │ │ ├── userStream.js │ │ └── siteStream.js │ ├── lists │ │ ├── list.js │ │ └── statuses.js │ ├── statuses │ │ ├── retweet.js │ │ ├── update.js │ │ ├── homeTimeline.js │ │ ├── mentionsTimeline.js │ │ └── userTimeline.js │ ├── users │ │ └── show.js │ ├── search │ │ └── tweets.js │ ├── favorites │ │ └── favorites.js │ └── index.js ├── utils │ ├── update.js │ ├── retweet.js │ ├── favorite.js │ ├── twitterClient.js │ └── authentication.js ├── main.js ├── entry.js └── menu.js ├── docs ├── images │ ├── ogp.png │ ├── worc.ico │ ├── bg_top_01.jpg │ ├── ss_modal_01.png │ ├── logo_worc_01.png │ ├── logo_worc_02.png │ ├── ss_timeline_01.png │ ├── txt_catch_01.png │ ├── txt_catch_02.png │ ├── home.svg │ ├── search.svg │ ├── lists.svg │ ├── mac.svg │ ├── mentions.svg │ └── windows.svg ├── releases │ └── latest.json ├── latest.yml ├── scss │ ├── _reset.scss │ └── style.scss ├── css │ └── style.css ├── ja │ └── index.html └── index.html ├── assets └── images │ ├── worc.ico │ └── worc.icns ├── .gitattributes ├── .gitignore ├── .travis.yml ├── .editorconfig ├── .eslintrc ├── LICENSE ├── dist └── index.html ├── webpack.config.js ├── README.md └── package.json /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets" : ["es2015", "react", "stage-2"], 3 | } 4 | -------------------------------------------------------------------------------- /app/components/Atoms/Name/name.css: -------------------------------------------------------------------------------- 1 | .name { 2 | font-weight: bold; 3 | } 4 | -------------------------------------------------------------------------------- /app/components/Organisms/Tweet/tweet.css: -------------------------------------------------------------------------------- 1 | .actions { 2 | padding-top: 5px; 3 | } 4 | -------------------------------------------------------------------------------- /docs/images/ogp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/ogp.png -------------------------------------------------------------------------------- /docs/images/worc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/worc.ico -------------------------------------------------------------------------------- /app/components/Atoms/ScreenName/screenName.css: -------------------------------------------------------------------------------- 1 | .screenName { 2 | color: #999; 3 | } 4 | -------------------------------------------------------------------------------- /app/components/Atoms/UserImage/userImage.css: -------------------------------------------------------------------------------- 1 | .userImage { 2 | border-radius: 3px; 3 | } 4 | -------------------------------------------------------------------------------- /assets/images/worc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/assets/images/worc.ico -------------------------------------------------------------------------------- /assets/images/worc.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/assets/images/worc.icns -------------------------------------------------------------------------------- /docs/images/bg_top_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/bg_top_01.jpg -------------------------------------------------------------------------------- /docs/images/ss_modal_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/ss_modal_01.png -------------------------------------------------------------------------------- /docs/images/logo_worc_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/logo_worc_01.png -------------------------------------------------------------------------------- /docs/images/logo_worc_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/logo_worc_02.png -------------------------------------------------------------------------------- /docs/images/ss_timeline_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/ss_timeline_01.png -------------------------------------------------------------------------------- /docs/images/txt_catch_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/txt_catch_01.png -------------------------------------------------------------------------------- /docs/images/txt_catch_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibe97/worc/HEAD/docs/images/txt_catch_02.png -------------------------------------------------------------------------------- /app/components/Atoms/CreatedAt/createdAt.css: -------------------------------------------------------------------------------- 1 | .createdAt { 2 | color: #ccc; 3 | font-size: 10px; 4 | } 5 | -------------------------------------------------------------------------------- /app/components/Atoms/Text/text.css: -------------------------------------------------------------------------------- 1 | .text { 2 | word-wrap: break-word; 3 | overflow-wrap: break-word; 4 | } 5 | -------------------------------------------------------------------------------- /app/components/Modules/Timeline/timeline.css: -------------------------------------------------------------------------------- 1 | .timeline { 2 | font-size: 14px; 3 | height: calc(100vh - 140px); 4 | overflow: auto; 5 | } 6 | -------------------------------------------------------------------------------- /app/components/Atoms/RetweetActions/retweetActions.css: -------------------------------------------------------------------------------- 1 | .retweetActions { 2 | text-align: center; 3 | } 4 | .cancel { 5 | margin-left: 20px; 6 | } 7 | -------------------------------------------------------------------------------- /app/styles/variable.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --color-accent: #f08200; 3 | --color-error: #f03030; 4 | --color-submit: #249fe5; 5 | --color-link: #009999; 6 | } 7 | -------------------------------------------------------------------------------- /app/components/Atoms/RemainingCharacters/remainingCharacters.css: -------------------------------------------------------------------------------- 1 | @import '../../../styles/variable'; 2 | 3 | .overLength { 4 | color: var(--color-error); 5 | } 6 | -------------------------------------------------------------------------------- /app/components/Molecules/Triggers/triggers.css: -------------------------------------------------------------------------------- 1 | .action { 2 | display: inline-block; 3 | padding-right: 40px; 4 | 5 | path { 6 | fill: #ccc; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /app/components/Atoms/Loading/loading.css: -------------------------------------------------------------------------------- 1 | .loading { 2 | height: 100%; 3 | background: url('./loading.svg') no-repeat center center; 4 | background-size: 40px 40px; 5 | } 6 | -------------------------------------------------------------------------------- /app/components/Atoms/Textarea/textarea.css: -------------------------------------------------------------------------------- 1 | .textarea { 2 | border: 1px solid #ddd; 3 | border-radius: 3px; 4 | padding: 5px 8px; 5 | width: 100%; 6 | font-size: 14px; 7 | } 8 | -------------------------------------------------------------------------------- /app/components/Atoms/Loading/Loading.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from './loading.css'; 3 | 4 | export default () => ( 5 |
6 | ); 7 | -------------------------------------------------------------------------------- /app/components/Modules/ListsTimeline/listsTimeline.css: -------------------------------------------------------------------------------- 1 | .current { 2 | background-color: #def; 3 | border-bottom: 1px solid #cde; 4 | padding: 3px 10px; 5 | font-size: 12px; 6 | } 7 | -------------------------------------------------------------------------------- /app/keymap.js: -------------------------------------------------------------------------------- 1 | export default { 2 | POSTFORM: { 3 | POST: { 4 | osx: 'command+enter', 5 | windows: 'ctrl+enter', 6 | linux: 'ctrl+enter', 7 | }, 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /docs/releases/latest.json: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://github.com/shibe97/worc/releases/tag/v1.0.7", 3 | "name": "v1.0.7", 4 | "notes": "v1.0.7", 5 | "pub_date": "2016-10-01T04:46:15.898Z" 6 | } 7 | -------------------------------------------------------------------------------- /app/components/Atoms/Name/Name.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from './name.css'; 3 | 4 | export default ({ children }) => ( 5 | { children } 6 | ); 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | docs/mac/worc-1.5.0.dmg filter=lfs diff=lfs merge=lfs -text 2 | docs/mac/worc-1.6.0.dmg filter=lfs diff=lfs merge=lfs -text 3 | docs/win/worc-Setup-1.6.0.exe filter=lfs diff=lfs merge=lfs -text 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist/* 4 | !index.html 5 | assets/* 6 | !images 7 | docs/mac/worc.app 8 | docs/win-ia32-unpacked 9 | worc-darwin-x64 10 | npm-debug.log 11 | **/__snapshots__ 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 6.3.0 4 | install: 5 | - npm i 6 | script: 7 | - npm run build 8 | - npm test -- -u 9 | cache: 10 | directories: 11 | - node_modules 12 | -------------------------------------------------------------------------------- /app/components/Molecules/UserInfo/userInfo.css: -------------------------------------------------------------------------------- 1 | .userInfo { 2 | position: relative; 3 | padding-left: 60px; 4 | } 5 | 6 | .image { 7 | position: absolute; 8 | top: 0; 9 | left: 0; 10 | } 11 | -------------------------------------------------------------------------------- /app/components/Atoms/UserCount/userCount.css: -------------------------------------------------------------------------------- 1 | .userCount { 2 | text-align: center; 3 | } 4 | 5 | .key { 6 | font-size: 14px; 7 | color: #666; 8 | } 9 | 10 | .value { 11 | font-size: 16px; 12 | } 13 | -------------------------------------------------------------------------------- /app/components/Atoms/ScreenName/ScreenName.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from './screenName.css'; 3 | 4 | export default ({ children }) => ( 5 | { children } 6 | ); 7 | -------------------------------------------------------------------------------- /app/components/Molecules/Meta/meta.css: -------------------------------------------------------------------------------- 1 | .meta { 2 | display: flex; 3 | justify-content: flex-start; 4 | } 5 | 6 | .screenName { 7 | margin-left: 5px; 8 | } 9 | 10 | .createdAt { 11 | margin-left: auto; 12 | } 13 | -------------------------------------------------------------------------------- /docs/latest.yml: -------------------------------------------------------------------------------- 1 | version: 1.6.0 2 | releaseDate: '2017-03-06T14:36:42.972Z' 3 | githubArtifactName: worc-Setup-1.6.0.exe 4 | path: worc Setup 1.6.0.exe 5 | sha2: 9a3eb2c3b1918ab57528d48764954abe37bda44b2abe3d27de34a8dc9dfee61c 6 | -------------------------------------------------------------------------------- /app/components/Atoms/UserImage/UserImage.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from './userImage.css'; 3 | 4 | export default ({ url = '' }) => ( 5 |