Merge pull request #56 from ryanhex53/main

chat textarea and button ui fix.
This commit is contained in:
Niek van der Maas 2023-03-21 08:43:44 +01:00 committed by GitHub
commit 4046f9e7c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 19 additions and 5 deletions

1
.gitignore vendored
View File

@ -24,3 +24,4 @@ dist-ssr
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
*.env

7
package-lock.json generated
View File

@ -14,6 +14,7 @@
"@tauri-apps/cli": "^1.2.3", "@tauri-apps/cli": "^1.2.3",
"@tsconfig/svelte": "^3.0.0", "@tsconfig/svelte": "^3.0.0",
"@types/marked": "^4.0.8", "@types/marked": "^4.0.8",
"@types/node": "^18.15.3",
"bulma": "^0.9.4", "bulma": "^0.9.4",
"bulma-prefers-dark": "^0.1.0-beta.1", "bulma-prefers-dark": "^0.1.0-beta.1",
"copy-to-clipboard": "^3.3.3", "copy-to-clipboard": "^3.3.3",
@ -788,6 +789,12 @@
"integrity": "sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==", "integrity": "sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==",
"dev": true "dev": true
}, },
"node_modules/@types/node": {
"version": "18.15.3",
"resolved": "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-18.15.3.tgz",
"integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
"dev": true
},
"node_modules/@types/pug": { "node_modules/@types/pug": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz",

View File

@ -20,6 +20,7 @@
"@tauri-apps/cli": "^1.2.3", "@tauri-apps/cli": "^1.2.3",
"@tsconfig/svelte": "^3.0.0", "@tsconfig/svelte": "^3.0.0",
"@types/marked": "^4.0.8", "@types/marked": "^4.0.8",
"@types/node": "^18.15.3",
"bulma": "^0.9.4", "bulma": "^0.9.4",
"bulma-prefers-dark": "^0.1.0-beta.1", "bulma-prefers-dark": "^0.1.0-beta.1",
"copy-to-clipboard": "^3.3.3", "copy-to-clipboard": "^3.3.3",

View File

@ -53,6 +53,7 @@ a.is-disabled {
/* Style the chat input */ /* Style the chat input */
.chat-input { .chat-input {
overflow-y:hidden; overflow-y:hidden;
resize: vertical;
} }
$footer-padding: 3rem 1.5rem; $footer-padding: 3rem 1.5rem;

View File

@ -145,7 +145,7 @@
// Send API request // Send API request
/* /*
// Not working yet: a way to get the response as a stream // Not working yet: a way to get the response as a stream
await fetchEventSource("https://api.openai.com/v1/chat/completions", { await fetchEventSource(import.meta.env.VITE_API_BASE + "/v1/chat/completions", {
method: "POST", method: "POST",
headers: { headers: {
Authorization: Authorization:
@ -186,7 +186,7 @@
}, {}) }, {})
} }
response = await ( response = await (
await fetch('https://api.openai.com/v1/chat/completions', { await fetch(import.meta.env.VITE_API_BASE + '/v1/chat/completions', {
method: 'POST', method: 'POST',
headers: { headers: {
Authorization: `Bearer ${$apiKeyStorage}`, Authorization: `Bearer ${$apiKeyStorage}`,
@ -295,7 +295,7 @@
// Load available models from OpenAI // Load available models from OpenAI
const allModels = (await ( const allModels = (await (
await fetch('https://api.openai.com/v1/models', { await fetch(import.meta.env.VITE_API_BASE + '/v1/models', {
method: 'GET', method: 'GET',
headers: { headers: {
Authorization: `Bearer ${$apiKeyStorage}`, Authorization: `Bearer ${$apiKeyStorage}`,
@ -442,7 +442,7 @@
<progress class="progress is-small is-dark" max="100" /> <progress class="progress is-small is-dark" max="100" />
{/if} {/if}
<form class="field has-addons has-addons-right" on:submit|preventDefault={() => submitForm()}> <form class="field has-addons has-addons-right is-align-items-flex-end" on:submit|preventDefault={() => submitForm()}>
<p class="control is-expanded"> <p class="control is-expanded">
<textarea <textarea
class="input is-info is-focused chat-input" class="input is-info is-focused chat-input"

View File

@ -1,10 +1,14 @@
import { defineConfig } from 'vite' import { defineConfig, loadEnv } from 'vite'
import { svelte } from '@sveltejs/vite-plugin-svelte' import { svelte } from '@sveltejs/vite-plugin-svelte'
import purgecss from '@fullhuman/postcss-purgecss' import purgecss from '@fullhuman/postcss-purgecss'
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig(({ command, mode, ssrBuild }) => { export default defineConfig(({ command, mode, ssrBuild }) => {
// Load env file based on `mode` in the current working directory.
const env = loadEnv(mode, process.cwd())
// Set default api base url
env.VITE_API_BASE = 'https://api.openai.com'
// Only run PurgeCSS in production builds // Only run PurgeCSS in production builds
if (command === 'build') { if (command === 'build') {
return { return {