diff --git a/packages/mobile/src/components/atoms/icon/svg/index.ts b/packages/mobile/src/components/atoms/icon/svg/index.ts
index 9aa5bc01..0c367df1 100644
--- a/packages/mobile/src/components/atoms/icon/svg/index.ts
+++ b/packages/mobile/src/components/atoms/icon/svg/index.ts
@@ -8,6 +8,7 @@ export { ReactComponent as man } from "./man.svg";
export { ReactComponent as map } from "./map.svg";
export { ReactComponent as notice } from "./notice.svg";
export { ReactComponent as subscribe } from "./subscribe.svg";
+export { ReactComponent as unSubscribe } from "./unSubscribe.svg";
export { ReactComponent as thinDiet } from "./thin-diet.svg";
export { ReactComponent as unalarm } from "./unalarm.svg";
export { ReactComponent as version } from "./version.svg";
diff --git a/packages/mobile/src/components/atoms/icon/svg/unSubscribe.svg b/packages/mobile/src/components/atoms/icon/svg/unSubscribe.svg
new file mode 100644
index 00000000..4c4b6f8a
--- /dev/null
+++ b/packages/mobile/src/components/atoms/icon/svg/unSubscribe.svg
@@ -0,0 +1,6 @@
+
diff --git a/packages/mobile/src/components/molecules/DeepLink/index.tsx b/packages/mobile/src/components/molecules/DeepLink/index.tsx
index c87e104d..20548057 100644
--- a/packages/mobile/src/components/molecules/DeepLink/index.tsx
+++ b/packages/mobile/src/components/molecules/DeepLink/index.tsx
@@ -1,8 +1,9 @@
-import {useState} from "react";
+import { useState } from "react";
+import { isIOS, isSafari } from "react-device-detect";
-import {Close, LongArrow} from "@components/atoms/icon";
+import { Close, LongArrow } from "@components/atoms/icon";
import classNames from "classnames";
-import {isWebView} from "src/utils/webview";
+import { isWebView } from "src/utils/webview";
import $ from "./style.module.scss";
@@ -13,8 +14,23 @@ function DeepLink() {
return (
-
,
portalRootRef.current,
diff --git a/packages/mobile/src/components/shared/SubscriptionNoticeGroup/index.tsx b/packages/mobile/src/components/shared/SubscriptionNoticeGroup/index.tsx
index 2204c1a8..a6d6eb25 100644
--- a/packages/mobile/src/components/shared/SubscriptionNoticeGroup/index.tsx
+++ b/packages/mobile/src/components/shared/SubscriptionNoticeGroup/index.tsx
@@ -7,11 +7,40 @@ import { DefaultProps } from "src/type/props";
import $ from "./style.module.scss";
type Props = {
+ isPreview?: boolean;
isNotice: boolean;
isSubscribe: boolean;
} & DefaultProps;
-function SubscriptionNoticeGroup({ isNotice, isSubscribe, className }: Props) {
+function SubscriptionNoticeGroup({
+ isPreview = false,
+ isNotice,
+ isSubscribe,
+ className,
+}: Props) {
+ if (isPreview) {
+ return (
+
+
+
+
+
+
+
+ );
+ }
+
return (
{isSubscribe && (
-
+
{isNotice ? (
) : (
diff --git a/packages/mobile/src/page/Article/Detail/style.module.scss b/packages/mobile/src/page/Article/Detail/style.module.scss
index 261de929..4ac6a75b 100644
--- a/packages/mobile/src/page/Article/Detail/style.module.scss
+++ b/packages/mobile/src/page/Article/Detail/style.module.scss
@@ -30,6 +30,11 @@
.content {
overflow-x: auto;
overflow-y: hidden;
+
+ img {
+ width: 100% !important;
+ height: auto !important;
+ }
}
.heart {
diff --git a/packages/mobile/src/page/Board/Article/index.tsx b/packages/mobile/src/page/Board/Article/index.tsx
index 5522ef91..ac6503e5 100644
--- a/packages/mobile/src/page/Board/Article/index.tsx
+++ b/packages/mobile/src/page/Board/Article/index.tsx
@@ -1,6 +1,8 @@
+import { useState } from "react";
import { useLocation } from "react-router-dom";
import { LeftArrow } from "@components/atoms/icon";
+import Drawer from "@components/molecules/Drawer";
import SubscriptionNoticeGroup from "@components/shared/SubscriptionNoticeGroup";
import FullPageModalTemplate from "@components/templates/FullPageModalTemplate";
import { useBoardQuery } from "@hooks/api/board";
@@ -11,6 +13,7 @@ import $ from "./style.module.scss";
function BoardArticle() {
const id = Number(useLocation().pathname.split("/").at(-1));
const { data: boardData } = useBoardQuery({ id });
+ const [ isOpen, setIsOpen ] = useState(false);
if (!boardData) return <>>;
@@ -26,16 +29,28 @@ function BoardArticle() {
}
right={
-
+ {
+ return setIsOpen(true);
+ }}
+ >
-
+
}
>
+
);
}
diff --git a/packages/mobile/src/page/Home/SuggestionModal/index.tsx b/packages/mobile/src/page/Home/SuggestionModal/index.tsx
index 6acd4ce9..5f301287 100644
--- a/packages/mobile/src/page/Home/SuggestionModal/index.tsx
+++ b/packages/mobile/src/page/Home/SuggestionModal/index.tsx
@@ -11,7 +11,7 @@ type Props = {
const TEMPERATURE_LIST = [
{
minTemp: 28,
- maxTemp: null,
+ maxTemp: 100,
displayTemp: "28°C~",
suggestionList: "민소매, 반팔, 반바지, 원피스",
},
@@ -52,7 +52,7 @@ const TEMPERATURE_LIST = [
suggestionList: "코트, 가죽자켓, 히트텍, 니트, 레깅스",
},
{
- minTemp: null,
+ minTemp: -100,
maxTemp: 4,
displayTemp: "~4°C",
suggestionList: "패딩, 두꺼운코트, 목도리, 기모제품",
diff --git a/packages/mobile/src/page/Setting/Main/constants.ts b/packages/mobile/src/page/Setting/Main/constants.ts
index 78bcb443..c135d512 100644
--- a/packages/mobile/src/page/Setting/Main/constants.ts
+++ b/packages/mobile/src/page/Setting/Main/constants.ts
@@ -56,7 +56,7 @@ type Props = {
const settingConfig = (cafeteria: string): Props => {
return {
대표식당: cafeteria,
- "앱 버전": "최신버전(0.0.0)",
+ "앱 버전": "최신버전(1.0.0)",
};
};
diff --git a/packages/mobile/src/page/Setting/Menu/index.tsx b/packages/mobile/src/page/Setting/Menu/index.tsx
index 0efd804d..f3cc8b82 100644
--- a/packages/mobile/src/page/Setting/Menu/index.tsx
+++ b/packages/mobile/src/page/Setting/Menu/index.tsx
@@ -32,6 +32,16 @@ function Menu({ route, config }: Props) {
}
};
+ if (label === "앱 버전") {
+ return (
+
+
+ {label}
+ {config && {config}}
+
+ );
+ }
+
return (
<>
{
+ return state.boardReducer.origin;
+ });
const handleBackClick = () => {
+ if (origin === "subscribe") {
+ return navigate("/article/subscribe");
+ }
if (pathname === "/setting") {
return navigate("/home");
}
diff --git "a/packages/scraper/src/notice-scraper/scripts/\352\263\265\352\263\274\353\214\200\355\225\231/\352\270\260\352\263\204\352\263\265\355\225\231\353\266\200.js" "b/packages/scraper/src/notice-scraper/scripts/\352\263\265\352\263\274\353\214\200\355\225\231/\352\270\260\352\263\204\352\263\265\355\225\231\353\266\200.js"
index 672038d4..36d30f86 100644
--- "a/packages/scraper/src/notice-scraper/scripts/\352\263\265\352\263\274\353\214\200\355\225\231/\352\270\260\352\263\204\352\263\265\355\225\231\353\266\200.js"
+++ "b/packages/scraper/src/notice-scraper/scripts/\352\263\265\352\263\274\353\214\200\355\225\231/\352\270\260\352\263\204\352\263\265\355\225\231\353\266\200.js"
@@ -1,13 +1,12 @@
import { boardTree } from "@shared/board-tree/board-tree.generated";
const script = {
- url: "https://me.chungbuk.ac.kr/index.php?mid=me_sub04",
+ url: "https://me.chungbuk.ac.kr/me5_1",
site_id: boardTree.전공.공과대학.기계공학부.공지사항.id,
site: "기계공학부",
category: "공지사항",
- noticeListSelector: "#bd_839_0 > div.bd_lst_wrp > table > tbody > tr",
- noticeContentsSelector:
- "#content > div.bd.hover_effect > div.rd.rd_nav_style2.clear > div.rd_body.clear > article",
+ noticeListSelector: "#bd_172_0 > div.bd_lst_wrp > table > tbody > tr",
+ noticeContentsSelector: "div.rd_body > article",
getNoticeList() {
const list = document.querySelectorAll(this.noticeListSelector);
return Array.from(list).map((item) => {
@@ -16,9 +15,9 @@ const script = {
site: this.site,
category: this.category,
site_id: this.site_id,
- title: td[2].innerText.trim(),
- url: td[2].querySelector("a").href.trim(),
- date: td[4].innerText.trim(),
+ title: td[1].innerText.trim(),
+ url: td[1].querySelector("a").href.trim(),
+ date: td[3].innerText.trim(),
};
});
},
diff --git "a/packages/scraper/src/notice-scraper/scripts/\352\263\265\355\206\265/\354\267\250\354\227\205\354\247\200\354\233\220\353\263\270\353\266\200\354\261\204\354\232\251\354\204\244\353\252\205\355\232\214.js" "b/packages/scraper/src/notice-scraper/scripts/\352\263\265\355\206\265/\354\267\250\354\227\205\354\247\200\354\233\220\353\263\270\353\266\200\354\261\204\354\232\251\354\204\244\353\252\205\355\232\214.js"
index 0bce1434..88f2b6b4 100644
--- "a/packages/scraper/src/notice-scraper/scripts/\352\263\265\355\206\265/\354\267\250\354\227\205\354\247\200\354\233\220\353\263\270\353\266\200\354\261\204\354\232\251\354\204\244\353\252\205\355\232\214.js"
+++ "b/packages/scraper/src/notice-scraper/scripts/\352\263\265\355\206\265/\354\267\250\354\227\205\354\247\200\354\233\220\353\263\270\353\266\200\354\261\204\354\232\251\354\204\244\353\252\205\355\232\214.js"
@@ -3,7 +3,7 @@ import { boardTree } from "@shared/board-tree/board-tree.generated";
import 취업지원본부공지사항 from "./취업지원본부공지사항";
const script = {
- url: "https://hrd.cbnu.ac.kr/board/board_list.asp?groupno=1&listno=2",
+ url: "http://hrd.chungbuk.ac.kr/board/board_list.asp?groupno=1&listno=2",
site_id: boardTree.공통.취업지원본부.채용설명회.id,
site: "취업지원본부",
category: "채용설명회",
diff --git a/packages/scraper/src/scraper/scraper.ts b/packages/scraper/src/scraper/scraper.ts
index 8c6d646a..22ffcbbf 100644
--- a/packages/scraper/src/scraper/scraper.ts
+++ b/packages/scraper/src/scraper/scraper.ts
@@ -35,9 +35,9 @@ export const scraping = async ({ scenario }: scrapingProps) => {
const stringScript = stringify(jsScript);
if (!stringScript) throw new Error("script 변환 오류");
- // 모든 이미지 URL을 절대경로로 전환
await scraper.evaluate(
- `document.querySelectorAll('img,iframe,frame').forEach(url=>url.src=url.src)`,
+ // 모든 이미지의 폭 사이즈를 100%로 통일 => 모바일뷰에서 잘보이도록
+ `document.querySelectorAll('img,iframe,frame').forEach(url=>url.src=url.src)`, // 모든 이미지 URL을 절대경로로 전환
);
await scraper.evaluate(`${namespace}=${stringScript}`);