summaryrefslogtreecommitdiff
path: root/packages/client/src/components/code-core.vue
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2022-01-11 00:05:18 +0900
committerGitHub <noreply@github.com>2022-01-11 00:05:18 +0900
commit8855a5fffb70b03611e664acdbadbff17b9d1dc4 (patch)
treefb4bf82983f27f8829080c7fa3b3f09b092ff2e6 /packages/client/src/components/code-core.vue
parentwip: refactor(client): migrate paging components to composition api (diff)
downloadmisskey-8855a5fffb70b03611e664acdbadbff17b9d1dc4.tar.gz
misskey-8855a5fffb70b03611e664acdbadbff17b9d1dc4.tar.bz2
misskey-8855a5fffb70b03611e664acdbadbff17b9d1dc4.zip
refactor: Composition APIへ移行 (#8121)
* components/abuse-report-window.vue * use <script setup> * :v: * components/analog-clock.vue * wip components/autocomplete.vue * :v: * :v: * fix * wip components/captcha.vue * clean up * components/channel-follow-button * components/channel-preview.vue * components/core-core.vue * components/code.vue * wip components/date-separated-list.vue * fix * fix autocomplete.vue * :v: * remove global property * use <script setup> * components/dialog.vue * clena up * fix dialog.vue * Resolve https://github.com/misskey-dev/misskey/pull/8121#discussion_r781250966
Diffstat (limited to 'packages/client/src/components/code-core.vue')
-rw-r--r--packages/client/src/components/code-core.vue36
1 files changed, 10 insertions, 26 deletions
diff --git a/packages/client/src/components/code-core.vue b/packages/client/src/components/code-core.vue
index b58484c2ac..45a38afe04 100644
--- a/packages/client/src/components/code-core.vue
+++ b/packages/client/src/components/code-core.vue
@@ -3,33 +3,17 @@
<pre v-else :class="`language-${prismLang}`"><code :class="`language-${prismLang}`" v-html="html"></code></pre>
</template>
-<script lang="ts">
-import { defineComponent } from 'vue';
+<script lang="ts" setup>
+import { computed } from 'vue';
import 'prismjs';
import 'prismjs/themes/prism-okaidia.css';
-export default defineComponent({
- props: {
- code: {
- type: String,
- required: true
- },
- lang: {
- type: String,
- required: false
- },
- inline: {
- type: Boolean,
- required: false
- }
- },
- computed: {
- prismLang() {
- return Prism.languages[this.lang] ? this.lang : 'js';
- },
- html() {
- return Prism.highlight(this.code, Prism.languages[this.prismLang], this.prismLang);
- }
- }
-});
+const props = defineProps<{
+ code: string;
+ lang?: string;
+ inline?: boolean;
+}>();
+
+const prismLang = computed(() => Prism.languages[props.lang] ? props.lang : 'js');
+const html = computed(() => Prism.highlight(props.code, Prism.languages[prismLang.value], prismLang.value));
</script>