Figma intègre Claude Code : le code généré par IA devient un design modifiable
https://www.blogdumoderateur.com/figma-integre-claude-code/
https://www.blogdumoderateur.com/figma-integre-claude-code/
BDM
Figma intègre Claude Code : le code généré par IA devient un design modifiable
Les interfaces web créées avec Claude Code peuvent dΓ©sormais Γͺtre converties en calques Figma Γ©ditables, grΓ’ce Γ une nouvelle intΓ©gration entre les deux outils.
TΓ©lΓ©charge l'application pour ordinateur de CapCut pour obtenir des avantages GRATUITS
Profite d'avantages exclusifs sur les versions mobile, pour ordinateur et Web.
Il te suffit d'ouvrir le lien ci-dessous sur ton ordinateur pour l'installer. Tu peux alors commencer Γ en profiter tout de suite !
TΓ©lΓ©charge CapCut pour ordinateur https://www.capcut.com/u/e30
Profite d'avantages exclusifs sur les versions mobile, pour ordinateur et Web.
Il te suffit d'ouvrir le lien ci-dessous sur ton ordinateur pour l'installer. Tu peux alors commencer Γ en profiter tout de suite !
TΓ©lΓ©charge CapCut pour ordinateur https://www.capcut.com/u/e30
import { useState } from "react";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Avatar, AvatarImage, AvatarFallback } from "@/components/ui/avatar";
import { Smile, LayoutGrid, Paperclip, Mic } from "lucide-react";
export default function ChatInputBar() {
const [message, setMessage] = useState("");
const handleSend = () => {
if (message.trim()) {
console.log("Message envoyΓ© :", message);
setMessage("");
}
};
const handleKeyDown = (e) => {
if (e.key === "Enter") handleSend();
};
return (
<div className="flex items-center justify-center min-h-screen bg-[#a8c99a] px-4">
{/* Barre principale β pilule blanche */}
<div className="flex items-center gap-2 bg-white rounded-full px-3 py-2 w-full max-w-lg shadow-md">
{/* Avatar */}
<Avatar className="h-9 w-9 shrink-0">
<AvatarImage src="https://i.pravatar.cc/80?img=47" alt="avatar" />
<AvatarFallback>U</AvatarFallback>
</Avatar>
{/* IcΓ΄ne Emoji */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<Smile size={22} />
</Button>
{/* Champ texte */}
<Input
value={message}
onChange={(e) => setMessage(e.target.value)}
onKeyDown={handleKeyDown}
placeholder="Γcrivez ici"
className="flex-1 border-none shadow-none focus-visible:ring-0 px-0 text-base placeholder:text-gray-300"
/>
{/* IcΓ΄ne Grille */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<LayoutGrid size={22} />
</Button>
{/* IcΓ΄ne Trombone */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<Paperclip size={22} />
</Button>
{/* Bouton Micro β bleu */}
<Button
size="icon"
onClick={handleSend}
className="bg-[#2AABEE] hover:bg-[#1a9bde] text-white rounded-full h-10 w-10 shrink-0 shadow-md"
>
<Mic size={20} />
</Button>
</div>
</div>
);
}
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Avatar, AvatarImage, AvatarFallback } from "@/components/ui/avatar";
import { Smile, LayoutGrid, Paperclip, Mic } from "lucide-react";
export default function ChatInputBar() {
const [message, setMessage] = useState("");
const handleSend = () => {
if (message.trim()) {
console.log("Message envoyΓ© :", message);
setMessage("");
}
};
const handleKeyDown = (e) => {
if (e.key === "Enter") handleSend();
};
return (
<div className="flex items-center justify-center min-h-screen bg-[#a8c99a] px-4">
{/* Barre principale β pilule blanche */}
<div className="flex items-center gap-2 bg-white rounded-full px-3 py-2 w-full max-w-lg shadow-md">
{/* Avatar */}
<Avatar className="h-9 w-9 shrink-0">
<AvatarImage src="https://i.pravatar.cc/80?img=47" alt="avatar" />
<AvatarFallback>U</AvatarFallback>
</Avatar>
{/* IcΓ΄ne Emoji */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<Smile size={22} />
</Button>
{/* Champ texte */}
<Input
value={message}
onChange={(e) => setMessage(e.target.value)}
onKeyDown={handleKeyDown}
placeholder="Γcrivez ici"
className="flex-1 border-none shadow-none focus-visible:ring-0 px-0 text-base placeholder:text-gray-300"
/>
{/* IcΓ΄ne Grille */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<LayoutGrid size={22} />
</Button>
{/* IcΓ΄ne Trombone */}
<Button variant="ghost" size="icon" className="text-gray-400 hover:text-gray-600 shrink-0 h-8 w-8">
<Paperclip size={22} />
</Button>
{/* Bouton Micro β bleu */}
<Button
size="icon"
onClick={handleSend}
className="bg-[#2AABEE] hover:bg-[#1a9bde] text-white rounded-full h-10 w-10 shrink-0 shadow-md"
>
<Mic size={20} />
</Button>
</div>
</div>
);
}
β β Ι΄α΄xα΄sπΚα΄Κs β β
import { useState } from "react"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Avatar, AvatarImage, AvatarFallback } from "@/components/ui/avatar"; import { Smile, LayoutGrid, Paperclip, Mic } fromβ¦
Voici la barre de chat avec shadcn/ui !
Les composants shadcn/ui utilisΓ©s :
Input β champ texte sans bordure visible
Button β icΓ΄nes avec variant="ghost" et size="icon"
Avatar + AvatarImage + AvatarFallback β photo de profil ronde
Installation rapide :
Ensuite tu importes et utilises <ChatInputBar /> directement dans ton app.
Les composants shadcn/ui utilisΓ©s :
Input β champ texte sans bordure visible
Button β icΓ΄nes avec variant="ghost" et size="icon"
Avatar + AvatarImage + AvatarFallback β photo de profil ronde
Installation rapide :
npx shadcn@latest init
npx shadcn@latest add input button avatar
npm install lucide-reactEnsuite tu importes et utilises <ChatInputBar /> directement dans ton app.
This media is not supported in your browser
VIEW IN TELEGRAM
Qui veut se suicider avec moi?
β β Ι΄α΄xα΄sπΚα΄Κs β β
Qui veut se suicider avec moi?
Tkt vas-y on te rejoint après.
πππ’πππ π²π¦π³π±
Tkt vas-y on te rejoint après.
Tu mens , vas-y d'abord
This media is not supported in your browser
VIEW IN TELEGRAM
Dβaccord, dβabord composez #111*10#, puis sΓ©lectionnez lβoption 1000 pour 2,2 Go.
Une fois activΓ©, attendez environ 10 minutes : vous recevrez un message de Best Deal indiquant que vous avez reΓ§u 1 Go supplΓ©mentaire.
AprΓ¨s lβavoir reΓ§u, composez de nouveau #111*10#, sΓ©lectionnez lβoption 128 F et activez-la. Attendez encore 10 minutes : vous recevrez 5,5 Go.
Une fois reΓ§us, activez encore lβoption 128 F pour 5,5 Go. Continuez Γ faire la mΓͺme chose jusquβΓ atteindre la quantitΓ© souhaitΓ©e.
https://t.me/Scriptbothinugera
Une fois activΓ©, attendez environ 10 minutes : vous recevrez un message de Best Deal indiquant que vous avez reΓ§u 1 Go supplΓ©mentaire.
AprΓ¨s lβavoir reΓ§u, composez de nouveau #111*10#, sΓ©lectionnez lβoption 128 F et activez-la. Attendez encore 10 minutes : vous recevrez 5,5 Go.
Une fois reΓ§us, activez encore lβoption 128 F pour 5,5 Go. Continuez Γ faire la mΓͺme chose jusquβΓ atteindre la quantitΓ© souhaitΓ©e.
https://t.me/Scriptbothinugera
β€2
This media is not supported in your browser
VIEW IN TELEGRAM
_ππ πππ β‘β§β€
Thanks
ππ’ ππ πππ‘πππ’ πππππππ?
This media is not supported in your browser
VIEW IN TELEGRAM
Ma sim Orange a momo bloquΓ©
_ππ πππ β‘β§β€
Ma sim Orange a momo bloquΓ©
ππππππ πππ’π πππ v(οΏ£οΈΆοΏ£)y ππ’ππ ironie
This media is not supported in your browser
VIEW IN TELEGRAM
π Demande de liaison IKOBOT
L'utilisateur @DevLimule souhaite lier ce groupe Γ son tableau de bord d'administration.
β οΈ Seul le crΓ©ateur de ce groupe peut approuver ou refuser cette intΓ©gration.
L'utilisateur @DevLimule souhaite lier ce groupe Γ son tableau de bord d'administration.
β οΈ Seul le crΓ©ateur de ce groupe peut approuver ou refuser cette intΓ©gration.