From 4c1505e859b245233542ccf053ffc19527cd188f Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Fri, 26 Dec 2025 21:25:58 +0100 Subject: [PATCH 1/3] chore: ignore .cursor/commands directory --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f767e14e..355cee3d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,5 @@ Temporary Items # Python __pycache__/ -node_modules/ \ No newline at end of file +node_modules/ +.cursor/commands \ No newline at end of file From 42a1351c560d5915438d130137e57b141762d9e4 Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Fri, 26 Dec 2025 21:26:00 +0100 Subject: [PATCH 2/3] chore(deps): update next from 16.0.9 to 16.1.1 --- web/package.json | 2 +- web/pnpm-lock.yaml | 89 +++++++++++++++++++++++----------------------- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/web/package.json b/web/package.json index 922c215f..6618a174 100644 --- a/web/package.json +++ b/web/package.json @@ -67,7 +67,7 @@ "input-otp": "^1.4.2", "lucide-react": "^0.553.0", "motion": "^12.23.24", - "next": "16.0.9", + "next": "16.1.1", "next-themes": "^0.4.6", "pocketbase": "^0.26.4", "posthog-js": "^1.301.1", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 3ca6bc2d..25530cfb 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 5.2.1(react-hook-form@7.68.0(react@19.2.1)) '@posthog/nextjs-config': specifier: ^1.6.3 - version: 1.6.3(next@16.0.9(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)) + version: 1.6.3(next@16.1.1(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)) '@radix-ui/react-accordion': specifier: ^1.2.12 version: 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.5))(@types/react@19.2.5)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) @@ -144,8 +144,8 @@ importers: specifier: ^12.23.24 version: 12.23.24(react-dom@19.2.1(react@19.2.1))(react@19.2.1) next: - specifier: 16.0.9 - version: 16.0.9(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + specifier: 16.1.1 + version: 16.1.1(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.2.1(react@19.2.1))(react@19.2.1) @@ -482,53 +482,53 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} - '@next/env@16.0.9': - resolution: {integrity: sha512-6284pl8c8n9PQidN63qjPVEu1uXXKjnmbmaLebOzIfTrSXdGiAPsIMRi4pk/+v/ezqweE1/B8bFqiAAfC6lMXg==} + '@next/env@16.1.1': + resolution: {integrity: sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==} - '@next/swc-darwin-arm64@16.0.9': - resolution: {integrity: sha512-j06fWg/gPqiWjK+sEpCDsh5gX+Bdy9gnPYjFqMBvBEOIcCFy1/ecF6pY6XAce7WyCJAbBPVb+6GvpmUZKNq0oQ==} + '@next/swc-darwin-arm64@16.1.1': + resolution: {integrity: sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.0.9': - resolution: {integrity: sha512-FRYYz5GSKUkfvDSjd5hgHME2LgYjfOLBmhRVltbs3oRNQQf9n5UTQMmIu/u5vpkjJFV4L2tqo8duGqDxdQOFwg==} + '@next/swc-darwin-x64@16.1.1': + resolution: {integrity: sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.0.9': - resolution: {integrity: sha512-EI2klFVL8tOyEIX5J1gXXpm1YuChmDy4R+tHoNjkCHUmBJqXioYErX/O2go4pEhjxkAxHp2i8y5aJcRz2m5NqQ==} + '@next/swc-linux-arm64-gnu@16.1.1': + resolution: {integrity: sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@16.0.9': - resolution: {integrity: sha512-vq/5HeGvowhDPMrpp/KP4GjPVhIXnwNeDPF5D6XK6ta96UIt+C0HwJwuHYlwmn0SWyNANqx1Mp6qSVDXwbFKsw==} + '@next/swc-linux-arm64-musl@16.1.1': + resolution: {integrity: sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@16.0.9': - resolution: {integrity: sha512-GlUdJwy2leA/HnyRYxJ1ZJLCJH+BxZfqV4E0iYLrJipDKxWejWpPtZUdccPmCfIEY9gNBO7bPfbG6IIgkt0qXg==} + '@next/swc-linux-x64-gnu@16.1.1': + resolution: {integrity: sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@16.0.9': - resolution: {integrity: sha512-UCtOVx4N8AHF434VPwg4L0KkFLAd7pgJShzlX/hhv9+FDrT7/xCuVdlBsCXH7l9yCA/wHl3OqhMbIkgUluriWA==} + '@next/swc-linux-x64-musl@16.1.1': + resolution: {integrity: sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@16.0.9': - resolution: {integrity: sha512-tQjtDGtv63mV3n/cZ4TH8BgUvKTSFlrF06yT5DyRmgQuj5WEjBUDy0W3myIW5kTRYMPrLn42H3VfCNwBH6YYiA==} + '@next/swc-win32-arm64-msvc@16.1.1': + resolution: {integrity: sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.0.9': - resolution: {integrity: sha512-y9AGACHTBwnWFLq5B5Fiv3FEbXBusdPb60pgoerB04CV/pwjY1xQNdoTNxAv7eUhU2k1CKnkN4XWVuiK07uOqA==} + '@next/swc-win32-x64-msvc@16.1.1': + resolution: {integrity: sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1955,8 +1955,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@16.0.9: - resolution: {integrity: sha512-Xk5x/wEk6ADIAtQECLo1uyE5OagbQCiZ+gW4XEv24FjQ3O2PdSkvgsn22aaseSXC7xg84oONvQjFbSTX5YsMhQ==} + next@16.1.1: + resolution: {integrity: sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -2508,30 +2508,30 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@next/env@16.0.9': {} + '@next/env@16.1.1': {} - '@next/swc-darwin-arm64@16.0.9': + '@next/swc-darwin-arm64@16.1.1': optional: true - '@next/swc-darwin-x64@16.0.9': + '@next/swc-darwin-x64@16.1.1': optional: true - '@next/swc-linux-arm64-gnu@16.0.9': + '@next/swc-linux-arm64-gnu@16.1.1': optional: true - '@next/swc-linux-arm64-musl@16.0.9': + '@next/swc-linux-arm64-musl@16.1.1': optional: true - '@next/swc-linux-x64-gnu@16.0.9': + '@next/swc-linux-x64-gnu@16.1.1': optional: true - '@next/swc-linux-x64-musl@16.0.9': + '@next/swc-linux-x64-musl@16.1.1': optional: true - '@next/swc-win32-arm64-msvc@16.0.9': + '@next/swc-win32-arm64-msvc@16.1.1': optional: true - '@next/swc-win32-x64-msvc@16.0.9': + '@next/swc-win32-x64-msvc@16.1.1': optional: true '@playwright/test@1.57.0': @@ -2552,12 +2552,12 @@ snapshots: dependencies: cross-spawn: 7.0.6 - '@posthog/nextjs-config@1.6.3(next@16.0.9(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))': + '@posthog/nextjs-config@1.6.3(next@16.1.1(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1))': dependencies: '@posthog/cli': 0.5.16 '@posthog/core': 1.7.0 '@posthog/webpack-plugin': 1.1.3 - next: 16.0.9(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) + next: 16.1.1(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) semver: 7.7.3 transitivePeerDependencies: - debug @@ -3918,24 +3918,25 @@ snapshots: react: 19.2.1 react-dom: 19.2.1(react@19.2.1) - next@16.0.9(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): + next@16.1.1(@playwright/test@1.57.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1): dependencies: - '@next/env': 16.0.9 + '@next/env': 16.1.1 '@swc/helpers': 0.5.15 + baseline-browser-mapping: 2.8.32 caniuse-lite: 1.0.30001760 postcss: 8.4.31 react: 19.2.1 react-dom: 19.2.1(react@19.2.1) styled-jsx: 5.1.6(react@19.2.1) optionalDependencies: - '@next/swc-darwin-arm64': 16.0.9 - '@next/swc-darwin-x64': 16.0.9 - '@next/swc-linux-arm64-gnu': 16.0.9 - '@next/swc-linux-arm64-musl': 16.0.9 - '@next/swc-linux-x64-gnu': 16.0.9 - '@next/swc-linux-x64-musl': 16.0.9 - '@next/swc-win32-arm64-msvc': 16.0.9 - '@next/swc-win32-x64-msvc': 16.0.9 + '@next/swc-darwin-arm64': 16.1.1 + '@next/swc-darwin-x64': 16.1.1 + '@next/swc-linux-arm64-gnu': 16.1.1 + '@next/swc-linux-arm64-musl': 16.1.1 + '@next/swc-linux-x64-gnu': 16.1.1 + '@next/swc-linux-x64-musl': 16.1.1 + '@next/swc-win32-arm64-msvc': 16.1.1 + '@next/swc-win32-x64-msvc': 16.1.1 '@playwright/test': 1.57.0 sharp: 0.34.5 transitivePeerDependencies: From d713f13d3abc022a3452aa85ac6235e2012258af Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Fri, 26 Dec 2025 21:26:04 +0100 Subject: [PATCH 3/3] refactor: remove experimental warning components and update submission UI Remove ExperimentalWarning component and all its usages across the application. Update submission form text to remove experimental language and remove the "Request this icon" button from icon search. --- web/src/app/community/page.tsx | 2 -- web/src/app/dashboard/page.tsx | 2 -- ...advanced-icon-submission-form-tanstack.tsx | 2 -- web/src/components/experimental-warning.tsx | 26 ------------------- web/src/components/icon-search.tsx | 21 --------------- web/src/components/icon-submission-form.tsx | 4 +-- 6 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 web/src/components/experimental-warning.tsx diff --git a/web/src/app/community/page.tsx b/web/src/app/community/page.tsx index d56d5394..01ee75bc 100644 --- a/web/src/app/community/page.tsx +++ b/web/src/app/community/page.tsx @@ -1,7 +1,6 @@ import type { Metadata } from "next" import { Suspense } from "react" import { CommunityIconSearch } from "@/components/community-icon-search" -import { ExperimentalWarning } from "@/components/experimental-warning" import { BASE_URL } from "@/constants" import { getCommunitySubmissions } from "@/lib/community" @@ -43,7 +42,6 @@ export default async function CommunityPage() { const icons = await getCommunitySubmissions() return (
-

Browse community icons

diff --git a/web/src/app/dashboard/page.tsx b/web/src/app/dashboard/page.tsx index 696be7e9..bc747048 100644 --- a/web/src/app/dashboard/page.tsx +++ b/web/src/app/dashboard/page.tsx @@ -2,7 +2,6 @@ import { AlertCircle, RefreshCw } from "lucide-react" import * as React from "react" -import { ExperimentalWarning } from "@/components/experimental-warning" import { SubmissionsDataTable } from "@/components/submissions-data-table" import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert" import { Button } from "@/components/ui/button" @@ -156,7 +155,6 @@ export default function DashboardPage() { return ( <>
- Submissions Dashboard diff --git a/web/src/components/advanced-icon-submission-form-tanstack.tsx b/web/src/components/advanced-icon-submission-form-tanstack.tsx index fc8bca6b..e4edb28f 100644 --- a/web/src/components/advanced-icon-submission-form-tanstack.tsx +++ b/web/src/components/advanced-icon-submission-form-tanstack.tsx @@ -5,7 +5,6 @@ import { Check, FileImage, FileType, Plus, X } from "lucide-react" import { useState } from "react" import { toast } from "sonner" import { revalidateAllSubmissions } from "@/app/actions/submissions" -import { ExperimentalWarning } from "@/components/experimental-warning" import { IconNameCombobox } from "@/components/icon-name-combobox" import { IconSubmissionGuidelines } from "@/components/icon-submission-guidelines" import { @@ -328,7 +327,6 @@ export function AdvancedIconSubmissionFormTanStack() { return (
- diff --git a/web/src/components/experimental-warning.tsx b/web/src/components/experimental-warning.tsx deleted file mode 100644 index 9cab8d5e..00000000 --- a/web/src/components/experimental-warning.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { AlertTriangle } from "lucide-react" -import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert" -import { Button } from "@/components/ui/button" - -interface ExperimentalWarningProps { - message?: string -} - -export function ExperimentalWarning({ message }: ExperimentalWarningProps) { - const defaultMessage = - message || - "This icon submission system is currently in an experimentation phase. Submissions will not be reviewed or processed at this time. We're gathering feedback to improve the experience." - - return ( - - -
- Experimental Feature - {defaultMessage} - -
-
- ) -} diff --git a/web/src/components/icon-search.tsx b/web/src/components/icon-search.tsx index 0bdb8276..59221315 100644 --- a/web/src/components/icon-search.tsx +++ b/web/src/components/icon-search.tsx @@ -382,27 +382,6 @@ export function IconSearch({ icons }: IconSearchProps) {
-
- Can't submit it yourself? - -
) : ( diff --git a/web/src/components/icon-submission-form.tsx b/web/src/components/icon-submission-form.tsx index b5f8d675..6ff6c31e 100644 --- a/web/src/components/icon-submission-form.tsx +++ b/web/src/components/icon-submission-form.tsx @@ -106,10 +106,10 @@ export function IconSubmissionContent() {

- Submissions are currently handled via GitHub issues, but we are experimenting with uploading icons directly on the website. + If you would like to help us expand our collection, you can submit your icons using our submission form or by creating an issue on Github