From 3247e787f654e37d2adeb392a7af5d9e7865e585 Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Tue, 12 Aug 2025 10:25:18 +0530 Subject: [PATCH] first commit --- .editorconfig | 13 + .eslintrc.json | 3 + .gitignore | 36 + .prettierrc | 5 + App.tsx | 40 + README.md | 38 + app/(auth)/layout.tsx | 7 + app/(defaults)/create-event-gallery/page.tsx | 21 + app/(defaults)/create-event/page.tsx | 17 + app/(defaults)/edit-event/page.tsx | 24 + app/(defaults)/event-gallery/page.tsx | 20 + app/(defaults)/layout.tsx | 45 + app/(defaults)/page.tsx | 17 + app/icon.png | Bin 0 -> 2806 bytes app/layout.tsx | 28 + app/loading.tsx | 8 + app/not-found.tsx | 26 + components/dropdown.tsx | 57 + components/gallery/CreateEventForm.tsx | 233 + components/gallery/CreateEventGalleryForm.tsx | 141 + components/gallery/EditEventForm.tsx | 262 + components/gallery/ListOfEventGallery.tsx | 135 + components/gallery/ListOfEvents.tsx | 143 + components/icon/icon-airplay.tsx | 43 + components/icon/icon-archive.tsx | 31 + components/icon/icon-arrow-backward.tsx | 16 + components/icon/icon-arrow-forward.tsx | 16 + components/icon/icon-arrow-left.tsx | 15 + components/icon/icon-arrow-wave-left-up.tsx | 18 + components/icon/icon-at.tsx | 21 + components/icon/icon-award.tsx | 28 + components/icon/icon-bar-chart.tsx | 18 + components/icon/icon-bell-bing.tsx | 21 + components/icon/icon-bell.tsx | 20 + components/icon/icon-binance.tsx | 22 + components/icon/icon-bitcoin.tsx | 42 + components/icon/icon-bolt.tsx | 25 + components/icon/icon-book.tsx | 24 + components/icon/icon-bookmark.tsx | 21 + components/icon/icon-box.tsx | 42 + components/icon/icon-calendar.tsx | 22 + components/icon/icon-camera.tsx | 22 + components/icon/icon-caret-down.tsx | 15 + components/icon/icon-carets-down.tsx | 34 + components/icon/icon-cash-banknotes.tsx | 28 + components/icon/icon-chart-square.tsx | 23 + components/icon/icon-chat-dot.tsx | 24 + components/icon/icon-chat-dots.tsx | 30 + components/icon/icon-chat-notification.tsx | 22 + components/icon/icon-checks.tsx | 16 + components/icon/icon-chrome.tsx | 30 + components/icon/icon-circle-check.tsx | 16 + components/icon/icon-clipboard-text.tsx | 24 + components/icon/icon-clock.tsx | 16 + components/icon/icon-cloud-download.tsx | 22 + components/icon/icon-code.tsx | 27 + components/icon/icon-coffee.tsx | 42 + components/icon/icon-copy.tsx | 25 + components/icon/icon-cpu-bolt.tsx | 38 + components/icon/icon-credit-card.tsx | 22 + components/icon/icon-desktop.tsx | 37 + components/icon/icon-dollar-sign-circle.tsx | 40 + components/icon/icon-dollar-sign.tsx | 21 + components/icon/icon-download.tsx | 22 + components/icon/icon-dribbble.tsx | 26 + components/icon/icon-droplet.tsx | 21 + components/icon/icon-edit.tsx | 32 + components/icon/icon-ethereum.tsx | 40 + components/icon/icon-eye.tsx | 21 + components/icon/icon-facebook-circle.tsx | 18 + components/icon/icon-facebook.tsx | 26 + components/icon/icon-file.tsx | 19 + components/icon/icon-folder-minus.tsx | 20 + components/icon/icon-folder-plus.tsx | 20 + components/icon/icon-folder.tsx | 20 + components/icon/icon-gallery.tsx | 27 + components/icon/icon-github.tsx | 26 + components/icon/icon-globe.tsx | 26 + components/icon/icon-google.tsx | 38 + components/icon/icon-heart.tsx | 22 + components/icon/icon-help-circle.tsx | 22 + components/icon/icon-home.tsx | 21 + components/icon/icon-horizontal-dots.tsx | 17 + components/icon/icon-inbox.tsx | 20 + components/icon/icon-info-circle.tsx | 30 + components/icon/icon-info-hexagon.tsx | 22 + components/icon/icon-info-triangle.tsx | 22 + components/icon/icon-instagram.tsx | 26 + components/icon/icon-laptop.tsx | 21 + components/icon/icon-layout-grid.tsx | 36 + components/icon/icon-layout.tsx | 45 + components/icon/icon-link.tsx | 27 + components/icon/icon-linkedin.tsx | 28 + components/icon/icon-list-check.tsx | 20 + components/icon/icon-litecoin.tsx | 27 + components/icon/icon-loader.tsx | 33 + components/icon/icon-lock-dots.tsx | 53 + components/icon/icon-lock.tsx | 20 + components/icon/icon-login.tsx | 22 + components/icon/icon-logout.tsx | 22 + components/icon/icon-mail-dot.tsx | 22 + components/icon/icon-mail.tsx | 42 + components/icon/icon-map-pin.tsx | 21 + components/icon/icon-menu.tsx | 17 + components/icon/icon-message-dots.tsx | 38 + components/icon/icon-message.tsx | 18 + components/icon/icon-message2.tsx | 21 + components/icon/icon-messages-dot.tsx | 20 + components/icon/icon-microphone-off.tsx | 21 + components/icon/icon-minus-circle.tsx | 28 + components/icon/icon-minus.tsx | 15 + components/icon/icon-mood-smile.tsx | 18 + components/icon/icon-moon.tsx | 18 + .../icon/icon-multiple-forward-right.tsx | 28 + components/icon/icon-netflix.tsx | 18 + components/icon/icon-notes-edit.tsx | 28 + components/icon/icon-notes.tsx | 27 + components/icon/icon-open-book.tsx | 23 + components/icon/icon-paperclip.tsx | 25 + components/icon/icon-pencil-paper.tsx | 26 + components/icon/icon-pencil.tsx | 41 + components/icon/icon-phone-call.tsx | 48 + components/icon/icon-phone.tsx | 27 + components/icon/icon-play-circle.tsx | 33 + components/icon/icon-plus-circle.tsx | 33 + components/icon/icon-plus.tsx | 16 + components/icon/icon-printer.tsx | 36 + components/icon/icon-refresh.tsx | 23 + components/icon/icon-restore.tsx | 28 + components/icon/icon-router.tsx | 91 + components/icon/icon-safari.tsx | 20 + components/icon/icon-save.tsx | 25 + components/icon/icon-search.tsx | 16 + components/icon/icon-send.tsx | 20 + components/icon/icon-server.tsx | 30 + components/icon/icon-settings.tsx | 21 + components/icon/icon-share.tsx | 19 + components/icon/icon-shopping-bag.tsx | 21 + components/icon/icon-shopping-cart.tsx | 33 + components/icon/icon-solana.tsx | 37 + components/icon/icon-square-check.tsx | 21 + components/icon/icon-square-rotated.tsx | 19 + components/icon/icon-star.tsx | 19 + components/icon/icon-sun.tsx | 23 + components/icon/icon-tag.tsx | 21 + components/icon/icon-tether.tsx | 19 + components/icon/icon-thumb-up.tsx | 23 + components/icon/icon-trash-lines.tsx | 29 + components/icon/icon-trash.tsx | 27 + components/icon/icon-trending-up.tsx | 23 + components/icon/icon-twitter.tsx | 37 + components/icon/icon-txt-file.tsx | 21 + components/icon/icon-user-plus.tsx | 17 + components/icon/icon-user.tsx | 25 + components/icon/icon-users-group.tsx | 20 + components/icon/icon-users.tsx | 23 + components/icon/icon-video.tsx | 25 + components/icon/icon-wheel.tsx | 20 + components/icon/icon-x-circle.tsx | 16 + components/icon/icon-x.tsx | 27 + components/icon/icon-zip-file.tsx | 50 + components/icon/menu/icon-menu-apps.tsx | 48 + .../icon/menu/icon-menu-authentication.tsx | 26 + components/icon/menu/icon-menu-calendar.tsx | 23 + components/icon/menu/icon-menu-charts.tsx | 23 + components/icon/menu/icon-menu-chat.tsx | 25 + components/icon/menu/icon-menu-components.tsx | 28 + components/icon/menu/icon-menu-contacts.tsx | 25 + components/icon/menu/icon-menu-dashboard.tsx | 23 + components/icon/menu/icon-menu-datatables.tsx | 34 + .../icon/menu/icon-menu-documentation.tsx | 25 + .../icon/menu/icon-menu-drag-and-drop.tsx | 35 + components/icon/menu/icon-menu-elements.tsx | 25 + components/icon/menu/icon-menu-font-icons.tsx | 21 + components/icon/menu/icon-menu-forms.tsx | 33 + components/icon/menu/icon-menu-invoice.tsx | 27 + components/icon/menu/icon-menu-mailbox.tsx | 28 + components/icon/menu/icon-menu-more.tsx | 19 + components/icon/menu/icon-menu-notes.tsx | 37 + components/icon/menu/icon-menu-pages.tsx | 33 + components/icon/menu/icon-menu-scrumboard.tsx | 26 + components/icon/menu/icon-menu-tables.tsx | 28 + components/icon/menu/icon-menu-todo.tsx | 25 + components/icon/menu/icon-menu-users.tsx | 18 + components/icon/menu/icon-menu-widgets.tsx | 32 + components/layouts/content-animation.tsx | 31 + components/layouts/footer.tsx | 9 + components/layouts/header.tsx | 762 ++ components/layouts/loading.tsx | 11 + components/layouts/main-container.tsx | 11 + components/layouts/overlay.tsx | 17 + components/layouts/provider-component.tsx | 26 + components/layouts/scroll-to-top.tsx | 50 + components/layouts/setting.tsx | 204 + components/layouts/sidebar.tsx | 743 ++ components/portals.tsx | 10 + i18n.ts | 55 + next.config.js | 12 + ni18n.config.ts.js | 12 + package-lock.json | 6657 +++++++++++++++++ package.json | 50 + postcss.config.js | 6 + public/assets/images/error/404-dark.svg | 201 + public/assets/images/error/404-light.svg | 201 + public/assets/images/flags/AC.svg | 1 + public/assets/images/flags/AD.svg | 35 + public/assets/images/flags/AE.svg | 33 + public/assets/images/flags/AF.svg | 34 + public/assets/images/flags/AG.svg | 44 + public/assets/images/flags/AI.svg | 50 + public/assets/images/flags/AL.svg | 27 + public/assets/images/flags/AM.svg | 32 + public/assets/images/flags/AO.svg | 37 + public/assets/images/flags/AR.svg | 26 + public/assets/images/flags/AS.svg | 36 + public/assets/images/flags/AT.svg | 24 + public/assets/images/flags/AU.svg | 36 + public/assets/images/flags/AW.svg | 30 + public/assets/images/flags/AX.svg | 32 + public/assets/images/flags/AZ.svg | 33 + public/assets/images/flags/BA.svg | 32 + public/assets/images/flags/BB.svg | 38 + public/assets/images/flags/BD.svg | 27 + public/assets/images/flags/BE.svg | 32 + public/assets/images/flags/BF.svg | 28 + public/assets/images/flags/BG.svg | 28 + public/assets/images/flags/BH.svg | 23 + public/assets/images/flags/BI.svg | 36 + public/assets/images/flags/BJ.svg | 32 + public/assets/images/flags/BL.svg | 42 + public/assets/images/flags/BM.svg | 49 + public/assets/images/flags/BN.svg | 28 + public/assets/images/flags/BO.svg | 32 + public/assets/images/flags/BR.svg | 35 + public/assets/images/flags/BS.svg | 33 + public/assets/images/flags/BT.svg | 27 + public/assets/images/flags/BV.svg | 28 + public/assets/images/flags/BW.svg | 29 + public/assets/images/flags/BY.svg | 30 + public/assets/images/flags/BZ.svg | 30 + public/assets/images/flags/CA.svg | 25 + public/assets/images/flags/CC.svg | 33 + public/assets/images/flags/CD.svg | 31 + public/assets/images/flags/CF.svg | 43 + public/assets/images/flags/CG.svg | 34 + public/assets/images/flags/CH.svg | 23 + public/assets/images/flags/CI.svg | 28 + public/assets/images/flags/CK.svg | 31 + public/assets/images/flags/CL.svg | 29 + public/assets/images/flags/CM.svg | 38 + public/assets/images/flags/CN.svg | 32 + public/assets/images/flags/CO.svg | 32 + public/assets/images/flags/CR.svg | 29 + public/assets/images/flags/CU.svg | 32 + public/assets/images/flags/CV.svg | 30 + public/assets/images/flags/CW.svg | 29 + public/assets/images/flags/CX.svg | 38 + public/assets/images/flags/CY.svg | 24 + public/assets/images/flags/CZ.svg | 28 + public/assets/images/flags/DA.svg | 23 + public/assets/images/flags/DE.svg | 32 + public/assets/images/flags/DJ.svg | 33 + public/assets/images/flags/DK.svg | 23 + public/assets/images/flags/DM.svg | 41 + public/assets/images/flags/DO.svg | 33 + public/assets/images/flags/DZ.svg | 29 + public/assets/images/flags/EC.svg | 39 + public/assets/images/flags/EE.svg | 28 + public/assets/images/flags/EG.svg | 30 + public/assets/images/flags/EH.svg | 1 + public/assets/images/flags/EL.svg | 22 + public/assets/images/flags/EN-IN.svg | 28 + public/assets/images/flags/EN-US.svg | 28 + public/assets/images/flags/EN.svg | 28 + public/assets/images/flags/ER.svg | 40 + public/assets/images/flags/ES.svg | 34 + public/assets/images/flags/ET.svg | 42 + public/assets/images/flags/EU.svg | 27 + public/assets/images/flags/FI.svg | 22 + public/assets/images/flags/FJ.svg | 51 + public/assets/images/flags/FK.svg | 58 + public/assets/images/flags/FM.svg | 23 + public/assets/images/flags/FO.svg | 27 + public/assets/images/flags/FR.svg | 28 + public/assets/images/flags/GA.svg | 32 + public/assets/images/flags/GB-ENG.svg | 22 + public/assets/images/flags/GB-NIR.svg | 41 + public/assets/images/flags/GB-SCT.svg | 23 + public/assets/images/flags/GB-WLS.svg | 28 + public/assets/images/flags/GB-ZET.svg | 23 + public/assets/images/flags/GB.svg | 32 + public/assets/images/flags/GD.svg | 49 + public/assets/images/flags/GE.svg | 26 + public/assets/images/flags/GF.svg | 32 + public/assets/images/flags/GG.svg | 27 + public/assets/images/flags/GH.svg | 37 + public/assets/images/flags/GI.svg | 38 + public/assets/images/flags/GL.svg | 33 + public/assets/images/flags/GM.svg | 33 + public/assets/images/flags/GN.svg | 32 + public/assets/images/flags/GP.svg | 40 + public/assets/images/flags/GQ.svg | 34 + public/assets/images/flags/GR.svg | 22 + public/assets/images/flags/GS.svg | 112 + public/assets/images/flags/GT.svg | 26 + public/assets/images/flags/GU.svg | 65 + public/assets/images/flags/GW.svg | 37 + public/assets/images/flags/GY.svg | 42 + public/assets/images/flags/HK.svg | 23 + public/assets/images/flags/HM.svg | 36 + public/assets/images/flags/HN.svg | 33 + public/assets/images/flags/HR.svg | 35 + public/assets/images/flags/HT.svg | 46 + public/assets/images/flags/HU.svg | 28 + public/assets/images/flags/ID.svg | 23 + public/assets/images/flags/IE.svg | 28 + public/assets/images/flags/IL.svg | 26 + public/assets/images/flags/IM.svg | 30 + public/assets/images/flags/IN.svg | 31 + public/assets/images/flags/IO.svg | 33 + public/assets/images/flags/IQ.svg | 33 + public/assets/images/flags/IR.svg | 31 + public/assets/images/flags/IS.svg | 28 + public/assets/images/flags/IT.svg | 28 + public/assets/images/flags/JA.svg | 22 + public/assets/images/flags/JE.svg | 32 + public/assets/images/flags/JM.svg | 33 + public/assets/images/flags/JO.svg | 34 + public/assets/images/flags/JP.svg | 22 + public/assets/images/flags/KE.svg | 43 + public/assets/images/flags/KG.svg | 28 + public/assets/images/flags/KH.svg | 29 + public/assets/images/flags/KI.svg | 35 + public/assets/images/flags/KM.svg | 39 + public/assets/images/flags/KN.svg | 39 + public/assets/images/flags/KP.svg | 30 + public/assets/images/flags/KR.svg | 38 + public/assets/images/flags/KW.svg | 33 + public/assets/images/flags/KY.svg | 44 + public/assets/images/flags/KZ.svg | 29 + public/assets/images/flags/LA.svg | 29 + public/assets/images/flags/LB.svg | 29 + public/assets/images/flags/LC.svg | 33 + public/assets/images/flags/LGBT.svg | 42 + public/assets/images/flags/LI.svg | 27 + public/assets/images/flags/LK.svg | 43 + public/assets/images/flags/LR.svg | 36 + public/assets/images/flags/LS.svg | 34 + public/assets/images/flags/LT.svg | 32 + public/assets/images/flags/LU.svg | 28 + public/assets/images/flags/LV.svg | 24 + public/assets/images/flags/LY.svg | 33 + public/assets/images/flags/MA.svg | 23 + public/assets/images/flags/MC.svg | 23 + public/assets/images/flags/MD.svg | 42 + public/assets/images/flags/ME.svg | 29 + public/assets/images/flags/MF.svg | 28 + public/assets/images/flags/MG.svg | 28 + public/assets/images/flags/MH.svg | 29 + public/assets/images/flags/MK.svg | 29 + public/assets/images/flags/ML.svg | 32 + public/assets/images/flags/MM.svg | 33 + public/assets/images/flags/MN.svg | 33 + public/assets/images/flags/MO.svg | 26 + public/assets/images/flags/MP.svg | 29 + public/assets/images/flags/MQ.svg | 27 + public/assets/images/flags/MR.svg | 27 + public/assets/images/flags/MS.svg | 47 + public/assets/images/flags/MT.svg | 29 + public/assets/images/flags/MU.svg | 37 + public/assets/images/flags/MV.svg | 28 + public/assets/images/flags/MW.svg | 33 + public/assets/images/flags/MX.svg | 30 + public/assets/images/flags/MY.svg | 32 + public/assets/images/flags/MZ.svg | 43 + public/assets/images/flags/NA.svg | 75 + public/assets/images/flags/NC.svg | 42 + public/assets/images/flags/NE.svg | 33 + public/assets/images/flags/NF.svg | 29 + public/assets/images/flags/NG.svg | 24 + public/assets/images/flags/NI.svg | 26 + public/assets/images/flags/NL.svg | 28 + public/assets/images/flags/NO.svg | 28 + public/assets/images/flags/NP.svg | 35 + public/assets/images/flags/NR.svg | 28 + public/assets/images/flags/NU.svg | 41 + public/assets/images/flags/NZ.svg | 34 + public/assets/images/flags/OM.svg | 29 + public/assets/images/flags/PA.svg | 30 + public/assets/images/flags/PE.svg | 24 + public/assets/images/flags/PF.svg | 52 + public/assets/images/flags/PG.svg | 36 + public/assets/images/flags/PH.svg | 33 + public/assets/images/flags/PK.svg | 32 + public/assets/images/flags/PL.svg | 23 + public/assets/images/flags/PM.svg | 66 + public/assets/images/flags/PN.svg | 51 + public/assets/images/flags/PR.svg | 30 + public/assets/images/flags/PS.svg | 33 + public/assets/images/flags/PT.svg | 38 + public/assets/images/flags/PW.svg | 27 + public/assets/images/flags/PY.svg | 30 + public/assets/images/flags/QA.svg | 23 + public/assets/images/flags/RE.svg | 28 + public/assets/images/flags/RH.svg | 29 + public/assets/images/flags/RO.svg | 32 + public/assets/images/flags/RS.svg | 39 + public/assets/images/flags/RU.svg | 28 + public/assets/images/flags/RW.svg | 37 + public/assets/images/flags/SA.svg | 26 + public/assets/images/flags/SB.svg | 39 + public/assets/images/flags/SC.svg | 43 + public/assets/images/flags/SD.svg | 33 + public/assets/images/flags/SE.svg | 27 + public/assets/images/flags/SG.svg | 24 + public/assets/images/flags/SH.svg | 53 + public/assets/images/flags/SI.svg | 28 + public/assets/images/flags/SJ.svg | 28 + public/assets/images/flags/SK.svg | 46 + public/assets/images/flags/SL.svg | 28 + public/assets/images/flags/SM.svg | 25 + public/assets/images/flags/SN.svg | 33 + public/assets/images/flags/SO.svg | 23 + public/assets/images/flags/SR.svg | 34 + public/assets/images/flags/SS.svg | 44 + public/assets/images/flags/ST.svg | 39 + public/assets/images/flags/SV.svg | 27 + public/assets/images/flags/SV1.svg | 30 + public/assets/images/flags/SX.svg | 45 + public/assets/images/flags/SY.svg | 34 + public/assets/images/flags/SZ.svg | 47 + public/assets/images/flags/TC.svg | 40 + public/assets/images/flags/TD.svg | 32 + public/assets/images/flags/TF.svg | 35 + public/assets/images/flags/TG.svg | 33 + public/assets/images/flags/TH.svg | 6 + public/assets/images/flags/TJ.svg | 29 + public/assets/images/flags/TK.svg | 31 + public/assets/images/flags/TL.svg | 33 + public/assets/images/flags/TM.svg | 74 + public/assets/images/flags/TN.svg | 23 + public/assets/images/flags/TO.svg | 28 + public/assets/images/flags/TR.svg | 23 + public/assets/images/flags/TT.svg | 28 + public/assets/images/flags/TV.svg | 36 + public/assets/images/flags/TW.svg | 28 + public/assets/images/flags/TZ.svg | 37 + public/assets/images/flags/UG.svg | 37 + public/assets/images/flags/UK.svg | 27 + public/assets/images/flags/UK1.svg | 32 + public/assets/images/flags/UM.svg | 28 + public/assets/images/flags/US-CA.svg | 33 + public/assets/images/flags/US.svg | 28 + public/assets/images/flags/UY.svg | 29 + public/assets/images/flags/UZ.svg | 29 + public/assets/images/flags/VA.svg | 39 + public/assets/images/flags/VC.svg | 37 + public/assets/images/flags/VE.svg | 33 + public/assets/images/flags/VG.svg | 42 + public/assets/images/flags/VI.svg | 49 + public/assets/images/flags/VN.svg | 27 + public/assets/images/flags/VU.svg | 38 + public/assets/images/flags/WF.svg | 28 + public/assets/images/flags/WS.svg | 28 + public/assets/images/flags/XK.svg | 28 + public/assets/images/flags/YE.svg | 28 + public/assets/images/flags/YT.svg | 77 + public/assets/images/flags/ZA.svg | 44 + public/assets/images/flags/ZH.svg | 32 + public/assets/images/flags/ZM.svg | 42 + public/assets/images/flags/ZW.svg | 43 + public/assets/images/lightbox1.jpg | Bin 0 -> 41075 bytes public/assets/images/lightbox2.jpeg | Bin 0 -> 51990 bytes public/assets/images/lightbox3.jpeg | Bin 0 -> 72165 bytes public/assets/images/lightbox4.jpeg | Bin 0 -> 196822 bytes public/assets/images/lightbox5.jpeg | Bin 0 -> 63929 bytes public/assets/images/lightbox6.jpeg | Bin 0 -> 56610 bytes public/assets/images/logo-tca.png | Bin 0 -> 413977 bytes public/assets/images/logo.svg | 10 + public/assets/images/menu-heade.jpg | Bin 0 -> 21758 bytes public/assets/images/pongal.jfif | Bin 0 -> 15303 bytes public/assets/images/profile-16.jpeg | Bin 0 -> 3502 bytes public/assets/images/profile-34.jpeg | Bin 0 -> 4274 bytes public/assets/images/user-profile.jpeg | Bin 0 -> 11318 bytes public/demo-prepare.html | 78 + public/favicon.png | Bin 0 -> 3275 bytes public/locales/ae.json | 128 + public/locales/da.json | 128 + public/locales/de.json | 128 + public/locales/el.json | 128 + public/locales/en.json | 128 + public/locales/es.json | 128 + public/locales/fr.json | 128 + public/locales/hu.json | 128 + public/locales/it.json | 128 + public/locales/ja.json | 128 + public/locales/pl.json | 128 + public/locales/pt.json | 128 + public/locales/ru.json | 128 + public/locales/sv.json | 128 + public/locales/tr.json | 128 + public/locales/zh.json | 128 + store/index.tsx | 12 + store/themeConfigSlice.tsx | 104 + styles/animate.css | 3687 +++++++++ styles/tailwind.css | 679 ++ tailwind.config.js | 100 + theme.config.tsx | 12 + tsconfig.json | 29 + utils/BaseUrl.utils.js | 1 + utils/CommonFunction.utils.tsx | 16 + 511 files changed, 30230 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 App.tsx create mode 100644 README.md create mode 100644 app/(auth)/layout.tsx create mode 100644 app/(defaults)/create-event-gallery/page.tsx create mode 100644 app/(defaults)/create-event/page.tsx create mode 100644 app/(defaults)/edit-event/page.tsx create mode 100644 app/(defaults)/event-gallery/page.tsx create mode 100644 app/(defaults)/layout.tsx create mode 100644 app/(defaults)/page.tsx create mode 100644 app/icon.png create mode 100644 app/layout.tsx create mode 100644 app/loading.tsx create mode 100644 app/not-found.tsx create mode 100644 components/dropdown.tsx create mode 100644 components/gallery/CreateEventForm.tsx create mode 100644 components/gallery/CreateEventGalleryForm.tsx create mode 100644 components/gallery/EditEventForm.tsx create mode 100644 components/gallery/ListOfEventGallery.tsx create mode 100644 components/gallery/ListOfEvents.tsx create mode 100644 components/icon/icon-airplay.tsx create mode 100644 components/icon/icon-archive.tsx create mode 100644 components/icon/icon-arrow-backward.tsx create mode 100644 components/icon/icon-arrow-forward.tsx create mode 100644 components/icon/icon-arrow-left.tsx create mode 100644 components/icon/icon-arrow-wave-left-up.tsx create mode 100644 components/icon/icon-at.tsx create mode 100644 components/icon/icon-award.tsx create mode 100644 components/icon/icon-bar-chart.tsx create mode 100644 components/icon/icon-bell-bing.tsx create mode 100644 components/icon/icon-bell.tsx create mode 100644 components/icon/icon-binance.tsx create mode 100644 components/icon/icon-bitcoin.tsx create mode 100644 components/icon/icon-bolt.tsx create mode 100644 components/icon/icon-book.tsx create mode 100644 components/icon/icon-bookmark.tsx create mode 100644 components/icon/icon-box.tsx create mode 100644 components/icon/icon-calendar.tsx create mode 100644 components/icon/icon-camera.tsx create mode 100644 components/icon/icon-caret-down.tsx create mode 100644 components/icon/icon-carets-down.tsx create mode 100644 components/icon/icon-cash-banknotes.tsx create mode 100644 components/icon/icon-chart-square.tsx create mode 100644 components/icon/icon-chat-dot.tsx create mode 100644 components/icon/icon-chat-dots.tsx create mode 100644 components/icon/icon-chat-notification.tsx create mode 100644 components/icon/icon-checks.tsx create mode 100644 components/icon/icon-chrome.tsx create mode 100644 components/icon/icon-circle-check.tsx create mode 100644 components/icon/icon-clipboard-text.tsx create mode 100644 components/icon/icon-clock.tsx create mode 100644 components/icon/icon-cloud-download.tsx create mode 100644 components/icon/icon-code.tsx create mode 100644 components/icon/icon-coffee.tsx create mode 100644 components/icon/icon-copy.tsx create mode 100644 components/icon/icon-cpu-bolt.tsx create mode 100644 components/icon/icon-credit-card.tsx create mode 100644 components/icon/icon-desktop.tsx create mode 100644 components/icon/icon-dollar-sign-circle.tsx create mode 100644 components/icon/icon-dollar-sign.tsx create mode 100644 components/icon/icon-download.tsx create mode 100644 components/icon/icon-dribbble.tsx create mode 100644 components/icon/icon-droplet.tsx create mode 100644 components/icon/icon-edit.tsx create mode 100644 components/icon/icon-ethereum.tsx create mode 100644 components/icon/icon-eye.tsx create mode 100644 components/icon/icon-facebook-circle.tsx create mode 100644 components/icon/icon-facebook.tsx create mode 100644 components/icon/icon-file.tsx create mode 100644 components/icon/icon-folder-minus.tsx create mode 100644 components/icon/icon-folder-plus.tsx create mode 100644 components/icon/icon-folder.tsx create mode 100644 components/icon/icon-gallery.tsx create mode 100644 components/icon/icon-github.tsx create mode 100644 components/icon/icon-globe.tsx create mode 100644 components/icon/icon-google.tsx create mode 100644 components/icon/icon-heart.tsx create mode 100644 components/icon/icon-help-circle.tsx create mode 100644 components/icon/icon-home.tsx create mode 100644 components/icon/icon-horizontal-dots.tsx create mode 100644 components/icon/icon-inbox.tsx create mode 100644 components/icon/icon-info-circle.tsx create mode 100644 components/icon/icon-info-hexagon.tsx create mode 100644 components/icon/icon-info-triangle.tsx create mode 100644 components/icon/icon-instagram.tsx create mode 100644 components/icon/icon-laptop.tsx create mode 100644 components/icon/icon-layout-grid.tsx create mode 100644 components/icon/icon-layout.tsx create mode 100644 components/icon/icon-link.tsx create mode 100644 components/icon/icon-linkedin.tsx create mode 100644 components/icon/icon-list-check.tsx create mode 100644 components/icon/icon-litecoin.tsx create mode 100644 components/icon/icon-loader.tsx create mode 100644 components/icon/icon-lock-dots.tsx create mode 100644 components/icon/icon-lock.tsx create mode 100644 components/icon/icon-login.tsx create mode 100644 components/icon/icon-logout.tsx create mode 100644 components/icon/icon-mail-dot.tsx create mode 100644 components/icon/icon-mail.tsx create mode 100644 components/icon/icon-map-pin.tsx create mode 100644 components/icon/icon-menu.tsx create mode 100644 components/icon/icon-message-dots.tsx create mode 100644 components/icon/icon-message.tsx create mode 100644 components/icon/icon-message2.tsx create mode 100644 components/icon/icon-messages-dot.tsx create mode 100644 components/icon/icon-microphone-off.tsx create mode 100644 components/icon/icon-minus-circle.tsx create mode 100644 components/icon/icon-minus.tsx create mode 100644 components/icon/icon-mood-smile.tsx create mode 100644 components/icon/icon-moon.tsx create mode 100644 components/icon/icon-multiple-forward-right.tsx create mode 100644 components/icon/icon-netflix.tsx create mode 100644 components/icon/icon-notes-edit.tsx create mode 100644 components/icon/icon-notes.tsx create mode 100644 components/icon/icon-open-book.tsx create mode 100644 components/icon/icon-paperclip.tsx create mode 100644 components/icon/icon-pencil-paper.tsx create mode 100644 components/icon/icon-pencil.tsx create mode 100644 components/icon/icon-phone-call.tsx create mode 100644 components/icon/icon-phone.tsx create mode 100644 components/icon/icon-play-circle.tsx create mode 100644 components/icon/icon-plus-circle.tsx create mode 100644 components/icon/icon-plus.tsx create mode 100644 components/icon/icon-printer.tsx create mode 100644 components/icon/icon-refresh.tsx create mode 100644 components/icon/icon-restore.tsx create mode 100644 components/icon/icon-router.tsx create mode 100644 components/icon/icon-safari.tsx create mode 100644 components/icon/icon-save.tsx create mode 100644 components/icon/icon-search.tsx create mode 100644 components/icon/icon-send.tsx create mode 100644 components/icon/icon-server.tsx create mode 100644 components/icon/icon-settings.tsx create mode 100644 components/icon/icon-share.tsx create mode 100644 components/icon/icon-shopping-bag.tsx create mode 100644 components/icon/icon-shopping-cart.tsx create mode 100644 components/icon/icon-solana.tsx create mode 100644 components/icon/icon-square-check.tsx create mode 100644 components/icon/icon-square-rotated.tsx create mode 100644 components/icon/icon-star.tsx create mode 100644 components/icon/icon-sun.tsx create mode 100644 components/icon/icon-tag.tsx create mode 100644 components/icon/icon-tether.tsx create mode 100644 components/icon/icon-thumb-up.tsx create mode 100644 components/icon/icon-trash-lines.tsx create mode 100644 components/icon/icon-trash.tsx create mode 100644 components/icon/icon-trending-up.tsx create mode 100644 components/icon/icon-twitter.tsx create mode 100644 components/icon/icon-txt-file.tsx create mode 100644 components/icon/icon-user-plus.tsx create mode 100644 components/icon/icon-user.tsx create mode 100644 components/icon/icon-users-group.tsx create mode 100644 components/icon/icon-users.tsx create mode 100644 components/icon/icon-video.tsx create mode 100644 components/icon/icon-wheel.tsx create mode 100644 components/icon/icon-x-circle.tsx create mode 100644 components/icon/icon-x.tsx create mode 100644 components/icon/icon-zip-file.tsx create mode 100644 components/icon/menu/icon-menu-apps.tsx create mode 100644 components/icon/menu/icon-menu-authentication.tsx create mode 100644 components/icon/menu/icon-menu-calendar.tsx create mode 100644 components/icon/menu/icon-menu-charts.tsx create mode 100644 components/icon/menu/icon-menu-chat.tsx create mode 100644 components/icon/menu/icon-menu-components.tsx create mode 100644 components/icon/menu/icon-menu-contacts.tsx create mode 100644 components/icon/menu/icon-menu-dashboard.tsx create mode 100644 components/icon/menu/icon-menu-datatables.tsx create mode 100644 components/icon/menu/icon-menu-documentation.tsx create mode 100644 components/icon/menu/icon-menu-drag-and-drop.tsx create mode 100644 components/icon/menu/icon-menu-elements.tsx create mode 100644 components/icon/menu/icon-menu-font-icons.tsx create mode 100644 components/icon/menu/icon-menu-forms.tsx create mode 100644 components/icon/menu/icon-menu-invoice.tsx create mode 100644 components/icon/menu/icon-menu-mailbox.tsx create mode 100644 components/icon/menu/icon-menu-more.tsx create mode 100644 components/icon/menu/icon-menu-notes.tsx create mode 100644 components/icon/menu/icon-menu-pages.tsx create mode 100644 components/icon/menu/icon-menu-scrumboard.tsx create mode 100644 components/icon/menu/icon-menu-tables.tsx create mode 100644 components/icon/menu/icon-menu-todo.tsx create mode 100644 components/icon/menu/icon-menu-users.tsx create mode 100644 components/icon/menu/icon-menu-widgets.tsx create mode 100644 components/layouts/content-animation.tsx create mode 100644 components/layouts/footer.tsx create mode 100644 components/layouts/header.tsx create mode 100644 components/layouts/loading.tsx create mode 100644 components/layouts/main-container.tsx create mode 100644 components/layouts/overlay.tsx create mode 100644 components/layouts/provider-component.tsx create mode 100644 components/layouts/scroll-to-top.tsx create mode 100644 components/layouts/setting.tsx create mode 100644 components/layouts/sidebar.tsx create mode 100644 components/portals.tsx create mode 100644 i18n.ts create mode 100644 next.config.js create mode 100644 ni18n.config.ts.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/assets/images/error/404-dark.svg create mode 100644 public/assets/images/error/404-light.svg create mode 100644 public/assets/images/flags/AC.svg create mode 100644 public/assets/images/flags/AD.svg create mode 100644 public/assets/images/flags/AE.svg create mode 100644 public/assets/images/flags/AF.svg create mode 100644 public/assets/images/flags/AG.svg create mode 100644 public/assets/images/flags/AI.svg create mode 100644 public/assets/images/flags/AL.svg create mode 100644 public/assets/images/flags/AM.svg create mode 100644 public/assets/images/flags/AO.svg create mode 100644 public/assets/images/flags/AR.svg create mode 100644 public/assets/images/flags/AS.svg create mode 100644 public/assets/images/flags/AT.svg create mode 100644 public/assets/images/flags/AU.svg create mode 100644 public/assets/images/flags/AW.svg create mode 100644 public/assets/images/flags/AX.svg create mode 100644 public/assets/images/flags/AZ.svg create mode 100644 public/assets/images/flags/BA.svg create mode 100644 public/assets/images/flags/BB.svg create mode 100644 public/assets/images/flags/BD.svg create mode 100644 public/assets/images/flags/BE.svg create mode 100644 public/assets/images/flags/BF.svg create mode 100644 public/assets/images/flags/BG.svg create mode 100644 public/assets/images/flags/BH.svg create mode 100644 public/assets/images/flags/BI.svg create mode 100644 public/assets/images/flags/BJ.svg create mode 100644 public/assets/images/flags/BL.svg create mode 100644 public/assets/images/flags/BM.svg create mode 100644 public/assets/images/flags/BN.svg create mode 100644 public/assets/images/flags/BO.svg create mode 100644 public/assets/images/flags/BR.svg create mode 100644 public/assets/images/flags/BS.svg create mode 100644 public/assets/images/flags/BT.svg create mode 100644 public/assets/images/flags/BV.svg create mode 100644 public/assets/images/flags/BW.svg create mode 100644 public/assets/images/flags/BY.svg create mode 100644 public/assets/images/flags/BZ.svg create mode 100644 public/assets/images/flags/CA.svg create mode 100644 public/assets/images/flags/CC.svg create mode 100644 public/assets/images/flags/CD.svg create mode 100644 public/assets/images/flags/CF.svg create mode 100644 public/assets/images/flags/CG.svg create mode 100644 public/assets/images/flags/CH.svg create mode 100644 public/assets/images/flags/CI.svg create mode 100644 public/assets/images/flags/CK.svg create mode 100644 public/assets/images/flags/CL.svg create mode 100644 public/assets/images/flags/CM.svg create mode 100644 public/assets/images/flags/CN.svg create mode 100644 public/assets/images/flags/CO.svg create mode 100644 public/assets/images/flags/CR.svg create mode 100644 public/assets/images/flags/CU.svg create mode 100644 public/assets/images/flags/CV.svg create mode 100644 public/assets/images/flags/CW.svg create mode 100644 public/assets/images/flags/CX.svg create mode 100644 public/assets/images/flags/CY.svg create mode 100644 public/assets/images/flags/CZ.svg create mode 100644 public/assets/images/flags/DA.svg create mode 100644 public/assets/images/flags/DE.svg create mode 100644 public/assets/images/flags/DJ.svg create mode 100644 public/assets/images/flags/DK.svg create mode 100644 public/assets/images/flags/DM.svg create mode 100644 public/assets/images/flags/DO.svg create mode 100644 public/assets/images/flags/DZ.svg create mode 100644 public/assets/images/flags/EC.svg create mode 100644 public/assets/images/flags/EE.svg create mode 100644 public/assets/images/flags/EG.svg create mode 100644 public/assets/images/flags/EH.svg create mode 100644 public/assets/images/flags/EL.svg create mode 100644 public/assets/images/flags/EN-IN.svg create mode 100644 public/assets/images/flags/EN-US.svg create mode 100644 public/assets/images/flags/EN.svg create mode 100644 public/assets/images/flags/ER.svg create mode 100644 public/assets/images/flags/ES.svg create mode 100644 public/assets/images/flags/ET.svg create mode 100644 public/assets/images/flags/EU.svg create mode 100644 public/assets/images/flags/FI.svg create mode 100644 public/assets/images/flags/FJ.svg create mode 100644 public/assets/images/flags/FK.svg create mode 100644 public/assets/images/flags/FM.svg create mode 100644 public/assets/images/flags/FO.svg create mode 100644 public/assets/images/flags/FR.svg create mode 100644 public/assets/images/flags/GA.svg create mode 100644 public/assets/images/flags/GB-ENG.svg create mode 100644 public/assets/images/flags/GB-NIR.svg create mode 100644 public/assets/images/flags/GB-SCT.svg create mode 100644 public/assets/images/flags/GB-WLS.svg create mode 100644 public/assets/images/flags/GB-ZET.svg create mode 100644 public/assets/images/flags/GB.svg create mode 100644 public/assets/images/flags/GD.svg create mode 100644 public/assets/images/flags/GE.svg create mode 100644 public/assets/images/flags/GF.svg create mode 100644 public/assets/images/flags/GG.svg create mode 100644 public/assets/images/flags/GH.svg create mode 100644 public/assets/images/flags/GI.svg create mode 100644 public/assets/images/flags/GL.svg create mode 100644 public/assets/images/flags/GM.svg create mode 100644 public/assets/images/flags/GN.svg create mode 100644 public/assets/images/flags/GP.svg create mode 100644 public/assets/images/flags/GQ.svg create mode 100644 public/assets/images/flags/GR.svg create mode 100644 public/assets/images/flags/GS.svg create mode 100644 public/assets/images/flags/GT.svg create mode 100644 public/assets/images/flags/GU.svg create mode 100644 public/assets/images/flags/GW.svg create mode 100644 public/assets/images/flags/GY.svg create mode 100644 public/assets/images/flags/HK.svg create mode 100644 public/assets/images/flags/HM.svg create mode 100644 public/assets/images/flags/HN.svg create mode 100644 public/assets/images/flags/HR.svg create mode 100644 public/assets/images/flags/HT.svg create mode 100644 public/assets/images/flags/HU.svg create mode 100644 public/assets/images/flags/ID.svg create mode 100644 public/assets/images/flags/IE.svg create mode 100644 public/assets/images/flags/IL.svg create mode 100644 public/assets/images/flags/IM.svg create mode 100644 public/assets/images/flags/IN.svg create mode 100644 public/assets/images/flags/IO.svg create mode 100644 public/assets/images/flags/IQ.svg create mode 100644 public/assets/images/flags/IR.svg create mode 100644 public/assets/images/flags/IS.svg create mode 100644 public/assets/images/flags/IT.svg create mode 100644 public/assets/images/flags/JA.svg create mode 100644 public/assets/images/flags/JE.svg create mode 100644 public/assets/images/flags/JM.svg create mode 100644 public/assets/images/flags/JO.svg create mode 100644 public/assets/images/flags/JP.svg create mode 100644 public/assets/images/flags/KE.svg create mode 100644 public/assets/images/flags/KG.svg create mode 100644 public/assets/images/flags/KH.svg create mode 100644 public/assets/images/flags/KI.svg create mode 100644 public/assets/images/flags/KM.svg create mode 100644 public/assets/images/flags/KN.svg create mode 100644 public/assets/images/flags/KP.svg create mode 100644 public/assets/images/flags/KR.svg create mode 100644 public/assets/images/flags/KW.svg create mode 100644 public/assets/images/flags/KY.svg create mode 100644 public/assets/images/flags/KZ.svg create mode 100644 public/assets/images/flags/LA.svg create mode 100644 public/assets/images/flags/LB.svg create mode 100644 public/assets/images/flags/LC.svg create mode 100644 public/assets/images/flags/LGBT.svg create mode 100644 public/assets/images/flags/LI.svg create mode 100644 public/assets/images/flags/LK.svg create mode 100644 public/assets/images/flags/LR.svg create mode 100644 public/assets/images/flags/LS.svg create mode 100644 public/assets/images/flags/LT.svg create mode 100644 public/assets/images/flags/LU.svg create mode 100644 public/assets/images/flags/LV.svg create mode 100644 public/assets/images/flags/LY.svg create mode 100644 public/assets/images/flags/MA.svg create mode 100644 public/assets/images/flags/MC.svg create mode 100644 public/assets/images/flags/MD.svg create mode 100644 public/assets/images/flags/ME.svg create mode 100644 public/assets/images/flags/MF.svg create mode 100644 public/assets/images/flags/MG.svg create mode 100644 public/assets/images/flags/MH.svg create mode 100644 public/assets/images/flags/MK.svg create mode 100644 public/assets/images/flags/ML.svg create mode 100644 public/assets/images/flags/MM.svg create mode 100644 public/assets/images/flags/MN.svg create mode 100644 public/assets/images/flags/MO.svg create mode 100644 public/assets/images/flags/MP.svg create mode 100644 public/assets/images/flags/MQ.svg create mode 100644 public/assets/images/flags/MR.svg create mode 100644 public/assets/images/flags/MS.svg create mode 100644 public/assets/images/flags/MT.svg create mode 100644 public/assets/images/flags/MU.svg create mode 100644 public/assets/images/flags/MV.svg create mode 100644 public/assets/images/flags/MW.svg create mode 100644 public/assets/images/flags/MX.svg create mode 100644 public/assets/images/flags/MY.svg create mode 100644 public/assets/images/flags/MZ.svg create mode 100644 public/assets/images/flags/NA.svg create mode 100644 public/assets/images/flags/NC.svg create mode 100644 public/assets/images/flags/NE.svg create mode 100644 public/assets/images/flags/NF.svg create mode 100644 public/assets/images/flags/NG.svg create mode 100644 public/assets/images/flags/NI.svg create mode 100644 public/assets/images/flags/NL.svg create mode 100644 public/assets/images/flags/NO.svg create mode 100644 public/assets/images/flags/NP.svg create mode 100644 public/assets/images/flags/NR.svg create mode 100644 public/assets/images/flags/NU.svg create mode 100644 public/assets/images/flags/NZ.svg create mode 100644 public/assets/images/flags/OM.svg create mode 100644 public/assets/images/flags/PA.svg create mode 100644 public/assets/images/flags/PE.svg create mode 100644 public/assets/images/flags/PF.svg create mode 100644 public/assets/images/flags/PG.svg create mode 100644 public/assets/images/flags/PH.svg create mode 100644 public/assets/images/flags/PK.svg create mode 100644 public/assets/images/flags/PL.svg create mode 100644 public/assets/images/flags/PM.svg create mode 100644 public/assets/images/flags/PN.svg create mode 100644 public/assets/images/flags/PR.svg create mode 100644 public/assets/images/flags/PS.svg create mode 100644 public/assets/images/flags/PT.svg create mode 100644 public/assets/images/flags/PW.svg create mode 100644 public/assets/images/flags/PY.svg create mode 100644 public/assets/images/flags/QA.svg create mode 100644 public/assets/images/flags/RE.svg create mode 100644 public/assets/images/flags/RH.svg create mode 100644 public/assets/images/flags/RO.svg create mode 100644 public/assets/images/flags/RS.svg create mode 100644 public/assets/images/flags/RU.svg create mode 100644 public/assets/images/flags/RW.svg create mode 100644 public/assets/images/flags/SA.svg create mode 100644 public/assets/images/flags/SB.svg create mode 100644 public/assets/images/flags/SC.svg create mode 100644 public/assets/images/flags/SD.svg create mode 100644 public/assets/images/flags/SE.svg create mode 100644 public/assets/images/flags/SG.svg create mode 100644 public/assets/images/flags/SH.svg create mode 100644 public/assets/images/flags/SI.svg create mode 100644 public/assets/images/flags/SJ.svg create mode 100644 public/assets/images/flags/SK.svg create mode 100644 public/assets/images/flags/SL.svg create mode 100644 public/assets/images/flags/SM.svg create mode 100644 public/assets/images/flags/SN.svg create mode 100644 public/assets/images/flags/SO.svg create mode 100644 public/assets/images/flags/SR.svg create mode 100644 public/assets/images/flags/SS.svg create mode 100644 public/assets/images/flags/ST.svg create mode 100644 public/assets/images/flags/SV.svg create mode 100644 public/assets/images/flags/SV1.svg create mode 100644 public/assets/images/flags/SX.svg create mode 100644 public/assets/images/flags/SY.svg create mode 100644 public/assets/images/flags/SZ.svg create mode 100644 public/assets/images/flags/TC.svg create mode 100644 public/assets/images/flags/TD.svg create mode 100644 public/assets/images/flags/TF.svg create mode 100644 public/assets/images/flags/TG.svg create mode 100644 public/assets/images/flags/TH.svg create mode 100644 public/assets/images/flags/TJ.svg create mode 100644 public/assets/images/flags/TK.svg create mode 100644 public/assets/images/flags/TL.svg create mode 100644 public/assets/images/flags/TM.svg create mode 100644 public/assets/images/flags/TN.svg create mode 100644 public/assets/images/flags/TO.svg create mode 100644 public/assets/images/flags/TR.svg create mode 100644 public/assets/images/flags/TT.svg create mode 100644 public/assets/images/flags/TV.svg create mode 100644 public/assets/images/flags/TW.svg create mode 100644 public/assets/images/flags/TZ.svg create mode 100644 public/assets/images/flags/UG.svg create mode 100644 public/assets/images/flags/UK.svg create mode 100644 public/assets/images/flags/UK1.svg create mode 100644 public/assets/images/flags/UM.svg create mode 100644 public/assets/images/flags/US-CA.svg create mode 100644 public/assets/images/flags/US.svg create mode 100644 public/assets/images/flags/UY.svg create mode 100644 public/assets/images/flags/UZ.svg create mode 100644 public/assets/images/flags/VA.svg create mode 100644 public/assets/images/flags/VC.svg create mode 100644 public/assets/images/flags/VE.svg create mode 100644 public/assets/images/flags/VG.svg create mode 100644 public/assets/images/flags/VI.svg create mode 100644 public/assets/images/flags/VN.svg create mode 100644 public/assets/images/flags/VU.svg create mode 100644 public/assets/images/flags/WF.svg create mode 100644 public/assets/images/flags/WS.svg create mode 100644 public/assets/images/flags/XK.svg create mode 100644 public/assets/images/flags/YE.svg create mode 100644 public/assets/images/flags/YT.svg create mode 100644 public/assets/images/flags/ZA.svg create mode 100644 public/assets/images/flags/ZH.svg create mode 100644 public/assets/images/flags/ZM.svg create mode 100644 public/assets/images/flags/ZW.svg create mode 100644 public/assets/images/lightbox1.jpg create mode 100644 public/assets/images/lightbox2.jpeg create mode 100644 public/assets/images/lightbox3.jpeg create mode 100644 public/assets/images/lightbox4.jpeg create mode 100644 public/assets/images/lightbox5.jpeg create mode 100644 public/assets/images/lightbox6.jpeg create mode 100644 public/assets/images/logo-tca.png create mode 100644 public/assets/images/logo.svg create mode 100644 public/assets/images/menu-heade.jpg create mode 100644 public/assets/images/pongal.jfif create mode 100644 public/assets/images/profile-16.jpeg create mode 100644 public/assets/images/profile-34.jpeg create mode 100644 public/assets/images/user-profile.jpeg create mode 100644 public/demo-prepare.html create mode 100644 public/favicon.png create mode 100644 public/locales/ae.json create mode 100644 public/locales/da.json create mode 100644 public/locales/de.json create mode 100644 public/locales/el.json create mode 100644 public/locales/en.json create mode 100644 public/locales/es.json create mode 100644 public/locales/fr.json create mode 100644 public/locales/hu.json create mode 100644 public/locales/it.json create mode 100644 public/locales/ja.json create mode 100644 public/locales/pl.json create mode 100644 public/locales/pt.json create mode 100644 public/locales/ru.json create mode 100644 public/locales/sv.json create mode 100644 public/locales/tr.json create mode 100644 public/locales/zh.json create mode 100644 store/index.tsx create mode 100644 store/themeConfigSlice.tsx create mode 100644 styles/animate.css create mode 100644 styles/tailwind.css create mode 100644 tailwind.config.js create mode 100644 theme.config.tsx create mode 100644 tsconfig.json create mode 100644 utils/BaseUrl.utils.js create mode 100644 utils/CommonFunction.utils.tsx diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..89b75eb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..1c2aa65 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c87c9b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..9068716 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "semi": true, + "singleQuote": true, + "printWidth": 200 +} diff --git a/App.tsx b/App.tsx new file mode 100644 index 0000000..c77b676 --- /dev/null +++ b/App.tsx @@ -0,0 +1,40 @@ +'use client'; +import { PropsWithChildren, useEffect, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { IRootState } from '@/store'; +import { toggleRTL, toggleTheme, toggleMenu, toggleLayout, toggleAnimation, toggleNavbar, toggleSemidark } from '@/store/themeConfigSlice'; +import Loading from '@/components/layouts/loading'; +import { getTranslation } from '@/i18n'; + +function App({ children }: PropsWithChildren) { + const themeConfig = useSelector((state: IRootState) => state.themeConfig); + const dispatch = useDispatch(); + const { initLocale } = getTranslation(); + const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { + dispatch(toggleTheme(localStorage.getItem('theme') || themeConfig.theme)); + dispatch(toggleMenu(localStorage.getItem('menu') || themeConfig.menu)); + dispatch(toggleLayout(localStorage.getItem('layout') || themeConfig.layout)); + dispatch(toggleRTL(localStorage.getItem('rtlClass') || themeConfig.rtlClass)); + dispatch(toggleAnimation(localStorage.getItem('animation') || themeConfig.animation)); + dispatch(toggleNavbar(localStorage.getItem('navbar') || themeConfig.navbar)); + dispatch(toggleSemidark(localStorage.getItem('semidark') || themeConfig.semidark)); + // locale + initLocale(themeConfig.locale); + + setIsLoading(false); + }, [dispatch, initLocale, themeConfig.theme, themeConfig.menu, themeConfig.layout, themeConfig.rtlClass, themeConfig.animation, themeConfig.navbar, themeConfig.locale, themeConfig.semidark]); + + return ( +
+ {isLoading ? : children} +
+ ); +} + +export default App; diff --git a/README.md b/README.md new file mode 100644 index 0000000..965a122 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx new file mode 100644 index 0000000..483a128 --- /dev/null +++ b/app/(auth)/layout.tsx @@ -0,0 +1,7 @@ +import React from 'react'; + +const AuthLayout = ({ children }: { children: React.ReactNode }) => { + return
{children}
; +}; + +export default AuthLayout; diff --git a/app/(defaults)/create-event-gallery/page.tsx b/app/(defaults)/create-event-gallery/page.tsx new file mode 100644 index 0000000..2b5ef01 --- /dev/null +++ b/app/(defaults)/create-event-gallery/page.tsx @@ -0,0 +1,21 @@ + +'use client'; +export const dynamic = "force-dynamic"; +import CreateEventForm from '@/components/gallery/CreateEventForm'; +import CreateEventGalleryForm from '@/components/gallery/CreateEventGalleryForm'; +import { Metadata } from 'next'; +import { useSearchParams } from 'next/navigation'; +import React from 'react'; + +const CreateEventGallery = () => { + + const searchParams = useSearchParams() + const eventId = searchParams.get('eventid') + return ( + <> + + + ); +}; + +export default CreateEventGallery; diff --git a/app/(defaults)/create-event/page.tsx b/app/(defaults)/create-event/page.tsx new file mode 100644 index 0000000..1d921d8 --- /dev/null +++ b/app/(defaults)/create-event/page.tsx @@ -0,0 +1,17 @@ +import CreateEventForm from '@/components/gallery/CreateEventForm'; +import { Metadata } from 'next'; +import React from 'react'; + +export const metadata: Metadata = { + title: 'Create Event', +}; + +const CreateEvent = () => { + return ( + <> + + + ); +}; + +export default CreateEvent; diff --git a/app/(defaults)/edit-event/page.tsx b/app/(defaults)/edit-event/page.tsx new file mode 100644 index 0000000..f306eb6 --- /dev/null +++ b/app/(defaults)/edit-event/page.tsx @@ -0,0 +1,24 @@ +'use client' +export const dynamic = "force-dynamic"; +import CreateEventForm from '@/components/gallery/CreateEventForm'; +import EditEventForm from '@/components/gallery/EditEventForm'; +import { Metadata } from 'next'; +import { useSearchParams } from 'next/navigation'; +import React from 'react'; + +// export const metadata: Metadata = { +// title: 'Update Event', +// }; + +const CreateEvent = () => { + + const searchParams = useSearchParams() + const eventId = searchParams.get('event') + return ( + <> + + + ); +}; + +export default CreateEvent; diff --git a/app/(defaults)/event-gallery/page.tsx b/app/(defaults)/event-gallery/page.tsx new file mode 100644 index 0000000..c9b876c --- /dev/null +++ b/app/(defaults)/event-gallery/page.tsx @@ -0,0 +1,20 @@ +'use client' +export const dynamic = "force-dynamic"; +import CreateEventForm from '@/components/gallery/CreateEventForm'; +import ListOfEventsGallery from '@/components/gallery/ListOfEventGallery'; +import { Metadata } from 'next'; +import { useSearchParams } from 'next/navigation'; +import React from 'react'; + +const CreateEvent = () => { + + const searchParams = useSearchParams() + const eventId = searchParams.get('eventid') + return ( + <> + + + ); +}; + +export default CreateEvent; diff --git a/app/(defaults)/layout.tsx b/app/(defaults)/layout.tsx new file mode 100644 index 0000000..0c743f6 --- /dev/null +++ b/app/(defaults)/layout.tsx @@ -0,0 +1,45 @@ +import ContentAnimation from '@/components/layouts/content-animation'; +import Footer from '@/components/layouts/footer'; +import Header from '@/components/layouts/header'; +import MainContainer from '@/components/layouts/main-container'; +import Overlay from '@/components/layouts/overlay'; +import ScrollToTop from '@/components/layouts/scroll-to-top'; +import Setting from '@/components/layouts/setting'; +import Sidebar from '@/components/layouts/sidebar'; +import Portals from '@/components/portals'; + +export default function DefaultLayout({ children }: { children: React.ReactNode }) { + return ( + <> + {/* BEGIN MAIN CONTAINER */} +
+ + + + {/* BEGIN APP SETTING LAUNCHER */} + {/* */} + {/* END APP SETTING LAUNCHER */} + + + {/* BEGIN SIDEBAR */} + + {/* END SIDEBAR */} +
+ {/* BEGIN TOP NAVBAR */} +
+ {/* END TOP NAVBAR */} + + {/* BEGIN CONTENT AREA */} + {children} + {/* END CONTENT AREA */} + + {/* BEGIN FOOTER */} +
+ {/* END FOOTER */} + +
+
+
+ + ); +} diff --git a/app/(defaults)/page.tsx b/app/(defaults)/page.tsx new file mode 100644 index 0000000..b946bd1 --- /dev/null +++ b/app/(defaults)/page.tsx @@ -0,0 +1,17 @@ +import ListOfEvents from '@/components/gallery/ListOfEvents'; +import { Metadata } from 'next'; +import React from 'react'; + +export const metadata: Metadata = { + title: 'Sales Admin', +}; + +const Sales = () => { + return ( + <> + + + ); +}; + +export default Sales; diff --git a/app/icon.png b/app/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2f61b78c0c0f53d3f9d58adb8204e7832d4b9155 GIT binary patch literal 2806 zcmZ{mWmMA-7sr33umMscC7^`VU;_qhbV;KKN-DJhQ<{+$H3^YYsY$n#q@*x$gzy(> zX^_TI(lsCcZ=Q3W7tgupd%x#?@A;hj_D0_^(Pad2g8%?v)YsF#d*K5AijMZ8`vwQ^ z{X016-8BY)U=aWai2#6;izs9j0Q{f;ux<|k$W#Eh>h-?KRQX~->u9K}4gCGLvRjMZ z008}(zP5(BWd|`OD1m*6t23)|3(>SPn|os?hVyl9Cpg+P ziu*O^wrF&8Oqi))q=7OBVF1;02)a%Qig+AKbMSfjXGU5^W?pmAX)iyYo}7A_`O1ojObJZ=2{Z{I~c`+})0qTVj!^{HUm{y=xJzz+`&53NtPapDU>#`sY4WQLE#Oa7Z z*{PHQ>gp`?@3PDj-dEI2Gp!;k*r@vy^LQtp@oCF&xy>BlYN`;6k$q4q4cMjZa$p|V z76@btF#wL5pEs}-kwS)u1To)k6m3E%4rQ*-BDEa^>tCvt<_j22pmB-&gJ6o{5XDj3 zi&Kc*Y!3w3D46en?Hl;{3Aw@xu-#C{ma2V*93R`zPsLF%HhO{8YdFI~BR=nO+&jW6 zn`B4t0JB%<0hb$vYdvAkblZ|fNt6zATdrq2fWr4wIwC}%GHt3|MrR`q`po1KAwQa? zn3L6eb#-)v>*~&FtXQ#S$FPxL(DEo1u(MkL}6*X03Fm` zx^c5suZ=RtC|0VWd_w25b;wR8*8b;_qcyzs8^m=Qz91ni<(WFRIq_-i^ID#Y=i06Q zir4%R7$>tmEO}#?g*`>-$JK!xbRUJJ;jT&ADsF^G*$*3@n;yvoP3CDGXNyi=3oes> zT*%&q(8GaG#%)ugKk7Q4f^9zBi%IF zDsN@vS&UmpLtV>^hlH({e&A3xKh>+Vo|hhOa$m0B`VrX;Dw#R@{29hwR}IfYwA9NS zJ_~tV!2!!n*K+xUK<&AbgRDdxpVj`Zd;{SmZvP#-l6m#*gePICyOgkvS zC_{T3PULu0r*q>6{E&)SU0q56Ja)G`6(K5Csq`4`Yf2f#!`RiomRg_ z)vL0L;1i|@Sr1(v2YWEhIOR}&gLmOmd3 z=3$MVP`O+}IJc~K*KkL$amH`y+zyuQm!$m$8-}JiGC1E`mFo3#wR&U_ z_)Nq5I2$BC(l5v!fwvaDK|MaoB+EcqW|^k4!+!S5fMrJ&oNjVR1Ga?V^PFDzj=>ak zpC^@9mXMzzGa3oqzBsah!p(L6NBcwvu~s^9k>S*c7LOdSs7pPgXK=^nJ>SShSNt87 zHNwP6cqsyX$W{G?!P#;!eKpVc^dPO6`+G(p2$jN^^|bIhzMy%eb|lrn%H?(0@?*8f z#jpoVx03~#cC#i+5;1B9{{W($0OK+^{^;qy@T9;G4(ExJVd<7FfiVw4oM%@srQD6DqQt+Z@ z50hKxoIwj{06Jj;5tL;0FLK6O_l7F4)=Ofpp!WMf=hPEkx=2X>+nz6uZSjq_*sDm< zxb+O&b@|_3%#uMn5+Pd;^qQI>%KKQ1=R%Ho%t8-NK6*GqEpaPwJ*`h8WIKXc4amZz zXPS%ajMPq4@-)$@Q_YdBWn~&-{ca;~KmEEPq987V_~_Y&SjilZt0?G|4RqPq!4Dn+ z*4D<@`qHC0r}OQGD&^Tp7h|TQv|Z^esYI`zBv*IYo&e`AdV%9Q1eJh3UG4E@C9ueQ zL1n2ZlyiF*wsQe{u&;nnwcBfnv9Ne_^XR;bxHvP5WRA1+Id43({eyOOMPd7rp8Rq8AxKSh4b zb1rf?L#T^%AY|Dcjq$H*g;_@vjgk+*lrV-2Bqc?sR;WWZ z-8#}(mLaIJ0N%D8H(ru4_IL25g~l|l1cr{%P$QjJvOO+aq(x5`IsK5_9k*$VA1W)0pPQQMf_UYF3p`m;u84kLnv z>`9}A3eH|0+3Qha4{{W0gE@%J% literal 0 HcmV?d00001 diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..10d6deb --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,28 @@ +import ProviderComponent from '@/components/layouts/provider-component'; +import 'react-perfect-scrollbar/dist/css/styles.css'; +import '../styles/tailwind.css'; +import { Metadata } from 'next'; +import { Nunito } from 'next/font/google'; + +export const metadata: Metadata = { + title: { + template: 'Tamil Culture Association', + default: 'Tamil culture Association', + }, +}; +const nunito = Nunito({ + weight: ['400', '500', '600', '700', '800'], + subsets: ['latin'], + display: 'swap', + variable: '--font-nunito', +}); + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + + ); +} diff --git a/app/loading.tsx b/app/loading.tsx new file mode 100644 index 0000000..65a8328 --- /dev/null +++ b/app/loading.tsx @@ -0,0 +1,8 @@ +import Loading from '@/components/layouts/loading'; +import React from 'react'; + +const loading = () => { + return ; +}; + +export default loading; diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..f232f65 --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,26 @@ +import { Metadata } from 'next'; +import Link from 'next/link'; +import React from 'react'; + +export const metadata: Metadata = { + title: 'Error 404', +}; + +const NotFound = () => { + return ( +
+
+
+ 404 + 404 +

The page you requested was not found!

+ + Home + +
+
+
+ ); +}; + +export default NotFound; diff --git a/components/dropdown.tsx b/components/dropdown.tsx new file mode 100644 index 0000000..30bb517 --- /dev/null +++ b/components/dropdown.tsx @@ -0,0 +1,57 @@ +'use client'; +import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react'; +import { usePopper } from 'react-popper'; + +const Dropdown = (props: any, forwardedRef: any) => { + const [visibility, setVisibility] = useState(false); + + const referenceRef = useRef(); + const popperRef = useRef(); + + const { styles, attributes } = usePopper(referenceRef.current, popperRef.current, { + placement: props.placement || 'bottom-end', + modifiers: [ + { + name: 'offset', + options: { + offset: props.offset || [0], + }, + }, + ], + }); + + const handleDocumentClick = (event: any) => { + if (referenceRef.current.contains(event.target) || popperRef.current.contains(event.target)) { + return; + } + + setVisibility(false); + }; + + useEffect(() => { + document.addEventListener('mousedown', handleDocumentClick); + return () => { + document.removeEventListener('mousedown', handleDocumentClick); + }; + }, []); + + useImperativeHandle(forwardedRef, () => ({ + close() { + setVisibility(false); + }, + })); + + return ( + <> + + +
setVisibility(!visibility)}> + {visibility && props.children} +
+ + ); +}; + +export default forwardRef(Dropdown); diff --git a/components/gallery/CreateEventForm.tsx b/components/gallery/CreateEventForm.tsx new file mode 100644 index 0000000..945a207 --- /dev/null +++ b/components/gallery/CreateEventForm.tsx @@ -0,0 +1,233 @@ +'use client'; +import React, { useState, ChangeEvent, FormEvent } from 'react'; +import IconTrashLines from '../icon/icon-trash-lines'; +import axios from 'axios'; +import { useRouter } from 'next/navigation'; +import { showMessage } from '@/utils/CommonFunction.utils'; + +interface FormValues { + year: string; + eventdate: string; + eventtitle: string; + eventimageurl: File | null; + eventdescription: string; +} + +interface FormErrors { + [key: string]: string; +} + +const CreateEventForm: React.FC = () => { + + const router = useRouter() + + const [formData, setFormData] = useState({ + year: '', + eventdate: '', + eventtitle: '', + eventimageurl: null, + eventdescription: '', + }); + + const [errors, setErrors] = useState({}); + const [previewUrl, setPreviewUrl] = useState(null); + + const handleChange = (e: ChangeEvent) => { + const { name, value } = e.target; + setFormData(prev => ({ + ...prev, + [name]: value, + })); + }; + + const handleFileChange = (e: ChangeEvent) => { + const file = e.target.files?.[0] || null; + setFormData(prev => ({ + ...prev, + eventimageurl: file, + })); + + if (file) { + const url = URL.createObjectURL(file); + setPreviewUrl(url); + } else { + setPreviewUrl(null); + } + }; + + const validateForm = (): boolean => { + const newErrors: FormErrors = {}; + + if (!formData.year.trim()) newErrors.year = 'Year is required'; + if (!formData.eventdate.trim()) newErrors.eventdate = 'Event date is required'; + if (!formData.eventtitle.trim()) newErrors.eventtitle = 'Event title is required'; + if (!formData.eventimageurl) { + newErrors.eventimageurl = 'Please upload an image'; + } else if (!formData.eventimageurl.type.startsWith('image/')) { + newErrors.eventimageurl = 'Only image files are allowed'; + } + if (!formData.eventdescription.trim()) newErrors.eventdescription = 'Description is required'; + + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleSubmit = async (e: FormEvent) => { + e.preventDefault(); + if (!validateForm()) return; + console.log("formData", formData) + + + const data = new FormData(); + + if (formData.eventimageurl && formData.eventimageurl.type.startsWith("image/")) { + data.append("file", formData.eventimageurl); // ✅ Use correct field name + } + + try { + const ImageUpload = await axios.post(`https://api.tamilculturewaterloo.org/api/upload/single`, data, { + headers: { + "Content-Type": "multipart/form-data", // important for file upload + }, + }) + console.log("ImageUpload", ImageUpload) + const createData = { + year: formData.year, + eventdate: formData.eventdate, + eventtitle: formData.eventtitle, + eventdescription: formData.eventdescription, + eventimageurl: ImageUpload?.data?.data?.fullUrl + } + + const res = await axios.post(`https://api.tamilculturewaterloo.org/api/events`, createData) + console.log("res", res) + showMessage("Event Created Successfully", "success") + router?.push(`/`) + } catch (error: any) { + showMessage(`${error?.response?.data?.message ? error?.response?.data?.message : "error"}`) + + } + + }; + + const handleImageDelete = () => { + setFormData(prev => ({ + ...prev, + eventimageurl: null, + })); + setPreviewUrl(null); + }; + return ( +
+

Create Event

+ +
+
+ {/* Year */} +
+ + + {errors.year &&

{errors.year}

} +
+ + {/* Event Date */} +
+ + + {errors.eventdate &&

{errors.eventdate}

} +
+ + {/* Event Title */} +
+ + + {errors.eventtitle &&

{errors.eventtitle}

} +
+ + {/* Event Description */} +
+ +