Skip to content

Commit 514edc1

Browse files
committed
feat: iframe埋め込み
1 parent f84a880 commit 514edc1

54 files changed

Lines changed: 29285 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

HSDictionary/admin/admin.css

Lines changed: 1322 additions & 0 deletions
Large diffs are not rendered by default.

HSDictionary/admin/admin.js

Lines changed: 1708 additions & 0 deletions
Large diffs are not rendered by default.

HSDictionary/admin/index.html

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
<!DOCTYPE html>
2+
<html lang="ja">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>VKC メソッドリファレンス - 管理画面</title>
7+
8+
<!-- Google Material Icons -->
9+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
10+
11+
<!-- 管理画面スタイル -->
12+
<link rel="stylesheet" href="admin.css">
13+
</head>
14+
<body>
15+
<div class="admin-container">
16+
<!-- ヘッダー -->
17+
<header class="admin-header">
18+
<div class="header-left">
19+
<span class="material-icons">settings</span>
20+
<h1>VKC メソッドリファレンス 管理画面</h1>
21+
</div>
22+
<div class="header-right">
23+
<a href="../" class="view-site-btn">
24+
<span class="material-icons">visibility</span>
25+
トップへ
26+
</a>
27+
<button class="save-all-btn" id="save-all-btn" disabled>
28+
<span class="material-icons">save</span>
29+
すべて保存
30+
</button>
31+
</div>
32+
</header>
33+
34+
<div class="admin-body">
35+
<!-- サイドバー -->
36+
<nav class="admin-sidebar">
37+
<div class="nav-item active" data-section="itemtypes">
38+
<span class="material-icons">widgets</span>
39+
<span class="nav-label">ItemType</span>
40+
</div>
41+
<div class="nav-item" data-section="categories">
42+
<span class="material-icons">category</span>
43+
<span class="nav-label">カテゴリー</span>
44+
</div>
45+
<div class="nav-item" data-section="methods">
46+
<span class="material-icons">code</span>
47+
<span class="nav-label">メソッド</span>
48+
</div>
49+
<div class="nav-item" data-section="topics">
50+
<span class="material-icons">school</span>
51+
<span class="nav-label">トピック</span>
52+
</div>
53+
</nav>
54+
55+
<!-- メインコンテンツ -->
56+
<main class="admin-main">
57+
<!-- ローディング表示 -->
58+
<div class="loading" id="loading">
59+
<span class="material-icons spin">sync</span>
60+
<p>データを読み込み中...</p>
61+
</div>
62+
63+
<!-- ItemType管理セクション -->
64+
<section class="admin-section" id="section-itemtypes" style="display:none;">
65+
<div class="section-header">
66+
<h2><span class="material-icons">widgets</span> ItemType管理</h2>
67+
<button class="add-btn" id="add-itemtype">
68+
<span class="material-icons">add</span>
69+
ItemType追加
70+
</button>
71+
</div>
72+
<div class="section-content">
73+
<div class="list-container" id="itemtype-list"></div>
74+
</div>
75+
</section>
76+
77+
<!-- カテゴリー管理セクション -->
78+
<section class="admin-section" id="section-categories" style="display:none;">
79+
<div class="section-header">
80+
<h2><span class="material-icons">category</span> カテゴリー管理</h2>
81+
<button class="add-btn" id="add-category">
82+
<span class="material-icons">add</span>
83+
カテゴリー追加
84+
</button>
85+
</div>
86+
<div class="section-content">
87+
<div class="list-container" id="category-list"></div>
88+
</div>
89+
</section>
90+
91+
<!-- メソッド管理セクション -->
92+
<section class="admin-section" id="section-methods" style="display:none;">
93+
<div class="section-header">
94+
<h2><span class="material-icons">code</span> メソッド管理</h2>
95+
<div class="section-actions">
96+
<div class="custom-dropdown" id="method-category-filter">
97+
<button class="dropdown-trigger" type="button">
98+
<span class="material-icons dropdown-icon">filter_list</span>
99+
<span class="dropdown-label">すべてのカテゴリー</span>
100+
<span class="material-icons dropdown-arrow">expand_more</span>
101+
</button>
102+
<div class="dropdown-menu">
103+
<div class="dropdown-item selected" data-value="">すべてのカテゴリー</div>
104+
</div>
105+
</div>
106+
<div class="search-box-container">
107+
<span class="material-icons">search</span>
108+
<input type="text" class="search-input" id="method-search" placeholder="メソッド名で検索...">
109+
</div>
110+
<button class="add-btn" id="add-method">
111+
<span class="material-icons">add</span>
112+
メソッド追加
113+
</button>
114+
</div>
115+
</div>
116+
<div class="section-content">
117+
<div class="list-container" id="method-list"></div>
118+
</div>
119+
</section>
120+
121+
<!-- トピック管理セクション -->
122+
<section class="admin-section" id="section-topics" style="display:none;">
123+
<div class="section-header">
124+
<h2><span class="material-icons">school</span> トピック管理</h2>
125+
<button class="add-btn" id="add-topic">
126+
<span class="material-icons">add</span>
127+
トピック追加
128+
</button>
129+
</div>
130+
<div class="section-content">
131+
<div class="list-container" id="topic-list"></div>
132+
</div>
133+
</section>
134+
</main>
135+
</div>
136+
137+
<!-- ステータスバー -->
138+
<footer class="admin-footer">
139+
<div class="status-left">
140+
<span class="status-indicator" id="status-indicator"></span>
141+
<span class="status-text" id="status-text">準備完了</span>
142+
</div>
143+
<div class="status-right">
144+
<span class="change-count" id="change-count">変更なし</span>
145+
</div>
146+
</footer>
147+
</div>
148+
149+
<!-- 編集モーダル(共通) -->
150+
<div class="modal-overlay" id="modal-overlay">
151+
<div class="modal" id="edit-modal">
152+
<div class="modal-header">
153+
<h3 id="modal-title">編集</h3>
154+
<button class="modal-close" id="modal-close">
155+
<span class="material-icons">close</span>
156+
</button>
157+
</div>
158+
<div class="modal-body" id="modal-body">
159+
<!-- 動的に生成 -->
160+
</div>
161+
<div class="modal-footer">
162+
<button class="btn btn-secondary" id="modal-cancel">キャンセル</button>
163+
<button class="btn btn-primary" id="modal-save">保存</button>
164+
</div>
165+
</div>
166+
</div>
167+
168+
<!-- アイコンピッカーモーダル -->
169+
<div class="modal-overlay" id="icon-picker-overlay">
170+
<div class="modal icon-picker-modal">
171+
<div class="modal-header">
172+
<h3>アイコンを選択</h3>
173+
<button class="modal-close" id="icon-picker-close">
174+
<span class="material-icons">close</span>
175+
</button>
176+
</div>
177+
<div class="modal-body">
178+
<div class="icon-search-container">
179+
<span class="material-icons">search</span>
180+
<input type="text" class="icon-search" id="icon-search" placeholder="アイコンを検索...">
181+
</div>
182+
<div class="icon-grid" id="icon-grid"></div>
183+
<div class="icon-manual">
184+
<label>または手入力:</label>
185+
<input type="text" class="icon-manual-input" id="icon-manual-input" placeholder="アイコン名を入力">
186+
</div>
187+
</div>
188+
<div class="modal-footer">
189+
<button class="btn btn-secondary" id="icon-picker-cancel">キャンセル</button>
190+
<button class="btn btn-primary" id="icon-picker-select">選択</button>
191+
</div>
192+
</div>
193+
</div>
194+
195+
<!-- 削除確認モーダル -->
196+
<div class="modal-overlay" id="delete-confirm-overlay">
197+
<div class="modal delete-confirm-modal">
198+
<div class="modal-header">
199+
<h3>削除確認</h3>
200+
<button class="modal-close" id="delete-confirm-close">
201+
<span class="material-icons">close</span>
202+
</button>
203+
</div>
204+
<div class="modal-body">
205+
<p id="delete-confirm-message">この項目を削除してもよろしいですか?</p>
206+
</div>
207+
<div class="modal-footer">
208+
<button class="btn btn-secondary" id="delete-confirm-cancel">キャンセル</button>
209+
<button class="btn btn-danger" id="delete-confirm-ok">削除</button>
210+
</div>
211+
</div>
212+
</div>
213+
214+
<!-- 通知トースト -->
215+
<div class="toast" id="toast">
216+
<span class="material-icons toast-icon" id="toast-icon">check_circle</span>
217+
<span class="toast-message" id="toast-message"></span>
218+
</div>
219+
220+
<!-- JavaScript -->
221+
<script src="admin.js"></script>
222+
</body>
223+
</html>

0 commit comments

Comments
 (0)