wave-twinx 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wave/Web/index.html +208 -0
- wave/Web/script.js +1025 -0
- wave/Web/style.css +942 -0
- wave/__init__.py +0 -0
- wave/__main__.py +3 -0
- wave/config.py +33 -0
- wave/main.py +32 -0
- wave/server.py +150 -0
- wave/youtube.py +177 -0
- wave_twinx-0.1.0.dist-info/METADATA +58 -0
- wave_twinx-0.1.0.dist-info/RECORD +14 -0
- wave_twinx-0.1.0.dist-info/WHEEL +5 -0
- wave_twinx-0.1.0.dist-info/entry_points.txt +2 -0
- wave_twinx-0.1.0.dist-info/top_level.txt +1 -0
wave/Web/index.html
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Yt_Wave</title>
|
|
7
|
+
<link rel="stylesheet" href="style.css">
|
|
8
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
|
|
12
|
+
<!-- Search View -->
|
|
13
|
+
<div id="searchView">
|
|
14
|
+
<header>
|
|
15
|
+
<a href="/"><i class="bi bi-youtube"></i> Wave</a>
|
|
16
|
+
<form id="searchForm">
|
|
17
|
+
<input type="text" id="searchInput" placeholder="Search YouTube..." autofocus>
|
|
18
|
+
<button type="submit"><i class="bi bi-search-heart"></i></button>
|
|
19
|
+
</form>
|
|
20
|
+
<div id="searchHistoryDropdown" hidden>
|
|
21
|
+
<div id="searchHistoryList"></div>
|
|
22
|
+
</div>
|
|
23
|
+
</header>
|
|
24
|
+
|
|
25
|
+
<div id="collapsed-sidebar">
|
|
26
|
+
<button class="sidebar-icon" data-tab="home" title="Home">
|
|
27
|
+
<i class="bi bi-house"></i>
|
|
28
|
+
</button>
|
|
29
|
+
<button class="sidebar-icon" data-tab="trending" title="Trending">
|
|
30
|
+
<i class="bi bi-fire"></i>
|
|
31
|
+
</button>
|
|
32
|
+
<button class="sidebar-icon" data-tab="history" title="History">
|
|
33
|
+
<i class="bi bi-clock-history"></i>
|
|
34
|
+
</button>
|
|
35
|
+
<button class="sidebar-icon" data-tab="bookmarks" title="Saved">
|
|
36
|
+
<i class="bi bi-bookmark"></i>
|
|
37
|
+
</button>
|
|
38
|
+
<button class="sidebar-icon" data-tab="likes" title="Likes">
|
|
39
|
+
<i class="bi bi-heart"></i>
|
|
40
|
+
</button>
|
|
41
|
+
<button class="sidebar-icon" id="sidebarSettingsBtn" data-tab="settings" title="Settings">
|
|
42
|
+
<i class="bi bi-gear"></i>
|
|
43
|
+
</button>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div id="sidebar">
|
|
47
|
+
<div class="sidebar-content">
|
|
48
|
+
<div class="tab-panel" id="tab-history">
|
|
49
|
+
<div class="tab-label">Watch history</div>
|
|
50
|
+
<div id="historyList" class="saved-grid"></div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="tab-panel" id="tab-bookmarks">
|
|
53
|
+
<div class="tab-label">Saved videos</div>
|
|
54
|
+
<div id="bookmarksList" class="saved-grid"></div>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="tab-panel" id="tab-likes">
|
|
57
|
+
<div class="tab-label">Liked videos</div>
|
|
58
|
+
<div id="likesList" class="saved-grid"></div>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="tab-panel" id="tab-settings">
|
|
61
|
+
<div class="menu-section">
|
|
62
|
+
<div class="menu-label">Theme</div>
|
|
63
|
+
<div class="menu-group" data-setting="theme">
|
|
64
|
+
<button data-value="dark" class="active">Dark</button>
|
|
65
|
+
<button data-value="light">Light</button>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="menu-section">
|
|
69
|
+
<div class="menu-label">Search radius</div>
|
|
70
|
+
<div class="menu-group" data-setting="searchRadius">
|
|
71
|
+
<button data-value="none">None</button>
|
|
72
|
+
<button data-value="small">Small</button>
|
|
73
|
+
<button data-value="medium" class="active">Medium</button>
|
|
74
|
+
<button data-value="full">Full</button>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="menu-section">
|
|
78
|
+
<div class="menu-label">Card radius</div>
|
|
79
|
+
<div class="menu-group" data-setting="cardRadius">
|
|
80
|
+
<button data-value="none">None</button>
|
|
81
|
+
<button data-value="small" class="active">Small</button>
|
|
82
|
+
<button data-value="medium">Medium</button>
|
|
83
|
+
<button data-value="full">Full</button>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="menu-section">
|
|
87
|
+
<div class="menu-label">Accent color</div>
|
|
88
|
+
<div class="menu-group" data-setting="accent">
|
|
89
|
+
<button data-value="red" class="active" style="--swatch:#ff0033">Red</button>
|
|
90
|
+
<button data-value="blue" style="--swatch:#0066ff">Blue</button>
|
|
91
|
+
<button data-value="green" style="--swatch:#00aa44">Green</button>
|
|
92
|
+
<button data-value="purple" style="--swatch:#8833ff">Purple</button>
|
|
93
|
+
<button data-value="orange" style="--swatch:#ff6600">Orange</button>
|
|
94
|
+
<button data-value="yellow" style="--swatch:#f7c10a">Yellow</button>
|
|
95
|
+
<button data-value="neon" style="--swatch:#90F000">Neon</button>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="menu-section">
|
|
99
|
+
<div class="menu-label">Grid columns</div>
|
|
100
|
+
<div class="menu-group" data-setting="gridCols">
|
|
101
|
+
<button data-value="auto" class="active">Auto</button>
|
|
102
|
+
<button data-value="2">2</button>
|
|
103
|
+
<button data-value="3">3</button>
|
|
104
|
+
<button data-value="4">4</button>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="menu-section">
|
|
108
|
+
<div class="menu-label">Animations</div>
|
|
109
|
+
<div class="menu-group" data-setting="animations">
|
|
110
|
+
<button data-value="on" class="active">On</button>
|
|
111
|
+
<button data-value="off">Off</button>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="menu-section">
|
|
115
|
+
<div class="menu-label">Recommendations</div>
|
|
116
|
+
<div class="menu-group" data-setting="recommendations">
|
|
117
|
+
<button data-value="on" class="active">On</button>
|
|
118
|
+
<button data-value="off">Off</button>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
<div class="menu-section">
|
|
122
|
+
<div class="menu-label">Country mode</div>
|
|
123
|
+
<div class="menu-group" data-setting="countryMode">
|
|
124
|
+
<button data-value="on">On</button>
|
|
125
|
+
<button data-value="off" class="active">Off</button>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
<div class="menu-section">
|
|
129
|
+
<div class="menu-label">Country</div>
|
|
130
|
+
<input type="text" id="countryInput" placeholder="e.g. US, IN, GB..." maxlength="4" style="width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text);font-size:13px;outline:none;text-transform:uppercase">
|
|
131
|
+
</div>
|
|
132
|
+
<div class="menu-section">
|
|
133
|
+
<div class="menu-label">Tags</div>
|
|
134
|
+
<div class="menu-group" data-setting="tags" id="tagsGroup">
|
|
135
|
+
<button data-value="games">#games</button>
|
|
136
|
+
<button data-value="movies">#movies</button>
|
|
137
|
+
<button data-value="music">#music</button>
|
|
138
|
+
<button data-value="sports">#sports</button>
|
|
139
|
+
<button data-value="tech">#tech</button>
|
|
140
|
+
<button data-value="news">#news</button>
|
|
141
|
+
<button data-value="education">#education</button>
|
|
142
|
+
<button data-value="comedy">#comedy</button>
|
|
143
|
+
</div>
|
|
144
|
+
<div class="custom-tag-row">
|
|
145
|
+
<input type="text" id="customTagInput" placeholder="Add custom tag..." maxlength="20">
|
|
146
|
+
<button id="addCustomTag"><i class="bi bi-plus"></i></button>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="menu-section">
|
|
150
|
+
<div class="menu-label">Danger Zone</div>
|
|
151
|
+
<button id="resetDataBtn" class="danger-btn"><i class="bi bi-exclamation-triangle"></i> Reset all data</button>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<div id="results"></div>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
<!-- Player View -->
|
|
161
|
+
<div id="playerView" hidden>
|
|
162
|
+
<div class="player-container">
|
|
163
|
+
<video id="videoPlayer" autoplay></video>
|
|
164
|
+
<audio id="audioPlayer" preload="auto"></audio>
|
|
165
|
+
<div class="player-controls" id="playerControls">
|
|
166
|
+
<div class="controls-top">
|
|
167
|
+
<span class="video-title" id="playerTitle"></span>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="controls-center">
|
|
170
|
+
<button class="big-play-btn" id="bigPlayBtn"><i class="bi bi-play-fill"></i></button>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="controls-bottom">
|
|
173
|
+
<div class="progress-bar" id="progressBar">
|
|
174
|
+
<div class="progress-buffer" id="progressBuffer"></div>
|
|
175
|
+
<div class="progress-played" id="progressPlayed"></div>
|
|
176
|
+
<div class="progress-thumb" id="progressThumb"></div>
|
|
177
|
+
</div>
|
|
178
|
+
<div class="controls-row">
|
|
179
|
+
<div class="controls-left">
|
|
180
|
+
<button class="ctrl-btn" id="playBtn"><i class="bi bi-play-fill"></i></button>
|
|
181
|
+
<span class="time-display"><span id="currentTime">0:00</span> / <span id="duration">0:00</span></span>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="controls-right">
|
|
184
|
+
<button class="ctrl-btn" id="muteBtn"><i class="bi bi-volume-up-fill"></i></button>
|
|
185
|
+
<input type="range" id="volumeSlider" min="0" max="1" step="0.05" value="1">
|
|
186
|
+
<button class="ctrl-btn" id="miniplayerBtn" title="Miniplayer (i)"><i class="bi bi-pip"></i></button>
|
|
187
|
+
<button class="ctrl-btn" id="fullscreenBtn" title="Fullscreen (f)"><i class="bi bi-fullscreen"></i></button>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
<div class="meta">
|
|
194
|
+
<h4 id="metaTitle"></h4>
|
|
195
|
+
<h6 id="metaChannel"></h6>
|
|
196
|
+
<div class="player-actions">
|
|
197
|
+
<button id="likeBtn" class="action-btn"><i class="bi bi-heart"></i> <span>Like</span></button>
|
|
198
|
+
<button id="bookmarkBtn" class="action-btn"><i class="bi bi-bookmark"></i> <span>Save</span></button>
|
|
199
|
+
<button id="downloadBtn" class="action-btn"><i class="bi bi-download"></i> <span>Download</span></button>
|
|
200
|
+
<button id="openYtBtn" class="action-btn"><i class="bi bi-box-arrow-up-right"></i> <span>YouTube</span></button>
|
|
201
|
+
</div>
|
|
202
|
+
<p id="metaDescription"></p>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<script src="script.js"></script>
|
|
207
|
+
</body>
|
|
208
|
+
</html>
|