Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/features/home/ui/EventSliderSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ const EventSliderSection = ({ title, events }: EventSliderSectionProps) => {
<div className="w-full text-center text-gray-500">표시할 이벤트가 없습니다.</div>
) : (
eventsToShow.map((event: EventItem) => (
<div key={event.id} className="w-full h-full min-h-[200px] max-w-sm">
<div key={event.id} className="w-full h-full min-h-[200px] max-w-sm min-w-[200px]">
<EventCard
key={event.id}
id={event.id}
Expand All @@ -63,7 +63,7 @@ const EventSliderSection = ({ title, events }: EventSliderSectionProps) => {
dDay={event.remainDays}
host={event.hostChannelName}
eventDate={event.startDate}
location={event.onlineType}
location={event.address}
hashtags={event.hashtags}
onClick={() => navigate(`/event-details/${event.id}`)}
/>
Expand Down
3 changes: 1 addition & 2 deletions src/pages/event/ui/EventDetailsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,13 @@ const EventDetailsPage = () => {
{event.result.referenceLinks.map((link: { title: string; url: string }, index: number) => (
<div key={index} className="flex items-center gap-2">
<img src={linkIcon} alt="링크 이모지" />
<span>{link.title}</span>
<a
href={link.url}
target="_blank"
rel="noopener noreferrer"
className="text-blue-500 underline"
>
{link.url}
{link.title}
</a>
</div>
))}
Expand Down
4 changes: 2 additions & 2 deletions src/shared/ui/EventCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const EventCard = ({
{/* 상세 정보 */}
<div className="flex flex-col gap-1 mt-4">
<div className="flex justify-between">
<h2 className="text-sm font-semibold line-clamp-2 overflow-hidden">{eventTitle}</h2>
<h2 className="max-w-[130px] text-sm font-semibold truncate overflow-hidden">{eventTitle}</h2>
{dDay !== 'false' && (
<div className="sm:max-w-10 md:max-w-15">
<Countdown isChecked>{dDay}</Countdown>
Expand All @@ -76,7 +76,7 @@ const EventCard = ({

<div className="flex items-center text-xs text-gray-500">
<img src={locationImg} alt="위치" className="w-3 h-3 mr-1" />
<div className="line-clamp-2 overflow-hidden">{location}</div>
<div className="w-full truncate overflow-hidden">{location}</div>
</div>

{/* 승인 여부 표시 */}
Expand Down
19 changes: 11 additions & 8 deletions src/widgets/event/ui/TicketInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ import { useNavigate } from 'react-router-dom';
import { useTickets } from '../../../features/ticket/hooks/useTicketHook';
import { useOrderTicket } from '../../../features/ticket/hooks/useOrderHook';
import { readTicketOptions } from '../../../features/ticket/api/ticketOption';
import useAuthStore from '../../../app/provider/authStore';

const TicketInfo = ({ eventId }: { eventId: number }) => {
const limitNum = 4;
const { data, isError, isLoading } = useTickets(eventId);
const [quantity, setQuantity] = useState<{ [key: number]: number }>({});
const navigate = useNavigate();
const { mutate: orderTickets } = useOrderTicket();
const isLoggedIn = useAuthStore(state => state.isLoggedIn);

useEffect(() => {
if (data && data.isSuccess) {
Expand All @@ -37,15 +39,11 @@ const TicketInfo = ({ eventId }: { eventId: number }) => {
}));
};

// 바로 결제
const handleDirectOrder = (
ticketId: number,
eventId: number,
ticketCnt: number
) => {
// 바로 결제
const handleDirectOrder = (ticketId: number, eventId: number, ticketCnt: number) => {
const ticketInfo = { ticketId, eventId, ticketCnt };
orderTickets(ticketInfo, {
onSuccess: (response) => {
onSuccess: response => {
if (response.isSuccess && Array.isArray(response.result)) {
const orderIds = response.result;
navigate('/payment/ticket-confirm', {
Expand All @@ -60,6 +58,11 @@ const TicketInfo = ({ eventId }: { eventId: number }) => {

// 티켓 옵션 응답 페이지 이동.
const orderTicket = async (ticketId: number, eventId: number, ticketCnt: number) => {
if (!isLoggedIn) {
alert('로그인이 필요한 서비스입니다.');
return;
}

try {
const res = await readTicketOptions(ticketId);
if (res.isSuccess && res.result.length > 0) {
Expand All @@ -74,7 +77,7 @@ const TicketInfo = ({ eventId }: { eventId: number }) => {
}
};
if (isLoading) return <div>Loading...</div>;
if (isError || !data || !data.isSuccess) return <div>티켓 정보를 불러올 수 없습니다.</div>;
if (isError || !data || !data.isSuccess) return <div>로그인이 필요한 서비스입니다.</div>;

return (
<div className="w-full h-full">
Expand Down
2 changes: 1 addition & 1 deletion vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import autoprefixer from 'autoprefixer';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());

const API_BASE_URL = `${env.VITE_API_BASE_URL ?? 'http://api.gotogether.io.kr:8080'}`;
const API_BASE_URL = `${env.VITE_API_BASE_URL ?? 'http://api.gotogether.io.kr:8081'}`;

return {
plugins: [react()],
Expand Down