mirror of
https://github.com/privacy-scaling-explorations/pse.dev.git
synced 2026-04-23 03:01:03 -04:00
feat: feedback button and slider fix
This commit is contained in:
@@ -16,7 +16,7 @@ export const Devcon7Slider = () => {
|
||||
speed: 500,
|
||||
slidesToShow: 4.2,
|
||||
slidesToScroll: 1,
|
||||
autoplay: true,
|
||||
autoplay: false,
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 1400,
|
||||
|
||||
@@ -1,40 +1,39 @@
|
||||
import "@/styles/globals.css"
|
||||
import { Metadata } from "next"
|
||||
import Script from "next/script"
|
||||
import '@/styles/globals.css'
|
||||
import { Metadata } from 'next'
|
||||
import Script from 'next/script'
|
||||
|
||||
import { siteConfig } from "@/config/site"
|
||||
import { fontDisplay, fontSans } from "@/lib/fonts"
|
||||
import { SiteFooter } from "@/components/site-footer"
|
||||
import { SiteHeader } from "@/components/site-header"
|
||||
import { TailwindIndicator } from "@/components/tailwind-indicator"
|
||||
import { siteConfig } from '@/config/site'
|
||||
import { fontDisplay, fontSans } from '@/lib/fonts'
|
||||
import { SiteFooter } from '@/components/site-footer'
|
||||
import { SiteHeader } from '@/components/site-header'
|
||||
import { TailwindIndicator } from '@/components/tailwind-indicator'
|
||||
|
||||
import { fallbackLng, languages } from "../i18n/settings"
|
||||
import { FloatingFeedbackSidebar } from "@/components/floating-feedback-sidebar"
|
||||
import { fallbackLng, languages } from '../i18n/settings'
|
||||
|
||||
export async function generateStaticParams() {
|
||||
return languages.map((language) => ({ language }))
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
metadataBase: new URL("https://appliedzkp.org"),
|
||||
metadataBase: new URL('https://appliedzkp.org'),
|
||||
title: {
|
||||
default: siteConfig.name,
|
||||
template: `%s - ${siteConfig.name}`,
|
||||
},
|
||||
description: siteConfig.description,
|
||||
themeColor: [
|
||||
{ media: "(prefers-color-scheme: light)", color: "white" },
|
||||
{ media: "(prefers-color-scheme: dark)", color: "black" },
|
||||
{ media: '(prefers-color-scheme: light)', color: 'white' },
|
||||
{ media: '(prefers-color-scheme: dark)', color: 'black' },
|
||||
],
|
||||
icons: {
|
||||
icon: "/favicon.svg",
|
||||
shortcut: "/favicon.svg",
|
||||
apple: "/apple-touch-icon.png",
|
||||
icon: '/favicon.svg',
|
||||
shortcut: '/favicon.svg',
|
||||
apple: '/apple-touch-icon.png',
|
||||
},
|
||||
openGraph: {
|
||||
images: [
|
||||
{
|
||||
url: "/og-image.png",
|
||||
url: '/og-image.png',
|
||||
width: 1200,
|
||||
height: 630,
|
||||
},
|
||||
@@ -75,9 +74,8 @@ export default function RootLayout({ children, params }: RootLayoutProps) {
|
||||
<head />
|
||||
<body
|
||||
suppressHydrationWarning
|
||||
className={"min-h-screen bg-background antialiased"}
|
||||
className={'min-h-screen bg-background antialiased'}
|
||||
>
|
||||
<FloatingFeedbackSidebar />
|
||||
<div className="relative flex min-h-screen flex-col">
|
||||
<SiteHeader lang={lang} />
|
||||
<div className="flex-1">{children}</div>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
"use client"
|
||||
'use client'
|
||||
|
||||
import Image from "next/image"
|
||||
import Link from "next/link"
|
||||
import Image from 'next/image'
|
||||
import Link from 'next/link'
|
||||
|
||||
import { LangProps } from "@/types/common"
|
||||
import { NavItem } from "@/types/nav"
|
||||
import { siteConfig } from "@/config/site"
|
||||
import { cn } from "@/lib/utils"
|
||||
import { useAppSettings } from "@/hooks/useAppSettings"
|
||||
import { useTranslation } from "@/app/i18n/client"
|
||||
import { LangProps } from '@/types/common'
|
||||
import { NavItem } from '@/types/nav'
|
||||
import { siteConfig } from '@/config/site'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { useAppSettings } from '@/hooks/useAppSettings'
|
||||
import { useTranslation } from '@/app/i18n/client'
|
||||
|
||||
import { Icons } from "./icons"
|
||||
import { AppContent } from "./ui/app-content"
|
||||
import { Icons } from './icons'
|
||||
import { AppContent } from './ui/app-content'
|
||||
|
||||
const ItemLabel = ({
|
||||
label,
|
||||
@@ -42,11 +42,11 @@ const LinksWrapper = ({
|
||||
children: React.ReactNode
|
||||
className?: string
|
||||
}) => {
|
||||
return <div className={cn("flex flex-col gap-4", className)}>{children}</div>
|
||||
return <div className={cn('flex flex-col gap-4', className)}>{children}</div>
|
||||
}
|
||||
|
||||
export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
const { t } = useTranslation(lang, "common")
|
||||
export function SiteFooter({ lang }: LangProps['params']) {
|
||||
const { t } = useTranslation(lang, 'common')
|
||||
|
||||
const { MAIN_NAV } = useAppSettings(lang)
|
||||
|
||||
@@ -63,10 +63,10 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
className="h-36 w-36"
|
||||
/>
|
||||
<span className="text-center font-sans text-sm leading-[21px] md:text-left">
|
||||
{t("footer.description")}
|
||||
{t('footer.description')}
|
||||
</span>
|
||||
</div>
|
||||
<div className="order-2 grid grid-cols-1 justify-between gap-10 uppercase lg:grid-cols-4 lg:gap-0">
|
||||
<div className="order-2 grid grid-cols-1 justify-between gap-10 uppercase lg:grid-cols-5 lg:gap-0">
|
||||
<LinksWrapper>
|
||||
{MAIN_NAV.map(
|
||||
(
|
||||
@@ -77,7 +77,7 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
<Link
|
||||
key={indexKey}
|
||||
href={external ? href : `/${lang}${href}`}
|
||||
target={external ? "_blank" : undefined}
|
||||
target={external ? '_blank' : undefined}
|
||||
>
|
||||
<ItemLabel label={title} />
|
||||
</Link>
|
||||
@@ -99,7 +99,7 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-2"
|
||||
>
|
||||
<ItemLabel label={t("menu.jobs")} external />
|
||||
<ItemLabel label={t('menu.jobs')} external />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.report}
|
||||
@@ -107,7 +107,7 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-2"
|
||||
>
|
||||
<ItemLabel label={t("menu.report")} external />
|
||||
<ItemLabel label={t('menu.report')} external />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.firstGoodIssue}
|
||||
@@ -115,7 +115,7 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-2"
|
||||
>
|
||||
<ItemLabel label={t("menu.firstGoodIssue")} external />
|
||||
<ItemLabel label={t('menu.firstGoodIssue')} external />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
@@ -179,14 +179,23 @@ export function SiteFooter({ lang }: LangProps["params"]) {
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={t("footer.privacyPolicy")} />
|
||||
<ItemLabel label={t('footer.privacyPolicy')} />
|
||||
</Link>
|
||||
<Link
|
||||
href={siteConfig.links.termOfUse}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label={t("footer.termsOfUse")} />
|
||||
<ItemLabel label={t('footer.termsOfUse')} />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
<LinksWrapper>
|
||||
<Link
|
||||
href={siteConfig.links.discord}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
<ItemLabel label="Feedback" />
|
||||
</Link>
|
||||
</LinksWrapper>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user