ismism/ismism.ts/ui/index.html
2022-12-09 13:21:21 +08:00

691 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<title>主义主义 活动公示</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="x-icon" href="https://img.00000.host/2022/10/27/635a7048a7586.png">
<link rel="apple-touch-icon" href="https://img.00000.host/2022/10/27/635a7048a7586.png">
</head>
<style>
:root {
--white: #fff;
--lightgray: #f1f1f1;
--gray: #9e9e9e;
--darkgray: #616161;
--black: #000;
--palered: #ffdddd;
--red: #f44336;
--amber: #ffc107;
--purple: #673ab7;
--small: 12px;
--normal: 15px;
--large: 18px;
--w-max: 1400px;
--w-min: 320px;
--w-max-main: 1080px;
}
.darkgray {
color: var(--white) !important;
border-color: var(--darkgray) !important;
background: var(--darkgray) !important;
}
html {
overflow-x: hidden;
}
body {
margin: 0;
color: var(--black);
background: var(--lightgray);
font-family: Verdana, sans-serif;
font-size: var(--normal);
line-height: 1.5;
}
h1,
h2,
h3 {
font-weight: 400;
margin: 10px 0;
}
h1 {
font-size: 36px
}
h2 {
font-size: 30px
}
h3 {
font-size: 24px
}
hr {
box-sizing: content-box;
height: 0;
border: 0;
border-top: 1px solid #eee;
overflow: visible;
margin: 20px 0;
}
code {
font-family: monospace;
font-size: 1em;
}
a {
color: inherit;
text-decoration: none;
}
a.idname {
display: block;
font-size: 24px;
}
a.idname code.id {
padding: 0.1em 8px;
border: 1px solid var(--black);
border-radius: 4px;
color: var(--black);
}
a.idname span.name {
font-weight: bold;
}
a.video,
a.detail {
text-decoration: underline;
text-underline-offset: 4px;
}
a.tag {
display: inline-block;
padding: 5px 10px;
margin: 0 6px 6px 0;
border: 1px solid var(--black);
border-radius: 6px;
color: var(--black);
background: none;
text-align: center;
vertical-align: middle;
overflow: hidden;
white-space: nowrap;
user-select: none;
}
a.tag>span.count,
a.role,
a.aname {
display: inline-block;
padding: 0.1em 8px;
margin-left: 0.5ch;
font-size: var(--small);
color: var(--white);
background: var(--black);
}
a.tag>span.count {
border-radius: 50%;
}
a.role.red {
background: var(--red);
}
a.role.amber {
color: var(--black);
background: var(--amber);
}
a.role.purple {
background: var(--purple);
}
a.member-soc {
color: var(--white);
background: var(--black);
margin: 0.5ch 0.5ch 0 0;
padding: 0.1em 8px;
}
a.member-user::after {
content: ", ";
}
a.member-user:last-child:after {
content: "";
}
button.photo-prev,
button.photo-next,
button.tab {
font-size: 1em;
margin: 0;
padding: 0;
color: var(--darkgray);
background: none;
border: none;
cursor: pointer;
}
button.photo-prev:focus,
button.photo-next:focus,
button.tab:focus {
outline: none;
}
@media (hover: hover) {
a.video:hover,
a.detail:hover,
a.initial:hover,
a.uname:hover,
a.member-user:hover {
color: var(--amber);
}
a.role:hover {
opacity: 0.7;
}
a.tag:hover,
a.aname:hover,
a.member-soc:hover,
button.photo-prev:hover,
button.photo-next:hover,
button.tab:hover {
color: var(--white) !important;
border-color: var(--darkgray) !important;
background: var(--darkgray) !important;
opacity: 0.7;
}
}
div.title {
padding-top: 32px;
padding-bottom: 16px;
min-width: var(--w-min);
max-width: var(--w-max);
margin-left: auto;
margin-right: auto;
text-align: center;
}
div#main {
min-width: var(--w-min);
max-width: var(--w-max-main);
margin: 0 auto;
padding: 0;
}
div.tag {
margin: 10px 0;
}
div.date {
color: var(--darkgray);
font-size: var(--small);
font-family: monospace;
font-style: italic;
margin: 10px 0;
}
div.intro {
margin: 10px 0;
}
div.photo {
display: flex;
width: auto;
flex-flow: row wrap;
align-items: center;
text-align: center;
color: var(--darkgray);
border-top: 1px dotted var(--darkgray);
padding: 10px 0;
}
img.photo-img {
width: 100%;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
@media (max-width: 720px) {
div.photo>span {
width: 100%;
}
}
@media (min-width: 720px) {
div.photo>span {
flex-basis: 180px;
flex-grow: 1;
}
div.photo>span:nth-child(1) {
text-align: left;
}
div.photo>span:nth-child(2) {
text-align: center;
}
div.photo>span:nth-child(3) {
text-align: right;
}
}
div.bar {
--fund: 7000;
--budget: 7000;
--expense: 4000;
margin-top: 10px;
}
div.bar>div.label {
overflow: auto;
}
div.bar>div.label>*:nth-child(1) {
float: left;
}
div.bar>div.label>*:nth-child(2) {
float: right;
}
div.bar>div:nth-child(2) {
margin: 5px 0;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)
}
div.bar>div:nth-child(2)>div {
position: relative;
width: 100%;
color: var(--black);
background: var(--lightgray);
font-family: monospace;
overflow: hidden;
}
div.bar>div:nth-child(2)>div>span {
display: inline-block;
position: absolute;
padding: 0.25em 8px;
left: 0;
top: 0;
width: 100%;
font-size: var(--normal);
margin: -1px 0;
min-width: 1ch;
}
div.bar>div:nth-child(2)>div>span:nth-child(1) {
position: relative;
background: var(--gray);
}
div.bar>div:nth-child(2)>div.fund>span:nth-child(1) {
width: calc(var(--fund) / var(--budget) * 100%);
}
div.bar>div:nth-child(2)>div.expense>span:nth-child(1) {
width: calc(var(--expense) / var(--budget) * 100%);
}
div.bar>div:nth-child(2)>div>span:nth-child(2) {
text-align: center;
background: none;
}
div.bar>div:nth-child(2)>div>span:nth-child(3) {
text-align: right;
background: none;
left: -16px;
}
div.goal {
display: flex;
flex-flow: row wrap;
justify-content: center;
text-align: center;
}
div.goal>div {
flex-basis: 1px;
flex-grow: 1;
display: flex;
flex-flow: column nowrap;
align-items: center;
margin: 10px;
font-size: var(--large);
}
div.goal>div>div.pct {
--size: 4em;
width: var(--size);
height: var(--size);
margin-bottom: 10px;
border-radius: 50%;
display: grid;
place-items: center;
background: radial-gradient(closest-side, var(--white) 66%, var(--lightgray) 66%);
font-family: monospace;
font-size: calc(var(--size) / 2);
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
color: var(--gray);
text-shadow: 0 2px 2px var(--lightgray);
}
div.goal>div>div.pct.ongoing {
--pct: 65;
color: var(--amber);
background:
radial-gradient(closest-side, var(--white) 66%, transparent 66%),
conic-gradient(var(--gray) calc(var(--pct) * 1%), var(--lightgray) 0);
}
div.goal>div>div.pct.done {
background: radial-gradient(closest-side, var(--white) 66%, var(--gray) 66%);
}
div.rec-tab {
display: flex;
flex-flow: row wrap;
justify-content: center;
margin-top: 10px;
}
div.rec-tab.sum {
margin-top: 0;
}
div.rec-tab>button {
padding: 8px;
color: var(--black);
}
div.rec-tab>button>span {
background: var(--black);
color: var(--white);
padding: 0.1em 8px;
}
div.rec {
display: none;
background: var(--lightgray);
border-radius: 16px;
padding: 16px 8px;
margin-top: 16px;
max-height: 480px;
overflow-y: scroll;
}
div.rec>div {
display: flex;
flex-flow: row nowrap;
margin: 16px 0;
}
div.rec div.date {
margin: 0;
}
div.rec>div>div:nth-child(1) {
display: flex;
flex-shrink: 0;
width: 48px;
height: 48px;
color: var(--white);
background: var(--gray);
border-radius: 50%;
font-size: 24px;
justify-content: center;
align-items: center;
}
div.rec>div>div:nth-child(2) {
display: flex;
flex-flow: column nowrap;
margin-left: 16px;
margin-right: 8px;
}
div.rec>div>div:nth-child(2)>div:nth-child(1) {
display: flex;
flex-flow: row wrap;
align-items: center;
}
div.rec>div>div:nth-child(2)>div:nth-child(2) {
font-size: var(--small);
font-style: italic;
color: var(--gray);
}
div.rec>div>div:nth-child(2)>div:nth-child(3) {
min-width: 120px;
margin-top: 6px;
padding: 0.5em 16px;
background-color: var(--lightgray);
border-radius: 0 8px 8px 8px;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
section.sum {
padding: 8px 16px;
margin: auto;
max-width: 640px;
}
article {
margin: 16px;
padding: 8px 16px;
background: var(--white);
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.19);
}
article>section {
margin: 0;
padding: 0;
}
footer {
padding: 32px 16px;
margin-top: 32px;
color: var(--gray);
text-align: center;
}
footer>a {
display: inline-flex;
align-items: center;
justify-content: center;
}
footer>a>img {
height: 1.2em;
margin-right: 0.2em;
}
footer>span {
display: block;
margin-top: 8px;
font-size: var(--small);
font-family: monospace;
}
.animate-scale {
position: relative;
animation: animateopacity 0.4s;
}
@keyframes animateopacity {
from {
transform: scale(0.25);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}
</style>
<template id="tag"><a class="tag"><span class="name">tag</span><span class="count">99</span></a></template>
<template id="goal">
<div>
<div class="pct">0%</div>
<span class="name">目标</span>
</div>
</template>
<template id="rec">
<div>
<div><a class="initial">u</a></div>
<div>
<div><a class="uname">uname</a><a class="role">role</a><a class="aname">aname</a></div>
<div class="date">timestamp</div>
<div class="msg">msg</div>
</div>
</div>
</template>
<template id="video"><a href="" target="_blank" rel="noopener" class="video">title</a></template>
<template id="sum">
<section class="sum">
<div class="rec-tab sum">
<button class="tab work"><span>123</span> 条工作日志 </button>
<button class="tab worker"><span>123</span> 次活动参与 </button>
<button class="tab fund"><span>123</span> 次活动支持 </button>
</div>
<div class="rec work"></div>
<div class="rec worker"></div>
<div class="rec fund"></div>
</section>
</template>
<template id="agenda">
<article>
<section>
<a class="idname"><code class="id">id</code> <span class="name">name</span></a>
<div class="tag">tag</div>
<div class="date">date</div>
</section>
<section class="animate-scale">
<div class="photo">
<span class="photo-title">photo title</span>
<span><button class="photo-prev">上一张</button> / <button class="photo-next">下一张</button></span>
<span><span class="photo-nbr">1</span>张 / 共<span class="photo-total">6</span></span>
</div>
<img class="photo-img">
</section>
<section class="animate-scale">
<div class="bar">
<div class="label">
<span>收到支持</span>
<span>当前预算</span>
</div>
<div>
<div class="fund">
<span>123456</span>
<span>50%</span>
<span>123456</span>
</div>
<div class="expense">
<span>123456</span>
<span>50%</span>
</div>
</div>
<div class="label">
<span>当前支出</span>
<a target="_blank" rel="noopener" href="" class="detail">历史明细</a>
</div>
</div>
<div><br>当前目标:</div>
<div class="goal"></div>
</section>
<section>
<div class="rec-tab">
<button class="tab work"><span>123</span> 条工作日志 </button>
<button class="tab worker"><span>123</span> 名参与者 </button>
<button class="tab fund"><span>123</span> 位支持者 </button>
</div>
<div class="rec work"></div>
<div class="rec worker"></div>
<div class="rec fund"></div>
</section>
</article>
</template>
<template id="user">
<article>
<section>
<a class="idname"><code class="id">id</code> <span class="name">name</span></a>
<div class="date">date</div>
<div class="soc">所属社团:</div>
</section>
<section>
<div class="rec-tab">
<button class="tab work"><span>123</span> 条工作日志 </button>
<button class="tab worker"><span>123</span> 次活动参与 </button>
<button class="tab fund"><span>123</span> 次活动支持 </button>
</div>
<div class="rec work"></div>
<div class="rec worker"></div>
<div class="rec fund"></div>
</section>
</article>
</template>
<template id="soc">
<article>
<section>
<a class="idname"><code class="id">id</code> <span class="name">name</span></a>
<div class="date">date</div>
<div class="intro">社团简介:</div>
<div class="user">社团成员:</div>
</section>
<section>
<div class="rec-tab">
<button class="tab work"><span>123</span> 条工作日志 </button>
<button class="tab worker"><span>123</span> 次活动参与 </button>
<button class="tab fund"><span>123</span> 次活动支持 </button>
</div>
<div class="rec work"></div>
<div class="rec worker"></div>
<div class="rec fund"></div>
</section>
</article>
</template>
<body>
<div class="title">
<a href="">
<h1><b>主义主义 <span style="color: var(--red)">活动</span>公示</b></h1>
</a>
<hr>
<div class="tag"></div>
</div>
<div id="main"></div>
<footer>
<a href="https://space.bilibili.com/23191782" target="_blank" rel="noopener"><img
src="https://www.bilibili.com/favicon.ico">未明子</a> ·
<a href="https://space.bilibili.com/19147010" target="_blank" rel="noopener"><img
src="https://www.bilibili.com/favicon.ico">张正午</a><br>
<span>网站维护seven.two.eight@outlook.com</span><br>
<a href="https://chitchatter.im/public/9e70deaa-d0dd-4a90-8020-4a572d1e2635" target="_blank" rel="noopener"><img
src="https://chitchatter.im/favicon.ico">聊天室</a>
</footer>
</body>
<script src="./bind.js"></script>
</html>