From 61c0b1ccf4b50e7627fcafdce805030fad5cc564 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 17:41:53 +0900
Subject: [PATCH 1/9] refs #874 Add radio button for poll in Toot
---
src/renderer/components/molecules/Toot.vue | 27 +++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/src/renderer/components/molecules/Toot.vue b/src/renderer/components/molecules/Toot.vue
index 42befcc5..c4710283 100644
--- a/src/renderer/components/molecules/Toot.vue
+++ b/src/renderer/components/molecules/Toot.vue
@@ -60,6 +60,16 @@
+
+
+ -
+ {{ option.title }}
+
+
+
Vote
+ {{ poll.votes_count }} votes,
+ until {{ parseDatetime(poll.expires_at, now) }}
+
@@ -196,7 +206,8 @@ export default {
showContent: this.$store.state.App.ignoreCW,
showAttachments: this.$store.state.App.ignoreNFSW,
hideAllAttachments: this.$store.state.App.hideAllAttachments,
- now: Date.now()
+ now: Date.now(),
+ pollRadio: null
}
},
props: {
@@ -275,6 +286,9 @@ export default {
isShowContent: function() {
return !this.spoilered || this.showContent
},
+ poll: function() {
+ return this.originalMessage.poll
+ },
sensitive: function() {
return (this.hideAllAttachments || this.originalMessage.sensitive) && this.mediaAttachments.length > 0
},
@@ -626,6 +640,17 @@ export default {
word-wrap: break-word;
}
+ .poll {
+ .poll-list {
+ list-style: none;
+ padding-left: 16px;
+
+ li {
+ margin: 4px 0;
+ }
+ }
+ }
+
.emojione {
width: 20px;
height: 20px;
From 42689c4647587551f56232418d672c35b2370967 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 18:26:27 +0900
Subject: [PATCH 2/9] refs #874 Divide component for Poll
---
src/renderer/components/molecules/Toot.vue | 29 ++-------
.../components/molecules/Toot/Poll.vue | 63 +++++++++++++++++++
2 files changed, 68 insertions(+), 24 deletions(-)
create mode 100644 src/renderer/components/molecules/Toot/Poll.vue
diff --git a/src/renderer/components/molecules/Toot.vue b/src/renderer/components/molecules/Toot.vue
index c4710283..94d062cc 100644
--- a/src/renderer/components/molecules/Toot.vue
+++ b/src/renderer/components/molecules/Toot.vue
@@ -60,16 +60,7 @@
-
-
- -
- {{ option.title }}
-
-
-
Vote
- {{ poll.votes_count }} votes,
- until {{ parseDatetime(poll.expires_at, now) }}
-
+
@@ -194,20 +185,21 @@ import DisplayStyle from '~/src/constants/displayStyle'
import TimeFormat from '~/src/constants/timeFormat'
import emojify from '~/src/renderer/utils/emojify'
import FailoverImg from '~/src/renderer/components/atoms/FailoverImg'
+import Poll from '~/src/renderer/components/molecules/Toot/Poll'
import { setInterval, clearInterval } from 'timers'
export default {
name: 'toot',
components: {
- FailoverImg
+ FailoverImg,
+ Poll
},
data() {
return {
showContent: this.$store.state.App.ignoreCW,
showAttachments: this.$store.state.App.ignoreNFSW,
hideAllAttachments: this.$store.state.App.hideAllAttachments,
- now: Date.now(),
- pollRadio: null
+ now: Date.now()
}
},
props: {
@@ -640,17 +632,6 @@ export default {
word-wrap: break-word;
}
- .poll {
- .poll-list {
- list-style: none;
- padding-left: 16px;
-
- li {
- margin: 4px 0;
- }
- }
- }
-
.emojione {
width: 20px;
height: 20px;
diff --git a/src/renderer/components/molecules/Toot/Poll.vue b/src/renderer/components/molecules/Toot/Poll.vue
new file mode 100644
index 00000000..a51e6798
--- /dev/null
+++ b/src/renderer/components/molecules/Toot/Poll.vue
@@ -0,0 +1,63 @@
+
+
+
+ -
+ {{ option.title }}
+
+
+
Vote
+ {{ poll.votes_count }} votes,
+ until {{ parseDatetime(poll.expires_at, now) }}
+
+
+
+
+
+
From 3d862068c0b49808768ad23cd7b7a97185b57a01 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 18:55:38 +0900
Subject: [PATCH 3/9] refs #874 Move Toot and Notification to organisms
---
.../TimelineSpace/Contents/DirectMessages.vue | 2 +-
.../TimelineSpace/Contents/Favourites.vue | 2 +-
.../TimelineSpace/Contents/Hashtag/Tag.vue | 2 +-
.../components/TimelineSpace/Contents/Home.vue | 2 +-
.../TimelineSpace/Contents/Lists/Show.vue | 2 +-
.../components/TimelineSpace/Contents/Local.vue | 2 +-
.../TimelineSpace/Contents/Mentions.vue | 2 +-
.../TimelineSpace/Contents/Notifications.vue | 2 +-
.../TimelineSpace/Contents/Public.vue | 2 +-
.../TimelineSpace/Contents/Search/Toots.vue | 2 +-
.../SideBar/AccountProfile/Timeline.vue | 2 +-
.../Contents/SideBar/TootDetail.vue | 2 +-
src/renderer/components/molecules/Toot/Poll.vue | 9 +++++++--
.../{molecules => organisms}/Notification.vue | 0
.../Notification/Favourite.vue | 0
.../Notification/Follow.vue | 0
.../Notification/Mention.vue | 0
.../Notification/Reblog.vue | 0
.../{molecules => organisms}/Toot.vue | 17 ++++++++++-------
src/renderer/store/index.ts | 6 +++---
src/renderer/store/molecules.ts | 12 ------------
src/renderer/store/organisms.ts | 12 ++++++++++++
.../store/{molecules => organisms}/Toot.ts | 0
23 files changed, 44 insertions(+), 36 deletions(-)
rename src/renderer/components/{molecules => organisms}/Notification.vue (100%)
rename src/renderer/components/{molecules => organisms}/Notification/Favourite.vue (100%)
rename src/renderer/components/{molecules => organisms}/Notification/Follow.vue (100%)
rename src/renderer/components/{molecules => organisms}/Notification/Mention.vue (100%)
rename src/renderer/components/{molecules => organisms}/Notification/Reblog.vue (100%)
rename src/renderer/components/{molecules => organisms}/Toot.vue (97%)
delete mode 100644 src/renderer/store/molecules.ts
create mode 100644 src/renderer/store/organisms.ts
rename src/renderer/store/{molecules => organisms}/Toot.ts (100%)
diff --git a/src/renderer/components/TimelineSpace/Contents/DirectMessages.vue b/src/renderer/components/TimelineSpace/Contents/DirectMessages.vue
index 2f28ba3a..d53f5a04 100644
--- a/src/renderer/components/TimelineSpace/Contents/DirectMessages.vue
+++ b/src/renderer/components/TimelineSpace/Contents/DirectMessages.vue
@@ -28,7 +28,7 @@
diff --git a/src/renderer/components/molecules/Notification.vue b/src/renderer/components/organisms/Notification.vue
similarity index 100%
rename from src/renderer/components/molecules/Notification.vue
rename to src/renderer/components/organisms/Notification.vue
diff --git a/src/renderer/components/molecules/Notification/Favourite.vue b/src/renderer/components/organisms/Notification/Favourite.vue
similarity index 100%
rename from src/renderer/components/molecules/Notification/Favourite.vue
rename to src/renderer/components/organisms/Notification/Favourite.vue
diff --git a/src/renderer/components/molecules/Notification/Follow.vue b/src/renderer/components/organisms/Notification/Follow.vue
similarity index 100%
rename from src/renderer/components/molecules/Notification/Follow.vue
rename to src/renderer/components/organisms/Notification/Follow.vue
diff --git a/src/renderer/components/molecules/Notification/Mention.vue b/src/renderer/components/organisms/Notification/Mention.vue
similarity index 100%
rename from src/renderer/components/molecules/Notification/Mention.vue
rename to src/renderer/components/organisms/Notification/Mention.vue
diff --git a/src/renderer/components/molecules/Notification/Reblog.vue b/src/renderer/components/organisms/Notification/Reblog.vue
similarity index 100%
rename from src/renderer/components/molecules/Notification/Reblog.vue
rename to src/renderer/components/organisms/Notification/Reblog.vue
diff --git a/src/renderer/components/molecules/Toot.vue b/src/renderer/components/organisms/Toot.vue
similarity index 97%
rename from src/renderer/components/molecules/Toot.vue
rename to src/renderer/components/organisms/Toot.vue
index 94d062cc..3b4257ae 100644
--- a/src/renderer/components/molecules/Toot.vue
+++ b/src/renderer/components/organisms/Toot.vue
@@ -60,7 +60,7 @@
-
+
@@ -416,13 +416,13 @@ export default {
this.$refs.popper.doClose()
},
block() {
- this.$store.dispatch('molecules/Toot/block', this.originalMessage.account)
+ this.$store.dispatch('organisms/Toot/block', this.originalMessage.account)
this.$refs.popper.doClose()
},
changeReblog(message) {
if (message.reblogged) {
this.$store
- .dispatch('molecules/Toot/unreblog', message)
+ .dispatch('organisms/Toot/unreblog', message)
.then(data => {
this.$emit('update', data)
})
@@ -435,7 +435,7 @@ export default {
})
} else {
this.$store
- .dispatch('molecules/Toot/reblog', message)
+ .dispatch('organisms/Toot/reblog', message)
.then(data => {
this.$emit('update', data)
})
@@ -451,7 +451,7 @@ export default {
changeFavourite(message) {
if (message.favourited) {
this.$store
- .dispatch('molecules/Toot/removeFavourite', message)
+ .dispatch('organisms/Toot/removeFavourite', message)
.then(data => {
this.$emit('update', data)
})
@@ -464,7 +464,7 @@ export default {
})
} else {
this.$store
- .dispatch('molecules/Toot/addFavourite', message)
+ .dispatch('organisms/Toot/addFavourite', message)
.then(data => {
this.$emit('update', data)
})
@@ -494,7 +494,7 @@ export default {
},
deleteToot(message) {
this.$store
- .dispatch('molecules/Toot/deleteToot', message)
+ .dispatch('organisms/Toot/deleteToot', message)
.then(message => {
this.$emit('delete', message)
})
@@ -554,6 +554,9 @@ export default {
this.showAttachments = !this.showAttachments
break
}
+ },
+ vote(choices) {
+ console.log(choices)
}
}
}
diff --git a/src/renderer/store/index.ts b/src/renderer/store/index.ts
index 6a63be85..b060fee0 100644
--- a/src/renderer/store/index.ts
+++ b/src/renderer/store/index.ts
@@ -10,7 +10,7 @@ import Authorize, { AuthorizeState } from './Authorize'
import TimelineSpace, { TimelineSpaceModuleState } from './TimelineSpace'
import Preferences, { PreferencesModuleState } from './Preferences'
import Settings, { SettingsModuleState } from './Settings'
-import molecules, { MoleculesModuleState } from './molecules'
+import organisms, { OrganismsModuleState } from './organisms'
Vue.use(Vuex)
@@ -22,7 +22,7 @@ export type RootState = {
TimelineSpace: TimelineSpaceModuleState
Preferences: PreferencesModuleState
Settings: SettingsModuleState
- molecules: MoleculesModuleState
+ molecules: OrganismsModuleState
route: Route
}
@@ -37,6 +37,6 @@ export default new Vuex.Store({
TimelineSpace,
Preferences,
Settings,
- molecules
+ organisms
}
})
diff --git a/src/renderer/store/molecules.ts b/src/renderer/store/molecules.ts
deleted file mode 100644
index fb62384a..00000000
--- a/src/renderer/store/molecules.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import Toot, { TootState } from './molecules/Toot'
-
-export type MoleculesModuleState = {
- Toot: TootState
-}
-
-export default {
- namespaced: true,
- modules: {
- Toot
- }
-}
diff --git a/src/renderer/store/organisms.ts b/src/renderer/store/organisms.ts
new file mode 100644
index 00000000..0e870746
--- /dev/null
+++ b/src/renderer/store/organisms.ts
@@ -0,0 +1,12 @@
+import Toot, { TootState } from './organisms/Toot'
+
+export type OrganismsModuleState = {
+ Toot: TootState
+}
+
+export default {
+ namespaced: true,
+ modules: {
+ Toot
+ }
+}
diff --git a/src/renderer/store/molecules/Toot.ts b/src/renderer/store/organisms/Toot.ts
similarity index 100%
rename from src/renderer/store/molecules/Toot.ts
rename to src/renderer/store/organisms/Toot.ts
From 369ff3097bb529d51725a28cbded92a4fdc1be71 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 22:06:57 +0900
Subject: [PATCH 4/9] refs #874 Show voted polls with percentage in timeline
---
.../components/molecules/Toot/Poll.vue | 46 +++++++++++++++++--
src/renderer/components/organisms/Toot.vue | 17 +++++--
src/renderer/store/organisms/Toot.ts | 14 +++++-
3 files changed, 68 insertions(+), 9 deletions(-)
diff --git a/src/renderer/components/molecules/Toot/Poll.vue b/src/renderer/components/molecules/Toot/Poll.vue
index c9cc05a9..4e65069f 100644
--- a/src/renderer/components/molecules/Toot/Poll.vue
+++ b/src/renderer/components/molecules/Toot/Poll.vue
@@ -1,11 +1,22 @@
- -
- {{ option.title }}
-
+
+ -
+
+
+
+
+
+ -
+ {{ option.title }}
+
+
-
Vote
+
Vote
{{ poll.votes_count }} votes,
until {{ parseDatetime(poll.expires_at, now) }}
@@ -49,6 +60,9 @@ export default {
if (this.pollRadio !== null) {
this.$emit('vote', [this.pollRadio])
}
+ },
+ progress(percent) {
+ return `width: ${percent}%`
}
}
}
@@ -61,7 +75,31 @@ export default {
padding-left: 16px;
li {
+ position: relative;
margin: 4px 0;
+ line-height: 32px;
+ }
+
+ .voted {
+ max-width: 200px;
+
+ .progress-bar {
+ position: absolute;
+ display: inline-block;
+ height: 100%;
+ background-color: #409eff;
+ border-radius: 4px;
+ }
+
+ .text {
+ position: relative;
+ display: inline-block;
+ padding-left: 8px;
+
+ .percentage {
+ font-weight: bold;
+ }
+ }
}
}
}
diff --git a/src/renderer/components/organisms/Toot.vue b/src/renderer/components/organisms/Toot.vue
index 3b4257ae..053fd26c 100644
--- a/src/renderer/components/organisms/Toot.vue
+++ b/src/renderer/components/organisms/Toot.vue
@@ -199,7 +199,8 @@ export default {
showContent: this.$store.state.App.ignoreCW,
showAttachments: this.$store.state.App.ignoreNFSW,
hideAllAttachments: this.$store.state.App.hideAllAttachments,
- now: Date.now()
+ now: Date.now(),
+ pollResponse: null
}
},
props: {
@@ -279,7 +280,11 @@ export default {
return !this.spoilered || this.showContent
},
poll: function() {
- return this.originalMessage.poll
+ if (this.pollResponse) {
+ return this.pollResponse
+ } else {
+ return this.originalMessage.poll
+ }
},
sensitive: function() {
return (this.hideAllAttachments || this.originalMessage.sensitive) && this.mediaAttachments.length > 0
@@ -555,8 +560,12 @@ export default {
break
}
},
- vote(choices) {
- console.log(choices)
+ async vote(choices) {
+ const res = await this.$store.dispatch('organisms/Toot/vote', {
+ id: this.poll.id,
+ choices: choices
+ })
+ this.pollResponse = res
}
}
}
diff --git a/src/renderer/store/organisms/Toot.ts b/src/renderer/store/organisms/Toot.ts
index e1f3f322..01d17551 100644
--- a/src/renderer/store/organisms/Toot.ts
+++ b/src/renderer/store/organisms/Toot.ts
@@ -1,8 +1,13 @@
-import Mastodon, { Response, Status, Account } from 'megalodon'
+import Mastodon, { Response, Status, Account, Poll } from 'megalodon'
import { ipcRenderer } from 'electron'
import { Module, ActionTree } from 'vuex'
import { RootState } from '@/store'
+type VoteParam = {
+ id: string
+ choices: Array
+}
+
export type TootState = {}
const state = (): TootState => ({})
@@ -45,6 +50,13 @@ const actions: ActionTree = {
block: async ({ rootState }, account: Account) => {
const client = new Mastodon(rootState.TimelineSpace.account.accessToken!, rootState.TimelineSpace.account.baseURL + '/api/v1')
return client.post(`/accounts/${account.id}/block`)
+ },
+ vote: async({ rootState }, params: VoteParam): Promise => {
+ const client = new Mastodon(rootState.TimelineSpace.account.accessToken!, rootState.TimelineSpace.account.baseURL + '/api/v1')
+ const res = await client.post(`/polls/${params.id}/votes`, {
+ choices: params.choices
+ })
+ return res.data
}
}
From 46e541c5ed1d8ea892e6efb6d005f6efa18f658c Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 22:22:50 +0900
Subject: [PATCH 5/9] refs #874 Fix polls components design
---
src/renderer/components/molecules/Toot/Poll.vue | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/renderer/components/molecules/Toot/Poll.vue b/src/renderer/components/molecules/Toot/Poll.vue
index 4e65069f..078ae861 100644
--- a/src/renderer/components/molecules/Toot/Poll.vue
+++ b/src/renderer/components/molecules/Toot/Poll.vue
@@ -16,9 +16,9 @@
- Vote
- {{ poll.votes_count }} votes,
- until {{ parseDatetime(poll.expires_at, now) }}
+ Vote
+ {{ poll.votes_count }} votes,
+ until {{ parseDatetime(poll.expires_at, now) }}
@@ -78,6 +78,10 @@ export default {
position: relative;
margin: 4px 0;
line-height: 32px;
+
+ .el-radio /deep/ {
+ color: var(--theme-regular-color);
+ }
}
.voted {
@@ -102,5 +106,10 @@ export default {
}
}
}
+
+ .votes-count {
+ display: inline-block;
+ padding-left: 8px;
+ }
}
From 1a8d49b6d662e5f1606d8062e2a5ca184ecffab1 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sun, 14 Jul 2019 22:57:16 +0900
Subject: [PATCH 6/9] refs #874 Use translation for polls
---
src/config/locales/de/translation.missing.json | 12 ++++++++++++
src/config/locales/en/translation.json | 8 +++++++-
src/config/locales/fr/translation.json | 1 +
src/config/locales/fr/translation.missing.json | 15 +++++++++++++--
src/config/locales/it/translation.json | 1 +
src/config/locales/it/translation.missing.json | 13 +++++++++++--
src/config/locales/ja/translation.json | 12 ++++++++++--
src/config/locales/ko/translation.json | 1 +
src/config/locales/ko/translation.missing.json | 15 +++++++++++++--
src/config/locales/pl/translation.missing.json | 12 ++++++++++++
src/renderer/components/molecules/Toot/Poll.vue | 10 +++++-----
11 files changed, 86 insertions(+), 14 deletions(-)
diff --git a/src/config/locales/de/translation.missing.json b/src/config/locales/de/translation.missing.json
index 0d110df2..3ed65aad 100644
--- a/src/config/locales/de/translation.missing.json
+++ b/src/config/locales/de/translation.missing.json
@@ -1,5 +1,6 @@
{
"side_menu": {
+ "mention": "Mention",
"direct": "Direct messages",
"follow_requests": "Follow Requests"
},
@@ -7,6 +8,7 @@
"settings": "Settings",
"switch_streaming": "Use websocket for streaming. If the timeline does not update with streaming, please try it.",
"follow_requests": "Follow Requests",
+ "mention": "Mention",
"direct_messages": "Direct Messages"
},
"settings": {
@@ -49,6 +51,16 @@
"accept": "Accept",
"reject": "Reject"
},
+ "cards": {
+ "toot": {
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
+ }
+ }
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/en/translation.json b/src/config/locales/en/translation.json
index f465d7fc..c1b11ecf 100644
--- a/src/config/locales/en/translation.json
+++ b/src/config/locales/en/translation.json
@@ -280,7 +280,13 @@
"reblog": "Reblog",
"fav": "Favourite",
"detail": "Toot details",
- "pinned": "Pinned toot"
+ "pinned": "Pinned toot",
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
}
},
"side_bar": {
diff --git a/src/config/locales/fr/translation.json b/src/config/locales/fr/translation.json
index 00efc58b..5edcfd8c 100644
--- a/src/config/locales/fr/translation.json
+++ b/src/config/locales/fr/translation.json
@@ -58,6 +58,7 @@
"header_menu": {
"home": "Accueil",
"notification": "Notifications",
+ "direct_messages": "Messages Privés",
"favourite": "Favoris",
"local": "Fil public local",
"public": "Fil public global",
diff --git a/src/config/locales/fr/translation.missing.json b/src/config/locales/fr/translation.missing.json
index bbce8059..106ef2c9 100644
--- a/src/config/locales/fr/translation.missing.json
+++ b/src/config/locales/fr/translation.missing.json
@@ -1,10 +1,11 @@
{
"side_menu": {
+ "mention": "Mention",
"follow_requests": "Follow Requests"
},
"header_menu": {
- "follow_requests": "Follow Requests",
- "direct_messages": "Direct Messages"
+ "mention": "Mention",
+ "follow_requests": "Follow Requests"
},
"preferences": {
"appearance": {
@@ -15,6 +16,16 @@
"accept": "Accept",
"reject": "Reject"
},
+ "cards": {
+ "toot": {
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
+ }
+ },
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/it/translation.json b/src/config/locales/it/translation.json
index 094cb887..d5084c3e 100644
--- a/src/config/locales/it/translation.json
+++ b/src/config/locales/it/translation.json
@@ -60,6 +60,7 @@
"home": "Pagina Iniziale",
"notification": "Notifiche",
"mention": "Menzioni",
+ "direct_messages": "Messaggi diretti",
"favourite": "Preferiti",
"local": "Timeline locale",
"public": "Timeline pubblica",
diff --git a/src/config/locales/it/translation.missing.json b/src/config/locales/it/translation.missing.json
index bbce8059..8b611469 100644
--- a/src/config/locales/it/translation.missing.json
+++ b/src/config/locales/it/translation.missing.json
@@ -3,8 +3,7 @@
"follow_requests": "Follow Requests"
},
"header_menu": {
- "follow_requests": "Follow Requests",
- "direct_messages": "Direct Messages"
+ "follow_requests": "Follow Requests"
},
"preferences": {
"appearance": {
@@ -15,6 +14,16 @@
"accept": "Accept",
"reject": "Reject"
},
+ "cards": {
+ "toot": {
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
+ }
+ }
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/ja/translation.json b/src/config/locales/ja/translation.json
index 6a9cc6a8..566e6095 100644
--- a/src/config/locales/ja/translation.json
+++ b/src/config/locales/ja/translation.json
@@ -47,7 +47,8 @@
"expand": "拡大",
"home": "ホーム",
"notification": "通知",
- "direct": "ダイレクトメッセージ",
+ "mention": "返信",
+ "direct": "DM",
"follow_requests": "フォローリクエスト",
"favourite": "お気に入り",
"local": "ローカル",
@@ -59,6 +60,7 @@
"header_menu": {
"home": "ホーム",
"notification": "通知",
+ "mention": "返信",
"favourite": "お気に入り",
"follow_requests": "フォローリクエスト",
"direct_messages": "ダイレクトメッセージ",
@@ -271,7 +273,13 @@
"reblog": "ブースト",
"fav": "お気に入り",
"detail": "詳細",
- "pinned": "固定されたトゥート"
+ "pinned": "固定されたトゥート",
+ "poll": {
+ "vote": "投票",
+ "votes_count": "投票数",
+ "until": "{{datetime}}まで",
+ "left": "{{datetime}}まで"
+ }
}
},
"side_bar": {
diff --git a/src/config/locales/ko/translation.json b/src/config/locales/ko/translation.json
index 1db97c22..4ab7d0e1 100644
--- a/src/config/locales/ko/translation.json
+++ b/src/config/locales/ko/translation.json
@@ -59,6 +59,7 @@
"home": "홈",
"notification": "알림",
"favourite": "즐겨찾기",
+ "direct_messages": "메세지",
"local": "로컬",
"public": "연합",
"hashtag": "해시태그",
diff --git a/src/config/locales/ko/translation.missing.json b/src/config/locales/ko/translation.missing.json
index 53a849bf..5ad4eb62 100644
--- a/src/config/locales/ko/translation.missing.json
+++ b/src/config/locales/ko/translation.missing.json
@@ -14,16 +14,27 @@
}
},
"side_menu": {
+ "mention": "Mentions",
"follow_requests": "Follow Requests"
},
"header_menu": {
- "follow_requests": "Follow Requests",
- "direct_messages": "Direct Messages"
+ "mention": "Mentions",
+ "follow_requests": "Follow Requests"
},
"follow_requests": {
"accept": "Accept",
"reject": "Reject"
},
+ "cards": {
+ "toot": {
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
+ }
+ },
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/pl/translation.missing.json b/src/config/locales/pl/translation.missing.json
index 0d110df2..c5de8177 100644
--- a/src/config/locales/pl/translation.missing.json
+++ b/src/config/locales/pl/translation.missing.json
@@ -1,5 +1,6 @@
{
"side_menu": {
+ "mention": "Mentions",
"direct": "Direct messages",
"follow_requests": "Follow Requests"
},
@@ -7,6 +8,7 @@
"settings": "Settings",
"switch_streaming": "Use websocket for streaming. If the timeline does not update with streaming, please try it.",
"follow_requests": "Follow Requests",
+ "mention": "Mentions",
"direct_messages": "Direct Messages"
},
"settings": {
@@ -49,6 +51,16 @@
"accept": "Accept",
"reject": "Reject"
},
+ "cards": {
+ "toot": {
+ "poll": {
+ "vote": "Vote",
+ "votes_count": "votes",
+ "until": "until {{datetime}}",
+ "left": "{{datetime}} left"
+ }
+ }
+ },
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/renderer/components/molecules/Toot/Poll.vue b/src/renderer/components/molecules/Toot/Poll.vue
index 078ae861..66f7df7d 100644
--- a/src/renderer/components/molecules/Toot/Poll.vue
+++ b/src/renderer/components/molecules/Toot/Poll.vue
@@ -16,9 +16,9 @@
- Vote
- {{ poll.votes_count }} votes,
- until {{ parseDatetime(poll.expires_at, now) }}
+ {{ $t('cards.toot.poll.vote') }}
+ {{ poll.votes_count }} {{ $t('cards.toot.poll.votes_count') }},
+ {{ parseDatetime(poll.expires_at, now) }}
@@ -50,10 +50,10 @@ export default {
parseDatetime(datetime, epoch) {
switch (this.timeFormat) {
case TimeFormat.Absolute.value:
- return moment(datetime).format('YYYY-MM-DD HH:mm:ss')
+ return this.$t('cards.toot.poll.until', { datetime: moment(datetime).format('YYYY-MM-DD HH:mm:ss') })
case TimeFormat.Relative.value:
moment.locale(this.language)
- return moment(datetime).from(epoch)
+ return this.$t('cards.toot.poll.left', { datetime: moment(datetime).from(epoch) })
}
},
vote() {
From bcbcb981e6696bba665b1af7af8abad91d3d6664 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Mon, 15 Jul 2019 15:13:56 +0900
Subject: [PATCH 7/9] refs #874 Refresh polls in timeline
---
src/config/locales/de/translation.missing.json | 5 +++--
src/config/locales/en/translation.json | 3 ++-
src/config/locales/fr/translation.missing.json | 3 ++-
src/config/locales/it/translation.missing.json | 5 +++--
src/config/locales/ja/translation.json | 5 +++--
src/config/locales/ko/translation.missing.json | 3 ++-
src/config/locales/pl/translation.missing.json | 3 ++-
src/renderer/components/molecules/Toot/Poll.vue | 14 ++++++++++----
src/renderer/components/organisms/Toot.vue | 6 +++++-
src/renderer/store/organisms/Toot.ts | 7 ++++++-
10 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/src/config/locales/de/translation.missing.json b/src/config/locales/de/translation.missing.json
index 3ed65aad..58a79220 100644
--- a/src/config/locales/de/translation.missing.json
+++ b/src/config/locales/de/translation.missing.json
@@ -57,10 +57,11 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
- }
+ },
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/en/translation.json b/src/config/locales/en/translation.json
index c1b11ecf..7163383a 100644
--- a/src/config/locales/en/translation.json
+++ b/src/config/locales/en/translation.json
@@ -285,7 +285,8 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
},
diff --git a/src/config/locales/fr/translation.missing.json b/src/config/locales/fr/translation.missing.json
index 106ef2c9..8b0903b2 100644
--- a/src/config/locales/fr/translation.missing.json
+++ b/src/config/locales/fr/translation.missing.json
@@ -22,7 +22,8 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
},
diff --git a/src/config/locales/it/translation.missing.json b/src/config/locales/it/translation.missing.json
index 8b611469..864756df 100644
--- a/src/config/locales/it/translation.missing.json
+++ b/src/config/locales/it/translation.missing.json
@@ -20,10 +20,11 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
- }
+ },
"message": {
"follow_request_accept_error": "Failed to accept the request",
"follow_reuqest_reject_error": "failed to reject the request",
diff --git a/src/config/locales/ja/translation.json b/src/config/locales/ja/translation.json
index 566e6095..126103fc 100644
--- a/src/config/locales/ja/translation.json
+++ b/src/config/locales/ja/translation.json
@@ -276,9 +276,10 @@
"pinned": "固定されたトゥート",
"poll": {
"vote": "投票",
- "votes_count": "投票数",
+ "votes_count": "投票",
"until": "{{datetime}}まで",
- "left": "{{datetime}}まで"
+ "left": "{{datetime}}まで",
+ "refresh": "更新"
}
}
},
diff --git a/src/config/locales/ko/translation.missing.json b/src/config/locales/ko/translation.missing.json
index 5ad4eb62..d10da495 100644
--- a/src/config/locales/ko/translation.missing.json
+++ b/src/config/locales/ko/translation.missing.json
@@ -31,7 +31,8 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
},
diff --git a/src/config/locales/pl/translation.missing.json b/src/config/locales/pl/translation.missing.json
index c5de8177..b5c4b6fc 100644
--- a/src/config/locales/pl/translation.missing.json
+++ b/src/config/locales/pl/translation.missing.json
@@ -57,7 +57,8 @@
"vote": "Vote",
"votes_count": "votes",
"until": "until {{datetime}}",
- "left": "{{datetime}} left"
+ "left": "{{datetime}} left",
+ "refresh": "Refresh"
}
}
},
diff --git a/src/renderer/components/molecules/Toot/Poll.vue b/src/renderer/components/molecules/Toot/Poll.vue
index 66f7df7d..3ea82604 100644
--- a/src/renderer/components/molecules/Toot/Poll.vue
+++ b/src/renderer/components/molecules/Toot/Poll.vue
@@ -1,6 +1,7 @@
-
-
+
+
+
- {{ $t('cards.toot.poll.vote') }}
+ {{ $t('cards.toot.poll.vote') }}
+ {{ $t('cards.toot.poll.refresh') }}
{{ poll.votes_count }} {{ $t('cards.toot.poll.votes_count') }},
{{ parseDatetime(poll.expires_at, now) }}
-
+
+