
@@ -79,10 +105,11 @@ aside {
.username {
user-select: none;
- font-size: 18px;
- padding: 4px;
+ font-size: 16px;
+ padding: 5px 4px;
margin: 0 4px;
color: var(--card-text);
+ font-family: var(--fonts-code);
}
.grow {
@@ -110,6 +137,45 @@ aside {
white-space: nowrap;
}
+.model-container {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin: 4px auto;
+ padding: 6px 8px;
+ border-radius: 8px;
+ gap: 8px;
+ background: rgb(32, 33, 35);
+ width: max-content;
+}
+
+.model {
+ display: flex;
+ align-items: center;
+ width: 82px;
+ height: max-content;
+ padding: 6px 16px;
+ border-radius: 8px;
+ user-select: none;
+ cursor: pointer;
+ gap: 4px;
+ transition: .25s;
+}
+
+.model.active {
+ background: var(--card-button);
+}
+
+.model.gpt3 {
+ padding-left: 18px;
+ padding-right: 14px;
+}
+
+.model.gpt4 {
+ padding-left: 24px;
+ padding-right: 8px;
+}
+
.login {
display: flex;
flex-direction: column;
@@ -156,14 +222,10 @@ aside {
}
}
-@media screen and (max-width: 340px) {
+@media screen and (max-width: 320px) {
.username {
display: none;
}
-
- .avatar {
- margin-right: 16px;
- }
}
@media screen and (max-width: 600px) {
@@ -173,6 +235,28 @@ aside {
max-height: calc(100% - 24px);
}
+ .model-container {
+ flex-direction: column;
+ }
+
+ .logo {
+ display: none;
+ }
+
+ .model-container {
+ margin: auto 0;
+ height: max-content;
+ }
+
+ .model {
+ display: none;
+ }
+
+ .model.active {
+ display: flex;
+ background: none;
+ }
+
.username {
margin-right: 10px;
}
@@ -190,10 +274,11 @@ aside {
}
aside {
- width: 100%;
+ width: calc(100% - 32px);
+ padding: 16px 0;
height: max-content;
border-radius: 0;
- flex-direction: row;
+ flex-direction: row-reverse;
}
.logo {
diff --git a/app/src/assets/script/shared.ts b/app/src/assets/script/shared.ts
new file mode 100644
index 0000000..f6ba9f7
--- /dev/null
+++ b/app/src/assets/script/shared.ts
@@ -0,0 +1,7 @@
+import {ref} from "vue";
+
+export const mobile = ref
((document.body.clientWidth < document.body.clientHeight) && (document.body.clientWidth < 600));
+
+window.addEventListener("resize", () => {
+ mobile.value = (document.body.clientWidth < document.body.clientHeight) && (document.body.clientWidth < 600);
+})
diff --git a/app/src/components/icons/light.vue b/app/src/components/icons/light.vue
new file mode 100644
index 0000000..ec9592d
--- /dev/null
+++ b/app/src/components/icons/light.vue
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/components/icons/star.vue b/app/src/components/icons/star.vue
new file mode 100644
index 0000000..afc3e7d
--- /dev/null
+++ b/app/src/components/icons/star.vue
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/views/HomeView.vue b/app/src/views/HomeView.vue
index 93825ba..25b0716 100644
--- a/app/src/views/HomeView.vue
+++ b/app/src/views/HomeView.vue
@@ -283,6 +283,10 @@ onMounted(() => {
transition: .5s;
}
+.avatar.openai svg {
+ fill: #FFD700;
+}
+
.avatar.openai:hover {
border: 1px solid var(--card-border-hover);
}