{"version":3,"file":"static/chunks/pages/protection/rNumber-9f1917663902115f.js","mappings":"AACA","sources":["webpack://_N_E/?49c0","webpack://_N_E/./src/modules/landings/protection/components/ProtectHero.tsx","webpack://_N_E/./src/modules/landings/protection/commands/getProtectionByRNumberCommand.ts","webpack://_N_E/./src/modules/landings/protection/components/RNumberViewModel.tsx","webpack://_N_E/./src/modules/landings/protection/components/TrackingNumber.tsx","webpack://_N_E/./src/modules/landings/protection/components/TrackingResult.tsx","webpack://_N_E/./src/modules/landings/protection/components/TrackingNumberForm.tsx","webpack://_N_E/./src/modules/landings/protection/components/RNumberView.tsx","webpack://_N_E/./src/modules/landings/protection/components/ProtectDescriptionViewModel.tsx","webpack://_N_E/./src/modules/landings/protection/components/ProtectDescriptionView.tsx","webpack://_N_E/./src/modules/landings/protection/components/ProtectTab.tsx","webpack://_N_E/./src/modules/landings/protection/ProtectCenterPage.tsx","webpack://_N_E/./src/modules/landings/protection/commands/createCopyrightByUserCommand.ts","webpack://_N_E/./src/modules/landings/protection/factory/publisherListFactory.tsx","webpack://_N_E/./src/pages/protection/rNumber.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/protection/rNumber\",\n function () {\n return require(\"private-next-pages/protection/rNumber.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/protection/rNumber\"])\n });\n }\n ","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\\n height: 100%;\\n\\n @media (max-width: 1200px) {\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n width: 100%;\\n height: auto;\\n transform: translateY(-50%);\\n }\\n @media (max-width: 768px) {\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject1() {\n const data = _tagged_template_literal([\n \"\\n font-size: 48px;\\n font-weight: bold;\\n line-height: 1.5;\\n color: #fff;\\n margin: 0;\\n\\n @media (max-width: 1200px) {\\n font-size: 36px;\\n }\\n @media (max-width: 768px) {\\n font-size: 28px;\\n }\\n\"\n ]);\n _templateObject1 = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject2() {\n const data = _tagged_template_literal([\n \"\\n width: 100%;\\n color: white;\\n font-weight: bold;\\n text-align: center;\\n padding: 80px 0;\\n background-color: #281284;\\n\\n .hero_container {\\n height: 100%;\\n max-width: 996px;\\n padding: 0;\\n margin: 0 auto;\\n\\n img {\\n display: block;\\n flex: 1;\\n width: 100%;\\n max-width: 688px;\\n margin: 0 auto;\\n object-fit: cover;\\n }\\n }\\n\\n @media (max-width: 1200px) {\\n height: 280px;\\n padding: 0;\\n\\n .hero_container {\\n position: relative;\\n display: block;\\n\\n img {\\n width: 80%;\\n margin: 0 auto;\\n }\\n }\\n }\\n @media (max-width: 768px) {\\n height: 150px;\\n }\\n\"\n ]);\n _templateObject2 = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nconst HeroInner = styled.div.withConfig({\n componentId: \"sc-32bb5e65-0\"\n})(_templateObject());\nconst HeroTitle = styled.h1.withConfig({\n componentId: \"sc-32bb5e65-1\"\n})(_templateObject1());\nconst HeroWrapper = styled.div.withConfig({\n componentId: \"sc-32bb5e65-2\"\n})(_templateObject2());\nexport const ProtectHero = (param)=>{\n let {} = param;\n return /*#__PURE__*/ _jsx(HeroWrapper, {\n children: /*#__PURE__*/ _jsx(\"div\", {\n className: \"hero_container\",\n children: /*#__PURE__*/ _jsx(HeroInner, {\n children: /*#__PURE__*/ _jsxs(HeroTitle, {\n children: [\n \"R인증은 교육 콘텐츠의 \",\n /*#__PURE__*/ _jsx(\"br\", {}),\n \"저작권을 보호합니다.\"\n ]\n })\n })\n })\n });\n};\n","/**\n * R 인증번호 조회\n * @param r_number SearchRNumberQueryDTO\n * @returns Promise\n */ export class GetProtectionByRNumberCommand {\n execute(param) {\n let { r_number } = param;\n const url = \"/protection\";\n const params = new URLSearchParams();\n params.append(\"r_number\", r_number);\n return this.apiService.fetch(url, {\n params\n }).then((res)=>res.data);\n }\n constructor(apiService){\n this.apiService = apiService;\n }\n}\n","import { GetProtectionByRNumberCommand } from \"@/modules/landings/protection/commands/getProtectionByRNumberCommand\";\nimport { Modal } from \"antd\";\nimport { runInAction, toJS } from \"mobx\";\nimport { useLocalObservable } from \"mobx-react-lite\";\nimport { useEffect, useMemo } from \"react\";\nexport const RNumberViewModel = (param)=>{\n let { apiService } = param;\n const getProtectionRNumberCommand = useMemo(()=>new GetProtectionByRNumberCommand(apiService), [\n apiService\n ]);\n // const {authStore} = props\n const status = useLocalObservable(()=>({\n errors: [],\n initialized: false,\n loading: false,\n RNumberResult: [],\n resultStatus: false,\n initialStatus: {\n apiErrors: {}\n },\n initialValues: {\n number1: \"\",\n number2: \"\",\n number3: \"\",\n number4: \"\"\n }\n }));\n //\n const actions = useLocalObservable(()=>({\n async initialize (props) {\n status.RNumberResult = [];\n },\n async onSubmit (values, formikActions) {\n ;\n // status.resultStatus=true\n const dto = \"\".concat(values.number1, \"-\").concat(values.number2, \"-\").concat(values.number3, \"-\").concat(values.number4);\n ;\n try {\n const response = await getProtectionRNumberCommand.execute({\n r_number: dto\n });\n if (response.success) {\n status.RNumberResult = [\n response.protection\n ];\n ;\n status.resultStatus = true;\n actions.getResult();\n Modal.success({\n title: \"조회 성공\",\n content: \"조회결과를 확인해주세요\"\n });\n runInAction(()=>{\n status.resultStatus = true;\n });\n } else {\n Modal.error({\n title: \"조회에 실패했습니다.\",\n content: \"잠시 후 다시 시도해주세요.\"\n });\n }\n } catch (e) {\n status.RNumberResult = [];\n Modal.error({\n title: \"조회 결과가 없습니다\",\n content: \"다시 조회해주세요\"\n });\n } finally{\n formikActions.setSubmitting(false);\n formikActions.resetForm();\n }\n },\n getResult () {\n // status.resultStatus = true\n return status.RNumberResult;\n },\n dispose () {}\n }));\n useEffect(()=>{\n actions.initialize({});\n }, []);\n return useLocalObservable(()=>({\n status,\n actions\n }));\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\\n padding: 32px 100px 48px;\\n box-shadow: 0 7px 70px 0 rgba(0, 0, 0, 0.1);\\n background-color: #fff;\\n\\n .ant-row {\\n display: flex;\\n gap: 24px;\\n\\n @media (max-width: 1200px) {\\n }\\n @media (max-width: 768px) {\\n gap: 12px;\\n }\\n\\n .ant-col {\\n flex: 1;\\n\\n &:not(:nth-of-type(1)) {\\n .ant-form-item {\\n position: relative;\\n\\n &:before {\\n display: block;\\n content: '';\\n position: absolute;\\n bottom: 35px;\\n left: 0;\\n width: 24px;\\n height: 1px;\\n z-index: 9;\\n background-color: rgba(27, 27, 41, 0.3);\\n transform: translateX(-100%);\\n\\n @media (max-width: 1200px) {\\n }\\n @media (max-width: 768px) {\\n width: 12px;\\n bottom: 24px;\\n }\\n }\\n }\\n }\\n }\\n }\\n\\n @media (max-width: 1200px) {\\n padding: 24px;\\n margin: 0 36px;\\n }\\n @media (max-width: 768px) {\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject1() {\n const data = _tagged_template_literal([\n \"\\n width: 100%;\\n max-width: 996px;\\n text-align: center;\\n\\n &:not(:nth-of-type(1)) {\\n .title {\\n margin-top: 104px;\\n\\n @media (max-width: 1200px) {\\n margin-top: 72px;\\n }\\n @media (max-width: 768px) {\\n margin-top: 48px;\\n }\\n }\\n }\\n\\n .title {\\n font-size: 24px;\\n font-weight: bold;\\n color: \",\n \";\\n margin-top: 48px;\\n margin-bottom: 0;\\n\\n & + * {\\n margin-top: 40px;\\n }\\n\\n @media (max-width: 1200px) {\\n font-size: 20px;\\n }\\n @media (max-width: 768px) {\\n font-size: 18px;\\n margin-top: 36px;\\n\\n & + * {\\n margin: 24px 16px 0;\\n }\\n }\\n }\\n\\n .ant-table-wrapper {\\n @media (max-width: 1200px) {\\n margin-left: 36px;\\n margin-right: 36px;\\n }\\n @media (max-width: 768px) {\\n margin-left: 16px;\\n margin-right: 16px;\\n }\\n\\n .ant-spin-container {\\n .ant-table {\\n border-top: solid 1px #e8e8ea;\\n border-bottom: solid 1px #e8e8ea;\\n border-radius: 0;\\n background-color: #fdfdff;\\n\\n .ant-table-container {\\n .ant-table-content {\\n width: 100%;\\n overflow-x: auto;\\n\\n table {\\n min-width: 500px;\\n color: \",\n \";\\n border-radius: 0;\\n\\n tr {\\n &:hover {\\n td {\\n background-color: transparent;\\n }\\n }\\n }\\n\\n thead {\\n tr {\\n th {\\n font-size: 16px;\\n font-weight: bold;\\n color: \",\n \";\\n text-align: center;\\n padding: 13px 0;\\n border-bottom: solid 1px #e8e8ea;\\n background-color: rgba(27, 27, 41, 0.03);\\n\\n &:before {\\n display: none;\\n }\\n }\\n }\\n }\\n tbody {\\n tr {\\n td {\\n padding: 15px 0;\\n\\n &,\\n div {\\n font-size: 16px;\\n color: \",\n \";\\n text-align: center;\\n }\\n }\\n }\\n }\\n }\\n //.ant-table-tbody {\\n tr {\\n .ant-table-cell {\\n @media (max-width: 1200px) {\\n }\\n @media (max-width: 768px) {\\n font-size: 14px;\\n padding: 8px 0;\\n }\\n }\\n }\\n\\n // 테이블 데이터가 없을 때\\n .ant-table-placeholder {\\n .ant-table-cell {\\n .ant-empty {\\n .ant-empty-image {\\n display: none;\\n svg {\\n }\\n }\\n .ant-empty-description {\\n }\\n }\\n }\\n }\\n // 테이블 데이터가 있을 때\\n .ant-table-row {\\n .ant-table-cell {\\n div {\\n }\\n }\\n }\\n //}\\n }\\n }\\n }\\n .ant-pagination {\\n }\\n }\\n }\\n\"\n ]);\n _templateObject1 = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nimport { themeGet } from \"@styled-system/theme-get\";\nexport const FormWrapper = styled.div.withConfig({\n componentId: \"sc-4bceca6d-0\"\n})(_templateObject());\nexport const TrackingNumber = ()=>{\n return /*#__PURE__*/ _jsxs(Wrapper, {\n children: [\n /*#__PURE__*/ _jsxs(\"p\", {\n className: \"title\",\n children: [\n \"R인증 번호를 조회하여\",\n /*#__PURE__*/ _jsx(\"br\", {}),\n \"정당한 저작권 이용 여부를 확인하세요.\"\n ]\n }),\n /*#__PURE__*/ _jsx(FormWrapper, {})\n ]\n });\n};\nexport const Wrapper = styled.div.withConfig({\n componentId: \"sc-4bceca6d-1\"\n})(_templateObject1(), themeGet(\"color.0\", \"#1B1B29\"), themeGet(\"color.0\", \"#1B1B29\"), themeGet(\"color.0\", \"#1B1B29\"), themeGet(\"color.0\", \"#1B1B29\"))//\n;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Wrapper } from \"@/modules/landings/protection/components/TrackingNumber\";\nimport { Table } from \"antd\";\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nexport const TrackingResult = (param)=>{\n let { data } = param;\n var _dayjs, _data_;\n const expiredAt = (_dayjs = dayjs((_data_ = data[0]) === null || _data_ === void 0 ? void 0 : _data_.expired_at)) === null || _dayjs === void 0 ? void 0 : _dayjs.format(\"YYYY.MM.DD\");\n const columns = [\n {\n title: \"R인증 번호\",\n dataIndex: \"r_number\",\n key: \"r_number\"\n },\n {\n title: \"수업자료명\",\n dataIndex: \"book_name\",\n key: \"book_name\"\n },\n {\n title: \"저작자명\",\n dataIndex: \"name\",\n key: \"name\"\n },\n {\n title: \"만료일\",\n key: \"expired_at\",\n dataIndex: \"expired_at\",\n render: (date)=>{\n return /*#__PURE__*/ _jsx(\"div\", {\n style: {\n color: data[0].is_expired && \"red\"\n },\n children: data[0].is_expired ? \"\".concat(expiredAt, \"만료됨\") : expiredAt\n });\n }\n }\n ];\n return /*#__PURE__*/ _jsxs(Wrapper, {\n children: [\n /*#__PURE__*/ _jsx(\"p\", {\n className: \"title\",\n children: \"조회결과\"\n }),\n /*#__PURE__*/ _jsx(Table, {\n columns: columns,\n dataSource: data,\n locale: {\n emptyText: \"조회된 결과가 없습니다.\"\n },\n pagination: false\n })\n ]\n });\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\\n .text_r {\\n font-size: 24px;\\n font-weight: bold;\\n color: \",\n \";\\n margin-bottom: 36px;\\n\\n @media (max-width: 1200px) {\\n font-size: 20px;\\n margin-bottom: 24px;\\n }\\n @media (max-width: 768px) {\\n font-size: 18px;\\n margin-bottom: 16px;\\n }\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject1() {\n const data = _tagged_template_literal([\n \"\\n margin-bottom: 48px;\\n\\n @media (max-width: 1200px) {\\n margin-bottom: 36px;\\n }\\n @media (max-width: 768px) {\\n margin-bottom: 24px;\\n }\\n\\n .ant-row {\\n .ant-col {\\n .ant-form-item-control-input {\\n .ant-form-item-control-input-content {\\n .ant-input-affix-wrapper {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n border-bottom: solid 2px #1b1b29;\\n\\n &.ant-input-affix-wrapper-focused {\\n border-color: \",\n \";\\n }\\n }\\n\\n .ant-input {\\n font-size: 24px;\\n font-weight: bold;\\n color: \",\n \";\\n text-align: center;\\n padding: 16px 0;\\n border: 0;\\n }\\n\\n @media (max-width: 1200px) {\\n .ant-input {\\n font-size: 20px;\\n padding: 8px 0;\\n }\\n }\\n @media (max-width: 768px) {\\n .ant-input {\\n font-size: 16px;\\n }\\n }\\n }\\n }\\n }\\n }\\n\"\n ]);\n _templateObject1 = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject2() {\n const data = _tagged_template_literal([\n \"\\n background: #002fa8 !important;\\n\\n &:hover {\\n background: rgba(0, 47, 168, 0.9) !important;\\n }\\n \"\n ]);\n _templateObject2 = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject3() {\n const data = _tagged_template_literal([\n \"\\n background-color: rgba(27, 27, 41, 0.3) !important;\\n pointer-events: none;\\n \"\n ]);\n _templateObject3 = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject4() {\n const data = _tagged_template_literal([\n \"\\n display: block;\\n width: 384px;\\n height: 56px;\\n padding: 0;\\n margin: 0 auto;\\n box-shadow: 0 4px 4px 0 rgba(27, 27, 41, 0.3);\\n border-radius: 0;\\n \",\n \";\\n\\n span {\\n display: block;\\n font-size: 24px;\\n font-weight: bold;\\n color: #fff;\\n line-height: 54px;\\n }\\n\\n @media (max-width: 1200px) {\\n width: 200px;\\n\\n span {\\n font-size: 20px;\\n }\\n }\\n @media (max-width: 768px) {\\n span {\\n font-size: 18px;\\n }\\n }\\n\"\n ]);\n _templateObject4 = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject5() {\n const data = _tagged_template_literal([\n \"\"\n ]);\n _templateObject5 = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport styled, { css } from \"styled-components\";\nimport { getError } from \"@/components/Formik\";\nimport { Formik } from \"formik\";\nimport React from \"react\";\nimport * as Yup from \"yup\";\nimport { Form, FormItem, Input, SubmitButton } from \"formik-antd\";\nimport { Col, Row } from \"antd\";\nimport { themeGet } from \"@styled-system/theme-get\";\nimport { suffix } from \"@/components/Suffix\";\nconst StyledForm = styled(Form).withConfig({\n componentId: \"sc-f70aaece-0\"\n})(_templateObject(), themeGet(\"text.0\", \"#1B1B29\"));\nconst StyledFormItem = styled(FormItem).withConfig({\n componentId: \"sc-f70aaece-1\"\n})(_templateObject1(), themeGet(\"primary.0\", \"#002FA8\"), themeGet(\"text.0\", \"#1B1B29\"));\nconst StyledSubmitButton = styled(SubmitButton).withConfig({\n componentId: \"sc-f70aaece-2\"\n})(_templateObject4(), (props)=>props.clickable ? css(_templateObject2()) : css(_templateObject3()));\nexport const TrackingNumberFormSchema = Yup.object().shape({\n});\nconst TrackingNumberFormWrapper = styled.div.withConfig({\n componentId: \"sc-f70aaece-3\"\n})(_templateObject5());\nexport const TrackingNumberForm = (param)=>{\n let { name , onSubmit , forwardRef , initialStatus , initialValues , title } = param;\n return /*#__PURE__*/ _jsx(TrackingNumberFormWrapper, {\n children: /*#__PURE__*/ _jsx(Formik, {\n innerRef: (instance)=>{\n if (forwardRef) {\n forwardRef.current = instance;\n }\n },\n validationSchema: TrackingNumberFormSchema,\n onSubmit: onSubmit,\n initialValues: initialValues,\n initialStatus: initialStatus,\n children: (param)=>{\n let { handleChange , handleBlur , touched , errors , isValid , handleSubmit , setValues , values , isSubmitting , status } = param;\n const emailError = getError(\"email\", {\n touched,\n errors,\n status\n });\n const descriptionError = getError(\"description\", {\n touched,\n errors,\n status\n });\n ;\n return /*#__PURE__*/ _jsxs(StyledForm, {\n layout: \"vertical\",\n children: [\n /*#__PURE__*/ _jsx(\"p\", {\n className: \"text_r\",\n children: title\n }),\n /*#__PURE__*/ _jsxs(Row, {\n children: [\n /*#__PURE__*/ _jsx(Col, {\n children: /*#__PURE__*/ _jsx(StyledFormItem, {\n name: \"number1\",\n required: true,\n children: /*#__PURE__*/ _jsx(Input, {\n onChange: handleChange(\"number1\"),\n autoFocus: true,\n onBlur: handleBlur(\"number1\"),\n name: \"number1\",\n placeholder: \"2204\",\n maxLength: 4,\n suffix: suffix\n })\n })\n }),\n /*#__PURE__*/ _jsx(Col, {\n children: /*#__PURE__*/ _jsx(StyledFormItem, {\n name: \"number2\",\n required: true,\n children: /*#__PURE__*/ _jsx(Input, {\n onChange: handleChange(\"number2\"),\n autoFocus: true,\n onBlur: handleBlur(\"number2\"),\n name: \"number2\",\n placeholder: \"NETB\",\n maxLength: 4,\n suffix: suffix\n })\n })\n }),\n /*#__PURE__*/ _jsx(Col, {\n children: /*#__PURE__*/ _jsx(StyledFormItem, {\n name: \"number3\",\n required: true,\n children: /*#__PURE__*/ _jsx(Input, {\n onChange: handleChange(\"number3\"),\n autoFocus: true,\n onBlur: handleBlur(\"number3\"),\n name: \"number3\",\n placeholder: \"EN009\",\n maxLength: 5,\n suffix: suffix\n })\n })\n }),\n /*#__PURE__*/ _jsx(Col, {\n children: /*#__PURE__*/ _jsx(StyledFormItem, {\n name: \"number4\",\n required: true,\n children: /*#__PURE__*/ _jsx(Input, {\n onChange: handleChange(\"number4\"),\n autoFocus: true,\n onBlur: handleBlur(\"number4\"),\n name: \"number4\",\n placeholder: \"0710\",\n maxLength: 4,\n suffix: suffix\n })\n })\n })\n ]\n }),\n /*#__PURE__*/ _jsx(StyledSubmitButton, {\n disabled: !isValid || isSubmitting,\n onSubmit: handleSubmit,\n loading: isSubmitting,\n clickable: values.number1.length === 4 && values.number2.length === 4 && values.number3.length === 5 && values.number4.length === 4,\n children: \"조회\"\n })\n ]\n });\n }\n })\n });\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\\n body:has(&) {\\n .ant-input-affix-wrapper-focused {\\n border-color: \",\n \";\\n }\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject1() {\n const data = _tagged_template_literal([\n \"\"\n ]);\n _templateObject1 = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useViewModel } from \"@/lib/viewModels\";\nimport { RNumberViewModel } from \"./RNumberViewModel\";\nimport styled from \"styled-components\";\nimport { observer } from \"mobx-react-lite\";\nimport { FormWrapper, Wrapper } from \"@/modules/landings/protection/components/TrackingNumber\";\nimport { TrackingResult } from \"@/modules/landings/protection/components/TrackingResult\";\nimport React from \"react\";\nimport { TrackingNumberForm } from \"@/modules/landings/protection/components/TrackingNumberForm\";\nimport { themeGet } from \"@styled-system/theme-get\";\nimport { useApiService } from \"@/lib/apiService\";\nexport const TrackingNumberFormViewWrapper = styled.div.withConfig({\n componentId: \"sc-17556ec6-0\"\n})(_templateObject(), themeGet(\"primary.0\", \"#002FA8\"));\nconst RNumberViewWrapper = styled.div.withConfig({\n componentId: \"sc-17556ec6-1\"\n})(_templateObject1());\nexport const RNumberView = observer((props)=>{\n const apiService = useApiService();\n const { status , actions } = useViewModel({\n apiService\n }, RNumberViewModel);\n ;\n return /*#__PURE__*/ _jsxs(RNumberViewWrapper, {\n children: [\n /*#__PURE__*/ _jsxs(Wrapper, {\n children: [\n /*#__PURE__*/ _jsxs(\"p\", {\n className: \"title\",\n children: [\n \"R인증 번호를 조회하여\",\n /*#__PURE__*/ _jsx(\"br\", {}),\n \"정당한 저작권 이용 여부를 확인하세요.\"\n ]\n }),\n /*#__PURE__*/ _jsx(FormWrapper, {\n children: /*#__PURE__*/ _jsx(TrackingNumberFormViewWrapper, {\n children: /*#__PURE__*/ _jsx(TrackingNumberForm, {\n title: \"R인증 번호 조회\",\n name: \"TrackingNumberForm\",\n initialStatus: status.initialStatus,\n initialValues: status.initialValues,\n onSubmit: actions.onSubmit\n })\n })\n })\n ]\n }),\n /*#__PURE__*/ _jsx(TrackingResult, {\n data: status.RNumberResult\n })\n ]\n });\n});\n","import { useLocalObservable } from \"mobx-react-lite\";\nimport { useMemo } from \"react\";\nimport { CreateCopyrightByUserCommand } from \"@/modules/landings/protection/commands/createCopyrightByUserCommand\";\nimport { Modal } from \"antd\";\nimport { publisherListFactory } from \"@/modules/landings/protection/factory/publisherListFactory\";\nconst loginModal = ()=>{\n const modal = Modal.success({\n title: \"완료\",\n content: \"신고가 완료되었습니다.\",\n okButtonProps: {\n style: {\n display: \"none\"\n }\n }\n });\n setTimeout(()=>{\n modal.destroy();\n }, 1500);\n};\nexport const ProtectDescriptionViewModel = (param)=>{\n let { authStore , apiService } = param;\n const submitCopyrightInquiryCommand = useMemo(()=>new CreateCopyrightByUserCommand(apiService), [\n apiService\n ]);\n const status = useLocalObservable(()=>({\n errors: [],\n initialized: false,\n initialStatus: {\n apiErrors: {}\n },\n loading: false,\n modalOpen: false,\n _publisherOptions: [],\n imageFileList: [],\n pdfFileList: [],\n initialValues: {\n type: \"normal\",\n title: \"\",\n channel: null,\n fileData: [],\n profit: \"영리\",\n fileImage: [],\n link: \"\",\n name: \"\",\n publisher: \"\",\n is_know_date: false,\n content: \"\",\n status: \"신고됨\",\n start_date: null\n }\n }));\n const actions = useLocalObservable(()=>({\n onSetPdfFile (file) {\n ;\n status.pdfFileList = [\n ...status.pdfFileList,\n ...file\n ];\n },\n onSetImageFile (file) {\n ;\n status.imageFileList = [\n ...status.imageFileList,\n ...file\n ];\n },\n async onSubmit (values, formikActions) {\n //@todo date value\n formikActions.setSubmitting(true);\n try {\n const response = await submitCopyrightInquiryCommand.execute(values);\n ;\n ;\n if (response.success) {\n status.modalOpen = false;\n loginModal();\n formikActions.resetForm();\n } else {\n Modal.error({\n title: \"\",\n content: \"오류가 발생한 것 같습니다. 새로고침 후 다시 시도해주세요.\"\n });\n }\n } catch (error) {\n Modal.error({\n title: error.message,\n content: \"오류가 발생한 것 같습니다. 새로고침 후 다시 시도해주세요.\"\n });\n } finally{\n //팝업창\n // protectReportCompleted()\n // formikActions.setSubmitting(false)\n }\n },\n get publisherOptions () {\n //todo 추후 커맨드 생성될 예정\n status._publisherOptions = publisherListFactory();\n return status._publisherOptions;\n },\n dispose () {}\n }));\n return {\n status,\n actions\n };\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useViewModel } from \"@/lib/viewModels\";\nimport { ProtectDescriptionViewModel } from \"./ProtectDescriptionViewModel\";\nimport styled from \"styled-components\";\nimport { observer } from \"mobx-react-lite\";\nimport { ProtectDescription } from \"./ProtectDescription\";\nimport { useApiService } from \"@/lib/apiService\";\nconst ProtectDescriptionViewWrapper = styled.div.withConfig({\n componentId: \"sc-b6fd5fe2-0\"\n})(_templateObject());\nexport const ProtectDescriptionView = observer((props)=>{\n const apiService = useApiService();\n const { status , actions } = useViewModel({\n apiService\n }, ProtectDescriptionViewModel);\n return /*#__PURE__*/ _jsx(ProtectDescriptionViewWrapper, {\n children: /*#__PURE__*/ _jsx(ProtectDescription, {\n onClick: ()=>status.modalOpen = !status.modalOpen,\n modalOpen: status.modalOpen,\n initialValues: status.initialValues,\n onSubmit: actions.onSubmit,\n publisherOptions: actions.publisherOptions,\n onSetImageFile: actions.onSetImageFile,\n onSetPdfFile: actions.onSetPdfFile\n })\n });\n});\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\\n position: relative;\\n z-index: 9;\\n\\n .ant-tabs {\\n display: block;\\n background-color: #ff4c11;\\n\\n .ant-tabs-nav {\\n max-width: 996px;\\n height: 72px;\\n margin: 0 auto;\\n\\n @media (max-width: 1200px) {\\n height: 64px;\\n }\\n @media (max-width: 768px) {\\n height: 56px;\\n\\n & > * {\\n display: none;\\n\\n &.ant-tabs-nav-wrap {\\n display: block;\\n }\\n }\\n }\\n\\n .ant-tabs-nav-wrap {\\n .ant-tabs-nav-list {\\n position: relative;\\n display: flex;\\n width: 100%;\\n\\n .ant-tabs-tab {\\n flex: 1;\\n text-align: center;\\n padding: 0;\\n\\n .ant-tabs-tab-btn {\\n width: 100%;\\n height: 100%;\\n font-size: 24px;\\n font-weight: normal;\\n color: rgba(255, 255, 255, 0.7);\\n line-height: 70px;\\n padding: 0 30px;\\n\\n &[aria-selected='false']:hover {\\n opacity: 0.7;\\n }\\n }\\n\\n &.ant-tabs-tab-active {\\n .ant-tabs-tab-btn {\\n font-weight: bold;\\n color: #fff;\\n }\\n }\\n\\n @media (max-width: 1200px) {\\n margin-left: 0;\\n\\n .ant-tabs-tab-btn {\\n font-size: 20px;\\n line-height: 56px;\\n }\\n }\\n @media (max-width: 768px) {\\n .ant-tabs-tab-btn {\\n font-size: 16px;\\n }\\n }\\n }\\n\\n .ant-tabs-ink-bar {\\n position: absolute;\\n bottom: 0;\\n display: inline-block;\\n width: 14px !important;\\n height: 14px;\\n margin-left: 25%;\\n transform: translate(-50%, 50%) rotate(135deg);\\n background-color: #fff;\\n }\\n }\\n }\\n }\\n\\n .ant-tabs-content-holder {\\n .ant-tabs-content {\\n .ant-tabs-tabpane {\\n }\\n }\\n }\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction _templateObject1() {\n const data = _tagged_template_literal([\n \"\\n background-color: #fdfdff;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n padding-bottom: 76px;\\n\"\n ]);\n _templateObject1 = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport { Tabs } from \"antd\";\nimport styled from \"styled-components\";\nimport { RNumberView } from \"@/modules/landings/protection/components/RNumberView\";\nimport { ProtectDescriptionView } from \"@/modules/landings/protection/components/ProtectDescriptionView\";\nconst onChange = (key)=>{\n ;\n};\nconst RAuthTabWrapper = styled.div.withConfig({\n componentId: \"sc-e13438e9-0\"\n})(_templateObject());\nconst Wrapper = styled.div.withConfig({\n componentId: \"sc-e13438e9-1\"\n})(_templateObject1());\nexport const ProtectTab = (props)=>{\n return /*#__PURE__*/ _jsx(RAuthTabWrapper, {\n children: /*#__PURE__*/ _jsxs(Tabs, {\n defaultActiveKey: \"1\",\n children: [\n /*#__PURE__*/ _jsx(Tabs.TabPane, {\n tab: \"R인증이란?\",\n children: /*#__PURE__*/ _jsx(ProtectDescriptionView, {})\n }, \"1\"),\n /*#__PURE__*/ _jsx(Tabs.TabPane, {\n tab: \"R인증 번호 조회\",\n children: /*#__PURE__*/ _jsx(Wrapper, {\n children: /*#__PURE__*/ _jsx(RNumberView, {})\n })\n }, \"2\")\n ]\n })\n });\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport { ProtectHero } from \"./components/ProtectHero\";\nimport { ProtectTab } from \"./components/ProtectTab\";\nimport styled from \"styled-components\";\nconst ProtectCenterPageWrapper = styled.div.withConfig({\n componentId: \"sc-9255d34-0\"\n})(_templateObject());\nexport const ProtectCenterPage = ()=>{\n return /*#__PURE__*/ _jsxs(ProtectCenterPageWrapper, {\n children: [\n /*#__PURE__*/ _jsx(ProtectHero, {}),\n /*#__PURE__*/ _jsx(ProtectTab, {})\n ]\n });\n};\n","/**\n * 저작권 침해내역 신고\n * @param dto CreateCopyrightByUserDTO\n * @returns Promise\n */ export class CreateCopyrightByUserCommand {\n execute(dto) {\n const url = \"/copyright\";\n return this.apiService.fetch(url, {\n method: \"POST\",\n data: dto\n }).then((res)=>res.data);\n }\n constructor(apiService){\n this.apiService = apiService;\n }\n}\n","export const publisherListFactory = ()=>{\n return [\n {\n value: \"천재교육\",\n label: \"천재교육\"\n },\n {\n value: \"YBM\",\n label: \"YBM\"\n },\n {\n value: \"NE능률\",\n label: \"NE능률\"\n },\n {\n value: \"동아출판사\",\n label: \"동아출판사\"\n },\n {\n value: \"지학사\",\n label: \"지학사\"\n },\n {\n value: \"더멘토\",\n label: \"더멘토\"\n },\n {\n value: \"미래엔\",\n label: \"미래엔\"\n },\n {\n value: \"금성출판사\",\n label: \"금성출판사\"\n },\n {\n value: \"해냄에듀\",\n label: \"해냄에듀\"\n },\n {\n value: \"다락원\",\n label: \"다락원\"\n },\n {\n value: \"교학사\",\n label: \"교학사\"\n },\n {\n value: \"창비\",\n label: \"창비\"\n },\n {\n value: \"좋은책신사고\",\n label: \"좋은책신사고\"\n },\n {\n value: \"개념원리\",\n label: \"개념원리\"\n },\n {\n value: \"EBS한국교육방송공사\",\n label: \"EBS한국교육방송공사\"\n },\n {\n value: \"수경출판사\",\n label: \"수경출판사\"\n },\n {\n value: \"골드교육\",\n label: \"골드교육\"\n },\n {\n value: \"기탄교육\",\n label: \"기탄교육\"\n },\n {\n value: \"길벗\",\n label: \"길벗\"\n },\n {\n value: \"대교\",\n label: \"대교\"\n },\n {\n value: \"디딤돌교육\",\n label: \"디딤돌교육\"\n },\n {\n value: \"마더텅\",\n label: \"마더텅\"\n },\n {\n value: \"마플\",\n label: \"마플\"\n },\n {\n value: \"메가스터디\",\n label: \"메가스터디\"\n },\n {\n value: \"성지출판사\",\n label: \"성지출판사\"\n },\n {\n value: \"쎄듀\",\n label: \"쎄듀\"\n },\n {\n value: \"쏠티북스\",\n label: \"쏠티북스\"\n },\n {\n value: \"아름다운샘\",\n label: \"아름다운샘\"\n },\n {\n value: \"에이급출판사\",\n label: \"에이급출판사\"\n },\n {\n value: \"오르비북스\",\n label: \"오르비북스\"\n },\n {\n value: \"이룸이앤비\",\n label: \"이룸이앤비\"\n },\n {\n value: \"이투스북\",\n label: \"이투스북\"\n },\n {\n value: \"진학사\",\n label: \"키출판사\"\n },\n {\n value: \"해커스\",\n label: \"해커스\"\n }\n ];\n};\n","import { _ as _tagged_template_literal } from \"@swc/helpers/_/_tagged_template_literal\";\nfunction _templateObject() {\n const data = _tagged_template_literal([\n \"\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { View } from \"@/components\";\nimport * as React from \"react\";\nimport styled from \"styled-components\";\nimport { ProtectCenterPage } from \"@/modules/landings/protection/ProtectCenterPage\";\nconst ProtectionReportPageWrapper = styled(View).withConfig({\n componentId: \"sc-fbd9634a-0\"\n})(_templateObject());\nconst ProtectionrNumber = ()=>{\n return /*#__PURE__*/ _jsx(ProtectionReportPageWrapper, {\n children: /*#__PURE__*/ _jsx(ProtectCenterPage, {})\n });\n};\nexport default ProtectionrNumber;\n"],"names":[],"sourceRoot":""}