feat(ui): единый акцентный цвет #EA580C, логотип в цветах гусей

- Замена всех акцентных цветов (sky, cyan, #24A0ED) на #EA580C
- Логотип GooSeek на главной — палитра гусей (серый + оранжевый клюв)
- Обновлены: кнопки, ссылки, иконки, hover-состояния, переключатели

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
home
2026-02-20 21:25:15 +03:00
parent 0989eed206
commit 61770527d1
25 changed files with 45 additions and 45 deletions

View File

@@ -157,7 +157,7 @@ const Page = () => {
className={cn(
'border-[0.1px] rounded-full text-sm px-3 py-1 text-nowrap transition duration-200 cursor-pointer',
activeTopic === t.key
? 'text-cyan-700 dark:text-cyan-300 bg-cyan-300/20 border-cyan-700/60 dar:bg-cyan-300/30 dark:border-cyan-300/40'
? 'text-[#EA580C] bg-[#EA580C]/20 border-[#EA580C]/60 dark:bg-[#EA580C]/30 dark:border-[#EA580C]/40'
: 'border-black/30 dark:border-white/30 text-black/70 dark:text-white/70 hover:text-black dark:hover:text-white hover:border-black/40 dark:hover:border-white/40 hover:bg-black/5 dark:hover:bg-white/5',
)}
onClick={() => setActiveTopic(t.key)}
@@ -192,8 +192,8 @@ const Page = () => {
<div className="flex flex-col items-center justify-center min-h-[50vh] px-4" />
) : setupRequired ? (
<div className="flex flex-col items-center justify-center min-h-[50vh] gap-4 px-4 text-center">
<div className="rounded-full p-4 bg-cyan-300/10 dark:bg-cyan-300/5">
<Settings size={48} className="text-cyan-600 dark:text-cyan-400" />
<div className="rounded-full p-4 bg-[#EA580C]/10 dark:bg-[#EA580C]/5">
<Settings size={48} className="text-[#EA580C]" />
</div>
<div>
<p className="text-lg font-medium text-black dark:text-white">

View File

@@ -93,7 +93,7 @@ const Page = () => {
No chats found.
</p>
<p className="mt-1 text-black/70 dark:text-white/70 text-sm">
<Link href="/" className="text-sky-400">
<Link href="/" className="text-[#EA580C]">
Start a new chat
</Link>{' '}
to see it listed here.
@@ -128,7 +128,7 @@ const Page = () => {
<div className="flex items-start justify-between gap-3">
<Link
href={`/c/${chat.id}`}
className="flex-1 text-black dark:text-white text-base lg:text-lg font-medium leading-snug line-clamp-2 group-hover:text-[#24A0ED] transition duration-200"
className="flex-1 text-black dark:text-white text-base lg:text-lg font-medium leading-snug line-clamp-2 group-hover:text-[#EA580C] transition duration-200"
title={chat.title}
>
{chat.title}

View File

@@ -238,7 +238,7 @@ const AssistantSteps = ({
key={idx}
className="flex flex-row space-x-3 rounded-lg border border-light-200 dark:border-dark-200 bg-light-100 dark:bg-dark-100 p-2 cursor-pointer"
>
<div className="mt-0.5 h-10 w-10 rounded-md bg-cyan-100 text-cyan-800 dark:bg-sky-500 dark:text-cyan-50 flex items-center justify-center">
<div className="mt-0.5 h-10 w-10 rounded-md bg-[#EA580C]/20 text-[#EA580C] dark:bg-[#EA580C] dark:text-white flex items-center justify-center">
<FileText className="w-5 h-5" />
</div>
<div className="flex flex-col justify-center">

View File

@@ -28,7 +28,7 @@ const MajorNewsCard = ({
</div>
<div className="flex flex-col justify-center flex-1 py-4">
<h2
className="text-3xl font-light mb-3 leading-tight line-clamp-3 group-hover:text-cyan-500 dark:group-hover:text-cyan-300 transition duration-200"
className="text-3xl font-light mb-3 leading-tight line-clamp-3 group-hover:text-[#EA580C] transition duration-200"
>
{item.title}
</h2>
@@ -41,7 +41,7 @@ const MajorNewsCard = ({
<>
<div className="flex flex-col justify-center flex-1 py-4">
<h2
className="text-3xl font-light mb-3 leading-tight line-clamp-3 group-hover:text-cyan-500 dark:group-hover:text-cyan-300 transition duration-200"
className="text-3xl font-light mb-3 leading-tight line-clamp-3 group-hover:text-[#EA580C] transition duration-200"
>
{item.title}
</h2>

View File

@@ -19,7 +19,7 @@ const SmallNewsCard = ({ item }: { item: Discover }) => (
/>
</div>
<div className="p-4">
<h3 className="font-semibold text-sm mb-2 leading-tight line-clamp-2 group-hover:text-cyan-500 dark:group-hover:text-cyan-300 transition duration-200">
<h3 className="font-semibold text-sm mb-2 leading-tight line-clamp-2 group-hover:text-[#EA580C] transition duration-200">
{item.title}
</h3>
<p className="text-black/60 dark:text-white/60 text-xs leading-relaxed line-clamp-2">

View File

@@ -55,7 +55,7 @@ const EmptyChat = () => {
key={i}
className="inline-block"
style={{
color: ['#4285F4', '#EA4335', '#FBBC05', '#4285F4', '#34A853', '#EA4335', '#4285F4'][i],
color: ['#6B7280', '#EA580C', '#9CA3AF', '#4B5563', '#EA580C', '#A8A29E', '#57534E'][i],
}}
>
{letter}

View File

@@ -74,7 +74,7 @@ const EmptyChatMessageInput = () => {
</div>
<button
disabled={message.trim().length === 0}
className="bg-sky-500 text-white disabled:text-black/50 dark:disabled:text-white/50 disabled:bg-[#e0e0dc] dark:disabled:bg-[#ececec21] hover:bg-opacity-85 transition duration-100 rounded-full p-2"
className="bg-[#EA580C] text-white disabled:text-black/50 dark:disabled:text-white/50 disabled:bg-[#e0e0dc] dark:disabled:bg-[#ececec21] hover:bg-opacity-85 transition duration-100 rounded-full p-2"
>
<ArrowRight className="bg-background" size={17} />
</button>

View File

@@ -245,15 +245,15 @@ const MessageBox = ({
<div className="flex flex-row space-x-3 items-center">
<CornerDownRight
size={15}
className="group-hover:text-sky-400 transition-colors duration-200 flex-shrink-0"
className="group-hover:text-[#EA580C] transition-colors duration-200 flex-shrink-0"
/>
<p className="text-sm text-black/70 dark:text-white/70 group-hover:text-sky-400 transition-colors duration-200 leading-relaxed">
<p className="text-sm text-black/70 dark:text-white/70 group-hover:text-[#EA580C] transition-colors duration-200 leading-relaxed">
{suggestion}
</p>
</div>
<Plus
size={16}
className="text-black/40 dark:text-white/40 group-hover:text-sky-400 transition-colors duration-200 flex-shrink-0"
className="text-black/40 dark:text-white/40 group-hover:text-[#EA580C] transition-colors duration-200 flex-shrink-0"
/>
</div>
</button>

View File

@@ -79,7 +79,7 @@ const MessageInput = () => {
{mode === 'single' && (
<button
disabled={message.trim().length === 0 || loading}
className="bg-[#24A0ED] text-white disabled:text-black/50 dark:disabled:text-white/50 hover:bg-opacity-85 transition duration-100 disabled:bg-[#e0e0dc79] dark:disabled:bg-[#ececec21] rounded-full p-2"
className="bg-[#EA580C] text-white disabled:text-black/50 dark:disabled:text-white/50 hover:bg-opacity-85 transition duration-100 disabled:bg-[#e0e0dc79] dark:disabled:bg-[#ececec21] rounded-full p-2"
>
<ArrowUp className="bg-background" size={17} />
</button>
@@ -89,7 +89,7 @@ const MessageInput = () => {
<AttachSmall />
<button
disabled={message.trim().length === 0 || loading}
className="bg-[#24A0ED] text-white disabled:text-black/50 dark:disabled:text-white/50 hover:bg-opacity-85 transition duration-100 disabled:bg-[#e0e0dc79] dark:disabled:bg-[#ececec21] rounded-full p-2"
className="bg-[#EA580C] text-white disabled:text-black/50 dark:disabled:text-white/50 hover:bg-opacity-85 transition duration-100 disabled:bg-[#e0e0dc79] dark:disabled:bg-[#ececec21] rounded-full p-2"
>
<ArrowUp className="bg-background" size={17} />
</button>

View File

@@ -55,7 +55,7 @@ const Attach = () => {
return loading ? (
<div className="active:border-none hover:bg-light-200 hover:dark:bg-dark-200 p-2 rounded-lg focus:outline-none text-black/50 dark:text-white/50 transition duration-200">
<LoaderCircle size={16} className="text-sky-500 animate-spin" />
<LoaderCircle size={16} className="text-[#EA580C] animate-spin" />
</div>
) : files.length > 0 ? (
<Popover className="relative w-full max-w-[15rem] md:max-w-md lg:max-w-lg">
@@ -65,7 +65,7 @@ const Attach = () => {
type="button"
className="active:border-none hover:bg-light-200 hover:dark:bg-dark-200 p-2 rounded-lg focus:outline-none headless-open:text-black dark:headless-open:text-white text-black/50 dark:text-white/50 active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
>
<File size={16} className="text-sky-500" />
<File size={16} className="text-[#EA580C]" />
</PopoverButton>
<AnimatePresence>
{open && (

View File

@@ -46,7 +46,7 @@ const AttachSmall = () => {
return loading ? (
<div className="flex flex-row items-center justify-between space-x-1 p-1 ">
<LoaderCircle size={20} className="text-sky-500 animate-spin" />
<LoaderCircle size={20} className="text-[#EA580C] animate-spin" />
</div>
) : files.length > 0 ? (
<Popover className="max-w-[15rem] md:max-w-md lg:max-w-lg">
@@ -56,7 +56,7 @@ const AttachSmall = () => {
type="button"
className="flex flex-row items-center justify-between space-x-1 p-1 text-black/50 dark:text-white/50 rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
>
<File size={20} className="text-sky-500" />
<File size={20} className="text-[#EA580C]" />
</PopoverButton>
<AnimatePresence>
{open && (

View File

@@ -81,7 +81,7 @@ const ModelSelector = () => {
type="button"
className="active:border-none hover:bg-light-200 hover:dark:bg-dark-200 p-2 rounded-lg focus:outline-none headless-open:text-black dark:headless-open:text-white text-black/50 dark:text-white/50 active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
>
<Cpu size={16} className="text-sky-500" />
<Cpu size={16} className="text-[#EA580C]" />
</PopoverButton>
<AnimatePresence>
{open && (
@@ -161,7 +161,7 @@ const ModelSelector = () => {
chatModelProvider?.providerId ===
provider.id &&
chatModelProvider?.key === model.key
? 'text-sky-500'
? 'text-[#EA580C]'
: 'text-black/50 dark:text-white/50 group-hover:text-black/70 group-hover:dark:text-white/70',
)}
/>
@@ -171,7 +171,7 @@ const ModelSelector = () => {
chatModelProvider?.providerId ===
provider.id &&
chatModelProvider?.key === model.key
? 'text-sky-500 font-medium'
? 'text-[#EA580C] font-medium'
: 'text-black/70 dark:text-white/70 group-hover:text-black dark:group-hover:text-white',
)}
>

View File

@@ -15,13 +15,13 @@ const OptimizationModes = [
key: 'speed',
title: 'Speed',
description: 'Prioritize speed and get the quickest possible answer.',
icon: <Zap size={16} className="text-[#FF9800]" />,
icon: <Zap size={16} className="text-[#EA580C]" />,
},
{
key: 'balanced',
title: 'Balanced',
description: 'Find the right balance between speed and accuracy',
icon: <Sliders size={16} className="text-[#4CAF50]" />,
icon: <Sliders size={16} className="text-[#EA580C]" />,
},
{
key: 'quality',
@@ -30,7 +30,7 @@ const OptimizationModes = [
icon: (
<Star
size={16}
className="text-[#2196F3] dark:text-[#BBDEFB] fill-[#BBDEFB] dark:fill-[#2196F3]"
className="text-[#EA580C] fill-[#EA580C]"
/>
),
},
@@ -91,7 +91,7 @@ const Optimization = () => {
<p className="text-xs font-medium">{mode.title}</p>
</div>
{mode.key === 'quality' && (
<span className="bg-sky-500/70 dark:bg-sky-500/40 border border-sky-600 px-1 rounded-full text-[10px] text-white">
<span className="bg-[#EA580C]/70 dark:bg-[#EA580C]/40 border border-[#EA580C] px-1 rounded-full text-[10px] text-white">
Beta
</span>
)}

View File

@@ -71,7 +71,7 @@ const Sources = () => {
</div>
<Switch
checked={sources.includes(source.key)}
className="group relative flex h-4 w-7 shrink-0 cursor-pointer rounded-full bg-light-200 dark:bg-white/10 p-0.5 duration-200 ease-in-out focus:outline-none transition-colors disabled:opacity-60 disabled:cursor-not-allowed data-[checked]:bg-sky-500 dark:data-[checked]:bg-sky-500"
className="group relative flex h-4 w-7 shrink-0 cursor-pointer rounded-full bg-light-200 dark:bg-white/10 p-0.5 duration-200 ease-in-out focus:outline-none transition-colors disabled:opacity-60 disabled:cursor-not-allowed data-[checked]:bg-[#EA580C] dark:data-[checked]:bg-[#EA580C]"
>
<span
aria-hidden="true"

View File

@@ -282,7 +282,7 @@ const Navbar = () => {
className="w-full flex items-center gap-3 px-3 py-2 text-left rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary transition-colors duration-200"
onClick={() => exportAsMarkdown(sections, title || '')}
>
<FileText size={16} className="text-[#24A0ED]" />
<FileText size={16} className="text-[#EA580C]" />
<div>
<p className="text-sm font-medium text-black dark:text-white">
Markdown
@@ -296,7 +296,7 @@ const Navbar = () => {
className="w-full flex items-center gap-3 px-3 py-2 text-left rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary transition-colors duration-200"
onClick={() => exportAsPDF(sections, title || '')}
>
<FileDown size={16} className="text-[#24A0ED]" />
<FileDown size={16} className="text-[#EA580C]" />
<div>
<p className="text-sm font-medium text-black dark:text-white">
PDF

View File

@@ -72,7 +72,7 @@ const SearchImages = ({
<ImagesIcon size={17} />
<p>Search images</p>
</div>
<PlusIcon className="text-[#24A0ED]" size={17} />
<PlusIcon className="text-[#EA580C]" size={17} />
</button>
)}
{loading && (

View File

@@ -89,7 +89,7 @@ const Searchvideos = ({
<VideoIcon size={17} />
<p>Search videos</p>
</div>
<PlusIcon className="text-[#24A0ED]" size={17} />
<PlusIcon className="text-[#EA580C]" size={17} />
</button>
)}
{loading && (

View File

@@ -140,7 +140,7 @@ const AddModel = ({
<button
type="submit"
disabled={loading}
className="px-4 py-2 rounded-lg text-[13px] bg-sky-500 text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
className="px-4 py-2 rounded-lg text-[13px] bg-[#EA580C] text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
>
{loading ? (
<Loader2 className="animate-spin" size={16} />

View File

@@ -194,7 +194,7 @@ const AddProvider = ({
<button
type="submit"
disabled={loading}
className="px-4 py-2 rounded-lg text-[13px] bg-sky-500 text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
className="px-4 py-2 rounded-lg text-[13px] bg-[#EA580C] text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
>
{loading ? (
<Loader2 className="animate-spin" size={16} />

View File

@@ -80,8 +80,8 @@ const ModelProvider = ({
>
<div className="px-5 py-3.5 flex flex-row justify-between w-full items-center border-b border-light-200 dark:border-dark-200 bg-light-secondary/30 dark:bg-dark-secondary/30">
<div className="flex items-center gap-2.5">
<div className="p-1.5 rounded-md bg-sky-500/10 dark:bg-sky-500/10">
<Plug2 size={14} className="text-sky-500" />
<div className="p-1.5 rounded-md bg-[#EA580C]/10 dark:bg-[#EA580C]/10">
<Plug2 size={14} className="text-[#EA580C]" />
</div>
<div className="flex flex-col">
<p className="text-sm lg:text-sm text-black dark:text-white font-medium">

View File

@@ -46,10 +46,10 @@ const Models = ({
<div className="flex flex-col px-6 gap-y-4">
{providers.length === 0 ? (
<div className="flex flex-col items-center justify-center py-12 px-4 rounded-lg border-2 border-dashed border-light-200 dark:border-dark-200 bg-light-secondary/10 dark:bg-dark-secondary/10">
<div className="p-3 rounded-full bg-sky-500/10 dark:bg-sky-500/10 mb-3">
<div className="p-3 rounded-full bg-[#EA580C]/10 dark:bg-[#EA580C]/10 mb-3">
<svg
xmlns="http://www.w3.org/2000/svg"
className="w-8 h-8 text-sky-500"
className="w-8 h-8 text-[#EA580C]"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"

View File

@@ -166,7 +166,7 @@ const UpdateProvider = ({
<button
type="submit"
disabled={loading}
className="px-4 py-2 rounded-lg text-[13px] bg-sky-500 text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
className="px-4 py-2 rounded-lg text-[13px] bg-[#EA580C] text-white font-medium disabled:opacity-85 hover:opacity-85 active:scale-95 transition duration-200"
>
{loading ? (
<Loader2 className="animate-spin" size={16} />

View File

@@ -310,7 +310,7 @@ const SettingsSwitch = ({
checked={isChecked}
onChange={handleSave}
disabled={loading}
className="group relative flex h-6 w-12 shrink-0 cursor-pointer rounded-full bg-light-200 dark:bg-white/10 p-1 duration-200 ease-in-out focus:outline-none transition-colors disabled:opacity-60 disabled:cursor-not-allowed data-[checked]:bg-sky-500 dark:data-[checked]:bg-sky-500"
className="group relative flex h-6 w-12 shrink-0 cursor-pointer rounded-full bg-light-200 dark:bg-white/10 p-1 duration-200 ease-in-out focus:outline-none transition-colors disabled:opacity-60 disabled:cursor-not-allowed data-[checked]:bg-[#EA580C] dark:data-[checked]:bg-[#EA580C]"
>
<span
aria-hidden="true"

View File

@@ -176,7 +176,7 @@ const SetupConfig = ({
setSetupState(3);
}}
disabled={!hasProviders || isLoading}
className="flex flex-row items-center gap-1.5 md:gap-2 px-3 md:px-5 py-2 md:py-2.5 rounded-lg bg-[#24A0ED] text-white hover:bg-[#1e8fd1] active:scale-95 transition-all duration-200 font-medium text-xs sm:text-sm disabled:bg-light-200 dark:disabled:bg-dark-200 disabled:text-black/40 dark:disabled:text-white/40 disabled:cursor-not-allowed disabled:active:scale-100"
className="flex flex-row items-center gap-1.5 md:gap-2 px-3 md:px-5 py-2 md:py-2.5 rounded-lg bg-[#EA580C] text-white hover:bg-[#c2410c] active:scale-95 transition-all duration-200 font-medium text-xs sm:text-sm disabled:bg-light-200 dark:disabled:bg-dark-200 disabled:text-black/40 dark:disabled:text-white/40 disabled:cursor-not-allowed disabled:active:scale-100"
>
<span>Next</span>
<ArrowRight className="w-4 h-4 md:w-[18px] md:h-[18px]" />
@@ -192,7 +192,7 @@ const SetupConfig = ({
}}
onClick={handleFinish}
disabled={!hasProviders || isLoading || isFinishing}
className="flex flex-row items-center gap-1.5 md:gap-2 px-3 md:px-5 py-2 md:py-2.5 rounded-lg bg-[#24A0ED] text-white hover:bg-[#1e8fd1] active:scale-95 transition-all duration-200 font-medium text-xs sm:text-sm disabled:bg-light-200 dark:disabled:bg-dark-200 disabled:text-black/40 dark:disabled:text-white/40 disabled:cursor-not-allowed disabled:active:scale-100"
className="flex flex-row items-center gap-1.5 md:gap-2 px-3 md:px-5 py-2 md:py-2.5 rounded-lg bg-[#EA580C] text-white hover:bg-[#c2410c] active:scale-95 transition-all duration-200 font-medium text-xs sm:text-sm disabled:bg-light-200 dark:disabled:bg-dark-200 disabled:text-black/40 dark:disabled:text-white/40 disabled:cursor-not-allowed disabled:active:scale-100"
>
<span>{isFinishing ? 'Finishing...' : 'Finish'}</span>
<Check className="w-4 h-4 md:w-[18px] md:h-[18px]" />

View File

@@ -47,7 +47,7 @@ const SetupWizard = ({
className="text-4xl md:text-6xl xl:text-8xl font-normal tracking-tight"
>
Welcome to{' '}
<span className="text-[#24A0ED] italic">
<span className="text-[#EA580C] italic">
GooSeek
</span>
</motion.h2>
@@ -71,7 +71,7 @@ const SetupWizard = ({
transition: { delay: 0.8, duration: 0.7 },
}}
exit={{ opacity: 0, scale: 1.1, transition: { duration: 0.6 } }}
className="bg-[#24A0ED] left-50 translate-x-[-50%] h-[250px] w-[250px] rounded-full relative z-40 blur-[100px]"
className="bg-[#EA580C] left-50 translate-x-[-50%] h-[250px] w-[250px] rounded-full relative z-40 blur-[100px]"
/>
</div>
)}
@@ -92,7 +92,7 @@ const SetupWizard = ({
className="text-2xl md:text-4xl xl:text-6xl font-normal tracking-tight"
>
Let us get{' '}
<span className="text-[#24A0ED] italic">
<span className="text-[#EA580C] italic">
GooSeek
</span>{' '}
set up for you