Skip to content

Commit

Permalink
Fixed some checkbox alignment issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
boybook committed Dec 11, 2023
1 parent 8c95264 commit 5eda617
Showing 1 changed file with 97 additions and 66 deletions.
163 changes: 97 additions & 66 deletions src/components/MCTextFormatter.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,59 +3,75 @@
<textarea v-model="rawText" @input="formatText" ref="textarea"></textarea>
<div>
<format-button
v-for="(color, format) in colorsFormats"
v-bind:format="format"
v-bind:color="color"
v-bind:key="color"
@format="insertFormat"
>
v-for="(color, format) in colorsFormats"
v-bind:format="format"
v-bind:color="color"
v-bind:key="color"
@format="insertFormat"
>
{{ format }}
</format-button>
<format-button v-if="!braceMode" v-bind:format="'§l'" v-bind:bold="true" @format="insertFormat">粗§l</format-button>
<format-button v-if="!braceMode" v-bind:format="'§o'" v-bind:italic="true" @format="insertFormat">斜§o</format-button>
<format-button v-if="!braceMode" v-bind:format="'§n'" v-bind:underline="true" @format="insertFormat">下划线§n</format-button>
<format-button v-if="!braceMode" v-bind:format="'§m'" v-bind:strikethrough="true" @format="insertFormat">删除线§m</format-button>
<format-button v-if="!braceMode" v-bind:format="'§l'" v-bind:bold="true" @format="insertFormat">粗§l
</format-button>
<format-button v-if="!braceMode" v-bind:format="'§o'" v-bind:italic="true" @format="insertFormat">斜§o
</format-button>
<format-button v-if="!braceMode" v-bind:format="'§n'" v-bind:underline="true" @format="insertFormat">
下划线§n
</format-button>
<format-button v-if="!braceMode" v-bind:format="'§m'" v-bind:strikethrough="true" @format="insertFormat">
删除线§m
</format-button>
<format-button v-if="!braceMode" v-bind:format="'§r'" @format="insertFormat">复原§r</format-button>
<format-button v-if="braceMode" v-bind:format="'{bold}'" v-bind:bold="true" @format="insertFormat">粗{bold}</format-button>
<format-button v-if="braceMode" v-bind:format="'{italic}'" v-bind:italic="true" @format="insertFormat">斜{italic}</format-button>
<format-button v-if="braceMode" v-bind:format="'{bold}'" v-bind:bold="true" @format="insertFormat">
粗{bold}
</format-button>
<format-button v-if="braceMode" v-bind:format="'{italic}'" v-bind:italic="true" @format="insertFormat">
斜{italic}
</format-button>
<format-button v-if="braceMode" v-bind:format="'{reset}'" @format="insertFormat">复原{reset}</format-button>
<div v-if="extraMode">
<format-button v-for="char in extraChars" v-bind:key="char" v-bind:format="char" @format="insertFormat">{{ char }}</format-button>
<format-button v-for="char in extraChars" v-bind:key="char" v-bind:format="char" @format="insertFormat">
{{ char }}
</format-button>
</div>
</div>
<div :class="['output', { 'dark-mode': isDarkMode }]" v-html="formattedText"></div>
</div>
<div class="wrapper-bottom">
<div class="settings">
<label class="small-gray-text">
<label class="small-gray-text label-checkbox">
<input type="checkbox" v-model="isDarkMode" @change="toggleDarkMode">
暗色背景
<span class="label-checkbox-text">暗色背景</span>
</label>
<label class="small-gray-text">
<label class="small-gray-text label-checkbox">
<input type="checkbox" v-model="braceMode">
大括号模式
<span class="label-checkbox-text">大括号模式</span>
</label>
<label class="small-gray-text">
<label class="small-gray-text label-checkbox">
<input type="checkbox" v-model="extraMode">
特殊字符
<span class="label-checkbox-text">特殊字符</span>
</label>
</div>
<div class="github-link">
<a href="https://github.com/EaseCation/mc-text-formatter" target="_blank">
<svg width="12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
<svg width="12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512">
<!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. -->
<path
d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/>
</svg>
EaseCation/mc-text-formatter
</a>
</div>
</div>
</template>

<script>
import { ref, onMounted, watch, computed } from 'vue';
import {computed, onMounted, ref, watch} from 'vue';
import FormatButton from './FormatButton.vue';
export default {
components: { FormatButton },
components: {FormatButton},
setup() {
Expand Down Expand Up @@ -252,7 +268,7 @@ export default {
for (let code in colors.value) {
const regex = new RegExp(`${code}(.*?)(?=(§[0-9a-u]|\n|$))`, "g");
formatted = formatted.replace(regex, (match, content) => {
return `<span style="color: ${colors.value[code]}">${content}</span>`;
return `<span style="color: ${colors.value[code]}">${content}</span>`;
});
}
Expand Down Expand Up @@ -288,22 +304,18 @@ export default {
body {
background-color: #FAFAFA;
font-family:
-apple-system, BlinkMacSystemFont, /* MacOS & iOS 系统字体 */
"Segoe UI", /* Windows 系统字体 */
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, /* 中文字体 */
sans-serif; /* 通用备选字体 */
font-family: -apple-system, BlinkMacSystemFont, /* MacOS & iOS 系统字体 */ "Segoe UI", /* Windows 系统字体 */ "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, /* 中文字体 */ sans-serif; /* 通用备选字体 */
}
/* 默认样式 */
.wrapper {
max-width: 800px;
margin: 40px auto;
padding: 20px;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
transition: background-color 0.3s ease;
max-width: 800px;
margin: 40px auto 32px;
padding: 20px;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
transition: background-color 0.3s ease;
}
.wrapper-bottom {
Expand All @@ -317,55 +329,71 @@ body {
.wrapper-bottom .settings {
display: flex;
justify-content: center;
padding: 0;
flex-direction: row;
align-items: center;
gap: 16px;
}
textarea {
width: 100%;
height: 150px;
padding: 10px;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 16px;
resize: vertical;
box-sizing: border-box;
width: 100%;
height: 150px;
padding: 10px;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 16px;
resize: vertical;
box-sizing: border-box;
}
.output {
margin-top: 20px;
padding: 15px;
border-radius: 4px;
border: 1px solid #eaeaea;
background-color: white;
margin-top: 20px;
padding: 15px;
border-radius: 4px;
border: 1px solid #eaeaea;
background-color: white;
font-size: 16px;
line-height: 20px;
word-break: break-all;
overflow-wrap: break-word;
white-space: pre-wrap;
word-wrap: break-word;
hyphens: auto;
transition: background-color 0.3s ease;
}
.output.dark-mode {
background-color: #333;
color: #fff;
border-color: #666;
background-color: #333;
color: #fff;
border-color: #666;
}
button {
margin-top: 10px;
padding: 5px 10px;
border: none;
border-radius: 4px;
background-color: #007BFF;
color: #fff;
cursor: pointer;
transition: background-color 0.3s ease;
margin-top: 10px;
padding: 5px 10px;
border: none;
border-radius: 4px;
background-color: #007BFF;
color: #fff;
cursor: pointer;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #0056b3;
background-color: #0056b3;
}
.small-gray-text {
font-size: 0.8rem; /* 调整大小,可以根据需要设置其他值 */
color: #888; /* 设置为浅灰色,可以根据需要调整颜色 */
color: #888; /* 设置为浅灰色,可以根据需要调整颜色 */
}
.label-checkbox {
display: flex;
align-items: center;
}
.label-checkbox-text {
margin-left: 2px;
}
.github-link {
Expand Down Expand Up @@ -402,7 +430,7 @@ button:hover {
color: #fff;
background-color: #222;
}
.wrapper {
background-color: #444;
}
Expand Down Expand Up @@ -432,9 +460,12 @@ button:hover {
/* 手机适配 */
@media (max-width: 768px) {
.wrapper {
margin: 4px;
}
.wrapper {
margin: 4px;
}
.wrapper-bottom {
padding: 8px 0 0;
}
}
</style>

0 comments on commit 5eda617

Please sign in to comment.