Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
37844f5
chore: remove vercel analytics
GugaGongadze Mar 21, 2024
15c56dd
fix: replace useLayoutEffect with useEffect for burger icon
GugaGongadze Mar 21, 2024
6aac89c
fix: move meta tag to _app
GugaGongadze Mar 21, 2024
03a2c61
feat: template page ui
GugaGongadze Mar 22, 2024
6f2142c
feat: template details
GugaGongadze Apr 17, 2024
f2598c6
refactor: templates filter group
GugaGongadze Apr 17, 2024
ebb95e8
fix: templates details
GugaGongadze Apr 17, 2024
7b167d1
fix: template details responsive
GugaGongadze Apr 17, 2024
1ff2f72
fix: movile
GugaGongadze Apr 17, 2024
4447d99
fix: input outline
GugaGongadze Apr 17, 2024
647ea99
fix: fallback for missing path
GugaGongadze Apr 17, 2024
9da7477
fix: check for path existence
GugaGongadze Apr 17, 2024
e82f617
fix: check for starters existence
GugaGongadze Apr 17, 2024
9117cc3
fix: remove screen height
GugaGongadze Apr 17, 2024
cacc72b
fix: make whole card clickable
GugaGongadze Apr 18, 2024
7f173e1
fix: gradient glow bg
GugaGongadze Apr 18, 2024
e023a68
fix: tags and usecases filter logic
GugaGongadze Apr 18, 2024
a4a7a38
fix: launch button bgs
GugaGongadze Apr 18, 2024
f7f2eb2
refactor: template details components
GugaGongadze Apr 18, 2024
590e5b2
fix: reduce copy button size
GugaGongadze Apr 18, 2024
b621bd8
fix: scrollbar color
GugaGongadze Apr 18, 2024
de3f968
fix: svg prop names
GugaGongadze Apr 18, 2024
68e80a2
fix: display all templates
GugaGongadze Apr 18, 2024
3c02643
fix: template types
GugaGongadze Apr 18, 2024
5d0f5a6
fix: template officiality
GugaGongadze Apr 18, 2024
df030cf
feat: pagination
GugaGongadze Apr 18, 2024
7d2018f
fix:12 items per page
GugaGongadze Apr 18, 2024
535bf49
fix: static paths
GugaGongadze Apr 18, 2024
dff7edd
fix: pre overflow
GugaGongadze Apr 18, 2024
d479cf1
fix: use templates images
GugaGongadze Apr 19, 2024
8c71b4b
fix: hover effect on templates cards
GugaGongadze Apr 19, 2024
714b7dc
fix: checkboxes
GugaGongadze Apr 19, 2024
164e984
fix: logos type
GugaGongadze Apr 19, 2024
3808afe
fix: remove article button
GugaGongadze Apr 23, 2024
bd6ae5d
Templates Instructions
Senofy Sep 24, 2024
f68cd02
Template font and spacing fixes, plus added types filter
Senofy Sep 27, 2024
8b0d7da
Templates contribute launch update
Senofy Oct 1, 2024
b2fd598
added filters see more logic, updated copy, fixed contribute button, …
ivancernja Oct 15, 2024
5f66932
Update index.tsx
joshua-mo-143 Oct 24, 2024
901699b
Merge pull request #1 from joshua-mo-143/joshua-mo-143-patch-1
ivancernja Oct 24, 2024
11d5894
feat: fix command copies, readme text, h1 text size
joshua-mo-143 Oct 24, 2024
15e10bc
Merge pull request #2 from joshua-mo-143/fix-ivan-templates
ivancernja Oct 25, 2024
d77e75f
fix: bug fixes and changes
joshua-mo-143 Oct 28, 2024
8590c47
fix: markdown ord list formatting
joshua-mo-143 Oct 28, 2024
b50ee76
fix: add white bg to logos
joshua-mo-143 Oct 29, 2024
1b243a4
fix: search breaks on search query on second page
joshua-mo-143 Oct 30, 2024
26c9103
Merge pull request #3 from joshua-mo-143/fix/round-2-fixes-ivan-templ…
ivancernja Oct 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions components/elements/CopyButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,23 @@ import { useCopyToClipboard } from 'react-use'
interface CopyButtonProps {
code: string
className?: string
width?: number
height?: number
}

const CopyButton: FC<CopyButtonProps> = ({ code, className }) => {
const CopyButton: FC<CopyButtonProps> = ({ code, className, width = 32, height = 32 }) => {
const [_, copyToClipboard] = useCopyToClipboard()
return (
<button
className={clsx(
'rounded-xl border border-[#191919] border-transparent p-2 px-3 py-2 text-sm font-medium leading-4 shadow-sm transition hover:border-[#484848] dark:text-head dark:text-white dark:hover:bg-[#343434]',
'rounded-xl border border-[#191919] border-transparent px-3 py-2 text-sm font-medium leading-4 shadow-sm transition hover:border-[#484848] dark:text-head dark:text-white dark:hover:bg-[#343434]',
className
)}
onClick={() => {
copyToClipboard(code)
}}
>
<Copy width={32} height={32} />
<Copy width={width} height={height} />
</button>
)
}
Expand Down
39 changes: 39 additions & 0 deletions components/elements/Markdown.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import ReactMarkdown from 'react-markdown'
import remarkGfm4 from 'remark-gfm-4'

export function Markdown({ body }: { body: string }) {
return (
<ReactMarkdown
remarkPlugins={[remarkGfm4]}
components={{
h1: ({ children }) => <h1 className='mb-3 text-2xl text-head lg:text-3xl'>{children}</h1>,
h2: ({ children }) => <h2 className='mb-2 text-xl text-head lg:text-2xl'>{children}</h2>,
p: ({ children }) => <p className='mb-8 text-sm text-body lg:text-lg'>{children}</p>,
li: ({ children }) => <li className='mb-1 ml-4 text-sm text-body lg:text-lg'>{children}</li>,
code: ({ children }) => (
<code className='text-code mx-[.15em] mb-1 text-sm text-head '>{children}</code>
),
pre: ({ children }) => (
<pre
style={{
scrollbarColor: 'black transparent',
scrollbarWidth: 'thin',
}}
className='mb-8 overflow-x-scroll rounded-xl bg-[#121212] p-4 text-head'
>
{children}
</pre>
),
ul: ({ children }) => <ul className='mb-8 list-disc'>{children}</ul>,
ol: ({ children }) => <ul className='mb-8 list-decimal'>{children}</ul>,
a: ({ children, href, target }) => (
<a {...{ href, target }} className='text-link underline' target='_blank'>
{children}
</a>
),
}}
>
{body}
</ReactMarkdown>
)
}
9 changes: 7 additions & 2 deletions components/sections/Navigation/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { GithubLogo, Hamburger, Logo } from 'components/svgs'
import { trackEvent } from 'lib/posthog'
import dynamic from 'next/dynamic'
import Link from 'next/link'
import { useLayoutEffect, useState } from 'react'
import { useEffect, useState } from 'react'
import { DISCORD_URL } from '../../../lib/constants'

const ThemeSwitcher = dynamic(() => import('./ThemeSwitcher'), { ssr: false })
Expand Down Expand Up @@ -34,7 +34,7 @@ const LinkItem = ({
const Navigation = () => {
const [open, setOpen] = useState(false)

useLayoutEffect(() => {
useEffect(() => {
function updateMenu() {
const isMobileAndOpen = window.innerWidth < 1280 && open
const isDesktopAndClosed = window.innerWidth >= 1280 && !open
Expand Down Expand Up @@ -72,6 +72,11 @@ const Navigation = () => {
event: 'homepage_mainnav_blog',
text: 'Blog',
},
{
href: '/templates',
event: 'homepage_mainnav_templates',
text: 'Templates',
},
{
href: '/pricing',
event: 'homepage_mainnav_pricing',
Expand Down
30 changes: 3 additions & 27 deletions components/sections/ReleaseCard.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import ReactMarkdown from 'react-markdown'
import { useState } from 'react'
import AnimateHeight from 'react-animate-height'
import remarkGfm4 from 'remark-gfm-4'

import PlusIcon from 'components/svgs/PlusIcon'
import MinusIcon from 'components/svgs/MinusIcon'
import { Release } from 'pages/releases'
import { Markdown } from 'components/elements/Markdown'

export default function ReleaseCard({ release }: { release: Release }) {
const [height, setHeight] = useState<'auto' | number>('auto')
Expand Down Expand Up @@ -34,31 +34,7 @@ export default function ReleaseCard({ release }: { release: Release }) {
{height === SrhunkHeight ? <PlusIcon /> : <MinusIcon />}
</div>

<ReactMarkdown
remarkPlugins={[remarkGfm4]}
components={{
h1: ({ children }) => <h1 className='mb-3 text-sm text-body'>{children}</h1>,
h2: ({ children }) => <h2 className='mb-2 text-xl text-head'>{children}</h2>,
p: ({ children }) => <p className='mb-8 text-sm text-body'>{children}</p>,
li: ({ children }) => (
<li className='mb-1 ml-4 list-disc text-sm text-body'>{children}</li>
),
code: ({ children }) => (
<code className='text-code mx-[.15em] mb-1 text-sm text-head'>{children}</code>
),
pre: ({ children }) => (
<pre className='mb-8 rounded-xl bg-[#121212] p-4 text-head'>{children}</pre>
),
ul: ({ children }) => <ul className='mb-8'>{children}</ul>,
a: ({ children, href, target }) => (
<a {...{ href, target }} className='text-link underline' target='_blank'>
{children}
</a>
),
}}
>
{release.body}
</ReactMarkdown>
<Markdown body={release.body} />
</div>
</AnimateHeight>
)
Expand Down
54 changes: 27 additions & 27 deletions components/sections/ShuttleAI/StepsMobile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ export default function StepsMobile() {
y2='587.221'
gradientUnits='userSpaceOnUse'
>
<stop stop-color='#FC540C' />
<stop offset='0.355703' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop stopColor='#FC540C' />
<stop offset='0.355703' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint1_linear_2170_40933'
Expand All @@ -105,9 +105,9 @@ export default function StepsMobile() {
y2='186.375'
gradientUnits='userSpaceOnUse'
>
<stop stop-color='#FC540C' />
<stop offset='0.0117617' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.532208' stop-color='#38D4E9' />
<stop stopColor='#FC540C' />
<stop offset='0.0117617' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.532208' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint2_linear_2170_40933'
Expand All @@ -117,9 +117,9 @@ export default function StepsMobile() {
y2='349.383'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.246534' stop-color='#FC540C' />
<stop offset='0.619356' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop offset='0.246534' stopColor='#FC540C' />
<stop offset='0.619356' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint3_linear_2170_40933'
Expand All @@ -129,9 +129,9 @@ export default function StepsMobile() {
y2='710.534'
gradientUnits='userSpaceOnUse'
>
<stop stop-color='#FC540C' />
<stop offset='0.355703' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop stopColor='#FC540C' />
<stop offset='0.355703' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint4_linear_2170_40933'
Expand All @@ -141,9 +141,9 @@ export default function StepsMobile() {
y2='38.4933'
gradientUnits='userSpaceOnUse'
>
<stop stop-color='#FC540C' />
<stop offset='0.355703' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop stopColor='#FC540C' />
<stop offset='0.355703' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint5_linear_2170_40933'
Expand All @@ -153,9 +153,9 @@ export default function StepsMobile() {
y2='777.534'
gradientUnits='userSpaceOnUse'
>
<stop stop-color='#FC540C' />
<stop offset='0.355703' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop stopColor='#FC540C' />
<stop offset='0.355703' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint6_linear_2170_40933'
Expand All @@ -165,9 +165,9 @@ export default function StepsMobile() {
y2='789.447'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.246534' stop-color='#FC540C' />
<stop offset='0.619356' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop offset='0.246534' stopColor='#FC540C' />
<stop offset='0.619356' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint7_linear_2170_40933'
Expand All @@ -177,9 +177,9 @@ export default function StepsMobile() {
y2='457.039'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.246534' stop-color='#FC540C' />
<stop offset='0.619356' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop offset='0.246534' stopColor='#FC540C' />
<stop offset='0.619356' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
<linearGradient
id='paint8_linear_2170_40933'
Expand All @@ -189,9 +189,9 @@ export default function StepsMobile() {
y2='540.825'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.246534' stop-color='#FC540C' />
<stop offset='0.619356' stop-color='#FFD76F' stop-opacity='0.72' />
<stop offset='0.859375' stop-color='#38D4E9' />
<stop offset='0.246534' stopColor='#FC540C' />
<stop offset='0.619356' stopColor='#FFD76F' stopOpacity='0.72' />
<stop offset='0.859375' stopColor='#38D4E9' />
</linearGradient>
</defs>
</svg>
Expand Down
49 changes: 49 additions & 0 deletions components/sections/Templates/BgGlow.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
export default function BgGlow({ className }: { className?: string }) {
return (
<svg
width='189'
height='108'
viewBox='0 0 189 108'
fill='none'
xmlns='http://www.w3.org/2000/svg'
className={className}
>
<g filter='url(#filter0_f_4147_25789)'>
<ellipse
cx='94.5'
cy='54'
rx='64'
ry='24'
fill='url(#paint0_linear_4147_25789)'
fillOpacity='0.4'
/>
</g>
<defs>
<filter
id='filter0_f_4147_25789'
x='0.5'
y='0'
width='188'
height='108'
filterUnits='userSpaceOnUse'
colorInterpolationFilters='sRGB'
>
<feFlood floodOpacity='0' result='BackgroundImageFix' />
<feBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape' />
<feGaussianBlur stdDeviation='15' result='effect1_foregroundBlur_4147_25789' />
</filter>
<linearGradient
id='paint0_linear_4147_25789'
x1='11.0217'
y1='86.7273'
x2='211.423'
y2='45.3445'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.22108' stopColor='#FF5C00' />
<stop offset='1' stopColor='#00F0FF' />
</linearGradient>
</defs>
</svg>
)
}
7 changes: 7 additions & 0 deletions components/sections/Templates/CheckIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export default function CheckIcon() {
return (
<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'>
<path d='M5 9.5L8.33333 13L15 6' stroke='black' stroke-width='2' />
</svg>
)
}
Loading