Compare commits
4 Commits
master
..
27c801a7fd
Generated
+16
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "class-anniversary",
|
||||
"version": "0.3.0",
|
||||
"version": "1.0.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "class-anniversary",
|
||||
"version": "0.3.0",
|
||||
"version": "1.0.1",
|
||||
"dependencies": {
|
||||
"@astrojs/check": "^0.9.9",
|
||||
"astro": "^6.2.1",
|
||||
@@ -2090,6 +2090,20 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/astro/node_modules/typescript": {
|
||||
"version": "5.9.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"extraneous": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/axobject-query": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "class-anniversary",
|
||||
"version": "0.3.0",
|
||||
"version": "1.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -228,6 +228,16 @@ let questionNumber = 0;
|
||||
}
|
||||
</article>
|
||||
|
||||
<button
|
||||
class="score-fab"
|
||||
type="button"
|
||||
aria-controls="scorer"
|
||||
aria-expanded="false"
|
||||
aria-label="打开答题卡"
|
||||
data-score-toggle
|
||||
>
|
||||
答
|
||||
</button>
|
||||
<aside class="score-sidebar" id="scorer" aria-label="答题卡">
|
||||
<form class="score-panel" id="exam-scorer">
|
||||
<div class="score-sidebar-head">
|
||||
@@ -357,6 +367,8 @@ let questionNumber = 0;
|
||||
}}
|
||||
>
|
||||
const scorer = document.querySelector("#exam-scorer");
|
||||
const scoreSidebar = document.querySelector("#scorer");
|
||||
const scoreToggle = document.querySelector("[data-score-toggle]");
|
||||
const candidateName = document.querySelector("#candidate-name");
|
||||
const admissionNumber = document.querySelector("#admission-number");
|
||||
const seatNumber = document.querySelector("#seat-number");
|
||||
@@ -365,6 +377,16 @@ let questionNumber = 0;
|
||||
const cardSeatNumber = document.querySelector("#card-seat-number");
|
||||
const draftStorageKey = "examDraft";
|
||||
|
||||
const setScoreMenuOpen = (isOpen) => {
|
||||
scoreSidebar?.classList.toggle("is-open", isOpen);
|
||||
|
||||
if (scoreToggle) {
|
||||
scoreToggle.setAttribute("aria-expanded", String(isOpen));
|
||||
scoreToggle.setAttribute("aria-label", isOpen ? "关闭答题卡" : "打开答题卡");
|
||||
scoreToggle.textContent = isOpen ? "×" : "答";
|
||||
}
|
||||
};
|
||||
|
||||
const normalizeAnswer = (value) =>
|
||||
String(value || "")
|
||||
.trim()
|
||||
@@ -754,8 +776,17 @@ let questionNumber = 0;
|
||||
behavior: "smooth",
|
||||
block: "start"
|
||||
});
|
||||
setScoreMenuOpen(false);
|
||||
});
|
||||
});
|
||||
scoreToggle?.addEventListener("click", () => {
|
||||
setScoreMenuOpen(!scoreSidebar?.classList.contains("is-open"));
|
||||
});
|
||||
document.addEventListener("keydown", (event) => {
|
||||
if (event.key === "Escape") {
|
||||
setScoreMenuOpen(false);
|
||||
}
|
||||
});
|
||||
admissionNumber?.addEventListener("input", () => {
|
||||
admissionNumber.value = admissionNumber.value.replace(/\D/g, "").slice(0, admissionNumber.maxLength);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import { site } from "../../data/site";
|
||||
<div class="result-content" id="result-content" hidden>
|
||||
<div class="result-head">
|
||||
<div>
|
||||
<p class="eyebrow">综合素质检测模拟卷</p>
|
||||
<p class="eyebrow">普通高中毕业班综合测试~综合素质检测</p>
|
||||
<h2 id="result-title">成绩单</h2>
|
||||
</div>
|
||||
<button class="score-submit" type="button" id="download-share">下载分享图</button>
|
||||
|
||||
+94
-10
@@ -1178,6 +1178,10 @@ h2 {
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.score-fab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.score-panel {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
@@ -1780,7 +1784,7 @@ h2 {
|
||||
|
||||
@media (max-width: 820px) {
|
||||
body:has(.score-sidebar) {
|
||||
padding-bottom: min(52vh, 540px);
|
||||
padding-bottom: 86px;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
@@ -1873,16 +1877,60 @@ h2 {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.score-fab {
|
||||
position: fixed;
|
||||
right: 18px;
|
||||
bottom: 18px;
|
||||
z-index: 30;
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border: 1px solid rgba(255, 253, 247, 0.62);
|
||||
border-radius: 50%;
|
||||
background: var(--green);
|
||||
color: #fffdf7;
|
||||
box-shadow: 0 16px 38px rgba(13, 20, 19, 0.28);
|
||||
font: inherit;
|
||||
font-size: 22px;
|
||||
font-weight: 900;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
transition:
|
||||
background 180ms ease,
|
||||
transform 180ms ease,
|
||||
box-shadow 180ms ease;
|
||||
}
|
||||
|
||||
.score-fab[aria-expanded="true"] {
|
||||
background: var(--coral);
|
||||
transform: scale(1.04);
|
||||
}
|
||||
|
||||
.score-sidebar {
|
||||
position: fixed;
|
||||
top: auto;
|
||||
left: 12px;
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
bottom: 88px;
|
||||
width: auto;
|
||||
max-height: min(46vh, 500px);
|
||||
max-height: min(64vh, 560px);
|
||||
border-radius: 10px;
|
||||
background: rgba(255, 253, 247, 0.96);
|
||||
box-shadow: 0 18px 44px rgba(13, 20, 19, 0.22);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transform: translateY(14px) scale(0.98);
|
||||
transform-origin: bottom right;
|
||||
transition:
|
||||
opacity 180ms ease,
|
||||
transform 180ms ease;
|
||||
}
|
||||
|
||||
.score-sidebar.is-open {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
|
||||
.score-panel {
|
||||
@@ -1890,7 +1938,12 @@ h2 {
|
||||
}
|
||||
|
||||
.score-sidebar-head {
|
||||
padding: 14px 14px 0;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
padding: 12px 14px 8px;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: rgba(255, 253, 247, 0.98);
|
||||
}
|
||||
|
||||
.score-sidebar-head h2 {
|
||||
@@ -1903,6 +1956,12 @@ h2 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.score-sidebar-head p:not(.eyebrow),
|
||||
.answer-card-profile,
|
||||
.score-total-note {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.score-group {
|
||||
padding: 12px;
|
||||
}
|
||||
@@ -1933,12 +1992,20 @@ h2 {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.score-total {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.score-total > div {
|
||||
border-right: 0;
|
||||
border-right: 1px solid var(--line);
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.score-total > div:last-child {
|
||||
.score-total > div:nth-child(even) {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.score-total > div:nth-last-child(-n + 2) {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@@ -2037,11 +2104,13 @@ h2 {
|
||||
}
|
||||
|
||||
.exam-paper {
|
||||
padding: 16px;
|
||||
padding: 14px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.exam-paper p {
|
||||
font-size: 15px;
|
||||
line-height: 1.78;
|
||||
}
|
||||
|
||||
.exam-paper h2 {
|
||||
@@ -2053,8 +2122,9 @@ h2 {
|
||||
}
|
||||
|
||||
.exam-question {
|
||||
grid-template-columns: 32px minmax(0, 1fr);
|
||||
grid-template-columns: 30px minmax(0, 1fr);
|
||||
gap: 8px;
|
||||
margin-top: 18px !important;
|
||||
}
|
||||
|
||||
.exam-question-number {
|
||||
@@ -2065,9 +2135,15 @@ h2 {
|
||||
|
||||
.exam-options {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.exam-option {
|
||||
min-height: 42px;
|
||||
padding: 8px 10px;
|
||||
}
|
||||
|
||||
.exam-fill-answer {
|
||||
grid-template-columns: 1fr;
|
||||
margin-left: 0;
|
||||
@@ -2075,6 +2151,7 @@ h2 {
|
||||
|
||||
.name-fill-grid {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 7px;
|
||||
margin-left: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
@@ -2103,8 +2180,15 @@ h2 {
|
||||
.score-sidebar {
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
bottom: 8px;
|
||||
max-height: 50vh;
|
||||
bottom: 82px;
|
||||
max-height: min(66vh, 520px);
|
||||
}
|
||||
|
||||
.score-fab {
|
||||
right: 14px;
|
||||
bottom: 14px;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
|
||||
.score-group h3 {
|
||||
|
||||
Reference in New Issue
Block a user