@armoyu/ui 1.1.40 → 1.1.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/modules/blog/pages/MyArticlesPage.d.ts.map +1 -1
- package/dist/components/modules/blog/pages/MyArticlesPage.js +8 -6
- package/dist/components/modules/blog/pages/MyArticlesPage.js.map +1 -1
- package/dist/components/modules/chat/ChatLayout.d.ts +7 -1
- package/dist/components/modules/chat/ChatLayout.d.ts.map +1 -1
- package/dist/components/modules/chat/ChatLayout.js +347 -59
- package/dist/components/modules/chat/ChatLayout.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatInput.d.ts.map +1 -1
- package/dist/components/modules/chat/widgets/ChatInput.js +24 -8
- package/dist/components/modules/chat/widgets/ChatInput.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatList.d.ts +2 -1
- package/dist/components/modules/chat/widgets/ChatList.d.ts.map +1 -1
- package/dist/components/modules/chat/widgets/ChatList.js +21 -10
- package/dist/components/modules/chat/widgets/ChatList.js.map +1 -1
- package/dist/components/modules/chat/widgets/VoiceCallWidget.d.ts +16 -0
- package/dist/components/modules/chat/widgets/VoiceCallWidget.d.ts.map +1 -0
- package/dist/components/modules/chat/widgets/VoiceCallWidget.js +38 -0
- package/dist/components/modules/chat/widgets/VoiceCallWidget.js.map +1 -0
- package/dist/components/modules/education/pages/EducationPage.d.ts.map +1 -1
- package/dist/components/modules/education/pages/EducationPage.js +0 -2
- package/dist/components/modules/education/pages/EducationPage.js.map +1 -1
- package/dist/components/modules/events/DetailPage.d.ts.map +1 -1
- package/dist/components/modules/events/DetailPage.js +271 -11
- package/dist/components/modules/events/DetailPage.js.map +1 -1
- package/dist/components/modules/groups/widgets/CreateGroupModal.d.ts +14 -0
- package/dist/components/modules/groups/widgets/CreateGroupModal.d.ts.map +1 -0
- package/dist/components/modules/groups/widgets/CreateGroupModal.js +56 -0
- package/dist/components/modules/groups/widgets/CreateGroupModal.js.map +1 -0
- package/dist/components/modules/management/ManagementLayout.d.ts +1 -1
- package/dist/components/modules/management/ManagementLayout.js +1 -1
- package/dist/components/modules/management/ManagementLayout.js.map +1 -1
- package/dist/components/modules/management/ManagementSidebar.d.ts.map +1 -1
- package/dist/components/modules/management/ManagementSidebar.js +16 -5
- package/dist/components/modules/management/ManagementSidebar.js.map +1 -1
- package/dist/components/modules/management/layout/ARMOYUManagementLayout.d.ts +6 -0
- package/dist/components/modules/management/layout/ARMOYUManagementLayout.d.ts.map +1 -0
- package/dist/{app/management-panel/layout.js → components/modules/management/layout/ARMOYUManagementLayout.js} +13 -12
- package/dist/components/modules/management/layout/ARMOYUManagementLayout.js.map +1 -0
- package/dist/components/modules/management/pages/ManagementOverviewPage.d.ts +2 -0
- package/dist/components/modules/management/pages/ManagementOverviewPage.d.ts.map +1 -0
- package/dist/{app/management-panel/page.js → components/modules/management/pages/ManagementOverviewPage.js} +3 -3
- package/dist/components/modules/management/pages/ManagementOverviewPage.js.map +1 -0
- package/dist/components/modules/management/widgets/dashboard/GameOfficialManagement.d.ts.map +1 -1
- package/dist/components/modules/management/widgets/dashboard/GameOfficialManagement.js +351 -9
- package/dist/components/modules/management/widgets/dashboard/GameOfficialManagement.js.map +1 -1
- package/dist/components/modules/management/widgets/dashboard/ManagementDashboard.d.ts.map +1 -1
- package/dist/components/modules/management/widgets/dashboard/ManagementDashboard.js +8 -1
- package/dist/components/modules/management/widgets/dashboard/ManagementDashboard.js.map +1 -1
- package/dist/components/modules/management/widgets/events/EventManagement.d.ts +4 -0
- package/dist/components/modules/management/widgets/events/EventManagement.d.ts.map +1 -1
- package/dist/components/modules/management/widgets/events/EventManagement.js +243 -6
- package/dist/components/modules/management/widgets/events/EventManagement.js.map +1 -1
- package/dist/components/modules/mods/pages/ModsPage.d.ts.map +1 -1
- package/dist/components/modules/mods/pages/ModsPage.js +25 -1
- package/dist/components/modules/mods/pages/ModsPage.js.map +1 -1
- package/dist/components/modules/mods/widgets/AddModModal.d.ts +15 -0
- package/dist/components/modules/mods/widgets/AddModModal.d.ts.map +1 -0
- package/dist/components/modules/mods/widgets/AddModModal.js +54 -0
- package/dist/components/modules/mods/widgets/AddModModal.js.map +1 -0
- package/dist/components/modules/news/widgets/NewsComments.d.ts +2 -1
- package/dist/components/modules/news/widgets/NewsComments.d.ts.map +1 -1
- package/dist/components/modules/news/widgets/NewsComments.js +13 -3
- package/dist/components/modules/news/widgets/NewsComments.js.map +1 -1
- package/dist/components/modules/posts/widgets/MediaLightbox.d.ts +2 -1
- package/dist/components/modules/posts/widgets/MediaLightbox.d.ts.map +1 -1
- package/dist/components/modules/posts/widgets/MediaLightbox.js +3 -3
- package/dist/components/modules/posts/widgets/MediaLightbox.js.map +1 -1
- package/dist/components/modules/posts/widgets/PostCard.d.ts.map +1 -1
- package/dist/components/modules/posts/widgets/PostCard.js +17 -3
- package/dist/components/modules/posts/widgets/PostCard.js.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.d.ts +1 -0
- package/dist/components/modules/posts/widgets/SocialFeed.d.ts.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.js +2 -2
- package/dist/components/modules/posts/widgets/SocialFeed.js.map +1 -1
- package/dist/components/modules/profile/widgets/EditProfileModal.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/EditProfileModal.js +14 -8
- package/dist/components/modules/profile/widgets/EditProfileModal.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileHeader.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileHeader.js +66 -5
- package/dist/components/modules/profile/widgets/ProfileHeader.js.map +1 -1
- package/dist/components/modules/social/widgets/PostComposer.d.ts.map +1 -1
- package/dist/components/modules/social/widgets/PostComposer.js +3 -2
- package/dist/components/modules/social/widgets/PostComposer.js.map +1 -1
- package/dist/components/modules/support/pages/SupportDetailPage.d.ts +21 -0
- package/dist/components/modules/support/pages/SupportDetailPage.d.ts.map +1 -0
- package/dist/components/modules/support/pages/SupportDetailPage.js +15 -0
- package/dist/components/modules/support/pages/SupportDetailPage.js.map +1 -0
- package/dist/components/modules/support/pages/SupportPage.d.ts.map +1 -1
- package/dist/components/modules/support/pages/SupportPage.js +55 -1
- package/dist/components/modules/support/pages/SupportPage.js.map +1 -1
- package/dist/components/modules/support/widgets/CreateTicketModal.d.ts +13 -0
- package/dist/components/modules/support/widgets/CreateTicketModal.d.ts.map +1 -0
- package/dist/components/modules/support/widgets/CreateTicketModal.js +33 -0
- package/dist/components/modules/support/widgets/CreateTicketModal.js.map +1 -0
- package/dist/components/modules/support/widgets/SupportDetailModal.d.ts +20 -0
- package/dist/components/modules/support/widgets/SupportDetailModal.d.ts.map +1 -0
- package/dist/components/modules/support/widgets/SupportDetailModal.js +11 -0
- package/dist/components/modules/support/widgets/SupportDetailModal.js.map +1 -0
- package/dist/components/modules/support/widgets/TicketInfoWidget.d.ts +11 -0
- package/dist/components/modules/support/widgets/TicketInfoWidget.d.ts.map +1 -0
- package/dist/components/modules/support/widgets/TicketInfoWidget.js +7 -0
- package/dist/components/modules/support/widgets/TicketInfoWidget.js.map +1 -0
- package/dist/components/modules/support/widgets/TicketMessagesWidget.d.ts +14 -0
- package/dist/components/modules/support/widgets/TicketMessagesWidget.d.ts.map +1 -0
- package/dist/components/modules/support/widgets/TicketMessagesWidget.js +11 -0
- package/dist/components/modules/support/widgets/TicketMessagesWidget.js.map +1 -0
- package/dist/components/modules/support/widgets/TicketReplyWidget.d.ts +8 -0
- package/dist/components/modules/support/widgets/TicketReplyWidget.d.ts.map +1 -0
- package/dist/components/modules/support/widgets/TicketReplyWidget.js +14 -0
- package/dist/components/modules/support/widgets/TicketReplyWidget.js.map +1 -0
- package/dist/components/shared/EmojiPicker.d.ts +10 -0
- package/dist/components/shared/EmojiPicker.d.ts.map +1 -0
- package/dist/components/shared/EmojiPicker.js +205 -0
- package/dist/components/shared/EmojiPicker.js.map +1 -0
- package/dist/components/shared/FloatingChatButton.d.ts.map +1 -1
- package/dist/components/shared/FloatingChatButton.js +3 -2
- package/dist/components/shared/FloatingChatButton.js.map +1 -1
- package/dist/components/shared/Header.d.ts +2 -1
- package/dist/components/shared/Header.d.ts.map +1 -1
- package/dist/components/shared/Header.js +2 -2
- package/dist/components/shared/Header.js.map +1 -1
- package/dist/components/shared/RateUsModal.d.ts +9 -0
- package/dist/components/shared/RateUsModal.d.ts.map +1 -0
- package/dist/components/shared/RateUsModal.js +38 -0
- package/dist/components/shared/RateUsModal.js.map +1 -0
- package/dist/components/shared/Toggle.d.ts +9 -0
- package/dist/components/shared/Toggle.d.ts.map +1 -0
- package/dist/components/shared/Toggle.js +25 -0
- package/dist/components/shared/Toggle.js.map +1 -0
- package/dist/components/shared/UserDrawer.d.ts +2 -1
- package/dist/components/shared/UserDrawer.d.ts.map +1 -1
- package/dist/components/shared/UserDrawer.js +6 -4
- package/dist/components/shared/UserDrawer.js.map +1 -1
- package/dist/components/showcase/GroupTab.d.ts.map +1 -1
- package/dist/components/showcase/GroupTab.js +21 -13
- package/dist/components/showcase/GroupTab.js.map +1 -1
- package/dist/components/showcase/MyPostsTab.d.ts.map +1 -1
- package/dist/components/showcase/MyPostsTab.js +4 -1
- package/dist/components/showcase/MyPostsTab.js.map +1 -1
- package/dist/components/showcase/ProfileTab.d.ts.map +1 -1
- package/dist/components/showcase/ProfileTab.js +0 -5
- package/dist/components/showcase/ProfileTab.js.map +1 -1
- package/dist/components/showcase/ShowcaseNavigation.d.ts.map +1 -1
- package/dist/components/showcase/ShowcaseNavigation.js +3 -4
- package/dist/components/showcase/ShowcaseNavigation.js.map +1 -1
- package/dist/components/showcase/SocialTab.d.ts.map +1 -1
- package/dist/components/showcase/SocialTab.js +0 -4
- package/dist/components/showcase/SocialTab.js.map +1 -1
- package/dist/context/ArmoyuContext.js +2 -2
- package/dist/context/ArmoyuContext.js.map +1 -1
- package/dist/context/ChatContext.js +2 -2
- package/dist/context/ChatContext.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/models/auth/User.d.ts +1 -0
- package/dist/models/auth/User.d.ts.map +1 -1
- package/dist/models/auth/User.js +2 -0
- package/dist/models/auth/User.js.map +1 -1
- package/dist/models/social/chat/Chat.d.ts +1 -0
- package/dist/models/social/chat/Chat.d.ts.map +1 -1
- package/dist/models/social/chat/Chat.js +21 -47
- package/dist/models/social/chat/Chat.js.map +1 -1
- package/dist/models/social/chat/Message.d.ts.map +1 -1
- package/dist/models/social/chat/Message.js +26 -1
- package/dist/models/social/chat/Message.js.map +1 -1
- package/dist/types/socket.d.ts +1 -1
- package/dist/types/socket.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/app/Providers.d.ts +0 -6
- package/dist/app/Providers.d.ts.map +0 -1
- package/dist/app/Providers.js +0 -34
- package/dist/app/Providers.js.map +0 -1
- package/dist/app/api/proxy/[...path]/route.d.ts +0 -23
- package/dist/app/api/proxy/[...path]/route.d.ts.map +0 -1
- package/dist/app/api/proxy/[...path]/route.js +0 -127
- package/dist/app/api/proxy/[...path]/route.js.map +0 -1
- package/dist/app/egitim/[slug]/page.d.ts +0 -2
- package/dist/app/egitim/[slug]/page.d.ts.map +0 -1
- package/dist/app/egitim/[slug]/page.js +0 -7
- package/dist/app/egitim/[slug]/page.js.map +0 -1
- package/dist/app/etkinlikler/[eventId]/page.d.ts +0 -2
- package/dist/app/etkinlikler/[eventId]/page.d.ts.map +0 -1
- package/dist/app/etkinlikler/[eventId]/page.js +0 -12
- package/dist/app/etkinlikler/[eventId]/page.js.map +0 -1
- package/dist/app/etkinlikler/page.d.ts +0 -2
- package/dist/app/etkinlikler/page.d.ts.map +0 -1
- package/dist/app/etkinlikler/page.js +0 -32
- package/dist/app/etkinlikler/page.js.map +0 -1
- package/dist/app/gruplar/[groupId]/page.d.ts +0 -2
- package/dist/app/gruplar/[groupId]/page.d.ts.map +0 -1
- package/dist/app/gruplar/[groupId]/page.js +0 -11
- package/dist/app/gruplar/[groupId]/page.js.map +0 -1
- package/dist/app/layout.d.ts +0 -8
- package/dist/app/layout.d.ts.map +0 -1
- package/dist/app/layout.js +0 -29
- package/dist/app/layout.js.map +0 -1
- package/dist/app/management-panel/layout.d.ts +0 -5
- package/dist/app/management-panel/layout.d.ts.map +0 -1
- package/dist/app/management-panel/layout.js.map +0 -1
- package/dist/app/management-panel/page.d.ts +0 -2
- package/dist/app/management-panel/page.d.ts.map +0 -1
- package/dist/app/management-panel/page.js.map +0 -1
- package/dist/app/not-found.d.ts +0 -2
- package/dist/app/not-found.d.ts.map +0 -1
- package/dist/app/not-found.js +0 -7
- package/dist/app/not-found.js.map +0 -1
- package/dist/app/page.d.ts +0 -2
- package/dist/app/page.d.ts.map +0 -1
- package/dist/app/page.js +0 -59
- package/dist/app/page.js.map +0 -1
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { PageWidth } from '../../../shared/PageWidth';
|
|
5
|
+
import { ViewModeToggle } from '../../../ViewModeToggle';
|
|
6
|
+
import { CreateTicketModal } from '../widgets/CreateTicketModal';
|
|
7
|
+
import { SupportDetailModal } from '../widgets/SupportDetailModal';
|
|
5
8
|
import { Plus, MessageCircle, Clock, CheckCircle2, AlertCircle, Search, ChevronRight, Filter } from 'lucide-react';
|
|
6
9
|
const MOCK_TICKETS = [
|
|
7
10
|
{
|
|
@@ -34,6 +37,13 @@ const MOCK_TICKETS = [
|
|
|
34
37
|
];
|
|
35
38
|
export function SupportPage() {
|
|
36
39
|
const [activeTab, setActiveTab] = useState('Tümü');
|
|
40
|
+
const [searchQuery, setSearchQuery] = useState('');
|
|
41
|
+
const [viewMode, setViewMode] = useState('table');
|
|
42
|
+
// Modal States
|
|
43
|
+
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
|
|
44
|
+
const [selectedTicketId, setSelectedTicketId] = useState(null);
|
|
45
|
+
const [replyValue, setReplyValue] = useState('');
|
|
46
|
+
const [isSubmittingReply, setIsSubmittingReply] = useState(false);
|
|
37
47
|
const getStatusStyles = (status) => {
|
|
38
48
|
switch (status) {
|
|
39
49
|
case 'Açık': return 'bg-armoyu-primary/10 text-armoyu-primary border-armoyu-primary/20';
|
|
@@ -42,6 +52,50 @@ export function SupportPage() {
|
|
|
42
52
|
default: return 'bg-white/5 text-armoyu-text-muted border-white/5';
|
|
43
53
|
}
|
|
44
54
|
};
|
|
45
|
-
|
|
55
|
+
const filteredTickets = MOCK_TICKETS.filter(ticket => {
|
|
56
|
+
const matchesTab = activeTab === 'Tümü' || ticket.status === activeTab;
|
|
57
|
+
const searchLower = searchQuery.toLowerCase();
|
|
58
|
+
const matchesSearch = !searchQuery ||
|
|
59
|
+
ticket.id.toLowerCase().includes(searchLower) ||
|
|
60
|
+
ticket.subject.toLowerCase().includes(searchLower) ||
|
|
61
|
+
ticket.category.toLowerCase().includes(searchLower);
|
|
62
|
+
return matchesTab && matchesSearch;
|
|
63
|
+
});
|
|
64
|
+
return (_jsxs("div", { className: "pb-32 animate-in fade-in duration-700 bg-armoyu-bg min-h-screen", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "max-w-[1280px] mx-auto px-6 md:px-12", children: [_jsxs("div", { className: "flex flex-col md:flex-row items-center justify-between gap-8 mb-16 pt-12", children: [_jsxs("div", { className: "flex-1 text-center md:text-left", children: [_jsxs("h1", { className: "text-4xl md:text-6xl font-black text-armoyu-text uppercase tracking-tighter italic leading-none mb-4 drop-shadow-xl", children: ["DESTEK ", _jsx("span", { className: "text-armoyu-primary", children: "B\u0130LD\u0130R\u0130MLER\u0130" })] }), _jsx("p", { className: "text-armoyu-text-muted text-sm md:text-base font-medium opacity-80 max-w-2xl leading-relaxed mx-auto md:mx-0", children: "Ya\u015Fad\u0131\u011F\u0131n sorunlar\u0131 bize ilet, ARMOYU ekibi olarak en k\u0131sa s\u00FCrede yard\u0131mc\u0131 olal\u0131m. T\u00FCm taleplerin burada saklan\u0131r." })] }), _jsxs("button", { onClick: () => setIsCreateModalOpen(true), className: "px-8 py-5 bg-armoyu-primary text-white rounded-[25px] font-black text-xs uppercase tracking-[0.2em] shadow-2xl shadow-armoyu-primary/30 hover:scale-105 active:scale-95 transition-all flex items-center gap-3 italic", children: [_jsx(Plus, { size: 20, strokeWidth: 3 }), " YEN\u0130 DESTEK TALEB\u0130"] })] }), _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-12 gap-12", children: [_jsxs("div", { className: "lg:col-span-3 space-y-8", children: [_jsx("div", { className: "glass-panel p-2 rounded-[32px] border border-armoyu-card-border bg-armoyu-card-bg", children: ['Tümü', 'Açık', 'Kapalı'].map((tab) => (_jsxs("button", { onClick: () => setActiveTab(tab), className: `w-full flex items-center justify-between px-6 py-4 rounded-3xl text-[10px] font-black uppercase tracking-widest transition-all ${activeTab === tab ? 'bg-armoyu-primary text-white shadow-xl shadow-armoyu-primary/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("div", { className: "flex items-center gap-3", children: [tab === 'Tümü' && _jsx(Filter, { size: 14 }), tab === 'Açık' && _jsx(Clock, { size: 14 }), tab === 'Kapalı' && _jsx(CheckCircle2, { size: 14 }), tab] }), _jsx("span", { className: `text-[10px] opacity-60 ${activeTab === tab ? 'text-white' : 'text-armoyu-primary'}`, children: tab === 'Tümü' ? MOCK_TICKETS.length : MOCK_TICKETS.filter(t => t.status === tab).length })] }, tab))) }), _jsxs("div", { className: "glass-panel p-8 rounded-[40px] border border-armoyu-card-border bg-armoyu-card-bg shadow-xl overflow-hidden relative group", children: [_jsx("div", { className: "absolute -top-10 -right-10 w-32 h-32 bg-armoyu-primary/5 rounded-full blur-3xl group-hover:bg-armoyu-primary/10 transition-all" }), _jsx("h4", { className: "text-[10px] font-black text-armoyu-primary uppercase tracking-widest mb-4 relative z-10", children: "Ortalama Yan\u0131t S\u00FCresi" }), _jsxs("div", { className: "flex items-end gap-2 relative z-10", children: [_jsx("span", { className: "text-3xl font-black text-armoyu-text italic", children: "14" }), _jsx("span", { className: "text-xs font-bold text-armoyu-text-muted mb-1 uppercase", children: "Dakika" })] }), _jsx("p", { className: "text-[9px] font-bold text-armoyu-text-muted mt-4 uppercase tracking-widest opacity-60", children: "Son 24 saatteki verilerdir." })] })] }), _jsxs("div", { className: "lg:col-span-9 space-y-6", children: [_jsxs("div", { className: "flex flex-col sm:flex-row gap-4 items-center", children: [_jsxs("div", { className: "relative group flex-1 w-full", children: [_jsx("input", { type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "B\u0130LD\u0130R\u0130M ARA (ID, KONU...)", className: "w-full h-16 pl-14 pr-6 bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl text-[10px] font-black uppercase tracking-[0.15em] focus:border-armoyu-primary outline-none transition-all placeholder:text-armoyu-text-muted/40 shadow-sm" }), _jsx(Search, { size: 20, className: "absolute left-5 top-1/2 -translate-y-1/2 text-armoyu-text-muted group-focus-within:text-armoyu-primary transition-colors opacity-50" })] }), _jsx("div", { className: "shrink-0 bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-1.5 h-16 flex items-center shadow-sm", children: _jsx(ViewModeToggle, { mode: viewMode, onChange: setViewMode }) })] }), _jsx("div", { className: viewMode === 'grid' ? "grid grid-cols-1 md:grid-cols-2 gap-4" : "space-y-4", children: filteredTickets.length > 0 ? (filteredTickets.map((ticket) => (_jsxs("div", { onClick: () => setSelectedTicketId(ticket.id), className: `group glass-panel border border-armoyu-card-border bg-armoyu-card-bg hover:shadow-2xl transition-all cursor-pointer flex ${viewMode === 'grid'
|
|
65
|
+
? 'flex-col p-6 md:p-8 rounded-[40px] items-start gap-4'
|
|
66
|
+
: 'flex-col md:flex-row p-6 md:p-8 rounded-[40px] items-center gap-6'}`, children: [_jsx("div", { className: `w-14 h-14 rounded-2xl flex items-center justify-center shrink-0 border ${getStatusStyles(ticket.status)}`, children: ticket.status === 'Yanıtlandı' ? _jsx(MessageCircle, { size: 24 }) : ticket.status === 'Açık' ? _jsx(Clock, { size: 24 }) : _jsx(CheckCircle2, { size: 24 }) }), _jsxs("div", { className: `flex-1 text-left min-w-0 w-full ${viewMode === 'grid' ? 'mt-2' : ''}`, children: [_jsxs("div", { className: `flex flex-wrap items-center gap-3 mb-2 ${viewMode === 'grid' ? 'justify-start' : 'justify-center md:justify-start'}`, children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-primary uppercase tracking-widest", children: ticket.id }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted opacity-40 uppercase tracking-widest", children: "\u2022" }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: ticket.category })] }), _jsx("h3", { className: `text-xl font-black text-armoyu-text uppercase tracking-tight italic group-hover:text-armoyu-primary transition-colors mb-2 ${viewMode === 'grid' ? 'line-clamp-2' : 'truncate'}`, children: ticket.subject }), _jsx("p", { className: "text-sm text-armoyu-text-muted font-medium opacity-60 truncate", children: ticket.lastMessage })] }), _jsxs("div", { className: `flex items-center gap-3 shrink-0 ${viewMode === 'grid' ? 'w-full justify-between mt-2 pt-4 border-t border-armoyu-card-border' : 'flex-col md:items-end'}`, children: [_jsx("div", { className: `px-4 py-1.5 rounded-full text-[9px] font-black uppercase tracking-widest border ${getStatusStyles(ticket.status)}`, children: ticket.status }), _jsx("span", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest opacity-40 italic", children: ticket.date })] }), viewMode === 'table' && (_jsx("div", { className: "hidden md:flex w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 items-center justify-center text-armoyu-text-muted group-hover:bg-armoyu-primary group-hover:text-white transition-all", children: _jsx(ChevronRight, { size: 20, strokeWidth: 3 }) }))] }, ticket.id)))) : (_jsxs("div", { className: `flex flex-col items-center justify-center p-12 text-center glass-panel rounded-[40px] border border-armoyu-card-border bg-armoyu-card-bg ${viewMode === 'grid' ? 'md:col-span-2' : ''}`, children: [_jsx(Search, { size: 48, className: "text-armoyu-text-muted mb-4 opacity-20" }), _jsx("h4", { className: "text-sm font-black text-armoyu-text uppercase tracking-widest mb-2", children: "B\u0130LD\u0130R\u0130M BULUNAMADI" }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest opacity-60", children: "Arama kriterlerinize uygun destek talebi yok." })] })) }), _jsxs("div", { className: "py-12 flex flex-col items-center justify-center text-center", children: [_jsx("div", { className: "w-12 h-12 rounded-full bg-white/5 flex items-center justify-center text-armoyu-text-muted mb-4", children: _jsx(AlertCircle, { size: 24 }) }), _jsx("h4", { className: "text-[10px] font-black text-armoyu-text uppercase tracking-widest mb-2", children: "Ba\u015Fka Bir Sorun mu Var?" }), _jsx("p", { className: "text-[11px] font-medium text-armoyu-text-muted max-w-xs leading-relaxed uppercase opacity-60", children: "E\u011Fer arad\u0131\u011F\u0131n\u0131 bulamad\u0131ysan Discord sunucumuz \u00FCzerinden de bize ula\u015Fabilirsin." })] })] })] })] }), _jsx(CreateTicketModal, { isOpen: isCreateModalOpen, onClose: () => setIsCreateModalOpen(false), onSubmit: (data) => {
|
|
67
|
+
console.log("New Ticket Data:", data);
|
|
68
|
+
// Mock API call simulation
|
|
69
|
+
} }), _jsx(SupportDetailModal, { isOpen: !!selectedTicketId, onClose: () => setSelectedTicketId(null), ticketId: selectedTicketId || '', ticketInfo: {
|
|
70
|
+
status: MOCK_TICKETS.find(t => t.id === selectedTicketId)?.status || 'Açık',
|
|
71
|
+
priority: MOCK_TICKETS.find(t => t.id === selectedTicketId)?.priority || 'Normal',
|
|
72
|
+
category: MOCK_TICKETS.find(t => t.id === selectedTicketId)?.category || 'Destek',
|
|
73
|
+
subject: MOCK_TICKETS.find(t => t.id === selectedTicketId)?.subject || '',
|
|
74
|
+
date: MOCK_TICKETS.find(t => t.id === selectedTicketId)?.date || ''
|
|
75
|
+
}, messages: [
|
|
76
|
+
{
|
|
77
|
+
id: 'm1',
|
|
78
|
+
sender: 'Ahmet Yılmaz',
|
|
79
|
+
role: 'KULLANICI',
|
|
80
|
+
avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Ahmet',
|
|
81
|
+
content: 'Merhaba, oyuna giriş yapamıyorum.',
|
|
82
|
+
time: '12:30'
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id: 'm2',
|
|
86
|
+
sender: 'ARMOYU Ekibi',
|
|
87
|
+
role: 'DESTEK UZMANI',
|
|
88
|
+
avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Support',
|
|
89
|
+
content: 'Merhaba Ahmet Bey, lütfen şifrenizi sıfırlamayı deneyin.',
|
|
90
|
+
time: '12:35',
|
|
91
|
+
isStaff: true
|
|
92
|
+
}
|
|
93
|
+
], replyValue: replyValue, onReplyChange: setReplyValue, onReplySubmit: () => {
|
|
94
|
+
setIsSubmittingReply(true);
|
|
95
|
+
setTimeout(() => {
|
|
96
|
+
setIsSubmittingReply(false);
|
|
97
|
+
setReplyValue('');
|
|
98
|
+
}, 1000);
|
|
99
|
+
}, isSubmitting: isSubmittingReply })] }));
|
|
46
100
|
}
|
|
47
101
|
//# sourceMappingURL=SupportPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupportPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/pages/SupportPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACH,IAAI,EACJ,aAAa,EACb,KAAK,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,YAAY,EACZ,MAAM,EACT,MAAM,cAAc,CAAC;AAEtB,MAAM,YAAY,GAAG;IACjB;QACI,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,iBAAiB;KAC9B;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,QAAQ;KACrB;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,eAAe;KAC5B;CACJ,CAAC;AAEF,MAAM,UAAU,WAAW;IACvB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA6B,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SupportPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/pages/SupportPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface CreateTicketModalProps {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
onSubmit: (data: {
|
|
5
|
+
category: string;
|
|
6
|
+
subject: string;
|
|
7
|
+
message: string;
|
|
8
|
+
priority: string;
|
|
9
|
+
attachment?: File;
|
|
10
|
+
}) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function CreateTicketModal({ isOpen, onClose, onSubmit }: CreateTicketModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
//# sourceMappingURL=CreateTicketModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateTicketModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/CreateTicketModal.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CACzH;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDAoJtF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { X, UploadCloud, AlertCircle, Image as ImageIcon } from 'lucide-react';
|
|
4
|
+
export function CreateTicketModal({ isOpen, onClose, onSubmit }) {
|
|
5
|
+
const [category, setCategory] = useState('Hesap İşlemleri');
|
|
6
|
+
const [priority, setPriority] = useState('Normal');
|
|
7
|
+
const [subject, setSubject] = useState('');
|
|
8
|
+
const [message, setMessage] = useState('');
|
|
9
|
+
const [attachment, setAttachment] = useState(null);
|
|
10
|
+
if (!isOpen)
|
|
11
|
+
return null;
|
|
12
|
+
const handleSubmit = (e) => {
|
|
13
|
+
e.preventDefault();
|
|
14
|
+
if (!subject.trim() || !message.trim())
|
|
15
|
+
return;
|
|
16
|
+
onSubmit({ category, subject, message, priority, attachment: attachment || undefined });
|
|
17
|
+
// Reset form
|
|
18
|
+
setCategory('Hesap İşlemleri');
|
|
19
|
+
setPriority('Normal');
|
|
20
|
+
setSubject('');
|
|
21
|
+
setMessage('');
|
|
22
|
+
setAttachment(null);
|
|
23
|
+
onClose();
|
|
24
|
+
};
|
|
25
|
+
return (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-4", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-2xl bg-armoyu-bg rounded-[40px] shadow-2xl border border-armoyu-card-border overflow-hidden animate-in zoom-in-95 duration-300", children: [_jsxs("div", { className: "flex items-center justify-between p-6 md:p-8 border-b border-armoyu-card-border", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("h2", { className: "text-2xl font-black text-armoyu-text uppercase tracking-tighter italic", children: "Yeni Destek Talebi" }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50", children: "Sorununu detayl\u0131ca anlat" })] }), _jsx("button", { onClick: onClose, className: "p-3 bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text-muted hover:text-armoyu-text rounded-2xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsx("div", { className: "p-6 md:p-8 max-h-[70vh] overflow-y-auto", children: _jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest pl-2", children: "Kategori" }), _jsxs("select", { value: category, onChange: (e) => setCategory(e.target.value), className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border focus:border-armoyu-primary rounded-2xl px-5 py-4 text-sm font-bold text-armoyu-text outline-none transition-colors appearance-none cursor-pointer", children: [_jsx("option", { value: "Hesap \u0130\u015Flemleri", children: "Hesap \u0130\u015Flemleri" }), _jsx("option", { value: "Ma\u011Faza", children: "Ma\u011Faza ve \u00D6demeler" }), _jsx("option", { value: "Teknik Destek", children: "Teknik Destek" }), _jsx("option", { value: "\u015Eikayet", children: "Kullan\u0131c\u0131/Grup \u015Eikayeti" }), _jsx("option", { value: "Di\u011Fer", children: "Di\u011Fer" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest pl-2", children: "\u00D6ncelik Durumu" }), _jsxs("select", { value: priority, onChange: (e) => setPriority(e.target.value), className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border focus:border-armoyu-primary rounded-2xl px-5 py-4 text-sm font-bold text-armoyu-text outline-none transition-colors appearance-none cursor-pointer", children: [_jsx("option", { value: "D\u00FC\u015F\u00FCk", children: "D\u00FC\u015F\u00FCk" }), _jsx("option", { value: "Normal", children: "Normal" }), _jsx("option", { value: "Y\u00FCksek", children: "Y\u00FCksek" }), _jsx("option", { value: "Kritik", children: "Kritik" })] })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest pl-2", children: "Konu Ba\u015Fl\u0131\u011F\u0131" }), _jsx("input", { type: "text", value: subject, onChange: (e) => setSubject(e.target.value), placeholder: "\u00D6rn: Hesab\u0131ma giri\u015F yapam\u0131yorum", className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border focus:border-armoyu-primary rounded-2xl px-5 py-4 text-sm font-bold text-armoyu-text placeholder:text-armoyu-text-muted/50 outline-none transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest pl-2", children: "Detayl\u0131 A\u00E7\u0131klama" }), _jsx("textarea", { value: message, onChange: (e) => setMessage(e.target.value), rows: 5, placeholder: "Ya\u015Fad\u0131\u011F\u0131n\u0131z sorunu olabildi\u011Fince detayl\u0131 anlat\u0131n...", className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border focus:border-armoyu-primary rounded-2xl px-5 py-4 text-sm font-bold text-armoyu-text placeholder:text-armoyu-text-muted/50 outline-none transition-colors resize-none hide-scrollbar" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest pl-2", children: "Dosya Veya Ekran G\u00F6r\u00FCnt\u00FCs\u00FC (Opsiyonel)" }), _jsxs("div", { className: "relative", children: [_jsx("input", { type: "file", id: "ticket-attachment", className: "hidden", onChange: (e) => {
|
|
26
|
+
if (e.target.files && e.target.files[0]) {
|
|
27
|
+
setAttachment(e.target.files[0]);
|
|
28
|
+
}
|
|
29
|
+
} }), _jsxs("label", { htmlFor: "ticket-attachment", className: `flex items-center gap-4 w-full p-4 rounded-2xl border-2 border-dashed cursor-pointer transition-all ${attachment
|
|
30
|
+
? 'bg-armoyu-primary/5 border-armoyu-primary text-armoyu-primary'
|
|
31
|
+
: 'bg-black/5 dark:bg-white/5 border-armoyu-card-border hover:border-armoyu-primary hover:text-armoyu-primary text-armoyu-text-muted'}`, children: [_jsx("div", { className: `w-12 h-12 rounded-xl flex items-center justify-center ${attachment ? 'bg-armoyu-primary text-white' : 'bg-black/5 dark:bg-white/5'}`, children: attachment ? _jsx(ImageIcon, { size: 20 }) : _jsx(UploadCloud, { size: 20 }) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm font-black uppercase tracking-tight", children: attachment ? attachment.name : 'Dosya Yüklemek İçin Tıklayın' }), _jsx("span", { className: "text-[10px] font-bold opacity-60", children: "Maksimum dosya boyutu: 5MB" })] })] })] })] })] }) }), _jsxs("div", { className: "p-6 md:p-8 border-t border-armoyu-card-border flex flex-col sm:flex-row items-center justify-between gap-4 bg-black/5 dark:bg-white/5", children: [_jsxs("div", { className: "flex items-center gap-2 text-armoyu-text-muted opacity-70", children: [_jsx(AlertCircle, { size: 14 }), _jsx("span", { className: "text-[10px] font-bold uppercase tracking-widest", children: "Gereksiz bilet a\u00E7mak ban sebebidir." })] }), _jsx("button", { onClick: handleSubmit, disabled: !subject.trim() || !message.trim(), className: "w-full sm:w-auto px-8 py-4 bg-armoyu-primary hover:bg-armoyu-primary/90 text-white rounded-2xl text-[10px] font-black uppercase tracking-[0.2em] shadow-xl shadow-armoyu-primary/20 transition-all disabled:opacity-50 disabled:pointer-events-none", children: "TALEB\u0130 G\u00D6NDER" })] })] })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=CreateTicketModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateTicketModal.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/CreateTicketModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TicketMessage } from './TicketMessagesWidget';
|
|
2
|
+
export interface SupportDetailModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
ticketId: string;
|
|
6
|
+
ticketInfo: {
|
|
7
|
+
status: string;
|
|
8
|
+
priority: string;
|
|
9
|
+
category: string;
|
|
10
|
+
subject: string;
|
|
11
|
+
date: string;
|
|
12
|
+
};
|
|
13
|
+
messages: TicketMessage[];
|
|
14
|
+
replyValue: string;
|
|
15
|
+
onReplyChange: (value: string) => void;
|
|
16
|
+
onReplySubmit: () => void;
|
|
17
|
+
isSubmitting?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function SupportDetailModal({ isOpen, onClose, ticketId, ticketInfo, messages, replyValue, onReplyChange, onReplySubmit, isSubmitting }: SupportDetailModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
//# sourceMappingURL=SupportDetailModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupportDetailModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/SupportDetailModal.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAwB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG7E,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACf,EAAE,uBAAuB,kDAiEzB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { X, ArrowLeft } from 'lucide-react';
|
|
3
|
+
import { TicketInfoWidget } from './TicketInfoWidget';
|
|
4
|
+
import { TicketMessagesWidget } from './TicketMessagesWidget';
|
|
5
|
+
import { TicketReplyWidget } from './TicketReplyWidget';
|
|
6
|
+
export function SupportDetailModal({ isOpen, onClose, ticketId, ticketInfo, messages, replyValue, onReplyChange, onReplySubmit, isSubmitting }) {
|
|
7
|
+
if (!isOpen)
|
|
8
|
+
return null;
|
|
9
|
+
return (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-0 md:p-4", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: onClose }), _jsxs("div", { className: "relative w-full h-full md:h-[90vh] md:max-w-6xl bg-armoyu-bg md:rounded-[40px] shadow-2xl border border-armoyu-card-border overflow-hidden animate-in zoom-in-95 duration-300 flex flex-col", children: [_jsxs("div", { className: "flex items-center justify-between p-6 border-b border-armoyu-card-border bg-black/5 dark:bg-white/5 shrink-0", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: onClose, className: "md:hidden p-2 bg-black/5 dark:bg-white/5 rounded-xl hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text", children: _jsx(ArrowLeft, { size: 20 }) }), _jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: "flex items-center gap-3 mb-1", children: [_jsx("span", { className: "text-[10px] font-black uppercase tracking-widest bg-armoyu-primary/10 text-armoyu-primary px-2 py-1 rounded-md", children: ticketId }), _jsx("h2", { className: "text-xl font-black text-armoyu-text uppercase tracking-tighter italic line-clamp-1", children: ticketInfo.subject })] }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: ticketInfo.category })] })] }), _jsx("button", { onClick: onClose, className: "hidden md:flex p-3 bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text-muted hover:text-armoyu-text rounded-2xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsxs("div", { className: "flex-1 overflow-hidden flex flex-col lg:flex-row", children: [_jsx("div", { className: "lg:w-80 border-b lg:border-b-0 lg:border-r border-armoyu-card-border bg-black/5 dark:bg-white/5 shrink-0 overflow-y-auto p-8", children: _jsx(TicketInfoWidget, { id: ticketId, createdAt: ticketInfo.date, updatedAt: ticketInfo.date, status: ticketInfo.status, priority: ticketInfo.priority, category: ticketInfo.category }) }), _jsxs("div", { className: "flex-1 flex flex-col relative h-full bg-armoyu-bg overflow-hidden", children: [_jsx("div", { className: "flex-1 overflow-y-auto p-6 md:p-10 custom-scrollbar pb-32", children: _jsx(TicketMessagesWidget, { messages: messages }) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 p-4 bg-armoyu-bg/80 backdrop-blur-xl border-t border-armoyu-card-border z-10", children: _jsx(TicketReplyWidget, { value: replyValue, onChange: onReplyChange, onSubmit: onReplySubmit, isSubmitting: isSubmitting }) })] })] })] })] }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=SupportDetailModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupportDetailModal.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/SupportDetailModal.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAiB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAoBxD,MAAM,UAAU,kBAAkB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACU;IACtB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACH,eAAK,SAAS,EAAC,mEAAmE,aAC9E,cAAK,SAAS,EAAC,+CAA+C,EAAC,OAAO,EAAE,OAAO,GAAI,EAEnF,eAAK,SAAS,EAAC,6LAA6L,aAGxM,eAAK,SAAS,EAAC,8GAA8G,aACzH,eAAK,SAAS,EAAC,yBAAyB,aACpC,iBAAQ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,+GAA+G,YAC/I,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAClB,EACT,eAAK,SAAS,EAAC,eAAe,aAC1B,eAAK,SAAS,EAAC,8BAA8B,aACzC,eAAM,SAAS,EAAC,gHAAgH,YAAE,QAAQ,GAAQ,EAClJ,aAAI,SAAS,EAAC,oFAAoF,YAAE,UAAU,CAAC,OAAO,GAAM,IAC1H,EACN,YAAG,SAAS,EAAC,wEAAwE,YAAE,UAAU,CAAC,QAAQ,GAAK,IAC7G,IACJ,EACN,iBAAQ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,iKAAiK,YACjM,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,GACV,IACP,EAGN,eAAK,SAAS,EAAC,kDAAkD,aAG7D,cAAK,SAAS,EAAC,8HAA8H,YACzI,KAAC,gBAAgB,IACb,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,MAAM,EAAE,UAAU,CAAC,MAAM,EACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC/B,GACA,EAGN,eAAK,SAAS,EAAC,mEAAmE,aAE9E,cAAK,SAAS,EAAC,2DAA2D,YACtE,KAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,GAAI,GAC1C,EAEN,cAAK,SAAS,EAAC,+GAA+G,YAC1H,KAAC,iBAAiB,IACd,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,YAAY,GAC5B,GACA,IACJ,IAEJ,IAEJ,IACJ,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface TicketInfoWidgetProps {
|
|
2
|
+
id: string;
|
|
3
|
+
category: string;
|
|
4
|
+
priority: string;
|
|
5
|
+
createdAt: string;
|
|
6
|
+
updatedAt: string;
|
|
7
|
+
status: string;
|
|
8
|
+
onClose?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function TicketInfoWidget({ category, priority, createdAt, updatedAt, status, onClose }: TicketInfoWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=TicketInfoWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketInfoWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketInfoWidget.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,OAAO,EACR,EAAE,qBAAqB,2CA2DvB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function TicketInfoWidget({ category, priority, createdAt, updatedAt, status, onClose }) {
|
|
3
|
+
return (_jsxs("div", { className: "space-y-8 flex flex-col h-full", children: [_jsxs("div", { className: "flex-1", children: [_jsx("h3", { className: "text-[10px] font-black text-armoyu-text-muted mb-8 uppercase tracking-[0.2em] opacity-60", children: "B\u0130LD\u0130R\u0130M B\u0130LG\u0130LER\u0130" }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "KATEGOR\u0130" }), _jsx("p", { className: "text-sm font-bold text-armoyu-text uppercase", children: category })] }), _jsxs("div", { children: [_jsx("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "\u00D6NCEL\u0130K" }), _jsx("span", { className: `text-[11px] font-black uppercase px-2 py-0.5 rounded-md ${priority === 'Yüksek' || priority === 'Kritik' || priority === 'high'
|
|
4
|
+
? 'bg-red-500/10 text-red-500 border border-red-500/20'
|
|
5
|
+
: 'bg-blue-500/10 text-blue-500 border border-blue-500/20'}`, children: priority })] }), _jsxs("div", { children: [_jsx("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "OLU\u015ETURULMA" }), _jsx("p", { className: "text-sm font-bold text-armoyu-text", children: createdAt })] }), _jsxs("div", { children: [_jsx("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "SON G\u00DCNCELLEME" }), _jsx("p", { className: "text-sm font-bold text-armoyu-text", children: updatedAt })] })] }), status !== 'Kapalı' && status !== 'closed' && (_jsx("button", { onClick: onClose, className: "w-full mt-12 py-5 bg-red-600/10 hover:bg-red-600 text-red-600 hover:text-white rounded-2xl font-black text-[10px] uppercase tracking-[0.2em] transition-all cursor-pointer", children: "TALEB\u0130 KAPAT" }))] }), _jsxs("div", { className: "p-6 rounded-[32px] bg-blue-500/10 text-center mt-auto", children: [_jsx("p", { className: "text-xs font-bold text-armoyu-text opacity-70 mb-2 italic", children: "Daha h\u0131zl\u0131 yan\u0131t almak i\u00E7in Discord'u da kullanabilirsin." }), _jsx("a", { href: "https://discord.gg/armoyu", target: "_blank", rel: "noopener noreferrer", className: "text-[10px] font-black text-blue-600 hover:underline uppercase tracking-widest", children: "D\u0130SCORD SUNUCUMUZ" })] })] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=TicketInfoWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketInfoWidget.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketInfoWidget.tsx"],"names":[],"mappings":";AAYA,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,EACN,OAAO,EACe;IACtB,OAAO,CACL,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,0FAA0F,iEAEnG,EACL,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,YAAG,SAAS,EAAC,8EAA8E,8BAAa,EACxG,YAAG,SAAS,EAAC,8CAA8C,YAAE,QAAQ,GAAK,IACtE,EACN,0BACE,YAAG,SAAS,EAAC,8EAA8E,kCAAY,EACvG,eACE,SAAS,EAAE,2DACT,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM;4CACnE,CAAC,CAAC,qDAAqD;4CACvD,CAAC,CAAC,wDACN,EAAE,YAED,QAAQ,GACJ,IACH,EACN,0BACE,YAAG,SAAS,EAAC,8EAA8E,iCAAgB,EAC3G,YAAG,SAAS,EAAC,oCAAoC,YAAE,SAAS,GAAK,IAC7D,EACN,0BACE,YAAG,SAAS,EAAC,8EAA8E,oCAAmB,EAC9G,YAAG,SAAS,EAAC,oCAAoC,YAAE,SAAS,GAAK,IAC7D,IACF,EAEL,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,CAC7C,iBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,4KAA4K,kCAG/K,CACV,IACG,EAEN,eAAK,SAAS,EAAC,uDAAuD,aACpE,YAAG,SAAS,EAAC,2DAA2D,8FAEpE,EACJ,YACE,IAAI,EAAC,2BAA2B,EAChC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,gFAAgF,uCAGxF,IACA,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TicketMessage {
|
|
2
|
+
id: string;
|
|
3
|
+
sender: string;
|
|
4
|
+
role: string;
|
|
5
|
+
avatar: string;
|
|
6
|
+
content: string;
|
|
7
|
+
time: string;
|
|
8
|
+
isStaff?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface TicketMessagesWidgetProps {
|
|
11
|
+
messages: TicketMessage[];
|
|
12
|
+
}
|
|
13
|
+
export declare function TicketMessagesWidget({ messages }: TicketMessagesWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=TicketMessagesWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketMessagesWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketMessagesWidget.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAwD3E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function TicketMessagesWidget({ messages }) {
|
|
3
|
+
return (_jsx("div", { className: "space-y-8", children: messages.map((msg, i) => (_jsxs("div", { className: `flex gap-6 ${msg.isStaff ? 'flex-row-reverse' : ''} animate-in fade-in slide-in-from-bottom-2 duration-500`, style: { animationDelay: `${i * 150}ms` }, children: [_jsx("img", { src: msg.avatar, className: `w-14 h-14 rounded-[22px] border-2 shadow-lg object-cover bg-white/5 ${msg.isStaff
|
|
4
|
+
? 'border-emerald-500/30 shadow-emerald-500/10'
|
|
5
|
+
: 'border-armoyu-primary/30 shadow-armoyu-primary/10'}`, alt: "Avatar" }), _jsxs("div", { className: `flex-1 space-y-2 ${msg.isStaff ? 'text-right' : ''}`, children: [_jsxs("div", { className: `flex items-center gap-3 mb-1 ${msg.isStaff ? 'justify-end' : ''}`, children: [_jsx("span", { className: `text-sm font-black uppercase italic ${msg.isStaff ? 'text-emerald-500 order-2' : 'text-armoyu-primary'}`, children: msg.sender }), _jsx("span", { className: `text-[10px] font-black px-2 py-0.5 rounded-md uppercase tracking-widest ${msg.isStaff
|
|
6
|
+
? 'bg-emerald-500/10 text-emerald-500 order-1'
|
|
7
|
+
: 'bg-black/5 dark:bg-white/5 text-armoyu-text-muted'}`, children: msg.role })] }), _jsxs("div", { className: `glass-panel p-6 md:p-8 rounded-[40px] border shadow-sm inline-block max-w-[90%] text-left ${msg.isStaff
|
|
8
|
+
? 'bg-emerald-500/5 border-emerald-500/20 rounded-tr-sm'
|
|
9
|
+
: 'bg-armoyu-card-bg border-armoyu-card-border rounded-tl-sm'}`, children: [_jsx("p", { className: "text-armoyu-text font-medium leading-relaxed whitespace-pre-wrap", children: msg.content }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted mt-6 opacity-40 uppercase tracking-widest", children: msg.time })] })] })] }, msg.id))) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=TicketMessagesWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketMessagesWidget.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketMessagesWidget.tsx"],"names":[],"mappings":";AAgBA,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAA6B;IAC1E,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,eAEE,SAAS,EAAE,cACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACrC,yDAAyD,EACzD,KAAK,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,aAEzC,cACE,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,SAAS,EAAE,uEACT,GAAG,CAAC,OAAO;wBACT,CAAC,CAAC,6CAA6C;wBAC/C,CAAC,CAAC,mDACN,EAAE,EACF,GAAG,EAAC,QAAQ,GACZ,EACF,eAAK,SAAS,EAAE,oBAAoB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,aACnE,eAAK,SAAS,EAAE,gCAAgC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,aAChF,eACE,SAAS,EAAE,uCACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAC7C,EAAE,YAED,GAAG,CAAC,MAAM,GACN,EACP,eACE,SAAS,EAAE,2EACT,GAAG,CAAC,OAAO;wCACT,CAAC,CAAC,4CAA4C;wCAC9C,CAAC,CAAC,mDACN,EAAE,YAED,GAAG,CAAC,IAAI,GACJ,IACH,EACN,eACE,SAAS,EAAE,6FACT,GAAG,CAAC,OAAO;gCACT,CAAC,CAAC,sDAAsD;gCACxD,CAAC,CAAC,2DACN,EAAE,aAEF,YAAG,SAAS,EAAC,kEAAkE,YAAE,GAAG,CAAC,OAAO,GAAK,EACjG,YAAG,SAAS,EAAC,wFAAwF,YAClG,GAAG,CAAC,IAAI,GACP,IACA,IACF,KA9CD,GAAG,CAAC,EAAE,CA+CP,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface TicketReplyWidgetProps {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
onSubmit: () => void;
|
|
5
|
+
isSubmitting?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function TicketReplyWidget({ value, onChange, onSubmit, isSubmitting }: TicketReplyWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=TicketReplyWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketReplyWidget.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketReplyWidget.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CAmCpG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Paperclip, Send } from 'lucide-react';
|
|
3
|
+
export function TicketReplyWidget({ value, onChange, onSubmit, isSubmitting }) {
|
|
4
|
+
const handleKeyDown = (e) => {
|
|
5
|
+
if (e.key === 'Enter' && !e.shiftKey) {
|
|
6
|
+
e.preventDefault();
|
|
7
|
+
if (value.trim() && !isSubmitting) {
|
|
8
|
+
onSubmit();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
return (_jsxs("div", { className: "flex items-end gap-2 sm:gap-4 p-2 bg-armoyu-card-bg/50 border border-armoyu-card-border rounded-3xl transition-all focus-within:border-armoyu-primary shadow-sm", children: [_jsx("button", { className: "shrink-0 p-3 text-armoyu-text-muted hover:text-armoyu-primary transition-colors rounded-xl hover:bg-armoyu-primary/10", children: _jsx(Paperclip, { size: 20 }) }), _jsx("textarea", { value: value, onChange: (e) => onChange(e.target.value), onKeyDown: handleKeyDown, disabled: isSubmitting, rows: 1, className: "flex-1 max-h-32 min-h-[44px] py-3 bg-transparent text-sm font-medium text-armoyu-text placeholder-armoyu-text-muted outline-none resize-none hide-scrollbar", placeholder: "Mesaj\u0131n\u0131z\u0131 yaz\u0131n..." }), _jsx("button", { onClick: onSubmit, disabled: isSubmitting || !value.trim(), className: "shrink-0 p-3 bg-armoyu-primary text-white rounded-xl shadow-lg shadow-armoyu-primary/20 disabled:opacity-50 disabled:pointer-events-none hover:scale-105 active:scale-95 transition-all flex items-center justify-center", children: _jsx(Send, { size: 20, className: isSubmitting ? "opacity-50" : "" }) })] }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TicketReplyWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketReplyWidget.js","sourceRoot":"","sources":["../../../../../src/components/modules/support/widgets/TicketReplyWidget.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,UAAU,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAA0B;IACnG,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,iKAAiK,aAC9K,iBAAQ,SAAS,EAAC,uHAAuH,YACvI,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,EAET,mBACE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,EACP,SAAS,EAAC,6JAA6J,EACvK,WAAW,EAAC,yCAAqB,GACjC,EAEF,iBACE,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EACvC,SAAS,EAAC,0NAA0N,YAEpO,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAI,GACxD,IACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface EmojiPickerProps {
|
|
2
|
+
onSelect: (emoji: string) => void;
|
|
3
|
+
className?: string;
|
|
4
|
+
buttonClassName?: string;
|
|
5
|
+
iconSize?: number;
|
|
6
|
+
placement?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
7
|
+
}
|
|
8
|
+
export declare function EmojiPicker({ onSelect, className, buttonClassName, iconSize, placement }: EmojiPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=EmojiPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../src/components/shared/EmojiPicker.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;CACvE;AA6JD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAc,EACd,eAAoB,EACpB,QAAa,EACb,SAAuB,EACxB,EAAE,gBAAgB,2CA4IlB"}
|