mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-10 09:33:08 +02:00
Adjust page style
This commit is contained in:
parent
9f4da44b59
commit
f5d5d26b0e
3 changed files with 52 additions and 64 deletions
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
||||||
"version": "12.0.0-alpha.10",
|
"version": "12.0.0-alpha.11",
|
||||||
"codename": "indigo",
|
"codename": "indigo",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -1,28 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="iroscrza" :class="{ center: page.alignCenter, serif: page.font === 'serif' }">
|
<div class="iroscrza" :class="{ center: page.alignCenter, serif: page.font === 'serif' }" v-if="script">
|
||||||
<header v-if="showTitle">
|
|
||||||
<div class="title">{{ page.title }}</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div v-if="script">
|
|
||||||
<x-block v-for="child in page.content" :value="child" @input="v => updateBlock(v)" :page="page" :script="script" :key="child.id" :h="2"/>
|
<x-block v-for="child in page.content" :value="child" @input="v => updateBlock(v)" :page="page" :script="script" :key="child.id" :h="2"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer v-if="showFooter">
|
|
||||||
<small>@{{ page.user.username }}</small>
|
|
||||||
<template v-if="$store.getters.isSignedIn && $store.state.i.id === page.userId">
|
|
||||||
<router-link :to="`/my/pages/edit/${page.id}`">{{ $t('edit-this-page') }}</router-link>
|
|
||||||
<a v-if="$store.state.i.pinnedPageId === page.id" @click="pin(false)">{{ $t('unpin-this-page') }}</a>
|
|
||||||
<a v-else @click="pin(true)">{{ $t('pin-this-page') }}</a>
|
|
||||||
</template>
|
|
||||||
<router-link :to="`./${page.name}/view-source`">{{ $t('view-source') }}</router-link>
|
|
||||||
<div class="like">
|
|
||||||
<button @click="unlike()" v-if="page.isLiked" :title="$t('unlike')"><fa :icon="faHeartS"/></button>
|
|
||||||
<button @click="like()" v-else :title="$t('like')"><fa :icon="faHeart"/></button>
|
|
||||||
<span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
@ -77,16 +56,6 @@ export default Vue.extend({
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
showTitle: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
showFooter: {
|
|
||||||
type: Boolean,
|
|
||||||
required: false,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
@ -113,35 +82,6 @@ export default Vue.extend({
|
||||||
getPageVars() {
|
getPageVars() {
|
||||||
return collectPageVars(this.page.content);
|
return collectPageVars(this.page.content);
|
||||||
},
|
},
|
||||||
|
|
||||||
like() {
|
|
||||||
this.$root.api('pages/like', {
|
|
||||||
pageId: this.page.id,
|
|
||||||
}).then(() => {
|
|
||||||
this.page.isLiked = true;
|
|
||||||
this.page.likedCount++;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
unlike() {
|
|
||||||
this.$root.api('pages/unlike', {
|
|
||||||
pageId: this.page.id,
|
|
||||||
}).then(() => {
|
|
||||||
this.page.isLiked = false;
|
|
||||||
this.page.likedCount--;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
pin(pin) {
|
|
||||||
this.$root.api('i/update', {
|
|
||||||
pinnedPageId: pin ? this.page.id : null,
|
|
||||||
}).then(() => {
|
|
||||||
this.$root.dialog({
|
|
||||||
type: 'success',
|
|
||||||
splash: true
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -3,7 +3,26 @@
|
||||||
<portal to="avatar" v-if="page"><mk-avatar class="avatar" :user="page.user" :disable-preview="true"/></portal>
|
<portal to="avatar" v-if="page"><mk-avatar class="avatar" :user="page.user" :disable-preview="true"/></portal>
|
||||||
<portal to="title" v-if="page">{{ page.title || page.name }}</portal>
|
<portal to="title" v-if="page">{{ page.title || page.name }}</portal>
|
||||||
|
|
||||||
<x-page v-if="page" :page="page" :key="page.id" :show-footer="true"/>
|
<div class="_section" v-if="page" :key="page.id">
|
||||||
|
<div class="_title">{{ page.title }}</div>
|
||||||
|
<div class="_content">
|
||||||
|
<x-page :page="page"/>
|
||||||
|
</div>
|
||||||
|
<div class="_footer">
|
||||||
|
<small>@{{ page.user.username }}</small>
|
||||||
|
<template v-if="$store.getters.isSignedIn && $store.state.i.id === page.userId">
|
||||||
|
<router-link :to="`/my/pages/edit/${page.id}`">{{ $t('edit-this-page') }}</router-link>
|
||||||
|
<a v-if="$store.state.i.pinnedPageId === page.id" @click="pin(false)">{{ $t('unpin-this-page') }}</a>
|
||||||
|
<a v-else @click="pin(true)">{{ $t('pin-this-page') }}</a>
|
||||||
|
</template>
|
||||||
|
<router-link :to="`./${page.name}/view-source`">{{ $t('view-source') }}</router-link>
|
||||||
|
<div class="like">
|
||||||
|
<button @click="unlike()" v-if="page.isLiked" :title="$t('unlike')"><fa :icon="faHeartS"/></button>
|
||||||
|
<button @click="like()" v-else :title="$t('like')"><fa :icon="faHeart"/></button>
|
||||||
|
<span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -58,6 +77,35 @@ export default Vue.extend({
|
||||||
this.page = page;
|
this.page = page;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
like() {
|
||||||
|
this.$root.api('pages/like', {
|
||||||
|
pageId: this.page.id,
|
||||||
|
}).then(() => {
|
||||||
|
this.page.isLiked = true;
|
||||||
|
this.page.likedCount++;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
unlike() {
|
||||||
|
this.$root.api('pages/unlike', {
|
||||||
|
pageId: this.page.id,
|
||||||
|
}).then(() => {
|
||||||
|
this.page.isLiked = false;
|
||||||
|
this.page.likedCount--;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
pin(pin) {
|
||||||
|
this.$root.api('i/update', {
|
||||||
|
pinnedPageId: pin ? this.page.id : null,
|
||||||
|
}).then(() => {
|
||||||
|
this.$root.dialog({
|
||||||
|
type: 'success',
|
||||||
|
splash: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in a new issue