feat(sponsors): add MitteAI as a new sponsor

This commit is contained in:
Fatih Kadir Akın
2026-01-03 13:33:08 +03:00
parent 7719d11da0
commit 476ffddc29
6 changed files with 94 additions and 8 deletions

View File

@@ -78,9 +78,10 @@ export default defineConfig({
items: [
// Add sponsors here
{ name: "Clemta", logo: '/sponsors/clemta.webp', url: "https://clemta.com/?utm_source=prompts.chat" },
{ name: "Wiro.ai", className: 'p-1', darkLogo: '/sponsors/wiro.png', logo: '/sponsors/wiro.png', url: "https://wiro.ai/?utm_source=prompts.chat" },
{ name: "Wiro.ai", className: 'py-1', darkLogo: '/sponsors/wiro.png', logo: '/sponsors/wiro.png', url: "https://wiro.ai/?utm_source=prompts.chat" },
{ name: "Cognition", logo: "/sponsors/cognition.svg", url: "https://wind.surf/prompts-chat" },
{ name: "warp.dev", className: 'p-2', logo: '/sponsors/warp.svg', url: "https://warp.dev/?utm_source=prompts.chat" },
{ name: "MitteAI", logo: '/sponsors/mitte.svg', darkLogo: '/sponsors/mitte-dark.svg', url: "https://mitte.ai/?utm_source=prompts.chat" },
{ name: "warp.dev", className: 'py-2', logo: '/sponsors/warp.svg', url: "https://warp.dev/?utm_source=prompts.chat" },
],
},
},

View File

@@ -0,0 +1,12 @@
<svg width="19528" height="5000" viewBox="0 0 19528 5000" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_157_9)">
<path d="M2690.52 4095.56C2649.01 4294.6 2389.89 4307.95 2338.03 4109.04C2332.26 4086.95 2313.06 4008.32 2280.44 3873.12C2221.83 3630.15 2119 3391.15 1958.06 3207.19C1771.87 2994.19 1509.22 2860.77 1236.17 2800.59C1186.88 2789.67 1105.71 2773.19 992.579 2751.01C885.133 2730.01 802.288 2652.95 818.316 2534.88C831.829 2435.9 906.473 2389.63 997.891 2374.32C1136.42 2351.1 1206.91 2339.27 1209.48 2338.75C1382.11 2306.66 1546.31 2243.22 1692.75 2152.06C1841.76 2059.64 1969.71 1934.01 2076.55 1775.15C2167.78 1639.47 2226.44 1472.65 2263.62 1313.92L2338.22 996.026C2375.73 835.992 2574.92 795.288 2664.05 937.188C2676.91 957.627 2689.54 994.113 2701.94 1046.52C2758.83 1286.57 2816.56 1530.97 2942.83 1742.06C3090.58 1988.93 3304.96 2162.28 3585.97 2262.08C3735.16 2315 3868.28 2336.53 4052.1 2374.02C4166.95 2397.33 4228.36 2488.39 4216.16 2603.54C4206.23 2696.82 4130.94 2735.4 4048.7 2748.05C3977.71 2758.84 3906.99 2771.14 3836.6 2784.93C3322.9 2887.78 2927.69 3227.33 2775.83 3743.74C2748.44 3837.15 2719.92 3954.44 2690.52 4095.56Z" fill="white"></path>
<path d="M3469.39 170.068H1530.61C779.205 170.068 170.068 779.205 170.068 1530.61V3469.39C170.068 4220.8 779.205 4829.93 1530.61 4829.93H3469.39C4220.8 4829.93 4829.93 4220.8 4829.93 3469.39V1530.61C4829.93 779.205 4220.8 170.068 3469.39 170.068Z" stroke="white" stroke-width="400"></path>
</g>
<path d="M5922.7 3421V1855.08H6148.28V2055.77H6168.79C6202.97 1964.95 6241.05 1902.93 6283.05 1869.73C6326.02 1835.55 6386.07 1818.46 6463.22 1818.46C6553.07 1818.46 6621.91 1836.53 6669.77 1872.66C6717.62 1907.82 6752.77 1968.85 6775.23 2055.77H6789.88C6825.04 1963.97 6865.08 1901.47 6910 1868.27C6955.9 1835.06 7020.84 1818.46 7104.82 1818.46C7234.71 1818.46 7323.57 1860.94 7371.43 1945.9C7420.25 2029.89 7444.67 2183.7 7444.67 2407.33V3421H7207.36V2464.46C7207.36 2305.28 7193.69 2195.9 7166.35 2136.33C7139 2076.76 7086.76 2046.98 7009.61 2046.98C6929.53 2046.98 6874.84 2079.2 6845.55 2143.66C6816.25 2208.11 6801.6 2329.69 6801.6 2508.4V3421H6568.69L6574.55 2467.39C6575.53 2310.16 6559.41 2200.79 6526.21 2139.26C6493.98 2077.74 6439.79 2046.98 6363.61 2046.98C6284.51 2046.98 6230.31 2081.16 6201.02 2149.52C6171.72 2217.88 6157.07 2343.85 6157.07 2527.45V3421H5922.7ZM8183.83 1579.69V1236.92H8529.53V1579.69H8183.83ZM7772.21 3418.07V3198.34H8280.51V2073.34H7802.97V1855.08H8525.14V3198.34H9011.46V3418.07H7772.21ZM10168.1 3454.69C10071.4 3454.69 9993.3 3445.41 9933.73 3426.86C9874.16 3409.28 9828.26 3378.52 9796.04 3334.57C9764.79 3289.65 9743.79 3238.38 9733.05 3180.77C9723.28 3123.15 9718.4 3046 9718.4 2949.32V2076.27H9314.1L9374.16 1855.08H9730.12V1503.52L9964.49 1405.38V1855.08H10513.8V2076.27H9964.49V2937.6C9964.49 2989.36 9967.91 3031.35 9974.75 3063.58C9981.58 3095.8 9995.25 3125.1 10015.8 3151.47C10037.2 3177.84 10068.5 3196.88 10109.5 3208.6C10150.5 3220.32 10203.3 3226.18 10267.7 3226.18C10336.1 3226.18 10440.1 3216.9 10579.7 3198.34V3421C10395.2 3443.46 10257.9 3454.69 10168.1 3454.69ZM11816.9 3454.69C11720.3 3454.69 11642.1 3445.41 11582.6 3426.86C11523 3409.28 11477.1 3378.52 11444.9 3334.57C11413.6 3289.65 11392.6 3238.38 11381.9 3180.77C11372.1 3123.15 11367.2 3046 11367.2 2949.32V2076.27H10962.9L11023 1855.08H11378.9V1503.52L11613.3 1405.38V1855.08H12162.6V2076.27H11613.3V2937.6C11613.3 2989.36 11616.7 3031.35 11623.6 3063.58C11630.4 3095.8 11644.1 3125.1 11664.6 3151.47C11686.1 3177.84 11717.3 3196.88 11758.3 3208.6C11799.4 3220.32 11852.1 3226.18 11916.5 3226.18C11984.9 3226.18 12088.9 3216.9 12228.6 3198.34V3421C12044 3443.46 11906.8 3454.69 11816.9 3454.69ZM13301.7 3450.3C13193.3 3450.3 13102 3442 13027.8 3425.39C12954.5 3409.77 12891.1 3383.89 12837.3 3347.76C12784.6 3311.62 12743.1 3260.84 12712.8 3195.41C12683.5 3129.98 12662.1 3052.35 12648.4 2962.5C12635.7 2872.66 12629.3 2761.33 12629.3 2628.52C12629.3 2467.39 12639.6 2335.55 12660.1 2233.01C12681.6 2130.47 12718.7 2047.95 12771.4 1985.45C12824.2 1922.95 12890.1 1879.5 12969.2 1855.08C13049.3 1830.67 13151.8 1818.46 13276.8 1818.46C13367.6 1818.46 13445.3 1824.32 13509.7 1836.04C13574.2 1847.76 13630.8 1868.27 13679.6 1897.56C13729.4 1926.86 13769.5 1963.48 13799.7 2007.43C13830 2050.39 13854.4 2107.52 13873 2178.81C13891.5 2250.1 13903.8 2329.69 13909.6 2417.58C13916.4 2505.47 13918.9 2611.92 13916.9 2736.92H12881.3C12890.1 2930.28 12923.3 3060.65 12980.9 3128.03C13038.5 3195.41 13144.5 3229.11 13298.8 3229.11C13399.4 3229.11 13472.1 3214.95 13517 3186.62C13562 3157.33 13598.1 3100.69 13625.4 3016.7H13886.2C13863.7 3132.91 13831.5 3221.78 13789.5 3283.3C13748.5 3343.85 13690.4 3386.82 13615.2 3412.21C13540 3437.6 13435.5 3450.3 13301.7 3450.3ZM12884.2 2518.66H13676.7C13670.8 2331.16 13640.1 2204.69 13584.4 2139.26C13529.7 2073.83 13427.2 2041.12 13276.8 2041.12C13135.2 2041.12 13037.5 2073.83 12983.8 2139.26C12931.1 2204.69 12897.9 2331.16 12884.2 2518.66ZM14701.5 3421V2962.5H15157.1V3421H14701.5ZM16425 3450.3C16237.5 3450.3 16109.6 3418.07 16041.2 3353.62C15972.9 3288.19 15938.7 3165.63 15938.7 2985.94C15938.7 2840.43 15959.7 2729.11 16001.7 2651.96C16043.7 2573.83 16114 2518.17 16212.6 2484.96C16311.3 2450.79 16451.9 2433.7 16634.5 2433.7H16917.2V2358.99C16917.2 2233.99 16891.8 2149.03 16841.1 2104.11C16791.2 2058.21 16697.5 2035.26 16559.8 2035.26C16437.7 2035.26 16354.2 2050.88 16309.3 2082.13C16265.4 2113.38 16241.9 2172.46 16239 2259.38H15987.1C15987.1 2088.48 16027.1 1971.78 16107.2 1909.28C16188.2 1846.78 16339.1 1815.53 16559.8 1815.53C16677 1815.53 16772.7 1823.83 16846.9 1840.43C16921.1 1857.04 16981.7 1886.82 17028.6 1929.79C17075.4 1972.76 17108.1 2028.42 17126.7 2096.78C17145.3 2164.16 17154.5 2251.57 17154.5 2358.99V3421H16926V3220.32H16905.5C16854.7 3309.18 16795.2 3369.73 16726.8 3401.96C16659.4 3434.18 16558.8 3450.3 16425 3450.3ZM16190.7 2959.57C16190.7 3063.09 16211.7 3133.4 16253.7 3170.51C16295.6 3207.62 16373.8 3226.18 16488 3226.18C16652.1 3226.18 16763.9 3185.65 16823.5 3104.59C16884 3022.56 16914.3 2870.22 16914.3 2647.56L16574.5 2650.49C16426 2651.47 16324.9 2673.93 16271.2 2717.88C16217.5 2761.82 16190.7 2842.39 16190.7 2959.57ZM18076.8 1579.69V1236.92H18422.5V1579.69H18076.8ZM17665.2 3418.07V3198.34H18173.5V2073.34H17695.9V1855.08H18418.1V3198.34H18904.4V3418.07H17665.2Z" fill="white"></path>
<defs>
<clipPath id="clip0_157_9">
<rect width="5000" height="5000" fill="white"></rect>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

12
public/sponsors/mitte.svg Normal file
View File

@@ -0,0 +1,12 @@
<svg width="19379" height="5000" viewBox="0 0 19379 5000" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_169_2)">
<path d="M2690.52 4095.56C2649.01 4294.6 2389.89 4307.95 2338.03 4109.04C2332.26 4086.95 2313.06 4008.32 2280.44 3873.12C2221.83 3630.15 2119 3391.15 1958.06 3207.19C1771.87 2994.19 1509.22 2860.77 1236.17 2800.59C1186.88 2789.67 1105.71 2773.19 992.579 2751.01C885.133 2730.01 802.288 2652.95 818.316 2534.88C831.829 2435.9 906.473 2389.63 997.891 2374.32C1136.42 2351.1 1206.91 2339.27 1209.48 2338.75C1382.11 2306.66 1546.31 2243.22 1692.75 2152.06C1841.76 2059.64 1969.71 1934.01 2076.55 1775.15C2167.78 1639.47 2226.44 1472.65 2263.62 1313.92L2338.22 996.026C2375.73 835.992 2574.92 795.288 2664.05 937.188C2676.91 957.627 2689.54 994.113 2701.94 1046.52C2758.83 1286.57 2816.56 1530.97 2942.83 1742.06C3090.58 1988.93 3304.96 2162.28 3585.97 2262.08C3735.16 2315 3868.28 2336.53 4052.1 2374.02C4166.95 2397.33 4228.36 2488.39 4216.16 2603.54C4206.23 2696.82 4130.94 2735.4 4048.7 2748.05C3977.71 2758.84 3906.99 2771.14 3836.6 2784.93C3322.9 2887.78 2927.69 3227.33 2775.83 3743.74C2748.44 3837.15 2719.92 3954.44 2690.52 4095.56Z" fill="#030303"></path>
<path d="M3469.39 170.066H1530.61C779.205 170.066 170.068 779.203 170.068 1530.61V3469.39C170.068 4220.79 779.205 4829.93 1530.61 4829.93H3469.39C4220.8 4829.93 4829.93 4220.79 4829.93 3469.39V1530.61C4829.93 779.203 4220.8 170.066 3469.39 170.066Z" stroke="#030303" stroke-width="400"></path>
</g>
<path d="M5922.7 3421V1855.08H6148.28V2055.77H6168.79C6202.97 1964.95 6241.05 1902.93 6283.05 1869.73C6326.02 1835.55 6386.07 1818.46 6463.22 1818.46C6553.07 1818.46 6621.91 1836.53 6669.77 1872.66C6717.62 1907.82 6752.77 1968.85 6775.23 2055.77H6789.88C6825.04 1963.97 6865.08 1901.47 6910 1868.27C6955.9 1835.06 7020.84 1818.46 7104.82 1818.46C7234.71 1818.46 7323.57 1860.94 7371.43 1945.9C7420.25 2029.89 7444.67 2183.7 7444.67 2407.33V3421H7207.36V2464.46C7207.36 2305.28 7193.69 2195.9 7166.35 2136.33C7139 2076.76 7086.76 2046.98 7009.61 2046.98C6929.53 2046.98 6874.84 2079.2 6845.55 2143.66C6816.25 2208.11 6801.6 2329.69 6801.6 2508.4V3421H6568.69L6574.55 2467.39C6575.53 2310.16 6559.41 2200.79 6526.21 2139.26C6493.98 2077.74 6439.79 2046.98 6363.61 2046.98C6284.51 2046.98 6230.31 2081.16 6201.02 2149.52C6171.72 2217.88 6157.07 2343.85 6157.07 2527.45V3421H5922.7ZM8183.83 1579.69V1236.92H8529.53V1579.69H8183.83ZM7772.21 3418.07V3198.34H8280.51V2073.34H7802.97V1855.08H8525.14V3198.34H9011.46V3418.07H7772.21ZM10168.1 3454.69C10071.4 3454.69 9993.3 3445.41 9933.73 3426.86C9874.16 3409.28 9828.26 3378.52 9796.04 3334.57C9764.79 3289.65 9743.79 3238.38 9733.05 3180.77C9723.28 3123.15 9718.4 3046 9718.4 2949.32V2076.27H9314.1L9374.16 1855.08H9730.12V1503.52L9964.49 1405.38V1855.08H10513.8V2076.27H9964.49V2937.6C9964.49 2989.36 9967.91 3031.35 9974.75 3063.58C9981.58 3095.8 9995.25 3125.1 10015.8 3151.47C10037.2 3177.84 10068.5 3196.88 10109.5 3208.6C10150.5 3220.32 10203.3 3226.18 10267.7 3226.18C10336.1 3226.18 10440.1 3216.9 10579.7 3198.34V3421C10395.2 3443.46 10257.9 3454.69 10168.1 3454.69ZM11816.9 3454.69C11720.3 3454.69 11642.1 3445.41 11582.6 3426.86C11523 3409.28 11477.1 3378.52 11444.9 3334.57C11413.6 3289.65 11392.6 3238.38 11381.9 3180.77C11372.1 3123.15 11367.2 3046 11367.2 2949.32V2076.27H10962.9L11023 1855.08H11378.9V1503.52L11613.3 1405.38V1855.08H12162.6V2076.27H11613.3V2937.6C11613.3 2989.36 11616.7 3031.35 11623.6 3063.58C11630.4 3095.8 11644.1 3125.1 11664.6 3151.47C11686.1 3177.84 11717.3 3196.88 11758.3 3208.6C11799.4 3220.32 11852.1 3226.18 11916.5 3226.18C11984.9 3226.18 12088.9 3216.9 12228.6 3198.34V3421C12044 3443.46 11906.8 3454.69 11816.9 3454.69ZM13301.7 3450.3C13193.3 3450.3 13102 3442 13027.8 3425.39C12954.5 3409.77 12891.1 3383.89 12837.3 3347.76C12784.6 3311.62 12743.1 3260.84 12712.8 3195.41C12683.5 3129.98 12662.1 3052.35 12648.4 2962.5C12635.7 2872.66 12629.3 2761.33 12629.3 2628.52C12629.3 2467.39 12639.6 2335.55 12660.1 2233.01C12681.6 2130.47 12718.7 2047.95 12771.4 1985.45C12824.2 1922.95 12890.1 1879.5 12969.2 1855.08C13049.3 1830.67 13151.8 1818.46 13276.8 1818.46C13367.6 1818.46 13445.3 1824.32 13509.7 1836.04C13574.2 1847.76 13630.8 1868.27 13679.6 1897.56C13729.4 1926.86 13769.5 1963.48 13799.7 2007.43C13830 2050.39 13854.4 2107.52 13873 2178.81C13891.5 2250.1 13903.8 2329.69 13909.6 2417.58C13916.4 2505.47 13918.9 2611.92 13916.9 2736.92H12881.3C12890.1 2930.28 12923.3 3060.65 12980.9 3128.03C13038.5 3195.41 13144.5 3229.11 13298.8 3229.11C13399.4 3229.11 13472.1 3214.95 13517 3186.62C13562 3157.33 13598.1 3100.69 13625.4 3016.7H13886.2C13863.7 3132.91 13831.5 3221.78 13789.5 3283.3C13748.5 3343.85 13690.4 3386.82 13615.2 3412.21C13540 3437.6 13435.5 3450.3 13301.7 3450.3ZM12884.2 2518.66H13676.7C13670.8 2331.16 13640.1 2204.69 13584.4 2139.26C13529.7 2073.83 13427.2 2041.12 13276.8 2041.12C13135.2 2041.12 13037.5 2073.83 12983.8 2139.26C12931.1 2204.69 12897.9 2331.16 12884.2 2518.66ZM14701.5 3421V2962.5H15157.1V3421H14701.5ZM16425 3450.3C16237.5 3450.3 16109.6 3418.07 16041.2 3353.62C15972.9 3288.19 15938.7 3165.63 15938.7 2985.94C15938.7 2840.43 15959.7 2729.11 16001.7 2651.96C16043.7 2573.83 16114 2518.17 16212.6 2484.96C16311.3 2450.79 16451.9 2433.7 16634.5 2433.7H16917.2V2358.99C16917.2 2233.99 16891.8 2149.03 16841.1 2104.11C16791.2 2058.21 16697.5 2035.26 16559.8 2035.26C16437.7 2035.26 16354.2 2050.88 16309.3 2082.13C16265.4 2113.38 16241.9 2172.46 16239 2259.38H15987.1C15987.1 2088.48 16027.1 1971.78 16107.2 1909.28C16188.2 1846.78 16339.1 1815.53 16559.8 1815.53C16677 1815.53 16772.7 1823.83 16846.9 1840.43C16921.1 1857.04 16981.7 1886.82 17028.6 1929.79C17075.4 1972.76 17108.1 2028.42 17126.7 2096.78C17145.3 2164.16 17154.5 2251.57 17154.5 2358.99V3421H16926V3220.32H16905.5C16854.7 3309.18 16795.2 3369.73 16726.8 3401.96C16659.4 3434.18 16558.8 3450.3 16425 3450.3ZM16190.7 2959.57C16190.7 3063.09 16211.7 3133.4 16253.7 3170.51C16295.6 3207.62 16373.8 3226.18 16488 3226.18C16652.1 3226.18 16763.9 3185.65 16823.5 3104.59C16884 3022.56 16914.3 2870.22 16914.3 2647.56L16574.5 2650.49C16426 2651.47 16324.9 2673.93 16271.2 2717.88C16217.5 2761.82 16190.7 2842.39 16190.7 2959.57ZM18076.8 1579.69V1236.92H18422.5V1579.69H18076.8ZM17665.2 3418.07V3198.34H18173.5V2073.34H17695.9V1855.08H18418.1V3198.34H18904.4V3418.07H17665.2Z" fill="#030303"></path>
<defs>
<clipPath id="clip0_169_2">
<rect width="5000" height="5000" fill="white"></rect>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -339,6 +339,7 @@ export function InteractivePromptContent({
getContentWithVariables={getContentWithVariables}
categoryName={categoryName}
parentCategoryName={parentCategoryName}
promptType={promptType as "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL"}
emphasized
/>
</div>
@@ -381,6 +382,7 @@ export function InteractivePromptContent({
getContentWithVariables={getContentWithVariables}
categoryName={categoryName}
parentCategoryName={parentCategoryName}
promptType={promptType as "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL"}
emphasized
/>
</div>
@@ -431,6 +433,7 @@ export function InteractivePromptContent({
getContentWithVariables={getContentWithVariables}
categoryName={categoryName}
parentCategoryName={parentCategoryName}
promptType={promptType as "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL"}
emphasized
/>
</div>
@@ -539,6 +542,7 @@ export function InteractivePromptContent({
getContentWithVariables={getContentWithVariables}
categoryName={categoryName}
parentCategoryName={parentCategoryName}
promptType={promptType as "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL"}
emphasized
/>
</div>

View File

@@ -335,6 +335,7 @@ export function PromptCard({ prompt, showPinButton = false, isPinned = false }:
className="h-6 w-6"
categoryName={prompt.category?.name}
parentCategoryName={prompt.category?.parent?.name}
promptType={prompt.type as "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL"}
/>
)}
</div>

View File

@@ -1,7 +1,7 @@
"use client";
import { useState, useCallback } from "react";
import { Play, ExternalLink, Zap, Clipboard } from "lucide-react";
import { Play, ExternalLink, Zap, Clipboard, Heart } from "lucide-react";
import { useTranslations } from "next-intl";
import { Button } from "@/components/ui/button";
import {
@@ -31,6 +31,7 @@ import {
} from "@/components/ui/sheet";
import { analyticsPrompt } from "@/lib/analytics";
import { useIsMobile } from "@/hooks/use-mobile";
import { useBranding } from "@/components/providers/branding-provider";
interface Platform {
id: string;
@@ -39,8 +40,38 @@ interface Platform {
supportsQuerystring?: boolean;
isDeeplink?: boolean;
subOptions?: { name: string; baseUrl: string }[];
sponsor?: boolean;
}
// Image generation platforms (MitteAI)
const imagePlatforms: Platform[] = [
{
id: "mitte-image",
name: "MitteAI",
baseUrl: "https://mitte.ai",
sponsor: true,
subOptions: [
{ name: "Nano Banana Pro", baseUrl: "https://mitte.ai?model=nano-banana-pro" },
{ name: "GPT Image 1.5", baseUrl: "https://mitte.ai?model=gpt-image-15" },
],
},
];
// Video generation platforms (MitteAI)
const videoPlatforms: Platform[] = [
{
id: "mitte-video",
name: "MitteAI",
baseUrl: "https://mitte.ai",
sponsor: true,
subOptions: [
{ name: "Veo 3.1", baseUrl: "https://mitte.ai?model=veo-31" },
{ name: "Kling 2.6", baseUrl: "https://mitte.ai?model=kling-26" },
{ name: "Sora 2", baseUrl: "https://mitte.ai?model=sora-2" },
],
},
];
// Code platforms (IDEs + code generation tools)
const codePlatforms: Platform[] = [
{ id: "windsurf", name: "Windsurf", baseUrl: "windsurf://", isDeeplink: true, supportsQuerystring: false },
@@ -151,6 +182,9 @@ function buildUrl(platformId: string, baseUrl: string, promptText: string, promp
return `${baseUrl}?q=${encoded}`;
case "you":
return `${baseUrl}/search?q=${encoded}`;
case "mitte-image":
case "mitte-video":
return `${baseUrl}&prompt=${encoded}`;
default:
return `${baseUrl}?q=${encoded}`;
}
@@ -175,6 +209,7 @@ interface RunPromptButtonProps {
categoryName?: string;
parentCategoryName?: string;
emphasized?: boolean;
promptType?: "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "STRUCTURED" | "SKILL";
}
// Check if category or parent category suggests code-related content
@@ -204,11 +239,13 @@ export function RunPromptButton({
promptId,
categoryName,
parentCategoryName,
emphasized = false
emphasized = false,
promptType = "TEXT"
}: RunPromptButtonProps) {
const t = useTranslations("prompts");
const tCommon = useTranslations("common");
const isMobile = useIsMobile();
const { useCloneBranding } = useBranding();
const [dialogOpen, setDialogOpen] = useState(false);
const [variableDialogOpen, setVariableDialogOpen] = useState(false);
const [sheetOpen, setSheetOpen] = useState(false);
@@ -295,8 +332,19 @@ export function RunPromptButton({
handleRun(platform, baseUrl);
};
// Get platforms based on active tab
const activePlatforms = activeTab === "code" ? codePlatforms : chatPlatforms;
// Get media platforms based on prompt type (only if not using clone branding)
const mediaPlatforms = useCloneBranding ? [] : (promptType === "IMAGE" ? imagePlatforms : promptType === "VIDEO" ? videoPlatforms : imagePlatforms);
const isMediaPrompt = promptType === "IMAGE" || promptType === "VIDEO";
// Get platforms based on active tab, merge with media platforms
// For image/video prompts: media platforms at top, then rest sorted alphabetically
// For other prompts: all platforms sorted alphabetically including MitteAI
const basePlatforms = activeTab === "code" ? codePlatforms : chatPlatforms;
const sortedBasePlatforms = [...basePlatforms].sort((a, b) => a.name.localeCompare(b.name));
const activePlatforms = isMediaPrompt
? [...mediaPlatforms, ...sortedBasePlatforms]
: [...sortedBasePlatforms, ...mediaPlatforms].sort((a, b) => a.name.localeCompare(b.name));
// Render platform item for mobile
const renderMobilePlatform = (platform: Platform) => {
@@ -304,7 +352,11 @@ export function RunPromptButton({
return (
<div key={platform.id} className="space-y-1">
<div className="flex items-center gap-3 px-3 py-2 text-base text-muted-foreground">
<Zap className="h-4 w-4 text-green-500" />
{platform.sponsor ? (
<Heart className="h-4 w-4 text-pink-500 fill-pink-500" />
) : (
<Zap className="h-4 w-4 text-green-500" />
)}
{platform.name}
</div>
<div className="pl-6 space-y-1">
@@ -343,7 +395,11 @@ export function RunPromptButton({
return (
<DropdownMenuSub key={platform.id}>
<DropdownMenuSubTrigger className="flex items-center gap-2">
<Zap className="h-3 w-3 text-green-500" />
{platform.sponsor ? (
<Heart className="h-3 w-3 text-pink-500 fill-pink-500" />
) : (
<Zap className="h-3 w-3 text-green-500" />
)}
{platform.name}
</DropdownMenuSubTrigger>
<DropdownMenuSubContent>