save
This commit is contained in:
27
src/App.jsx
27
src/App.jsx
@@ -902,7 +902,7 @@ export default function App() {
|
|||||||
{[
|
{[
|
||||||
{ id: 'dashboard', label: t('dashboard'), icon: LayoutDashboard },
|
{ id: 'dashboard', label: t('dashboard'), icon: LayoutDashboard },
|
||||||
{ id: 'closet', label: t('closet'), icon: Shirt },
|
{ id: 'closet', label: t('closet'), icon: Shirt },
|
||||||
{ id: 'wishlist', label: t('wishlist') || 'Lista de Desejos', icon: ShoppingBag },
|
{ id: 'wishlist', label: t('wishlist') || 'Carrinho', icon: ShoppingBag },
|
||||||
{ id: 'laundry', label: t('laundry'), icon: Droplets },
|
{ id: 'laundry', label: t('laundry'), icon: Droplets },
|
||||||
{ id: 'outfits', label: t('outfits'), icon: Sparkles },
|
{ id: 'outfits', label: t('outfits'), icon: Sparkles },
|
||||||
{ id: 'settings', label: t('settings'), icon: Settings },
|
{ id: 'settings', label: t('settings'), icon: Settings },
|
||||||
@@ -955,7 +955,7 @@ export default function App() {
|
|||||||
<h2 className="text-3xl font-black tracking-tighter">
|
<h2 className="text-3xl font-black tracking-tighter">
|
||||||
{view === 'dashboard' && t('overview')}
|
{view === 'dashboard' && t('overview')}
|
||||||
{view === 'closet' && t('myCloset')}
|
{view === 'closet' && t('myCloset')}
|
||||||
{view === 'wishlist' && (t('wishlist') || 'Lista de Desejos')}
|
{view === 'wishlist' && (t('wishlist') || 'Carrinho')}
|
||||||
{view === 'laundry' && t('laundry')}
|
{view === 'laundry' && t('laundry')}
|
||||||
{view === 'outfits' && t('outfitsAndStyle')}
|
{view === 'outfits' && t('outfitsAndStyle')}
|
||||||
{view === 'settings' && t('settings')}
|
{view === 'settings' && t('settings')}
|
||||||
@@ -1081,7 +1081,7 @@ export default function App() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Barra de Secções */}
|
{/* Barra de Secções */}
|
||||||
{(view === 'closet' || view === 'outfits') && (
|
{(view === 'closet' || view === 'wishlist' || view === 'outfits') && (
|
||||||
<div className="flex items-center gap-3 overflow-x-auto pb-1 custom-scrollbar">
|
<div className="flex items-center gap-3 overflow-x-auto pb-1 custom-scrollbar">
|
||||||
<button
|
<button
|
||||||
onClick={() => setActiveSectionFilter('all')}
|
onClick={() => setActiveSectionFilter('all')}
|
||||||
@@ -1098,7 +1098,12 @@ export default function App() {
|
|||||||
{sec.name}
|
{sec.name}
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
|
<button
|
||||||
|
onClick={() => setShowSectionManager(true)}
|
||||||
|
className={`shrink-0 flex items-center gap-2 px-4 py-2.5 rounded-2xl font-black text-[10px] uppercase tracking-widest transition-all border-2 border-dashed ${darkMode ? 'border-gray-700 text-gray-500 hover:border-primary-500 hover:text-primary-400' : 'border-gray-200 text-gray-400 hover:border-primary-400 hover:text-primary-600'}`}
|
||||||
|
>
|
||||||
|
<Settings size={14} /> {t('manageSections')}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@@ -1897,13 +1902,6 @@ export default function App() {
|
|||||||
|
|
||||||
{/* Criar nova secção */}
|
{/* Criar nova secção */}
|
||||||
<div className={`flex gap-3 mb-8 p-4 rounded-2xl ${darkMode ? 'bg-gray-800' : 'bg-gray-50'}`}>
|
<div className={`flex gap-3 mb-8 p-4 rounded-2xl ${darkMode ? 'bg-gray-800' : 'bg-gray-50'}`}>
|
||||||
<input
|
|
||||||
value={newSectionEmoji}
|
|
||||||
onChange={e => setNewSectionEmoji(e.target.value)}
|
|
||||||
placeholder={t('emojiPlaceholder')}
|
|
||||||
maxLength={2}
|
|
||||||
className={`w-16 p-3 rounded-xl border-none outline-none font-bold text-center text-lg ${darkMode ? 'bg-gray-700 text-white' : 'bg-white'} shadow-sm`}
|
|
||||||
/>
|
|
||||||
<input
|
<input
|
||||||
value={newSectionName}
|
value={newSectionName}
|
||||||
onChange={e => setNewSectionName(e.target.value)}
|
onChange={e => setNewSectionName(e.target.value)}
|
||||||
@@ -1928,12 +1926,6 @@ export default function App() {
|
|||||||
<div key={sec.id} className={`flex items-center gap-4 p-4 rounded-2xl transition-all ${darkMode ? 'bg-gray-800' : 'bg-gray-50'}`}>
|
<div key={sec.id} className={`flex items-center gap-4 p-4 rounded-2xl transition-all ${darkMode ? 'bg-gray-800' : 'bg-gray-50'}`}>
|
||||||
{editingSectionId === sec.id ? (
|
{editingSectionId === sec.id ? (
|
||||||
<>
|
<>
|
||||||
<input
|
|
||||||
value={editSectionEmoji}
|
|
||||||
onChange={e => setEditSectionEmoji(e.target.value)}
|
|
||||||
maxLength={2}
|
|
||||||
className={`w-12 p-2 rounded-xl border-none outline-none font-bold text-center text-lg ${darkMode ? 'bg-gray-700 text-white' : 'bg-white'} shadow-sm`}
|
|
||||||
/>
|
|
||||||
<input
|
<input
|
||||||
value={editSectionName}
|
value={editSectionName}
|
||||||
onChange={e => setEditSectionName(e.target.value)}
|
onChange={e => setEditSectionName(e.target.value)}
|
||||||
@@ -1945,7 +1937,6 @@ export default function App() {
|
|||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<span className="text-2xl w-10 text-center">{sec.emoji}</span>
|
|
||||||
<div className="flex-1 min-w-0">
|
<div className="flex-1 min-w-0">
|
||||||
<p className="font-black text-sm truncate">{sec.name}</p>
|
<p className="font-black text-sm truncate">{sec.name}</p>
|
||||||
<p className="text-[10px] opacity-40 font-bold uppercase tracking-widest">
|
<p className="text-[10px] opacity-40 font-bold uppercase tracking-widest">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export const translations = {
|
|||||||
outfits: "Looks",
|
outfits: "Looks",
|
||||||
settings: "Definições",
|
settings: "Definições",
|
||||||
online: "Online",
|
online: "Online",
|
||||||
logout: "Sair do Sistema",
|
logout: "Sair",
|
||||||
overview: "Visão Geral",
|
overview: "Visão Geral",
|
||||||
myCloset: "O Meu Armário",
|
myCloset: "O Meu Armário",
|
||||||
outfitsAndStyle: "Looks & Estilo",
|
outfitsAndStyle: "Looks & Estilo",
|
||||||
@@ -161,8 +161,9 @@ export const translations = {
|
|||||||
copyToMyCloset: "Copiar para o meu armário",
|
copyToMyCloset: "Copiar para o meu armário",
|
||||||
msgSentSuccess: "Mensagem enviada com sucesso!",
|
msgSentSuccess: "Mensagem enviada com sucesso!",
|
||||||
msgSendError: "Erro ao enviar mensagem. Verifica a tua ligação.",
|
msgSendError: "Erro ao enviar mensagem. Verifica a tua ligação.",
|
||||||
|
wishlist: "Carrinho",
|
||||||
addFuturePurchase: "Adicionar peça como compra futura",
|
addFuturePurchase: "Adicionar peça como compra futura",
|
||||||
wishlistDesc: "Lista de Desejos",
|
wishlistDesc: "Carrinho",
|
||||||
someone: "alguém",
|
someone: "alguém",
|
||||||
feedbackTitle: "Suporte e Feedback",
|
feedbackTitle: "Suporte e Feedback",
|
||||||
feedbackDesc: "Tem alguma ideia, sugestão ou encontrou algum problema? Envie uma mensagem diretamente para nós!",
|
feedbackDesc: "Tem alguma ideia, sugestão ou encontrou algum problema? Envie uma mensagem diretamente para nós!",
|
||||||
@@ -172,7 +173,7 @@ export const translations = {
|
|||||||
pasteLink: "Colar Link",
|
pasteLink: "Colar Link",
|
||||||
pasteSharedLookLink: "Cole o link do look partilhado:",
|
pasteSharedLookLink: "Cole o link do look partilhado:",
|
||||||
invalidSharedLink: "Link inválido. Certifique-se de copiar o link completo.",
|
invalidSharedLink: "Link inválido. Certifique-se de copiar o link completo.",
|
||||||
},
|
},
|
||||||
EN: {
|
EN: {
|
||||||
loginModeIntro: "The Future of Your Style",
|
loginModeIntro: "The Future of Your Style",
|
||||||
emailPlaceholder: "Email",
|
emailPlaceholder: "Email",
|
||||||
@@ -346,7 +347,7 @@ export const translations = {
|
|||||||
pasteLink: "Paste Link",
|
pasteLink: "Paste Link",
|
||||||
pasteSharedLookLink: "Paste the shared look link:",
|
pasteSharedLookLink: "Paste the shared look link:",
|
||||||
invalidSharedLink: "Invalid link. Make sure you copied the full link.",
|
invalidSharedLink: "Invalid link. Make sure you copied the full link.",
|
||||||
},
|
},
|
||||||
ES: {
|
ES: {
|
||||||
loginModeIntro: "El Futuro de Tu Estilo",
|
loginModeIntro: "El Futuro de Tu Estilo",
|
||||||
emailPlaceholder: "Correo electrónico",
|
emailPlaceholder: "Correo electrónico",
|
||||||
@@ -520,7 +521,7 @@ export const translations = {
|
|||||||
pasteLink: "Pegar Enlace",
|
pasteLink: "Pegar Enlace",
|
||||||
pasteSharedLookLink: "Pega el enlace del look compartido:",
|
pasteSharedLookLink: "Pega el enlace del look compartido:",
|
||||||
invalidSharedLink: "Enlace no válido. Asegúrate de copiar el enlace completo.",
|
invalidSharedLink: "Enlace no válido. Asegúrate de copiar el enlace completo.",
|
||||||
},
|
},
|
||||||
FR: {
|
FR: {
|
||||||
loginModeIntro: "Le Futur de Ton Style",
|
loginModeIntro: "Le Futur de Ton Style",
|
||||||
emailPlaceholder: "E-mail",
|
emailPlaceholder: "E-mail",
|
||||||
@@ -694,7 +695,7 @@ export const translations = {
|
|||||||
pasteLink: "Coller le Lien",
|
pasteLink: "Coller le Lien",
|
||||||
pasteSharedLookLink: "Collez le lien du look partagé :",
|
pasteSharedLookLink: "Collez le lien du look partagé :",
|
||||||
invalidSharedLink: "Lien invalide. Assurez-vous d'avoir copié le lien complet.",
|
invalidSharedLink: "Lien invalide. Assurez-vous d'avoir copié le lien complet.",
|
||||||
},
|
},
|
||||||
DE: {
|
DE: {
|
||||||
loginModeIntro: "Die Zukunft deines Stils",
|
loginModeIntro: "Die Zukunft deines Stils",
|
||||||
emailPlaceholder: "E-Mail",
|
emailPlaceholder: "E-Mail",
|
||||||
@@ -868,5 +869,5 @@ export const translations = {
|
|||||||
pasteLink: "Link Einfügen",
|
pasteLink: "Link Einfügen",
|
||||||
pasteSharedLookLink: "Fügen Sie den Link zum geteilten Look ein:",
|
pasteSharedLookLink: "Fügen Sie den Link zum geteilten Look ein:",
|
||||||
invalidSharedLink: "Ungültiger Link. Stellen Sie sicher, dass Sie den vollständigen Link kopiert haben.",
|
invalidSharedLink: "Ungültiger Link. Stellen Sie sicher, dass Sie den vollständigen Link kopiert haben.",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user