Skip to content

Commit

Permalink
🏗️ Add E2E, Update Docs System
Browse files Browse the repository at this point in the history
- #60
  • Loading branch information
JaeSeoKim committed Sep 8, 2023
1 parent ee5036b commit 6ab3ba4
Show file tree
Hide file tree
Showing 118 changed files with 9,581 additions and 187 deletions.
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ esm
.next

stats.html
playwright-report

# docs

Expand Down
6 changes: 2 additions & 4 deletions dev/index.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
<!doctype html>
<html lang="en">
<html>
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
</head>
<body>
<div id="root"></div>
<body id="root">
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
6 changes: 5 additions & 1 deletion dev/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@
"preview": "vite preview"
},
"dependencies": {
"localforage": "^1.10.0",
"match-sorter": "^6.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-kakao-maps-sdk": "workspace:^"
"react-kakao-maps-sdk": "workspace:^",
"react-router-dom": "^6.15.0",
"sort-by": "^1.2.0"
},
"devDependencies": {
"@configs/eslint-config": "workspace:^",
Expand Down
66 changes: 14 additions & 52 deletions dev/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,59 +1,21 @@
import { Map, MapMarker, useKakaoLoader } from "react-kakao-maps-sdk"
import { Link } from "react-router-dom"
import { samples } from "./pages/samples/sampleList"

function App() {
useKakaoLoader({
appkey: import.meta.env.VITE_KAKAOMAP_API_KEY,
libraries: ["clusterer", "drawing", "services"],
})

const positions = [
{
title: "카카오",
latlng: { lat: 33.450705, lng: 126.570677 },
},
{
title: "생태연못",
latlng: { lat: 33.450936, lng: 126.569477 },
},
{
title: "텃밭",
latlng: { lat: 33.450879, lng: 126.56994 },
},
{
title: "근린공원",
latlng: { lat: 33.451393, lng: 126.570738 },
},
]

return (
<Map // 지도를 표시할 Container
center={{
// 지도의 중심좌표
lat: 33.450701,
lng: 126.570667,
}}
style={{
// 지도의 크기
width: "100%",
height: "450px",
}}
level={3} // 지도의 확대 레벨
>
{positions.map((position) => (
<MapMarker
key={`${position.title}-${position.latlng}`}
position={position.latlng} // 마커를 표시할 위치
image={{
src: "https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/markerStar.png", // 마커이미지의 주소입니다
size: {
width: 24,
height: 35,
}, // 마커이미지의 크기입니다
}}
title={position.title} // 마커의 타이틀, 마커에 마우스를 올리면 타이틀이 표시됩니다
/>
<>
<h1>react-kakao-maps-sdk dev server</h1>
<p>
<Link to={"/dev"}>dev page</Link>
</p>
<hr />
<h2>sample list</h2>
{samples.map((sample) => (
<p key={sample.path}>
<Link to={`/samples/${sample.path!}`}>{sample.path!}</Link>
</p>
))}
</Map>
</>
)
}

Expand Down
20 changes: 19 additions & 1 deletion dev/src/main.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,27 @@
import React from "react"
import ReactDOM from "react-dom/client"
import App from "./App.tsx"
import { RouterProvider, createBrowserRouter } from "react-router-dom"
import { Dev } from "./pages/dev.tsx"
import { samples } from "./pages/samples/sampleList.tsx"

const router = createBrowserRouter([
{
path: "/",
element: <App />,
},
{
path: "/dev",
element: <Dev />,
},
{
path: "/samples",
children: samples,
},
])

ReactDOM.createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<App />
<RouterProvider router={router} />
</React.StrictMode>,
)
25 changes: 25 additions & 0 deletions dev/src/pages/dev.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Map, useKakaoLoader } from "react-kakao-maps-sdk"

export function Dev() {
useKakaoLoader({
appkey: import.meta.env.VITE_KAKAOMAP_API_KEY,
libraries: ["clusterer", "drawing", "services"],
})

return (
<Map // 지도를 표시할 Container
id="map"
center={{
// 지도의 중심좌표
lat: 33.450701,
lng: 126.570667,
}}
style={{
// 지도의 크기
width: "100%",
height: "350px",
}}
level={3} // 지도의 확대 레벨
/>
)
}
23 changes: 23 additions & 0 deletions dev/src/pages/samples/basicMap.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { Map } from "react-kakao-maps-sdk"
import useKakaoLoader from "./useKakaoLoader"

export default function BasicMap() {
useKakaoLoader()

return (
<Map // 지도를 표시할 Container
id="map"
center={{
// 지도의 중심좌표
lat: 33.450701,
lng: 126.570667,
}}
style={{
// 지도의 크기
width: "100%",
height: "350px",
}}
level={3} // 지도의 확대 레벨
/>
)
}
51 changes: 51 additions & 0 deletions dev/src/pages/samples/moveMap.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import { useState } from "react"
import { Map } from "react-kakao-maps-sdk"
import useKakaoLoader from "./useKakaoLoader"

export default function MoveMap() {
useKakaoLoader()

const [state, setState] = useState({
// 지도의 초기 위치
center: { lat: 33.450701, lng: 126.570667 },
// 지도 위치 변경시 panto를 이용할지에 대해서 정의
isPanto: false,
})

return (
<>
<Map // 지도를 표시할 Container
center={state.center}
isPanto={state.isPanto}
style={{
// 지도의 크기
width: "100%",
height: "350px",
}}
level={3} // 지도의 확대 레벨
></Map>
<p>
<button
onClick={() =>
setState({
center: { lat: 33.452613, lng: 126.570888 },
isPanto: false,
})
}
>
지도 중심좌표 이동시키기
</button>{" "}
<button
onClick={() =>
setState({
center: { lat: 33.45058, lng: 126.574942 },
isPanto: true,
})
}
>
지도 중심좌표 부드럽게 이동시키기
</button>
</p>
</>
)
}
14 changes: 14 additions & 0 deletions dev/src/pages/samples/sampleList.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { RouteObject } from "react-router-dom"
import BasicMap from "./basicMap"
import MoveMap from "./moveMap"

export const samples: RouteObject[] = [
{
path: "basicMap",
element: <BasicMap />,
},
{
path: "moveMap",
element: <MoveMap />,
},
]
8 changes: 8 additions & 0 deletions dev/src/pages/samples/useKakaoLoader.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { useKakaoLoader as useKakaoLoaderOrigin } from "react-kakao-maps-sdk"

export default function useKakaoLoader() {
useKakaoLoaderOrigin({
appkey: import.meta.env.VITE_KAKAOMAP_API_KEY,
libraries: ["clusterer", "drawing", "services"],
})
}
3 changes: 3 additions & 0 deletions docs/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["@configs/eslint-config"]
}
File renamed without changes.
22 changes: 3 additions & 19 deletions docs/docs/sample/map/basicMap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,6 @@ sidebar_position: 1

> original docs : https://apis.map.kakao.com/web/sample/basicMap/
```jsx live
function(){
return (
<Map // 지도를 표시할 Container
center={{
// 지도의 중심좌표
lat: 33.450701,
lng: 126.570667,
}}
style={{
// 지도의 크기
width: "100%",
height: "450px",
}}
level={3} // 지도의 확대 레벨
/>
);
}
```
import codesource from "!!raw-loader!../../../../dev/src/pages/samples/basicMap.tsx"

<LiveEditor>{codesource}</LiveEditor>
54 changes: 2 additions & 52 deletions docs/docs/sample/map/moveMap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,56 +7,6 @@ sidebar_position: 2

> original docs : https://apis.map.kakao.com/web/sample/moveMap/
```jsx live
function(){
const [state, setState] = useState({
// 지도의 초기 위치
center: { lat: 33.452613, lng: 126.570888 },
// 지도 위치 변경시 panto를 이용할지에 대해서 정의
isPanto: false,
})
import codesource from "!!raw-loader!../../../../dev/src/pages/samples/moveMap.tsx"

return (
<>
<Map // 지도를 표시할 Container
center={state.center}
isPanto={state.isPanto}
style={{
// 지도의 크기
width: "100%",
height: "450px",
}}
level={3} // 지도의 확대 레벨
>
<div
style={{
display: "flex",
gap: "10px",
}}
>
<button
onClick={() =>
setState({
center: { lat: 33.452613, lng: 126.570888 },
isPanto: false,
})
}
>
지도 중심좌표 이동시키기
</button>
<button
onClick={() =>
setState({
center: { lat: 33.45058, lng: 126.574942 },
isPanto: true,
})
}
>
지도 중심좌표 부드럽게 이동시키기
</button>
</div>
</Map>
</>
)
}
```
<LiveEditor>{codesource}</LiveEditor>
5 changes: 5 additions & 0 deletions docs/docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint-disable */

const lightCodeTheme = require("prism-react-renderer/themes/github")
const darkCodeTheme = require("prism-react-renderer/themes/dracula")
const path = require("path")
Expand Down Expand Up @@ -154,6 +156,9 @@ module.exports = {
},
],
],
customFields: {
KAKAOMAP_API_KEY: process.env.KAKAOMAP_API_KEY,
},
scripts: [
`//dapi.kakao.com/v2/maps/sdk.js?appkey=${process.env.KAKAOMAP_API_KEY}&libraries=services,clusterer,drawing&autoload=false`,
],
Expand Down
Loading

0 comments on commit 6ab3ba4

Please sign in to comment.