diff --git a/src/web/app/desktop/views/components/post-form-window.vue b/src/web/app/desktop/views/components/post-form-window.vue index 31a07a890..d0b115e85 100644 --- a/src/web/app/desktop/views/components/post-form-window.vue +++ b/src/web/app/desktop/views/components/post-form-window.vue @@ -14,7 +14,8 @@ @posted="onPosted" @change-uploadings="onChangeUploadings" @change-attached-media="onChangeMedia" - @geo-attached="onGeoAttached"/> + @geo-attached="onGeoAttached" + @geo-dettached="onGeoDettached"/> </mk-window> </template> @@ -45,6 +46,9 @@ export default Vue.extend({ onGeoAttached(geo) { this.geo = geo; }, + onGeoDettached() { + this.geo = null; + }, onPosted() { (this.$refs.window as any).close(); } diff --git a/src/web/app/desktop/views/components/post-form.vue b/src/web/app/desktop/views/components/post-form.vue index 22ed52b39..42d11709f 100644 --- a/src/web/app/desktop/views/components/post-form.vue +++ b/src/web/app/desktop/views/components/post-form.vue @@ -27,7 +27,7 @@ <button class="drive" title="%i18n:desktop.tags.mk-post-form.attach-media-from-drive%" @click="chooseFileFromDrive">%fa:cloud%</button> <button class="kao" title="%i18n:desktop.tags.mk-post-form.insert-a-kao%" @click="kao">%fa:R smile%</button> <button class="poll" title="%i18n:desktop.tags.mk-post-form.create-poll%" @click="poll = true">%fa:chart-pie%</button> - <button class="geo" title="位置情報を添付する" @click="setGeo">%fa:map-marker-alt%</button> + <button class="geo" title="位置情報を添付する" @click="geo ? removeGeo : setGeo">%fa:map-marker-alt%</button> <p class="text-count" :class="{ over: text.length > 1000 }">{{ '%i18n:desktop.tags.mk-post-form.text-remain%'.replace('{}', 1000 - text.length) }}</p> <button :class="{ posting }" class="submit" :disabled="!canPost" @click="post"> {{ posting ? '%i18n:desktop.tags.mk-post-form.posting%' : submitText }}<mk-ellipsis v-if="posting"/> @@ -210,6 +210,10 @@ export default Vue.extend({ enableHighAccuracy: true }); }, + removeGeo() { + this.geo = null; + this.$emit('geo-dettached'); + }, post() { this.posting = true; diff --git a/src/web/app/mobile/views/components/post-form.vue b/src/web/app/mobile/views/components/post-form.vue index 35e581f31..9af7b7267 100644 --- a/src/web/app/mobile/views/components/post-form.vue +++ b/src/web/app/mobile/views/components/post-form.vue @@ -4,6 +4,7 @@ <button class="cancel" @click="cancel">%fa:times%</button> <div> <span class="text-count" :class="{ over: text.length > 1000 }">{{ 1000 - text.length }}</span> + <span class="geo" v-if="geo">%fa:map-marker-alt%</span> <button class="submit" :disabled="posting" @click="post">{{ reply ? '返信' : '%i18n:mobile.tags.mk-post-form.submit%' }}</button> </div> </header> @@ -23,7 +24,7 @@ <button class="drive" @click="chooseFileFromDrive">%fa:cloud%</button> <button class="kao" @click="kao">%fa:R smile%</button> <button class="poll" @click="poll = true">%fa:chart-pie%</button> - <button class="geo" @click="setGeo">%fa:map-marker-alt%</button> + <button class="geo" @click="geo ? removeGeo : setGeo">%fa:map-marker-alt%</button> <input ref="file" class="file" type="file" accept="image/*" multiple="multiple" @change="onChangeFile"/> </div> </div> @@ -99,6 +100,9 @@ export default Vue.extend({ enableHighAccuracy: true }); }, + removeGeo() { + this.geo = null; + }, clear() { this.text = ''; this.files = []; @@ -172,10 +176,14 @@ export default Vue.extend({ position absolute top 0 right 0 + color #657786 > .text-count line-height 50px - color #657786 + + > .geo + margin 0 8px + line-height 50px > .submit margin 8px