Compare commits
2
Commits
d7aa7a349a
...
6c1a8cd281
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c1a8cd281 | ||
|
|
ade33edc6d |
@@ -2,7 +2,7 @@ import { useState } from "react";
|
|||||||
import { ResultCard } from "../ResultCard";
|
import { ResultCard } from "../ResultCard";
|
||||||
import { CopyButton } from "../CopyButton";
|
import { CopyButton } from "../CopyButton";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faVideo, faUndo } from "@fortawesome/free-solid-svg-icons";
|
import { faVideo, faUndo, faStar } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { useAutoHeight } from "../../lib/useAutoHeight";
|
import { useAutoHeight } from "../../lib/useAutoHeight";
|
||||||
import {
|
import {
|
||||||
NEGATIVE_VIDEO_PROMPT,
|
NEGATIVE_VIDEO_PROMPT,
|
||||||
@@ -151,18 +151,30 @@ export function VideoPromptsCard({
|
|||||||
|
|
||||||
{links && links.length > 0 && (
|
{links && links.length > 0 && (
|
||||||
<div className="pt-2 flex flex-wrap gap-2">
|
<div className="pt-2 flex flex-wrap gap-2">
|
||||||
{links.map((link, i) => (
|
{links.map((link, i) => {
|
||||||
|
const isRecommended = Boolean(
|
||||||
|
current.tool_recommendation &&
|
||||||
|
current.tool_recommendation.toLowerCase().includes(link.name.toLowerCase())
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
<button
|
<button
|
||||||
key={i}
|
key={i}
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => handleToolClick(link.url)}
|
onClick={() => handleToolClick(link.url)}
|
||||||
className="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-[11px] font-bold uppercase tracking-wide bg-accent-primary/10 text-accent-primary hover:bg-accent-primary hover:text-white transition-all duration-150 border border-accent-primary/20 hover:border-accent-primary"
|
className={
|
||||||
title={`Copy prompt and open ${link.name}`}
|
isRecommended
|
||||||
|
? "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-[11px] font-bold uppercase tracking-wide bg-accent-primary text-white shadow-lg shadow-accent-primary/30 transition-all duration-150 border border-accent-primary hover:bg-accent-primary/90"
|
||||||
|
: "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-[11px] font-bold uppercase tracking-wide bg-bg-card text-fg-muted hover:text-fg hover:bg-bg-hover transition-all duration-150 border border-border hover:border-accent-primary/40"
|
||||||
|
}
|
||||||
|
title={isRecommended ? `Recommended! Copy prompt and open ${link.name}` : `Copy prompt and open ${link.name}`}
|
||||||
>
|
>
|
||||||
|
{isRecommended && <FontAwesomeIcon icon={faStar} className="w-3 h-3 text-yellow-300" />}
|
||||||
{link.name}
|
{link.name}
|
||||||
<FontAwesomeIcon icon={faExternalLinkAlt} className="w-3 h-3" />
|
<FontAwesomeIcon icon={faExternalLinkAlt} className={isRecommended ? "w-3 h-3 opacity-90" : "w-3 h-3 opacity-60"} />
|
||||||
</button>
|
</button>
|
||||||
))}
|
);
|
||||||
|
})}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+10
-1
@@ -1,7 +1,7 @@
|
|||||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faYoutube } from "@fortawesome/free-brands-svg-icons";
|
import { faYoutube } from "@fortawesome/free-brands-svg-icons";
|
||||||
import { faLightbulb, faMoon, faHistory, faCog } from "@fortawesome/free-solid-svg-icons";
|
import { faLightbulb, faMoon, faHistory, faCog, faRobot } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { InputPanel } from "../components/InputPanel";
|
import { InputPanel } from "../components/InputPanel";
|
||||||
import type { InputValues } from "../components/InputPanel";
|
import type { InputValues } from "../components/InputPanel";
|
||||||
@@ -386,6 +386,15 @@ export function HomePage() {
|
|||||||
>
|
>
|
||||||
Suno
|
Suno
|
||||||
</a>
|
</a>
|
||||||
|
<a
|
||||||
|
href="https://chat.orfel.de/c/new"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="w-8 h-8 flex items-center justify-center rounded-lg text-fg-muted hover:text-blue-400 hover:bg-blue-400/10 transition-all duration-150"
|
||||||
|
title="Open Chat AI"
|
||||||
|
>
|
||||||
|
<FontAwesomeIcon icon={faRobot} className="w-4 h-4" />
|
||||||
|
</a>
|
||||||
<a
|
<a
|
||||||
href="https://www.youtube.com/@AIWentNonsense"
|
href="https://www.youtube.com/@AIWentNonsense"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|||||||
Reference in New Issue
Block a user