Skip to content

Commit

Permalink
Refactor: core init: renamed models folder and moved features/connect…
Browse files Browse the repository at this point in the history
…ions
  • Loading branch information
mrdjohnson committed Oct 31, 2024
1 parent 4132c00 commit 9545982
Show file tree
Hide file tree
Showing 66 changed files with 220 additions and 213 deletions.
14 changes: 7 additions & 7 deletions src/components/ChatBoxInputRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import _ from 'lodash'
import { observer } from 'mobx-react-lite'
import TextareaAutosize from 'react-textarea-autosize'

import { chatStore } from '~/models/ChatStore'
import { settingStore } from '~/models/SettingStore'
import { personaStore } from '~/models/PersonaStore'
import { incomingMessageStore } from '~/models/IncomingMessageStore'
import { chatStore } from '~/core/ChatStore'
import { settingStore } from '~/core/SettingStore'
import { personaStore } from '~/core/PersonaStore'
import { incomingMessageStore } from '~/core/IncomingMessageStore'

import AttachmentWrapper from '~/components/AttachmentWrapper'
import CachedImage from '~/components/CachedImage'
Expand All @@ -17,7 +17,7 @@ import Paperclip from '~/icons/Paperclip'
import ChevronDown from '~/icons/ChevronDown'

import { lightboxStore } from '~/features/lightbox/LightboxStore'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

const ChatBoxInputRow = observer(
({
Expand Down Expand Up @@ -199,11 +199,11 @@ const ChatBoxInputRow = observer(
className={' h-full min-h-fit w-full ' + (inputDisabled ? 'bg-base-200' : '')}
onSubmit={onFormSubmit}
>
<div className="join-item flex w-full flex-col md:flex-row justify-between md:gap-2 bg-base-200 align-middle">
<div className="join-item flex w-full flex-col justify-between bg-base-200 align-middle md:flex-row md:gap-2">
<button
tabIndex={0}
type="button"
className="btn hidden md:flex btn-active rounded-none rounded-bl-md"
className="btn btn-active hidden rounded-none rounded-bl-md md:flex"
disabled={inputDisabled || connectionModelStore.isImageGenerationMode}
onClick={() => settingStore.openSettingsModal('personas')}
>
Expand Down
10 changes: 5 additions & 5 deletions src/components/ChatBoxPrompt.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import { PropsWithChildren, useMemo } from 'react'
import _ from 'lodash'
import { observer } from 'mobx-react-lite'

import { chatStore } from '~/models/ChatStore'
import { settingStore } from '~/models/SettingStore'
import { personaStore } from '~/models/PersonaStore'
import { chatStore } from '~/core/ChatStore'
import { settingStore } from '~/core/SettingStore'
import { personaStore } from '~/core/PersonaStore'

import AttachmentWrapper from '~/components/AttachmentWrapper'
import FunTitle from '~/components/FunTitle'
import ToolTip from '~/components/Tooltip'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

type StepProps = { isCompleted?: boolean; type?: 'primary' | 'secondary'; inCompleteIcon?: string }

Expand Down Expand Up @@ -98,7 +98,7 @@ const ChatBoxPrompt = observer(() => {
className="link ml-1 decoration-secondary"
onClick={() => settingStore.openSettingsModal('personas')}
>
Persona <span className='text-xs'>(aka System Prompt)</span>
Persona <span className="text-xs">(aka System Prompt)</span>
</button>

{'to give your bot some pizzaz'}
Expand Down
10 changes: 6 additions & 4 deletions src/components/EnabledCheckbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { observer } from 'mobx-react-lite'
import { Control, Controller } from 'react-hook-form'
import { SnapshotIn } from 'mobx-state-tree'

import { IConnectionDataModel } from '~/models/types'
import { ServerConnectionTypes } from '~/features/connections/servers'
import { IConnectionDataModel } from '~/core/types'
import { ServerConnectionTypes } from '~/core/connections/servers'

type EnabledCheckboxProps = {
connection: ServerConnectionTypes
Expand All @@ -17,8 +17,10 @@ const EnabledCheckbox = observer(({ control, connection }: EnabledCheckboxProps)
<Controller
render={({ field: { value, onChange } }) => {
return (
<label className="label w-full md:w-fit gap-2 flex flex-col md:flex-row">
<span className="label-text text-lg md:text-medium text-center">{connection.enabledLabel}</span>
<label className="label flex w-full flex-col gap-2 md:w-fit md:flex-row">
<span className="label-text text-center text-lg md:text-medium">
{connection.enabledLabel}
</span>

<div className="join mx-auto">
{[true, false].map((isEnabledOption, index) => (
Expand Down
2 changes: 1 addition & 1 deletion src/components/FunTitle.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useMemo } from 'react'
import { observer } from 'mobx-react-lite'
import _ from 'lodash'

import { settingStore } from '~/models/SettingStore'
import { settingStore } from '~/core/SettingStore'

const xWords = [
'Excellence',
Expand Down
6 changes: 3 additions & 3 deletions src/components/HostInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import { observer } from 'mobx-react-lite'
import { SnapshotIn } from 'mobx-state-tree'
import { Controller, useFormContext } from 'react-hook-form'

import { settingStore } from '~/models/SettingStore'
import { settingStore } from '~/core/SettingStore'

import Question from '~/icons/Question'
import Refresh from '~/icons/Refresh'

import FormInput from '~/components/form/FormInput'
import { ServerConnectionTypes } from '~/features/connections/servers'
import { IConnectionDataModel } from '~/models/types'
import { ServerConnectionTypes } from '~/core/connections/servers'
import { IConnectionDataModel } from '~/core/types'

type HostInputProps = {
connection: ServerConnectionTypes
Expand Down
6 changes: 3 additions & 3 deletions src/components/Message.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import { observer } from 'mobx-react-lite'

import Stop from '~/icons/Stop'

import { IMessageModel } from '~/models/MessageModel'
import { chatStore } from '~/models/ChatStore'
import { incomingMessageStore } from '~/models/IncomingMessageStore'
import { IMessageModel } from '~/core/MessageModel'
import { chatStore } from '~/core/ChatStore'
import { incomingMessageStore } from '~/core/IncomingMessageStore'

const LazyMessage = React.lazy(() => import('~/components/message/LazyMessage'))

Expand Down
2 changes: 1 addition & 1 deletion src/components/ModelRefreshButton.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { observer } from 'mobx-react-lite'

import Refresh from '~/icons/Refresh'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

const ModelRefreshButton = observer(
({ small = false, shouldShow = false }: { small?: boolean; shouldShow?: boolean }) => {
Expand Down
4 changes: 2 additions & 2 deletions src/components/ModelSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { observer } from 'mobx-react-lite'
import _ from 'lodash'

import ChevronDown from '~/icons/ChevronDown'
import { settingStore } from '~/models/SettingStore'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { settingStore } from '~/core/SettingStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

const ModelSelector = observer(() => {
const { selectedModelLabel, isAnyServerConnected, selectedConnection } = connectionModelStore
Expand Down
4 changes: 2 additions & 2 deletions src/components/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import ModelRefreshButton from '~/components/ModelRefreshButton'
import FunTitle from '~/components/FunTitle'
import ToolTip from '~/components/Tooltip'

import { settingStore } from '~/models/SettingStore'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { settingStore } from '~/core/SettingStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

import Warning from '~/icons/Warning'
import Bars3 from '~/icons/Bars3'
Expand Down
12 changes: 6 additions & 6 deletions src/components/OmniBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ import type { Action, ActionImpl } from 'kbar'
import { autorun } from 'mobx'
import _ from 'lodash'

import { settingStore } from '~/models/SettingStore'
import { personaStore } from '~/models/PersonaStore'
import { chatStore } from '~/models/ChatStore'
import type { IMessageModel } from '~/models/MessageModel'
import { settingStore } from '~/core/SettingStore'
import { personaStore } from '~/core/PersonaStore'
import { chatStore } from '~/core/ChatStore'
import type { IMessageModel } from '~/core/MessageModel'

import DaisyUiThemeProvider from '~/containers/DaisyUiThemeProvider'
import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'

const isSelected = ({ parent, id }: ActionImpl) => {
if (parent === 'theme') {
Expand Down Expand Up @@ -181,7 +181,7 @@ const useRegisterModelActions = () => {
keywords: `model refresh ` + typeAndLabel,
priority: Priority.LOW,
perform: () => connection.fetchLmModels(),
parent:'refresh_models'
parent: 'refresh_models',
})

connection.models.forEach(model => {
Expand Down
2 changes: 1 addition & 1 deletion src/components/ThemeSelector.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { observer } from 'mobx-react-lite'
import { useState } from 'react'

import ChevronDown from '~/icons/ChevronDown'
import { settingStore } from '~/models/SettingStore'
import { settingStore } from '~/core/SettingStore'

const themes: Record<string, string> = {
_system: 'System theme',
Expand Down
6 changes: 3 additions & 3 deletions src/components/ToastCenter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'
import _ from 'lodash'
import { observer } from 'mobx-react-lite'

import { toastStore } from '~/models/ToastStore'
import { toastStore } from '~/core/ToastStore'

const ToastCenter = observer(() => {
const [hovering, setHovering] = useState(false)
Expand Down Expand Up @@ -33,7 +33,7 @@ const ToastCenter = observer(() => {

return (
<div
className="z-30 bg-transparent w-full gap-3"
className="z-30 w-full gap-3 bg-transparent"
onMouseEnter={() => setHovering(true)}
onMouseLeave={() => setHovering(false)}
>
Expand All @@ -42,7 +42,7 @@ const ToastCenter = observer(() => {
className={`alert alert-${toast.type} relative rounded-md border border-base-content/30 px-4 text-xl font-bold`}
key={toast.id}
>
<span className="cursor-default break-words whitespace-pre-wrap">{toast.message}</span>
<span className="cursor-default whitespace-pre-wrap break-words">{toast.message}</span>

<div
className="btn btn-xs absolute right-1 top-1 text-sm font-bold opacity-50"
Expand Down
4 changes: 2 additions & 2 deletions src/components/chat/ChatListSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import Tooltip from '~/components/Tooltip'
import DocumentArrowUp from '~/icons/DocumentArrowUp'
import Edit from '~/icons/Edit'

import { IChatModel } from '~/models/ChatModel'
import { chatStore } from '~/models/ChatStore'
import { IChatModel } from '~/core/ChatModel'
import { chatStore } from '~/core/ChatStore'

export const ChatListSection = observer(({ onChatSelected }: { onChatSelected: () => void }) => {
const handleChatSelected = (chat: IChatModel) => {
Expand Down
4 changes: 2 additions & 2 deletions src/components/chat/ChatSettingsSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import _ from 'lodash'
import { observer } from 'mobx-react-lite'
import { Controller, useForm } from 'react-hook-form'

import { chatStore } from '~/models/ChatStore'
import { chatStore } from '~/core/ChatStore'

import Check from '~/icons/Check'
import Delete from '~/icons/Delete'
Expand Down Expand Up @@ -97,7 +97,7 @@ export const ChatSettingsSection = observer(({ onBackClicked }: { onBackClicked:
<div className="flex flex-col gap-2 rounded-box bg-base-300 text-base-content">
<form className="flex w-full flex-row gap-2" onSubmit={handleFormSubmit}>
<Controller
render={({field}) => (
render={({ field }) => (
<FormInput
id={chat.id + ''}
label="Name"
Expand Down
12 changes: 6 additions & 6 deletions src/components/message/LazyMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import WindowCheck from '~/icons/WindowCheck'
import PlayPause from '~/icons/PlayPause'
import Stop from '~/icons/Stop'

import { chatStore } from '~/models/ChatStore'
import { incomingMessageStore } from '~/models/IncomingMessageStore'
import { IMessageModel } from '~/models/MessageModel'
import { settingStore } from '~/models/SettingStore'
import { chatStore } from '~/core/ChatStore'
import { incomingMessageStore } from '~/core/IncomingMessageStore'
import { IMessageModel } from '~/core/MessageModel'
import { settingStore } from '~/core/SettingStore'

import { lightboxStore } from '~/features/lightbox/LightboxStore'

Expand Down Expand Up @@ -137,7 +137,7 @@ const LazyMessage = observer(
<Markdown
remarkPlugins={[[remarkGfm, { singleTilde: false }], remarkMath]}
rehypePlugins={[[rehypeKatex, { output: 'mathml' }]]}
className="prose-spacing rtts-markdown prose flex w-full flex-wrap overflow-x-hidden overscroll-none prose-p:w-full -[&>*]:w-full"
className="prose-spacing rtts-markdown -[&>*]:w-full prose flex w-full flex-wrap overflow-x-hidden overscroll-none prose-p:w-full"
components={{
code: DelayedCustomCodeBlock,
math: CustomMathBlock,
Expand Down Expand Up @@ -291,7 +291,7 @@ const LazyMessage = observer(

{error.stack && (
<div className="collapse-content">
<p className="whitespace-pre-line pt-2 text-xs break-all">{error.stack}</p>
<p className="whitespace-pre-line break-all pt-2 text-xs">{error.stack}</p>
</div>
)}
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/components/message/MessageGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import WindowClose from '~/icons/WindowClose'
import WindowPlus from '~/icons/WindowPlus'
import Delete from '~/icons/Delete'

import { IMessageModel } from '~/models/MessageModel'
import { IMessageModel } from '~/core/MessageModel'
import ToolTip from '~/components/Tooltip'

type MessageGroupType = PropsWithChildren<{
Expand Down Expand Up @@ -41,7 +41,7 @@ const MessageGroup = observer(({ message, children, onAddMoreVariations }: Messa

<ToolTip label="Add 3 more variations" placement="top" delay={400}>
<button
className="text-sm opacity-30 hover:scale-105 hover:opacity-100 ml-auto"
className="ml-auto text-sm opacity-30 hover:scale-105 hover:opacity-100"
onClick={onAddMoreVariations}
>
<WindowPlus />
Expand Down
4 changes: 2 additions & 2 deletions src/components/message/MessageVariationSelectionRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import ChevronDown from '~/icons/ChevronDown'
import Delete from '~/icons/Delete'
import WindowView from '~/icons/WindowView'

import { IMessageModel } from '~/models/MessageModel'
import { IMessageModel } from '~/core/MessageModel'
import ToolTip from '~/components/Tooltip'

const MessageVariationSelectionRow = observer(
Expand All @@ -30,7 +30,7 @@ const MessageVariationSelectionRow = observer(
<ChevronDown className="!h-3 !w-3 rotate-90" />
</button>

<span className="text-sm opacity-30 whitespace-nowrap">
<span className="whitespace-nowrap text-sm opacity-30">
{selectedVariationIndex + 1} / {variations.length + 1}
</span>

Expand Down
6 changes: 3 additions & 3 deletions src/containers/ChatBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { observer } from 'mobx-react-lite'
import ScrollableFeed from 'react-scrollable-feed'
import _ from 'lodash'

import { chatStore } from '~/models/ChatStore'
import { IMessageModel } from '~/models/MessageModel'
import { incomingMessageStore } from '~/models/IncomingMessageStore'
import { chatStore } from '~/core/ChatStore'
import { IMessageModel } from '~/core/MessageModel'
import { incomingMessageStore } from '~/core/IncomingMessageStore'

import ChatBoxInputRow from '~/components/ChatBoxInputRow'
import ChatBoxPrompt from '~/components/ChatBoxPrompt'
Expand Down
2 changes: 1 addition & 1 deletion src/containers/DaisyUiThemeProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useEffect, useMemo, type PropsWithChildren } from 'react'
import { observer } from 'mobx-react-lite'
import useMedia from 'use-media'

import { settingStore } from '~/models/SettingStore'
import { settingStore } from '~/core/SettingStore'

const DaisyUiThemeProvider = observer(({ children }: PropsWithChildren) => {
const selectedTheme = settingStore.theme
Expand Down
4 changes: 2 additions & 2 deletions src/containers/SideBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import useMedia from 'use-media'
import { ChatSettingsSection } from '~/components/chat/ChatSettingsSection'
import { ChatListSection } from '~/components/chat/ChatListSection'

import { chatStore } from '~/models/ChatStore'
import { settingStore } from '~/models/SettingStore'
import { chatStore } from '~/core/ChatStore'
import { settingStore } from '~/core/SettingStore'

import MediaEject from '~/icons/MediaEject'

Expand Down
10 changes: 5 additions & 5 deletions src/models/ChatModel.ts → src/core/ChatModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import _ from 'lodash'
import { types, Instance, cast, destroy, flow } from 'mobx-state-tree'
import moment from 'moment'

import { IMessageModel, MessageModel } from '~/models/MessageModel'
import { toastStore } from '~/models/ToastStore'
import { incomingMessageStore } from '~/models/IncomingMessageStore'
import { IMessageModel, MessageModel } from '~/core/MessageModel'
import { toastStore } from '~/core/ToastStore'
import { incomingMessageStore } from '~/core/IncomingMessageStore'

import base64EncodeImage from '~/utils/base64EncodeImage'
import CachedStorage from '~/utils/CachedStorage'

import { connectionModelStore } from '~/features/connections/ConnectionModelStore'
import BaseApi from '~/features/connections/api/BaseApi'
import { connectionModelStore } from '~/core/connections/ConnectionModelStore'
import BaseApi from '~/core/connections/api/BaseApi'

export const ChatModel = types
.model({
Expand Down
2 changes: 1 addition & 1 deletion src/models/ChatStore.ts → src/core/ChatStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { types, destroy, Instance } from 'mobx-state-tree'
import persist from 'mst-persist'
import _ from 'lodash'

import { ChatModel, IChatModel } from '~/models/ChatModel'
import { ChatModel, IChatModel } from '~/core/ChatModel'

export const ChatStore = types
.model({
Expand Down
Loading

0 comments on commit 9545982

Please sign in to comment.