From 8f70cb82dda9c4212d4b718f038c9665921e6457 Mon Sep 17 00:00:00 2001 From: Daniel O'Connell Date: Wed, 14 Feb 2024 22:45:10 +0100 Subject: [PATCH] tidy up icons --- app/assets/icons/arrow-up-right.svg | 6 +-- {public/assets => app/assets/icons}/arrow.svg | 0 .../ bot.svg => app/assets/icons/bot.svg | 0 .../assets/icons/box-arrow.svg | 0 app/assets/icons/chatbot.svg | 4 +- .../assets/icons/clipboard.svg | 0 app/assets/icons/magnifying.svg | 5 +- app/assets/icons/open-book.svg | 6 ++- app/assets/icons/paper.svg | 14 ++--- app/assets/icons/pencil.svg | 4 +- .../assets/icons/people.svg | 0 .../assets/icons/person.svg | 0 .../assets/icons/question-mark.svg | 0 .../assets/icons/settings.svg | 0 app/assets/icons/stampy-chat.svg | 21 -------- .../assets => app/assets/icons}/stampy.svg | 0 .../assets/icons/thumb-down-large.svg | 0 app/assets/icons/thumb-down.svg | 4 +- .../assets/icons/thumb-up-large.svg | 0 app/assets/icons/thumb-up.svg | 4 +- app/assets/icons/x.svg | 4 +- app/components/ArticlesDropdown/index.tsx | 2 +- app/components/Widget/Stampy.tsx | 2 +- app/components/WidgetStampy.tsx | 48 ----------------- app/components/icons-generated/Arrow.tsx | 12 +++++ .../icons-generated/ArrowUpRight.tsx | 9 ++-- app/components/icons-generated/Bot.tsx | 19 +++++++ app/components/icons-generated/BoxArrow.tsx | 14 +++++ app/components/icons-generated/Chatbot.tsx | 5 +- app/components/icons-generated/Clipboard.tsx | 16 ++++++ app/components/icons-generated/Magnifying.tsx | 4 +- app/components/icons-generated/OpenBook.tsx | 11 +--- app/components/icons-generated/Paper.tsx | 2 +- app/components/icons-generated/Pencil.tsx | 2 +- app/components/icons-generated/People.tsx | 50 ++++++++++++++++++ app/components/icons-generated/Person.tsx | 12 +++++ .../icons-generated/QuestionMark.tsx | 12 +++++ app/components/icons-generated/Settings.tsx | 20 +++++++ .../{StampyChat.tsx => Stampy.tsx} | 8 +-- .../icons-generated/ThumbDownLarge.tsx | 10 ++++ .../icons-generated/ThumbUpLarge.tsx | 10 ++++ app/components/icons-generated/X.tsx | 2 +- app/components/icons-generated/index.ts | 12 ++++- app/routes/_index.tsx | 2 +- public/assets/ arrow-up-right.svg | 4 -- public/assets/ book-large.svg | 5 -- public/assets/ chat-large.svg | 3 -- public/assets/ paper.svg | 8 --- public/assets/ pencil-large.svg | 4 -- public/assets/ thumbs down.svg | 4 -- public/assets/ thumbs-up.svg | 4 -- public/assets/ x.svg | 3 -- public/assets/hand-emoji.png | Bin 1556 -> 0 bytes public/assets/magnifying-glass.svg | 3 -- public/assets/x-xl.svg | 3 -- 55 files changed, 234 insertions(+), 163 deletions(-) rename {public/assets => app/assets/icons}/arrow.svg (100%) rename public/assets/ bot.svg => app/assets/icons/bot.svg (100%) rename public/assets/ box-arrow.svg => app/assets/icons/box-arrow.svg (100%) rename public/assets/ clipboard-large.svg => app/assets/icons/clipboard.svg (100%) rename public/assets/ people.svg => app/assets/icons/people.svg (100%) rename public/assets/ person.svg => app/assets/icons/person.svg (100%) rename public/assets/ question-mark.svg => app/assets/icons/question-mark.svg (100%) rename public/assets/ settings-large.svg => app/assets/icons/settings.svg (100%) delete mode 100644 app/assets/icons/stampy-chat.svg rename {public/assets => app/assets/icons}/stampy.svg (100%) rename public/assets/ thumbs-down-large.svg => app/assets/icons/thumb-down-large.svg (100%) rename public/assets/ thumbs-up-large.svg => app/assets/icons/thumb-up-large.svg (100%) delete mode 100644 app/components/WidgetStampy.tsx create mode 100644 app/components/icons-generated/Arrow.tsx create mode 100644 app/components/icons-generated/Bot.tsx create mode 100644 app/components/icons-generated/BoxArrow.tsx create mode 100644 app/components/icons-generated/Clipboard.tsx create mode 100644 app/components/icons-generated/People.tsx create mode 100644 app/components/icons-generated/Person.tsx create mode 100644 app/components/icons-generated/QuestionMark.tsx create mode 100644 app/components/icons-generated/Settings.tsx rename app/components/icons-generated/{StampyChat.tsx => Stampy.tsx} (97%) create mode 100644 app/components/icons-generated/ThumbDownLarge.tsx create mode 100644 app/components/icons-generated/ThumbUpLarge.tsx delete mode 100644 public/assets/ arrow-up-right.svg delete mode 100644 public/assets/ book-large.svg delete mode 100644 public/assets/ chat-large.svg delete mode 100644 public/assets/ paper.svg delete mode 100644 public/assets/ pencil-large.svg delete mode 100644 public/assets/ thumbs down.svg delete mode 100644 public/assets/ thumbs-up.svg delete mode 100644 public/assets/ x.svg delete mode 100644 public/assets/hand-emoji.png delete mode 100644 public/assets/magnifying-glass.svg delete mode 100644 public/assets/x-xl.svg diff --git a/app/assets/icons/arrow-up-right.svg b/app/assets/icons/arrow-up-right.svg index fd1d8b2c..7468048d 100644 --- a/app/assets/icons/arrow-up-right.svg +++ b/app/assets/icons/arrow-up-right.svg @@ -1,6 +1,4 @@ - - - - + + diff --git a/public/assets/arrow.svg b/app/assets/icons/arrow.svg similarity index 100% rename from public/assets/arrow.svg rename to app/assets/icons/arrow.svg diff --git a/public/assets/ bot.svg b/app/assets/icons/bot.svg similarity index 100% rename from public/assets/ bot.svg rename to app/assets/icons/bot.svg diff --git a/public/assets/ box-arrow.svg b/app/assets/icons/box-arrow.svg similarity index 100% rename from public/assets/ box-arrow.svg rename to app/assets/icons/box-arrow.svg diff --git a/app/assets/icons/chatbot.svg b/app/assets/icons/chatbot.svg index 292cd3ca..01a9b3a7 100644 --- a/app/assets/icons/chatbot.svg +++ b/app/assets/icons/chatbot.svg @@ -1,3 +1,3 @@ - - + + diff --git a/public/assets/ clipboard-large.svg b/app/assets/icons/clipboard.svg similarity index 100% rename from public/assets/ clipboard-large.svg rename to app/assets/icons/clipboard.svg diff --git a/app/assets/icons/magnifying.svg b/app/assets/icons/magnifying.svg index 32f5eb2b..7e54635a 100644 --- a/app/assets/icons/magnifying.svg +++ b/app/assets/icons/magnifying.svg @@ -1,4 +1,3 @@ - - - + + diff --git a/app/assets/icons/open-book.svg b/app/assets/icons/open-book.svg index fa4d275c..6cb6f43b 100644 --- a/app/assets/icons/open-book.svg +++ b/app/assets/icons/open-book.svg @@ -1 +1,5 @@ - + + + + + diff --git a/app/assets/icons/paper.svg b/app/assets/icons/paper.svg index 06aa5644..d36131dd 100644 --- a/app/assets/icons/paper.svg +++ b/app/assets/icons/paper.svg @@ -1,8 +1,8 @@ - - - - - - - + + + + + + + diff --git a/app/assets/icons/pencil.svg b/app/assets/icons/pencil.svg index 3dd08551..e7420eb7 100644 --- a/app/assets/icons/pencil.svg +++ b/app/assets/icons/pencil.svg @@ -1,4 +1,4 @@ - - + + diff --git a/public/assets/ people.svg b/app/assets/icons/people.svg similarity index 100% rename from public/assets/ people.svg rename to app/assets/icons/people.svg diff --git a/public/assets/ person.svg b/app/assets/icons/person.svg similarity index 100% rename from public/assets/ person.svg rename to app/assets/icons/person.svg diff --git a/public/assets/ question-mark.svg b/app/assets/icons/question-mark.svg similarity index 100% rename from public/assets/ question-mark.svg rename to app/assets/icons/question-mark.svg diff --git a/public/assets/ settings-large.svg b/app/assets/icons/settings.svg similarity index 100% rename from public/assets/ settings-large.svg rename to app/assets/icons/settings.svg diff --git a/app/assets/icons/stampy-chat.svg b/app/assets/icons/stampy-chat.svg deleted file mode 100644 index 62a33c36..00000000 --- a/app/assets/icons/stampy-chat.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/public/assets/stampy.svg b/app/assets/icons/stampy.svg similarity index 100% rename from public/assets/stampy.svg rename to app/assets/icons/stampy.svg diff --git a/public/assets/ thumbs-down-large.svg b/app/assets/icons/thumb-down-large.svg similarity index 100% rename from public/assets/ thumbs-down-large.svg rename to app/assets/icons/thumb-down-large.svg diff --git a/app/assets/icons/thumb-down.svg b/app/assets/icons/thumb-down.svg index de892b61..2d46b7f4 100644 --- a/app/assets/icons/thumb-down.svg +++ b/app/assets/icons/thumb-down.svg @@ -1,4 +1,4 @@ - - + + diff --git a/public/assets/ thumbs-up-large.svg b/app/assets/icons/thumb-up-large.svg similarity index 100% rename from public/assets/ thumbs-up-large.svg rename to app/assets/icons/thumb-up-large.svg diff --git a/app/assets/icons/thumb-up.svg b/app/assets/icons/thumb-up.svg index c489ac7a..4001123b 100644 --- a/app/assets/icons/thumb-up.svg +++ b/app/assets/icons/thumb-up.svg @@ -1,4 +1,4 @@ - - + + diff --git a/app/assets/icons/x.svg b/app/assets/icons/x.svg index 50320128..d90e5846 100644 --- a/app/assets/icons/x.svg +++ b/app/assets/icons/x.svg @@ -1,3 +1,3 @@ - - + + diff --git a/app/components/ArticlesDropdown/index.tsx b/app/components/ArticlesDropdown/index.tsx index 6011ae0c..ebed05d6 100644 --- a/app/components/ArticlesDropdown/index.tsx +++ b/app/components/ArticlesDropdown/index.tsx @@ -37,7 +37,7 @@ export const ArticlesDropdown = ({toc, categories}: ArticlesDropdownProps) => { toc: TOCItem[] className?: string }) => ( -
+
{category}
{toc .filter((item) => item.category === category) diff --git a/app/components/Widget/Stampy.tsx b/app/components/Widget/Stampy.tsx index 6a4c6e7e..90ae0e87 100644 --- a/app/components/Widget/Stampy.tsx +++ b/app/components/Widget/Stampy.tsx @@ -1,4 +1,4 @@ -import StampyIcon from '~/components/icons-generated/StampyChat' +import StampyIcon from '~/components/icons-generated/Stampy' import SendIcon from '~/components/icons-generated/PlaneSend' import './stampy.css' diff --git a/app/components/WidgetStampy.tsx b/app/components/WidgetStampy.tsx deleted file mode 100644 index 16857a13..00000000 --- a/app/components/WidgetStampy.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import {PlaneSend} from '~/components/icons-generated' -import {StampyChat} from '~/components/icons-generated' - -export const WidgetStampy = () => { - return ( -
-
-

Questions?

-

Ask Stampy any question about AI Safety

-
- -
-
- -
-
Try asking me...
- {/**/} -
-
Why couldn’t we just turn the AI off?
-
-
-
How would the AI even get out in the world?
-
-
-
- Do people seriously worry about existential risk from AI? -
-
-
-
-
- -
-
- -
-
-
- -
-
-
- ) -} diff --git a/app/components/icons-generated/Arrow.tsx b/app/components/icons-generated/Arrow.tsx new file mode 100644 index 00000000..f1a087af --- /dev/null +++ b/app/components/icons-generated/Arrow.tsx @@ -0,0 +1,12 @@ +import type {SVGProps} from 'react' +const SvgArrow = (props: SVGProps) => ( + + + +) +export default SvgArrow diff --git a/app/components/icons-generated/ArrowUpRight.tsx b/app/components/icons-generated/ArrowUpRight.tsx index 9615b742..e9d9c2ca 100644 --- a/app/components/icons-generated/ArrowUpRight.tsx +++ b/app/components/icons-generated/ArrowUpRight.tsx @@ -1,9 +1,12 @@ import type {SVGProps} from 'react' const SvgArrowUpRight = (props: SVGProps) => ( - - - + ) export default SvgArrowUpRight diff --git a/app/components/icons-generated/Bot.tsx b/app/components/icons-generated/Bot.tsx new file mode 100644 index 00000000..991aa73b --- /dev/null +++ b/app/components/icons-generated/Bot.tsx @@ -0,0 +1,19 @@ +import type {SVGProps} from 'react' +const SvgBot = (props: SVGProps) => ( + + + + + + + +) +export default SvgBot diff --git a/app/components/icons-generated/BoxArrow.tsx b/app/components/icons-generated/BoxArrow.tsx new file mode 100644 index 00000000..a00c8c3c --- /dev/null +++ b/app/components/icons-generated/BoxArrow.tsx @@ -0,0 +1,14 @@ +import type {SVGProps} from 'react' +const SvgBoxArrow = (props: SVGProps) => ( + + + + +) +export default SvgBoxArrow diff --git a/app/components/icons-generated/Chatbot.tsx b/app/components/icons-generated/Chatbot.tsx index ea37bad9..5b3476e8 100644 --- a/app/components/icons-generated/Chatbot.tsx +++ b/app/components/icons-generated/Chatbot.tsx @@ -1,11 +1,10 @@ import type {SVGProps} from 'react' const SvgChatbot = (props: SVGProps) => ( - + ) diff --git a/app/components/icons-generated/Clipboard.tsx b/app/components/icons-generated/Clipboard.tsx new file mode 100644 index 00000000..0a5b230b --- /dev/null +++ b/app/components/icons-generated/Clipboard.tsx @@ -0,0 +1,16 @@ +import type {SVGProps} from 'react' +const SvgClipboard = (props: SVGProps) => ( + + + + + +) +export default SvgClipboard diff --git a/app/components/icons-generated/Magnifying.tsx b/app/components/icons-generated/Magnifying.tsx index 1ecde9ca..f849c344 100644 --- a/app/components/icons-generated/Magnifying.tsx +++ b/app/components/icons-generated/Magnifying.tsx @@ -1,10 +1,10 @@ import type {SVGProps} from 'react' const SvgMagnifying = (props: SVGProps) => ( - + diff --git a/app/components/icons-generated/OpenBook.tsx b/app/components/icons-generated/OpenBook.tsx index a2332d2b..210dfc68 100644 --- a/app/components/icons-generated/OpenBook.tsx +++ b/app/components/icons-generated/OpenBook.tsx @@ -1,18 +1,11 @@ import type {SVGProps} from 'react' const SvgOpenBook = (props: SVGProps) => ( - + - ) diff --git a/app/components/icons-generated/Paper.tsx b/app/components/icons-generated/Paper.tsx index 78c84634..60d12ad7 100644 --- a/app/components/icons-generated/Paper.tsx +++ b/app/components/icons-generated/Paper.tsx @@ -1,6 +1,6 @@ import type {SVGProps} from 'react' const SvgPaper = (props: SVGProps) => ( - + ) => ( strokeLinejoin="round" d="M4.23 15.896a.5.5 0 0 0-.121.196l-1.583 4.75a.5.5 0 0 0 .632.632l4.75-1.583a.5.5 0 0 0 .196-.12l14.25-14.25a.5.5 0 0 0 0-.708l-3.167-3.167a.5.5 0 0 0-.707 0z" /> - + ) export default SvgPencil diff --git a/app/components/icons-generated/People.tsx b/app/components/icons-generated/People.tsx new file mode 100644 index 00000000..acbe1c69 --- /dev/null +++ b/app/components/icons-generated/People.tsx @@ -0,0 +1,50 @@ +import type {SVGProps} from 'react' +const SvgPeople = (props: SVGProps) => ( + + + + + + + + + + + + + + + +) +export default SvgPeople diff --git a/app/components/icons-generated/Person.tsx b/app/components/icons-generated/Person.tsx new file mode 100644 index 00000000..f44bfcf0 --- /dev/null +++ b/app/components/icons-generated/Person.tsx @@ -0,0 +1,12 @@ +import type {SVGProps} from 'react' +const SvgPerson = (props: SVGProps) => ( + + + +) +export default SvgPerson diff --git a/app/components/icons-generated/QuestionMark.tsx b/app/components/icons-generated/QuestionMark.tsx new file mode 100644 index 00000000..c3055b01 --- /dev/null +++ b/app/components/icons-generated/QuestionMark.tsx @@ -0,0 +1,12 @@ +import type {SVGProps} from 'react' +const SvgQuestionMark = (props: SVGProps) => ( + + + +) +export default SvgQuestionMark diff --git a/app/components/icons-generated/Settings.tsx b/app/components/icons-generated/Settings.tsx new file mode 100644 index 00000000..b0f93ef4 --- /dev/null +++ b/app/components/icons-generated/Settings.tsx @@ -0,0 +1,20 @@ +import type {SVGProps} from 'react' +const SvgSettings = (props: SVGProps) => ( + + + + +) +export default SvgSettings diff --git a/app/components/icons-generated/StampyChat.tsx b/app/components/icons-generated/Stampy.tsx similarity index 97% rename from app/components/icons-generated/StampyChat.tsx rename to app/components/icons-generated/Stampy.tsx index 9f091097..48dc30f0 100644 --- a/app/components/icons-generated/StampyChat.tsx +++ b/app/components/icons-generated/Stampy.tsx @@ -1,7 +1,7 @@ import type {SVGProps} from 'react' -const SvgStampyChat = (props: SVGProps) => ( +const SvgStampy = (props: SVGProps) => ( - + ) => ( /> - + ) -export default SvgStampyChat +export default SvgStampy diff --git a/app/components/icons-generated/ThumbDownLarge.tsx b/app/components/icons-generated/ThumbDownLarge.tsx new file mode 100644 index 00000000..fc85c24f --- /dev/null +++ b/app/components/icons-generated/ThumbDownLarge.tsx @@ -0,0 +1,10 @@ +import type {SVGProps} from 'react' +const SvgThumbDownLarge = (props: SVGProps) => ( + + + +) +export default SvgThumbDownLarge diff --git a/app/components/icons-generated/ThumbUpLarge.tsx b/app/components/icons-generated/ThumbUpLarge.tsx new file mode 100644 index 00000000..08c2ba63 --- /dev/null +++ b/app/components/icons-generated/ThumbUpLarge.tsx @@ -0,0 +1,10 @@ +import type {SVGProps} from 'react' +const SvgThumbUpLarge = (props: SVGProps) => ( + + + +) +export default SvgThumbUpLarge diff --git a/app/components/icons-generated/X.tsx b/app/components/icons-generated/X.tsx index 700bf3a3..f3c77344 100644 --- a/app/components/icons-generated/X.tsx +++ b/app/components/icons-generated/X.tsx @@ -1,6 +1,6 @@ import type {SVGProps} from 'react' const SvgX = (props: SVGProps) => ( - + - - - diff --git a/public/assets/ book-large.svg b/public/assets/ book-large.svg deleted file mode 100644 index 6cb6f43b..00000000 --- a/public/assets/ book-large.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/assets/ chat-large.svg b/public/assets/ chat-large.svg deleted file mode 100644 index 01a9b3a7..00000000 --- a/public/assets/ chat-large.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/assets/ paper.svg b/public/assets/ paper.svg deleted file mode 100644 index d36131dd..00000000 --- a/public/assets/ paper.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/public/assets/ pencil-large.svg b/public/assets/ pencil-large.svg deleted file mode 100644 index e7420eb7..00000000 --- a/public/assets/ pencil-large.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/assets/ thumbs down.svg b/public/assets/ thumbs down.svg deleted file mode 100644 index 2d46b7f4..00000000 --- a/public/assets/ thumbs down.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/assets/ thumbs-up.svg b/public/assets/ thumbs-up.svg deleted file mode 100644 index 4001123b..00000000 --- a/public/assets/ thumbs-up.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/assets/ x.svg b/public/assets/ x.svg deleted file mode 100644 index d90e5846..00000000 --- a/public/assets/ x.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/assets/hand-emoji.png b/public/assets/hand-emoji.png deleted file mode 100644 index 16c26ad4cafc0b6b25789b8acf24b283e122691a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1556 zcmV+v2J88WP){P z97P!Z>(SFQJ^RRRRukeQK|(yNF@|_iVl*B^K@dU3i;#mCa}fp6i?W)C3Z8guZR|Nj5~ss>t&$jQTp7#{v z{9)>iZzPlxpcHY~j8Gy2i7iheXxD16bg=mk${Cuf8 z#0mAVPl1v-00I$0Aec6YB!;-vhSqW$!j-(4H0hx|uSah|A9hvAzw*hJm%X6+Qe|`k zbhwlhh$jJ==Z2j$iXd)=$WDs)DkOxTsEk#PRVVx_gebx&M=yvnfu@v7Dar&02gbl- zr6gx6)9-1X*2^(HLmoQU{6}C{J{;Q_jE>4 zc)>8EjN8d52b<)?-TTlX-hp!u_?LGd^|w&80_@tc1cCWdUej8bd)fd~)03qoSeWKQ z>|0cG_4%V?=krYbgp-U6jgQ~M{fhlw1EM8+CAxW_BjQ}Pi(yniqFC}VKrqn zOJ-4J8z{>z0@EoHHEPhVMZZe0UdOzN6VCY=;r(^xIr;0Q8kQ zaD}kyuxUm;3SJOGb-cPsh}N4o9c-S19*twY-byG|FZCQ4vMN+AF$+KiE9M=yz&qa* z&S;<%Xn7+7TMpt@>kjPf1DFt7fJ(Qxa_lIZ#05*nqyy|hH@8R^yh-w`+e91kIL7JW zSLnkyhI$B964%Tf1IG0(pn{>I8Otq5Jzf=#U?r-=-eXl}%>`&IEWWq($>ulEhoMg8 zN{d^u->o&Ww#=~@tXve8>6|f+WX>6U=2g6SkVT>feHw=>YbssBYr`(0B5mb zHpR0TYSVYnr*V?XAJa6-wMa?5px(2<3L*2*bB+>(8b><&nmgtYx94ehoPrZ%Om9~L zb9Qm&(l4c2<$Zt#^kcm8;Q2omKbrUoz1uIbghZ}4QyWS=hyp8lcy-`3TPE*FSIwc= zS+pSAcX2Dk^H}=sjnCD4K8JM~!(C|Ro#>4`k^69NrWet~>FSqe2grc&HUy&#N&y1J zuv6VS`<}9n7@AQfaskbyNF^!x8rEUNc}&i}SbZVO;IPOEl>(2(5|(hWb5fEEoT)qg zs@zr?mf!~j8Ps9cIY^xLfdQv))3(HeB005dD!kX!RKJWFbY_C^wNnR2E+9tfDS1|q z^6cqr7ur)(AisU)`br$u?@wd;03P#h$C|jAG8s^&w8$G3K>{W2e!ry&`4kd*cs-yx zjP+{zoK|U9HVer%_)L*R=IssDWNvb*$6p)+8`!}9NA@SWo1z&;@vNZ$0000 - - diff --git a/public/assets/x-xl.svg b/public/assets/x-xl.svg deleted file mode 100644 index 041e14a7..00000000 --- a/public/assets/x-xl.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -