diff --git a/app/assets/icons/StampyLarge.svg b/app/assets/icons/StampyLarge.svg
new file mode 100644
index 00000000..191f58f9
--- /dev/null
+++ b/app/assets/icons/StampyLarge.svg
@@ -0,0 +1,21 @@
+
diff --git a/app/assets/icons/StampySmall.svg b/app/assets/icons/StampySmall.svg
new file mode 100644
index 00000000..6d2c7bf2
--- /dev/null
+++ b/app/assets/icons/StampySmall.svg
@@ -0,0 +1,21 @@
+
diff --git a/app/components/Button/button.css b/app/components/Button/button.css
index b7ef695f..87cfb8e6 100644
--- a/app/components/Button/button.css
+++ b/app/components/Button/button.css
@@ -134,25 +134,30 @@
/* state */
-.primary:hover {
+.primary:hover,
+.primary-large:hover {
background: var(--colors-teal-700, #17736e);
}
-.primary-alt:hover {
+.primary-alt:hover,
+.primary-alt-large:hover {
color: var(--colors-teal-800, #146560);
}
-.secondary:hover {
+.secondary:hover,
+.secondary-large:hover {
border: 1px solid var(--colors-teal-200, #a6d9d7) !important;
}
-.secondary-alt:hover {
+.secondary-alt:hover,
+.secondary-alt-large:hover {
border: 1px solid var(--colors-teal-200, #a6d9d7);
}
/* #### Composite button #### */
.composite-button {
box-shadow: 0px var(--spacing-16) var(--spacing-40) 0px rgba(175, 183, 194, 0.2);
+ cursor: pointer;
}
.composite-button > form .button,
diff --git a/app/components/Chatbot/ChatEntry.tsx b/app/components/Chatbot/ChatEntry.tsx
index e284dcea..7ee57dc2 100644
--- a/app/components/Chatbot/ChatEntry.tsx
+++ b/app/components/Chatbot/ChatEntry.tsx
@@ -1,7 +1,6 @@
import {ComponentType} from 'react'
import {Link} from '@remix-run/react'
import MarkdownIt from 'markdown-it'
-import QuestionMarkIcon from '~/components/icons-generated/QuestionMark'
import Contents from '~/components/Article/Contents'
import Feedback, {logFeedback} from '~/components/Feedback'
import useGlossary from '~/hooks/useGlossary'
@@ -14,6 +13,8 @@ import LinkIcon from '~/components/icons-generated/LinkOut'
import PersonIcon from '~/components/icons-generated/Person'
import StampyIcon from '~/components/icons-generated/Stampy'
import PersonInCircleIcon from '~/components/icons-generated/PersonInCircle'
+import IconStampySmall from '~/components/icons-generated/StampySmall'
+import QuestionMarkIcon from '~/components/icons-generated/QuestionMark'
const MAX_REFERENCES = 10
@@ -83,8 +84,8 @@ const ReferenceSummary = ({title, authors, source, url}: Citation & {titleClass?
return (
-
{title}
-
+
{title}
+
{' ยท '}
@@ -166,7 +167,12 @@ const ChatbotReply = ({question, phase, content, citationsMap}: AssistantEntry)
return (
-
+
{content?.split(/(\[\d+\])|(\n)/).map((chunk, i) => {
@@ -266,7 +272,7 @@ const ChatEntry = (props: Entry) => {
const Role = roles[props.role] as ComponentType
if (!Role) return null
return (
-
+
)
diff --git a/app/components/Chatbot/index.tsx b/app/components/Chatbot/index.tsx
index 2e0f7118..d099d446 100644
--- a/app/components/Chatbot/index.tsx
+++ b/app/components/Chatbot/index.tsx
@@ -1,6 +1,7 @@
import {useEffect, useRef, useState} from 'react'
import {useFetcher, useNavigate} from '@remix-run/react'
-import StampyIcon from '~/components/icons-generated/Stampy'
+import IconStampyLarge from '~/components/icons-generated/StampyLarge'
+import IconStampySmall from '~/components/icons-generated/StampySmall'
import SendIcon from '~/components/icons-generated/PlaneSend'
import Button from '~/components/Button'
import {queryLLM, Entry, AssistantEntry, StampyEntry, Followup, ChatSettings} from '~/hooks/useChat'
@@ -112,7 +113,7 @@ export const WidgetStampy = ({className}: {className?: string}) => {
-
+
Try asking me...
{questions.map((question, i) => (
@@ -147,11 +148,11 @@ type FollowupsProps = {
}
const Followups = ({title, followups, onSelect, className}: FollowupsProps) => (
<>
- {title &&
{title}
}
+ {title &&
{title}
}
{followups?.map(({text, pageid}, i) => (
-
@@ -166,20 +167,18 @@ const SplashScreen = ({
questions?: string[]
onQuestion: (v: string) => void
}) => (
- <>
-
-
-
-
Hi there, I'm Stampy.
- I can answer your questions about AI Safety
-
-
({text}))}
- onSelect={({text}: Followup) => onQuestion(text)}
- />
+
+
+
+ n
Hi there, I'm Stampy.
+ I can answer your questions about AI Safety
- >
+
({text}))}
+ onSelect={({text}: Followup) => onQuestion(text)}
+ />
+
)
type ChatbotProps = {
diff --git a/app/components/Feedback/Form.tsx b/app/components/Feedback/Form.tsx
index c3febdcb..e9379fd7 100644
--- a/app/components/Feedback/Form.tsx
+++ b/app/components/Feedback/Form.tsx
@@ -41,7 +41,7 @@ const FeedbackForm = ({onSubmit, onClose, options}: FeedbackFormProps) => {
onClick={() => setNumClicks((current) => current + 1)}
className="fcol-5 feedback-form bordered"
>
- What was the problem?
+ What was the problem?
{options?.map((option) => (
{
id="showArticles"
/>
- } text="Stampy chatbot" />
+ } text="AI Safety Chatbot" />
diff --git a/app/components/icons-generated/StampyLarge.tsx b/app/components/icons-generated/StampyLarge.tsx
new file mode 100644
index 00000000..a4c89807
--- /dev/null
+++ b/app/components/icons-generated/StampyLarge.tsx
@@ -0,0 +1,48 @@
+import type {SVGProps} from 'react'
+const SvgStampyLarge = (props: SVGProps) => (
+
+)
+export default SvgStampyLarge
diff --git a/app/components/icons-generated/StampySmall.tsx b/app/components/icons-generated/StampySmall.tsx
new file mode 100644
index 00000000..68754c6c
--- /dev/null
+++ b/app/components/icons-generated/StampySmall.tsx
@@ -0,0 +1,48 @@
+import type {SVGProps} from 'react'
+const SvgStampySmall = (props: SVGProps) => (
+
+)
+export default SvgStampySmall
diff --git a/app/components/icons-generated/index.ts b/app/components/icons-generated/index.ts
index 3e62ad3f..7c2e13b4 100644
--- a/app/components/icons-generated/index.ts
+++ b/app/components/icons-generated/index.ts
@@ -1,3 +1,5 @@
+export {default as StampyLarge} from './StampyLarge'
+export {default as StampySmall} from './StampySmall'
export {default as Aisafety} from './Aisafety'
export {default as ArrowRight} from './ArrowRight'
export {default as ArrowUpRight} from './ArrowUpRight'
diff --git a/app/root.css b/app/root.css
index f1d06885..6af755df 100644
--- a/app/root.css
+++ b/app/root.css
@@ -71,6 +71,7 @@ input {
color: var(--colors-cool-grey-900), #1b2b3e;
margin: 0;
}
+
body {
margin: auto;
max-width: 1608px; /* multiple of 12 for .col-x, 1 col at max width = 134px */
@@ -424,7 +425,7 @@ a {
a:hover {
text-decoration: none;
- color: var(--colors-teal-500, #1d9089);
+ /* color: var(--colors-teal-500, #1d9089); */
}
a:not(:hover, :focus-visible) {
@@ -442,6 +443,7 @@ ul {
padding: 0;
padding-left: var(--spacing-32);
}
+
ol {
padding-left: var(--spacing-32);
}
@@ -522,6 +524,11 @@ svg {
.icon-link path {
stroke: var(--colors-cool-grey-600);
}
+
+.icon-link:hover path {
+ stroke: var(--colors-teal-500);
+}
+
.icon-link.focused path {
stroke: var(--colors-teal-600);
}
diff --git a/app/routes/chat.tsx b/app/routes/chat.tsx
index 3b07e93b..abe2e440 100644
--- a/app/routes/chat.tsx
+++ b/app/routes/chat.tsx
@@ -25,7 +25,7 @@ export default function App() {
const ModeButton = ({name, mode}: {name: string; mode: Mode}) => (
setChatSettings({...chatSettings, mode})}
>
{name}