add avatar and fix pad style adapter

This commit is contained in:
Zhang Minghan 2023-07-20 08:47:07 +08:00
parent 26b3e5ce20
commit 1630bf27bd
4 changed files with 79 additions and 13 deletions

View File

@ -1,2 +1,9 @@
# chatnio <div align="center">
👋 Lightweight ChatGPT chat site
# [Chat Nio](https://nio.fystart.cn)
👋 轻量级 ChatGPT 聊天平台
👋 Lightweight ChatGPT Chat Platform
</div>

View File

@ -120,6 +120,12 @@ aside {
align-items: center; align-items: center;
} }
@media (max-width: 600px) {
.container {
max-height: calc(100% - 112px);
}
}
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
.card { .card {
flex-direction: column; flex-direction: column;
@ -139,10 +145,6 @@ aside {
margin-right: 16px !important; margin-right: 16px !important;
} }
.container {
max-height: 90%;
}
aside { aside {
width: 100%; width: 100%;
height: max-content; height: max-content;

View File

@ -30,6 +30,10 @@
--card-text-secondary: rgba(255, 255, 255, 0.54); --card-text-secondary: rgba(255, 255, 255, 0.54);
} }
* {
outline: none;
}
a { a {
font-weight: 500; font-weight: 500;
text-decoration: inherit; text-decoration: inherit;

View File

@ -41,10 +41,14 @@ onMounted(() => {
<div class="conversation" v-if="length"> <div class="conversation" v-if="length">
<div class="message" v-for="(message, index) in messages" :key="index" :class="{'user': message.role === 'user'}"> <div class="message" v-for="(message, index) in messages" :key="index" :class="{'user': message.role === 'user'}">
<div class="grow" v-if="message.role === 'user'"></div> <div class="grow" v-if="message.role === 'user'"></div>
<div class="avatar openai" v-else><openai /></div>
<div class="content"> <div class="content">
<span v-if="message.role === 'user'">{{ message.content }}</span> <span v-if="message.role === 'user'">{{ message.content }}</span>
<md-preview v-model="message.content" theme="dark" v-else /> <md-preview v-model="message.content" theme="dark" v-else />
</div> </div>
<div class="avatar user" v-if="message.role === 'user'">
<img src="https://zmh-program.site/avatar/zmh-program.webp">
</div>
</div> </div>
</div> </div>
<div class="preview" v-else> <div class="preview" v-else>
@ -71,8 +75,7 @@ onMounted(() => {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
height: calc(80vh - 86px); flex-grow: 1;
max-height: calc(80vh - 86px);
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
overscroll-behavior: contain; overscroll-behavior: contain;
@ -84,7 +87,7 @@ onMounted(() => {
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
height: 86px; height: 74px;
} }
.preview { .preview {
@ -212,6 +215,59 @@ onMounted(() => {
fill: var(--card-text-hover); fill: var(--card-text-hover);
} }
.avatar {
width: 42px;
height: 42px;
border-radius: 8px;
background: var(--card-input);
border: 1px solid var(--card-input-border);
transition: .5s;
flex-shrink: 0;
}
.avatar.user {
margin-left: 12px;
background: var(--card--element);
border: 1px solid var(--card-border);
}
.avatar.user img {
width: 42px;
height: 42px;
border-radius: 8px;
transition: .5s;
}
.avatar.user:hover {
border: 1px solid var(--card-border-hover);
}
.avatar.user:hover + .content {
border: 1px solid var(--card-border-hover);
}
.avatar.user:hover + .content:hover {
border: 1px solid var(--card-border-hover);
}
.avatar.openai {
margin-right: 12px;
background: var(--card--element);
border: 1px solid var(--card-border);
}
.avatar.openai svg {
padding: 6px;
fill: var(--card-text);
background: var(--card-input);
border: 1px solid var(--card-input-border);
transition: .5s;
}
.avatar.openai:hover {
border: 1px solid var(--card-border-hover);
}
@media (max-width: 600px) { @media (max-width: 600px) {
.preview h1 { .preview h1 {
font-size: 32px; font-size: 32px;
@ -224,9 +280,6 @@ onMounted(() => {
} }
@media screen and (max-width: 560px) { @media screen and (max-width: 560px) {
.chat-wrapper {
height: calc(70vh - 86px);
max-height: calc(70vh - 86px);
}
} }
</style> </style>