|
@@ -1,26 +1,35 @@
|
|
<template>
|
|
<template>
|
|
<div
|
|
<div
|
|
-v-if="store.setting && store.setting.subject.name"
|
|
|
|
- class="tw-flex tw-gap-2 tw-justify-between tw-items-center header-container">
|
|
|
|
|
|
+ v-if="store.setting && store.setting.subject.name"
|
|
|
|
+ class="tw-flex tw-gap-2 tw-justify-between tw-items-center header-container"
|
|
|
|
+ >
|
|
<a-tooltip>
|
|
<a-tooltip>
|
|
<template #title>回评</template>
|
|
<template #title>回评</template>
|
|
<div
|
|
<div
|
|
-class="tw-flex tw-place-content-center tw-cursor-pointer tw-relative menu"
|
|
|
|
- :class="[store.historyOpen && 'menu-toggled']" @click="store.toggleHistory">
|
|
|
|
|
|
+ class="tw-flex tw-place-content-center tw-cursor-pointer tw-relative menu"
|
|
|
|
+ :class="[store.historyOpen && 'menu-toggled']"
|
|
|
|
+ @click="store.toggleHistory"
|
|
|
|
+ >
|
|
<span class="tw-inline-flex tw-place-content-center">
|
|
<span class="tw-inline-flex tw-place-content-center">
|
|
- <img src="./images/left-menu.svg" :class="[store.historyOpen && 'svg-red']" />
|
|
|
|
|
|
+ <img
|
|
|
|
+ src="./images/left-menu.svg"
|
|
|
|
+ :class="[store.historyOpen && 'svg-red']"
|
|
|
|
+ />
|
|
</span>
|
|
</span>
|
|
<div v-if="store.historyOpen" class="triangle"></div>
|
|
<div v-if="store.historyOpen" class="triangle"></div>
|
|
</div>
|
|
</div>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
<div style="max-width: 12%; margin-left: -20px">
|
|
<div style="max-width: 12%; margin-left: -20px">
|
|
<a
|
|
<a
|
|
-class="tw-text-white tw-block tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap header-big-text"
|
|
|
|
- :title="store.setting.subject.name" href="/mark/subject-select" @dragstart.prevent>
|
|
|
|
|
|
+ class="tw-text-white tw-block tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap header-big-text"
|
|
|
|
+ :title="store.setting.subject.name"
|
|
|
|
+ href="/mark/subject-select"
|
|
|
|
+ @dragstart.prevent
|
|
|
|
+ >
|
|
{{
|
|
{{
|
|
- `${store.setting.subject.code ?? ""}-${
|
|
|
|
- store.setting.subject.name ?? ""
|
|
|
|
- }`
|
|
|
|
|
|
+ `${store.setting.subject.code ?? ""}-${
|
|
|
|
+ store.setting.subject.name ?? ""
|
|
|
|
+ }`
|
|
}}
|
|
}}
|
|
</a>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
@@ -32,8 +41,10 @@ class="tw-text-white tw-block tw-overflow-ellipsis tw-overflow-hidden tw-whitesp
|
|
待仲裁{{ store.status.arbitrateCount }}
|
|
待仲裁{{ store.status.arbitrateCount }}
|
|
</template>
|
|
</template>
|
|
<img
|
|
<img
|
|
-src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-animation'"
|
|
|
|
- @mouseover="questionMarkShouldChange = false" />
|
|
|
|
|
|
+ src="./images/problems.svg"
|
|
|
|
+ :class="questionMarkShouldChange && 'question-mark-animation'"
|
|
|
|
+ @mouseover="questionMarkShouldChange = false"
|
|
|
|
+ />
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</div>
|
|
</div>
|
|
<!-- <div v-if="store.setting.statusValue === 'TRIAL'">试评</div> -->
|
|
<!-- <div v-if="store.setting.statusValue === 'TRIAL'">试评</div> -->
|
|
@@ -44,18 +55,41 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
{{ store.currentTask?.secretNumber ?? "-" }}
|
|
{{ store.currentTask?.secretNumber ?? "-" }}
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
- <div v-if="store.currentTask && store.currentTask.objectiveScore !== null">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ store.currentTask &&
|
|
|
|
+ store.currentTask.objectiveScore !== null &&
|
|
|
|
+ !!store.setting?.showObjectiveScore
|
|
|
|
+ "
|
|
|
|
+ >
|
|
<span class="header-small-text">客观分</span>
|
|
<span class="header-small-text">客观分</span>
|
|
<span class="highlight-text">
|
|
<span class="highlight-text">
|
|
{{ store.currentTask.objectiveScore }}
|
|
{{ store.currentTask.objectiveScore }}
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
- <div v-if="props.showTotalScore && store.currentTask && store.currentTask.objectiveScore !== null" style="margin-left: 0.5em">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ props.showTotalScore &&
|
|
|
|
+ store.currentTask &&
|
|
|
|
+ store.currentTask.objectiveScore !== null
|
|
|
|
+ "
|
|
|
|
+ style="margin-left: 0.5em"
|
|
|
|
+ >
|
|
<span class="header-small-text">成绩</span>
|
|
<span class="header-small-text">成绩</span>
|
|
- <span class="highlight-text" style="margin-left: 0.2em; margin-top: 0.1em">
|
|
|
|
|
|
+ <span
|
|
|
|
+ class="highlight-text"
|
|
|
|
+ style="margin-left: 0.2em; margin-top: 0.1em"
|
|
|
|
+ >
|
|
{{
|
|
{{
|
|
- parseFloat((((Math.max(store.currentTask.objectiveScore || 0, 0) * 100 +
|
|
|
|
- Math.max(store.currentTask.markResult?.markerScore || 0, 0) * 100) | 0) / 100).toFixed(2))
|
|
|
|
|
|
+ parseFloat(
|
|
|
|
+ (
|
|
|
|
+ ((Math.max(store.currentTask.objectiveScore || 0, 0) * 100 +
|
|
|
|
+ Math.max(store.currentTask.markResult?.markerScore || 0, 0) *
|
|
|
|
+ 100) |
|
|
|
|
+ 0) /
|
|
|
|
+ 100
|
|
|
|
+ ).toFixed(2)
|
|
|
|
+ )
|
|
}}
|
|
}}
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
@@ -64,7 +98,11 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
<span style="display: inline-flex; height: 16px; min-width: 55px">
|
|
<span style="display: inline-flex; height: 16px; min-width: 55px">
|
|
<span class="header-small-text">已评</span>
|
|
<span class="header-small-text">已评</span>
|
|
<transition-group name="count-animation" tag="span">
|
|
<transition-group name="count-animation" tag="span">
|
|
- <span :key="store.status.personCount || 0" class="highlight-text" style="display: block">
|
|
|
|
|
|
+ <span
|
|
|
|
+ :key="store.status.personCount || 0"
|
|
|
|
+ class="highlight-text"
|
|
|
|
+ style="display: block"
|
|
|
|
+ >
|
|
{{ store.status.personCount }}
|
|
{{ store.status.personCount }}
|
|
</span>
|
|
</span>
|
|
</transition-group>
|
|
</transition-group>
|
|
@@ -76,7 +114,11 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
<span style="display: inline-flex; height: 16px; min-width: 55px">
|
|
<span style="display: inline-flex; height: 16px; min-width: 55px">
|
|
<span class="header-small-text">未评</span>
|
|
<span class="header-small-text">未评</span>
|
|
<transition-group name="count-animation" tag="span">
|
|
<transition-group name="count-animation" tag="span">
|
|
- <span :key="todoCount || 0" class="highlight-text" style="display: block">
|
|
|
|
|
|
+ <span
|
|
|
|
+ :key="todoCount || 0"
|
|
|
|
+ class="highlight-text"
|
|
|
|
+ style="display: block"
|
|
|
|
+ >
|
|
{{ todoCount }}
|
|
{{ todoCount }}
|
|
</span>
|
|
</span>
|
|
</transition-group>
|
|
</transition-group>
|
|
@@ -84,7 +126,11 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
<span style="display: inline-flex; height: 16px; min-width: 60px">
|
|
<span style="display: inline-flex; height: 16px; min-width: 60px">
|
|
<span class="header-small-text">进度</span>
|
|
<span class="header-small-text">进度</span>
|
|
<transition-group name="count-animation" tag="span">
|
|
<transition-group name="count-animation" tag="span">
|
|
- <span :key="progress || '-'" class="highlight-text" style="display: block">
|
|
|
|
|
|
+ <span
|
|
|
|
+ :key="progress || '-'"
|
|
|
|
+ class="highlight-text"
|
|
|
|
+ style="display: block"
|
|
|
|
+ >
|
|
{{ progress }}%
|
|
{{ progress }}%
|
|
</span>
|
|
</span>
|
|
</transition-group>
|
|
</transition-group>
|
|
@@ -96,18 +142,22 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
评卷时间段
|
|
评卷时间段
|
|
<br />
|
|
<br />
|
|
{{
|
|
{{
|
|
- store.setting.startTime > 0
|
|
|
|
- ? $filters.datetimeFilter(store.setting.startTime)
|
|
|
|
- : "-"
|
|
|
|
|
|
+ store.setting.startTime > 0
|
|
|
|
+ ? $filters.datetimeFilter(store.setting.startTime)
|
|
|
|
+ : "-"
|
|
}}
|
|
}}
|
|
<br />~<br />
|
|
<br />~<br />
|
|
{{
|
|
{{
|
|
- store.setting.endTime > 0
|
|
|
|
- ? $filters.datetimeFilter(store.setting.endTime)
|
|
|
|
- : "-"
|
|
|
|
|
|
+ store.setting.endTime > 0
|
|
|
|
+ ? $filters.datetimeFilter(store.setting.endTime)
|
|
|
|
+ : "-"
|
|
}}
|
|
}}
|
|
</template>
|
|
</template>
|
|
- <img src="./images/time.png" style="width: 16px; height: 16px" class="svg-red-hover" />
|
|
|
|
|
|
+ <img
|
|
|
|
+ src="./images/time.png"
|
|
|
|
+ style="width: 16px; height: 16px"
|
|
|
|
+ class="svg-red-hover"
|
|
|
|
+ />
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</div>
|
|
</div>
|
|
<div class="tw-flex">
|
|
<div class="tw-flex">
|
|
@@ -120,25 +170,33 @@ src="./images/problems.svg" :class="questionMarkShouldChange && 'question-mark-a
|
|
</a-menu>
|
|
</a-menu>
|
|
</template>
|
|
</template>
|
|
<a-button
|
|
<a-button
|
|
-style="
|
|
|
|
|
|
+ style="
|
|
color: rgba(255, 255, 255, 0.5);
|
|
color: rgba(255, 255, 255, 0.5);
|
|
border: none;
|
|
border: none;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- ">
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
<img
|
|
<img
|
|
-src="./images/trackmode.png" style="
|
|
|
|
|
|
+ src="./images/trackmode.png"
|
|
|
|
+ style="
|
|
width: 11px;
|
|
width: 11px;
|
|
height: 12px;
|
|
height: 12px;
|
|
display: inline;
|
|
display: inline;
|
|
margin-right: 2px;
|
|
margin-right: 2px;
|
|
- " />
|
|
|
|
|
|
+ "
|
|
|
|
+ />
|
|
{{ modeName }}
|
|
{{ modeName }}
|
|
<div v-if="!store.setting.forceMode" class="dropdown-triangle"></div>
|
|
<div v-if="!store.setting.forceMode" class="dropdown-triangle"></div>
|
|
</a-button>
|
|
</a-button>
|
|
</a-dropdown>
|
|
</a-dropdown>
|
|
</div>
|
|
</div>
|
|
- <a-popover v-if="!store.isScanImage" title="小助手" trigger="hover" class="tw-cursor-pointer">
|
|
|
|
|
|
+ <a-popover
|
|
|
|
+ v-if="!store.isScanImage"
|
|
|
|
+ title="小助手"
|
|
|
|
+ trigger="hover"
|
|
|
|
+ class="tw-cursor-pointer"
|
|
|
|
+ >
|
|
<template #content>
|
|
<template #content>
|
|
<table class="assistant-table">
|
|
<table class="assistant-table">
|
|
<tr v-if="store.setting.statusValue !== 'TRIAL'">
|
|
<tr v-if="store.setting.statusValue !== 'TRIAL'">
|
|
@@ -150,7 +208,10 @@ src="./images/trackmode.png" style="
|
|
</table>
|
|
</table>
|
|
</template>
|
|
</template>
|
|
<div class="tw-flex tw-items-center">
|
|
<div class="tw-flex tw-items-center">
|
|
- <img src="./images/assistant.png" style="width: 10px; height: 12px; margin-right: 2px" />
|
|
|
|
|
|
+ <img
|
|
|
|
+ src="./images/assistant.png"
|
|
|
|
+ style="width: 10px; height: 12px; margin-right: 2px"
|
|
|
|
+ />
|
|
<span>小助手</span>
|
|
<span>小助手</span>
|
|
<div class="dropdown-triangle"></div>
|
|
<div class="dropdown-triangle"></div>
|
|
</div>
|
|
</div>
|
|
@@ -165,13 +226,17 @@ src="./images/trackmode.png" style="
|
|
<tr v-if="store.setting.subject.paperUrl">
|
|
<tr v-if="store.setting.subject.paperUrl">
|
|
<td>试卷</td>
|
|
<td>试卷</td>
|
|
<td>
|
|
<td>
|
|
- <a-switch v-model:checked="store.setting.uiSetting['paper.modal']" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ v-model:checked="store.setting.uiSetting['paper.modal']"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr v-if="store.setting.subject.answerUrl">
|
|
<tr v-if="store.setting.subject.answerUrl">
|
|
<td>答案</td>
|
|
<td>答案</td>
|
|
<td>
|
|
<td>
|
|
- <a-switch v-model:checked="store.setting.uiSetting['answer.modal']" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ v-model:checked="store.setting.uiSetting['answer.modal']"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
@@ -189,24 +254,31 @@ src="./images/trackmode.png" style="
|
|
<tr>
|
|
<tr>
|
|
<td>缩略图</td>
|
|
<td>缩略图</td>
|
|
<td>
|
|
<td>
|
|
- <a-switch v-model:checked="store.setting.uiSetting['minimap.modal']" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ v-model:checked="store.setting.uiSetting['minimap.modal']"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td>特殊标记</td>
|
|
<td>特殊标记</td>
|
|
<td>
|
|
<td>
|
|
- <a-switch v-model:checked="store.setting.uiSetting['specialTag.modal']" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ v-model:checked="store.setting.uiSetting['specialTag.modal']"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr v-if="store.setting.statusValue !== 'TRIAL'">
|
|
<tr v-if="store.setting.statusValue !== 'TRIAL'">
|
|
<td>问题卷</td>
|
|
<td>问题卷</td>
|
|
<td>
|
|
<td>
|
|
<a-button
|
|
<a-button
|
|
-type="text" style="
|
|
|
|
|
|
+ type="text"
|
|
|
|
+ style="
|
|
color: var(--app-primary-button-bg-color);
|
|
color: var(--app-primary-button-bg-color);
|
|
margin-right: -15px;
|
|
margin-right: -15px;
|
|
height: 25px;
|
|
height: 25px;
|
|
- " @click="openProblemModal">
|
|
|
|
|
|
+ "
|
|
|
|
+ @click="openProblemModal"
|
|
|
|
+ >
|
|
选择问题类型
|
|
选择问题类型
|
|
</a-button>
|
|
</a-button>
|
|
</td>
|
|
</td>
|
|
@@ -215,14 +287,20 @@ type="text" style="
|
|
<td>分数/标记大小</td>
|
|
<td>分数/标记大小</td>
|
|
<td>
|
|
<td>
|
|
<a-slider
|
|
<a-slider
|
|
-v-model:value="store.setting.uiSetting['score.fontSize.scale']" :min="0.5" :step="0.1" :max="2"
|
|
|
|
- style="margin: 0" />
|
|
|
|
|
|
+ v-model:value="store.setting.uiSetting['score.fontSize.scale']"
|
|
|
|
+ :min="0.5"
|
|
|
|
+ :step="0.1"
|
|
|
|
+ :max="2"
|
|
|
|
+ style="margin: 0"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
<tr v-if="store.isScanImage">
|
|
<tr v-if="store.isScanImage">
|
|
<td>快捷键</td>
|
|
<td>快捷键</td>
|
|
<td>
|
|
<td>
|
|
- <a-switch v-model:checked="store.setting.uiSetting['shortCut.modal']" />
|
|
|
|
|
|
+ <a-switch
|
|
|
|
+ v-model:checked="store.setting.uiSetting['shortCut.modal']"
|
|
|
|
+ />
|
|
</td>
|
|
</td>
|
|
</tr>
|
|
</tr>
|
|
</table>
|
|
</table>
|
|
@@ -237,33 +315,54 @@ v-model:value="store.setting.uiSetting['score.fontSize.scale']" :min="0.5" :step
|
|
</div>
|
|
</div>
|
|
</a-popover>
|
|
</a-popover>
|
|
<div
|
|
<div
|
|
-class="tw-flex tw-place-content-center tw-cursor-pointer tw-items-center" style="max-width: 8%"
|
|
|
|
- :title="store.setting.groupTitle + '-' + store.setting.groupNumber" @click="openSwitchGroupModal">
|
|
|
|
- <img src="./images/group.png" style="width: 10px; height: 12px; margin-right: 2px" />
|
|
|
|
|
|
+ class="tw-flex tw-place-content-center tw-cursor-pointer tw-items-center"
|
|
|
|
+ style="max-width: 8%"
|
|
|
|
+ :title="store.setting.groupTitle + '-' + store.setting.groupNumber"
|
|
|
|
+ @click="openSwitchGroupModal"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ src="./images/group.png"
|
|
|
|
+ style="width: 10px; height: 12px; margin-right: 2px"
|
|
|
|
+ />
|
|
<div class="tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap">
|
|
<div class="tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap">
|
|
{{ "分组:" + store.setting.groupNumber }}
|
|
{{ "分组:" + store.setting.groupNumber }}
|
|
</div>
|
|
</div>
|
|
<div v-if="store.groups.length > 1" class="dropdown-triangle"></div>
|
|
<div v-if="store.groups.length > 1" class="dropdown-triangle"></div>
|
|
</div>
|
|
</div>
|
|
<div class="tw-flex tw-gap-4">
|
|
<div class="tw-flex tw-gap-4">
|
|
- <div class="tw-flex tw-place-items-center tw-cursor-pointer" @click="openProfileModal">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="tw-flex tw-place-items-center tw-cursor-pointer"
|
|
|
|
+ @click="openProfileModal"
|
|
|
|
+ >
|
|
<!-- <UserOutlined /> -->
|
|
<!-- <UserOutlined /> -->
|
|
{{ store.setting.userName }}
|
|
{{ store.setting.userName }}
|
|
</div>
|
|
</div>
|
|
- <div class="tw-flex tw-place-items-center tw-cursor-pointer" @click="logout">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="tw-flex tw-place-items-center tw-cursor-pointer"
|
|
|
|
+ @click="logout"
|
|
|
|
+ >
|
|
<!-- <PoweroffOutlined /> -->
|
|
<!-- <PoweroffOutlined /> -->
|
|
退出
|
|
退出
|
|
</div>
|
|
</div>
|
|
<a-tooltip placement="bottomRight" :overlayStyle="{ width: '58px' }">
|
|
<a-tooltip placement="bottomRight" :overlayStyle="{ width: '58px' }">
|
|
<template #title>弹出给分板</template>
|
|
<template #title>弹出给分板</template>
|
|
<div
|
|
<div
|
|
-class="tw-flex tw-place-content-center tw-cursor-pointer menu" :class="[
|
|
|
|
- store.isScoreBoardVisible && store.currentTask && 'menu-toggled',
|
|
|
|
- ]" @click="store.toggleScoreBoard">
|
|
|
|
|
|
+ class="tw-flex tw-place-content-center tw-cursor-pointer menu"
|
|
|
|
+ :class="[
|
|
|
|
+ store.isScoreBoardVisible && store.currentTask && 'menu-toggled',
|
|
|
|
+ ]"
|
|
|
|
+ @click="store.toggleScoreBoard"
|
|
|
|
+ >
|
|
<span class="tw-inline-flex tw-place-content-center tw-relative">
|
|
<span class="tw-inline-flex tw-place-content-center tw-relative">
|
|
- <img src="./images/right-menu.svg" :class="[store.isScoreBoardVisible && 'svg-red']" />
|
|
|
|
|
|
+ <img
|
|
|
|
+ src="./images/right-menu.svg"
|
|
|
|
+ :class="[store.isScoreBoardVisible && 'svg-red']"
|
|
|
|
+ />
|
|
</span>
|
|
</span>
|
|
- <div v-if="store.isScoreBoardVisible && store.currentTask" class="triangle"></div>
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="store.isScoreBoardVisible && store.currentTask"
|
|
|
|
+ class="triangle"
|
|
|
|
+ ></div>
|
|
</div>
|
|
</div>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</div>
|
|
</div>
|
|
@@ -440,11 +539,13 @@ watch(
|
|
}
|
|
}
|
|
|
|
|
|
.svg-red {
|
|
.svg-red {
|
|
- filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
|
|
|
|
|
|
+ filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg)
|
|
|
|
+ brightness(104%) contrast(97%);
|
|
}
|
|
}
|
|
|
|
|
|
.svg-red-hover:hover {
|
|
.svg-red-hover:hover {
|
|
- filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
|
|
|
|
|
|
+ filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg)
|
|
|
|
+ brightness(104%) contrast(97%);
|
|
}
|
|
}
|
|
|
|
|
|
.triangle {
|
|
.triangle {
|