Updated dependencies and upgraded to vuetify 2.0

This commit is contained in:
Kylart 2019-08-19 14:53:43 +02:00
parent a8b7e0ba67
commit 06f7135fba
59 changed files with 3263 additions and 5097 deletions

4015
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
"dist:win": "npm run build -- --win --x64 --ia32",
"dist:linux": "npm run build -- --linux deb AppImage snap",
"publish:mac": "npm run build -- --mac -p always",
"publish:linux": "npm run build -- --linux deb AppImage -p always",
"publish:linux": "npm run build -- --linux deb AppImage snap -p always",
"publish:win": "npm run build -- --win --x64 --ia32 -p always",
"lint": "vue-cli-service lint",
"postinstall": "electron-builder install-app-deps",
@ -28,9 +28,9 @@
},
"dependencies": {
"anitomy-js": "^3.1.0",
"buttercup": "^2.13.0",
"buttercup": "^2.15.4",
"chalk": "^2.4.2",
"electron-updater": "^4.0.14",
"electron-updater": "^4.1.2",
"lodash": "^4.17.15",
"mal-scraper": "^2.6.3",
"matroska-subtitles": "^2.0.3",
@ -38,40 +38,47 @@
"moment": "^2.24.0",
"nyaapi": "^2.1.0",
"range-parser": "^1.2.1",
"rimraf": "^2.6.3",
"rimraf": "^2.7.0",
"velocity-animate": "^1.5.2",
"vue": "^2.6.10",
"vue-router": "^3.0.6",
"vuetify": "^1.5.16",
"vue-router": "^3.1.2",
"vuetify": "^2.0.7",
"vuex": "^3.1.1",
"webtorrent": "^0.104.0"
"webtorrent": "^0.107.3"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.8.0",
"@vue/cli-plugin-eslint": "^3.8.0",
"@vue/cli-plugin-pwa": "^3.8.0",
"@vue/cli-plugin-unit-mocha": "^3.8.0",
"@vue/cli-service": "^3.8.4",
"@vue/cli-plugin-babel": "^3.10.0",
"@vue/cli-plugin-eslint": "^3.10.0",
"@vue/cli-plugin-pwa": "^3.10.0",
"@vue/cli-plugin-unit-mocha": "^3.10.0",
"@vue/cli-service": "^3.10.0",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "^1.0.0-beta.29",
"axios": "^0.19.0",
"babel-eslint": "^10.0.1",
"babel-eslint": "^10.0.2",
"chai": "^4.2.0",
"chai-as-promised": "^7.1.1",
"cross-env": "^5.2.0",
"css-loader": "^3.2.0",
"deepmerge": "^4.0.0",
"electron": "^4.2.5",
"electron-builder": "20.41.0",
"eslint": "^5.16.0",
"eslint": "^6.1.0",
"eslint-plugin-vue": "^5.2.3",
"lint-staged": "^8.2.1",
"mocha": "^6.1.4",
"mochawesome": "^4.0.1",
"fibers": "^4.0.1",
"lint-staged": "^9.2.1",
"material-design-icons-iconfont": "^5.0.1",
"mocha": "^6.2.0",
"mochawesome": "^4.1.0",
"pug": "^2.0.4",
"pug-plain-loader": "^1.0.0",
"roboto-fontface": "^0.10.0",
"sass": "^1.22.9",
"sass-loader": "^7.2.0",
"spectron": "^6.0.0",
"stylus": "^0.54.5",
"stylus-loader": "^3.0.2",
"vue-cli-plugin-electron-builder": "^1.3.5",
"vue-cli-plugin-electron-builder": "^1.4.0",
"vue-template-compiler": "^2.6.10"
},
"gitHooks": {

View File

@ -25,7 +25,7 @@
top, right,
v-model='$store.state.infoSnackbar.show'
) {{ $store.state.infoSnackbar.text }}
v-btn.pink--text(flat, @click='$store.state.infoSnackbar.show = false') Close
v-btn.pink--text(text, @click='$store.state.infoSnackbar.show = false') Close
</template>
<script>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 275 KiB

View File

@ -1,9 +0,0 @@
The recommended way to use the Material Icons font is by linking to the web font hosted on Google Fonts:
```html
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
```
Read more in our full usage guide:
http://google.github.io/material-design-icons/#icon-font-for-the-web

View File

@ -1,932 +0,0 @@
3d_rotation e84d
ac_unit eb3b
access_alarm e190
access_alarms e191
access_time e192
accessibility e84e
accessible e914
account_balance e84f
account_balance_wallet e850
account_box e851
account_circle e853
adb e60e
add e145
add_a_photo e439
add_alarm e193
add_alert e003
add_box e146
add_circle e147
add_circle_outline e148
add_location e567
add_shopping_cart e854
add_to_photos e39d
add_to_queue e05c
adjust e39e
airline_seat_flat e630
airline_seat_flat_angled e631
airline_seat_individual_suite e632
airline_seat_legroom_extra e633
airline_seat_legroom_normal e634
airline_seat_legroom_reduced e635
airline_seat_recline_extra e636
airline_seat_recline_normal e637
airplanemode_active e195
airplanemode_inactive e194
airplay e055
airport_shuttle eb3c
alarm e855
alarm_add e856
alarm_off e857
alarm_on e858
album e019
all_inclusive eb3d
all_out e90b
android e859
announcement e85a
apps e5c3
archive e149
arrow_back e5c4
arrow_downward e5db
arrow_drop_down e5c5
arrow_drop_down_circle e5c6
arrow_drop_up e5c7
arrow_forward e5c8
arrow_upward e5d8
art_track e060
aspect_ratio e85b
assessment e85c
assignment e85d
assignment_ind e85e
assignment_late e85f
assignment_return e860
assignment_returned e861
assignment_turned_in e862
assistant e39f
assistant_photo e3a0
attach_file e226
attach_money e227
attachment e2bc
audiotrack e3a1
autorenew e863
av_timer e01b
backspace e14a
backup e864
battery_alert e19c
battery_charging_full e1a3
battery_full e1a4
battery_std e1a5
battery_unknown e1a6
beach_access eb3e
beenhere e52d
block e14b
bluetooth e1a7
bluetooth_audio e60f
bluetooth_connected e1a8
bluetooth_disabled e1a9
bluetooth_searching e1aa
blur_circular e3a2
blur_linear e3a3
blur_off e3a4
blur_on e3a5
book e865
bookmark e866
bookmark_border e867
border_all e228
border_bottom e229
border_clear e22a
border_color e22b
border_horizontal e22c
border_inner e22d
border_left e22e
border_outer e22f
border_right e230
border_style e231
border_top e232
border_vertical e233
branding_watermark e06b
brightness_1 e3a6
brightness_2 e3a7
brightness_3 e3a8
brightness_4 e3a9
brightness_5 e3aa
brightness_6 e3ab
brightness_7 e3ac
brightness_auto e1ab
brightness_high e1ac
brightness_low e1ad
brightness_medium e1ae
broken_image e3ad
brush e3ae
bubble_chart e6dd
bug_report e868
build e869
burst_mode e43c
business e0af
business_center eb3f
cached e86a
cake e7e9
call e0b0
call_end e0b1
call_made e0b2
call_merge e0b3
call_missed e0b4
call_missed_outgoing e0e4
call_received e0b5
call_split e0b6
call_to_action e06c
camera e3af
camera_alt e3b0
camera_enhance e8fc
camera_front e3b1
camera_rear e3b2
camera_roll e3b3
cancel e5c9
card_giftcard e8f6
card_membership e8f7
card_travel e8f8
casino eb40
cast e307
cast_connected e308
center_focus_strong e3b4
center_focus_weak e3b5
change_history e86b
chat e0b7
chat_bubble e0ca
chat_bubble_outline e0cb
check e5ca
check_box e834
check_box_outline_blank e835
check_circle e86c
chevron_left e5cb
chevron_right e5cc
child_care eb41
child_friendly eb42
chrome_reader_mode e86d
class e86e
clear e14c
clear_all e0b8
close e5cd
closed_caption e01c
cloud e2bd
cloud_circle e2be
cloud_done e2bf
cloud_download e2c0
cloud_off e2c1
cloud_queue e2c2
cloud_upload e2c3
code e86f
collections e3b6
collections_bookmark e431
color_lens e3b7
colorize e3b8
comment e0b9
compare e3b9
compare_arrows e915
computer e30a
confirmation_number e638
contact_mail e0d0
contact_phone e0cf
contacts e0ba
content_copy e14d
content_cut e14e
content_paste e14f
control_point e3ba
control_point_duplicate e3bb
copyright e90c
create e150
create_new_folder e2cc
credit_card e870
crop e3be
crop_16_9 e3bc
crop_3_2 e3bd
crop_5_4 e3bf
crop_7_5 e3c0
crop_din e3c1
crop_free e3c2
crop_landscape e3c3
crop_original e3c4
crop_portrait e3c5
crop_rotate e437
crop_square e3c6
dashboard e871
data_usage e1af
date_range e916
dehaze e3c7
delete e872
delete_forever e92b
delete_sweep e16c
description e873
desktop_mac e30b
desktop_windows e30c
details e3c8
developer_board e30d
developer_mode e1b0
device_hub e335
devices e1b1
devices_other e337
dialer_sip e0bb
dialpad e0bc
directions e52e
directions_bike e52f
directions_boat e532
directions_bus e530
directions_car e531
directions_railway e534
directions_run e566
directions_subway e533
directions_transit e535
directions_walk e536
disc_full e610
dns e875
do_not_disturb e612
do_not_disturb_alt e611
do_not_disturb_off e643
do_not_disturb_on e644
dock e30e
domain e7ee
done e876
done_all e877
donut_large e917
donut_small e918
drafts e151
drag_handle e25d
drive_eta e613
dvr e1b2
edit e3c9
edit_location e568
eject e8fb
email e0be
enhanced_encryption e63f
equalizer e01d
error e000
error_outline e001
euro_symbol e926
ev_station e56d
event e878
event_available e614
event_busy e615
event_note e616
event_seat e903
exit_to_app e879
expand_less e5ce
expand_more e5cf
explicit e01e
explore e87a
exposure e3ca
exposure_neg_1 e3cb
exposure_neg_2 e3cc
exposure_plus_1 e3cd
exposure_plus_2 e3ce
exposure_zero e3cf
extension e87b
face e87c
fast_forward e01f
fast_rewind e020
favorite e87d
favorite_border e87e
featured_play_list e06d
featured_video e06e
feedback e87f
fiber_dvr e05d
fiber_manual_record e061
fiber_new e05e
fiber_pin e06a
fiber_smart_record e062
file_download e2c4
file_upload e2c6
filter e3d3
filter_1 e3d0
filter_2 e3d1
filter_3 e3d2
filter_4 e3d4
filter_5 e3d5
filter_6 e3d6
filter_7 e3d7
filter_8 e3d8
filter_9 e3d9
filter_9_plus e3da
filter_b_and_w e3db
filter_center_focus e3dc
filter_drama e3dd
filter_frames e3de
filter_hdr e3df
filter_list e152
filter_none e3e0
filter_tilt_shift e3e2
filter_vintage e3e3
find_in_page e880
find_replace e881
fingerprint e90d
first_page e5dc
fitness_center eb43
flag e153
flare e3e4
flash_auto e3e5
flash_off e3e6
flash_on e3e7
flight e539
flight_land e904
flight_takeoff e905
flip e3e8
flip_to_back e882
flip_to_front e883
folder e2c7
folder_open e2c8
folder_shared e2c9
folder_special e617
font_download e167
format_align_center e234
format_align_justify e235
format_align_left e236
format_align_right e237
format_bold e238
format_clear e239
format_color_fill e23a
format_color_reset e23b
format_color_text e23c
format_indent_decrease e23d
format_indent_increase e23e
format_italic e23f
format_line_spacing e240
format_list_bulleted e241
format_list_numbered e242
format_paint e243
format_quote e244
format_shapes e25e
format_size e245
format_strikethrough e246
format_textdirection_l_to_r e247
format_textdirection_r_to_l e248
format_underlined e249
forum e0bf
forward e154
forward_10 e056
forward_30 e057
forward_5 e058
free_breakfast eb44
fullscreen e5d0
fullscreen_exit e5d1
functions e24a
g_translate e927
gamepad e30f
games e021
gavel e90e
gesture e155
get_app e884
gif e908
golf_course eb45
gps_fixed e1b3
gps_not_fixed e1b4
gps_off e1b5
grade e885
gradient e3e9
grain e3ea
graphic_eq e1b8
grid_off e3eb
grid_on e3ec
group e7ef
group_add e7f0
group_work e886
hd e052
hdr_off e3ed
hdr_on e3ee
hdr_strong e3f1
hdr_weak e3f2
headset e310
headset_mic e311
healing e3f3
hearing e023
help e887
help_outline e8fd
high_quality e024
highlight e25f
highlight_off e888
history e889
home e88a
hot_tub eb46
hotel e53a
hourglass_empty e88b
hourglass_full e88c
http e902
https e88d
image e3f4
image_aspect_ratio e3f5
import_contacts e0e0
import_export e0c3
important_devices e912
inbox e156
indeterminate_check_box e909
info e88e
info_outline e88f
input e890
insert_chart e24b
insert_comment e24c
insert_drive_file e24d
insert_emoticon e24e
insert_invitation e24f
insert_link e250
insert_photo e251
invert_colors e891
invert_colors_off e0c4
iso e3f6
keyboard e312
keyboard_arrow_down e313
keyboard_arrow_left e314
keyboard_arrow_right e315
keyboard_arrow_up e316
keyboard_backspace e317
keyboard_capslock e318
keyboard_hide e31a
keyboard_return e31b
keyboard_tab e31c
keyboard_voice e31d
kitchen eb47
label e892
label_outline e893
landscape e3f7
language e894
laptop e31e
laptop_chromebook e31f
laptop_mac e320
laptop_windows e321
last_page e5dd
launch e895
layers e53b
layers_clear e53c
leak_add e3f8
leak_remove e3f9
lens e3fa
library_add e02e
library_books e02f
library_music e030
lightbulb_outline e90f
line_style e919
line_weight e91a
linear_scale e260
link e157
linked_camera e438
list e896
live_help e0c6
live_tv e639
local_activity e53f
local_airport e53d
local_atm e53e
local_bar e540
local_cafe e541
local_car_wash e542
local_convenience_store e543
local_dining e556
local_drink e544
local_florist e545
local_gas_station e546
local_grocery_store e547
local_hospital e548
local_hotel e549
local_laundry_service e54a
local_library e54b
local_mall e54c
local_movies e54d
local_offer e54e
local_parking e54f
local_pharmacy e550
local_phone e551
local_pizza e552
local_play e553
local_post_office e554
local_printshop e555
local_see e557
local_shipping e558
local_taxi e559
location_city e7f1
location_disabled e1b6
location_off e0c7
location_on e0c8
location_searching e1b7
lock e897
lock_open e898
lock_outline e899
looks e3fc
looks_3 e3fb
looks_4 e3fd
looks_5 e3fe
looks_6 e3ff
looks_one e400
looks_two e401
loop e028
loupe e402
low_priority e16d
loyalty e89a
mail e158
mail_outline e0e1
map e55b
markunread e159
markunread_mailbox e89b
memory e322
menu e5d2
merge_type e252
message e0c9
mic e029
mic_none e02a
mic_off e02b
mms e618
mode_comment e253
mode_edit e254
monetization_on e263
money_off e25c
monochrome_photos e403
mood e7f2
mood_bad e7f3
more e619
more_horiz e5d3
more_vert e5d4
motorcycle e91b
mouse e323
move_to_inbox e168
movie e02c
movie_creation e404
movie_filter e43a
multiline_chart e6df
music_note e405
music_video e063
my_location e55c
nature e406
nature_people e407
navigate_before e408
navigate_next e409
navigation e55d
near_me e569
network_cell e1b9
network_check e640
network_locked e61a
network_wifi e1ba
new_releases e031
next_week e16a
nfc e1bb
no_encryption e641
no_sim e0cc
not_interested e033
note e06f
note_add e89c
notifications e7f4
notifications_active e7f7
notifications_none e7f5
notifications_off e7f6
notifications_paused e7f8
offline_pin e90a
ondemand_video e63a
opacity e91c
open_in_browser e89d
open_in_new e89e
open_with e89f
pages e7f9
pageview e8a0
palette e40a
pan_tool e925
panorama e40b
panorama_fish_eye e40c
panorama_horizontal e40d
panorama_vertical e40e
panorama_wide_angle e40f
party_mode e7fa
pause e034
pause_circle_filled e035
pause_circle_outline e036
payment e8a1
people e7fb
people_outline e7fc
perm_camera_mic e8a2
perm_contact_calendar e8a3
perm_data_setting e8a4
perm_device_information e8a5
perm_identity e8a6
perm_media e8a7
perm_phone_msg e8a8
perm_scan_wifi e8a9
person e7fd
person_add e7fe
person_outline e7ff
person_pin e55a
person_pin_circle e56a
personal_video e63b
pets e91d
phone e0cd
phone_android e324
phone_bluetooth_speaker e61b
phone_forwarded e61c
phone_in_talk e61d
phone_iphone e325
phone_locked e61e
phone_missed e61f
phone_paused e620
phonelink e326
phonelink_erase e0db
phonelink_lock e0dc
phonelink_off e327
phonelink_ring e0dd
phonelink_setup e0de
photo e410
photo_album e411
photo_camera e412
photo_filter e43b
photo_library e413
photo_size_select_actual e432
photo_size_select_large e433
photo_size_select_small e434
picture_as_pdf e415
picture_in_picture e8aa
picture_in_picture_alt e911
pie_chart e6c4
pie_chart_outlined e6c5
pin_drop e55e
place e55f
play_arrow e037
play_circle_filled e038
play_circle_outline e039
play_for_work e906
playlist_add e03b
playlist_add_check e065
playlist_play e05f
plus_one e800
poll e801
polymer e8ab
pool eb48
portable_wifi_off e0ce
portrait e416
power e63c
power_input e336
power_settings_new e8ac
pregnant_woman e91e
present_to_all e0df
print e8ad
priority_high e645
public e80b
publish e255
query_builder e8ae
question_answer e8af
queue e03c
queue_music e03d
queue_play_next e066
radio e03e
radio_button_checked e837
radio_button_unchecked e836
rate_review e560
receipt e8b0
recent_actors e03f
record_voice_over e91f
redeem e8b1
redo e15a
refresh e5d5
remove e15b
remove_circle e15c
remove_circle_outline e15d
remove_from_queue e067
remove_red_eye e417
remove_shopping_cart e928
reorder e8fe
repeat e040
repeat_one e041
replay e042
replay_10 e059
replay_30 e05a
replay_5 e05b
reply e15e
reply_all e15f
report e160
report_problem e8b2
restaurant e56c
restaurant_menu e561
restore e8b3
restore_page e929
ring_volume e0d1
room e8b4
room_service eb49
rotate_90_degrees_ccw e418
rotate_left e419
rotate_right e41a
rounded_corner e920
router e328
rowing e921
rss_feed e0e5
rv_hookup e642
satellite e562
save e161
scanner e329
schedule e8b5
school e80c
screen_lock_landscape e1be
screen_lock_portrait e1bf
screen_lock_rotation e1c0
screen_rotation e1c1
screen_share e0e2
sd_card e623
sd_storage e1c2
search e8b6
security e32a
select_all e162
send e163
sentiment_dissatisfied e811
sentiment_neutral e812
sentiment_satisfied e813
sentiment_very_dissatisfied e814
sentiment_very_satisfied e815
settings e8b8
settings_applications e8b9
settings_backup_restore e8ba
settings_bluetooth e8bb
settings_brightness e8bd
settings_cell e8bc
settings_ethernet e8be
settings_input_antenna e8bf
settings_input_component e8c0
settings_input_composite e8c1
settings_input_hdmi e8c2
settings_input_svideo e8c3
settings_overscan e8c4
settings_phone e8c5
settings_power e8c6
settings_remote e8c7
settings_system_daydream e1c3
settings_voice e8c8
share e80d
shop e8c9
shop_two e8ca
shopping_basket e8cb
shopping_cart e8cc
short_text e261
show_chart e6e1
shuffle e043
signal_cellular_4_bar e1c8
signal_cellular_connected_no_internet_4_bar e1cd
signal_cellular_no_sim e1ce
signal_cellular_null e1cf
signal_cellular_off e1d0
signal_wifi_4_bar e1d8
signal_wifi_4_bar_lock e1d9
signal_wifi_off e1da
sim_card e32b
sim_card_alert e624
skip_next e044
skip_previous e045
slideshow e41b
slow_motion_video e068
smartphone e32c
smoke_free eb4a
smoking_rooms eb4b
sms e625
sms_failed e626
snooze e046
sort e164
sort_by_alpha e053
spa eb4c
space_bar e256
speaker e32d
speaker_group e32e
speaker_notes e8cd
speaker_notes_off e92a
speaker_phone e0d2
spellcheck e8ce
star e838
star_border e83a
star_half e839
stars e8d0
stay_current_landscape e0d3
stay_current_portrait e0d4
stay_primary_landscape e0d5
stay_primary_portrait e0d6
stop e047
stop_screen_share e0e3
storage e1db
store e8d1
store_mall_directory e563
straighten e41c
streetview e56e
strikethrough_s e257
style e41d
subdirectory_arrow_left e5d9
subdirectory_arrow_right e5da
subject e8d2
subscriptions e064
subtitles e048
subway e56f
supervisor_account e8d3
surround_sound e049
swap_calls e0d7
swap_horiz e8d4
swap_vert e8d5
swap_vertical_circle e8d6
switch_camera e41e
switch_video e41f
sync e627
sync_disabled e628
sync_problem e629
system_update e62a
system_update_alt e8d7
tab e8d8
tab_unselected e8d9
tablet e32f
tablet_android e330
tablet_mac e331
tag_faces e420
tap_and_play e62b
terrain e564
text_fields e262
text_format e165
textsms e0d8
texture e421
theaters e8da
thumb_down e8db
thumb_up e8dc
thumbs_up_down e8dd
time_to_leave e62c
timelapse e422
timeline e922
timer e425
timer_10 e423
timer_3 e424
timer_off e426
title e264
toc e8de
today e8df
toll e8e0
tonality e427
touch_app e913
toys e332
track_changes e8e1
traffic e565
train e570
tram e571
transfer_within_a_station e572
transform e428
translate e8e2
trending_down e8e3
trending_flat e8e4
trending_up e8e5
tune e429
turned_in e8e6
turned_in_not e8e7
tv e333
unarchive e169
undo e166
unfold_less e5d6
unfold_more e5d7
update e923
usb e1e0
verified_user e8e8
vertical_align_bottom e258
vertical_align_center e259
vertical_align_top e25a
vibration e62d
video_call e070
video_label e071
video_library e04a
videocam e04b
videocam_off e04c
videogame_asset e338
view_agenda e8e9
view_array e8ea
view_carousel e8eb
view_column e8ec
view_comfy e42a
view_compact e42b
view_day e8ed
view_headline e8ee
view_list e8ef
view_module e8f0
view_quilt e8f1
view_stream e8f2
view_week e8f3
vignette e435
visibility e8f4
visibility_off e8f5
voice_chat e62e
voicemail e0d9
volume_down e04d
volume_mute e04e
volume_off e04f
volume_up e050
vpn_key e0da
vpn_lock e62f
wallpaper e1bc
warning e002
watch e334
watch_later e924
wb_auto e42c
wb_cloudy e42d
wb_incandescent e42e
wb_iridescent e436
wb_sunny e430
wc e63d
web e051
web_asset e069
weekend e16b
whatshot e80e
widgets e1bd
wifi e63e
wifi_lock e1e1
wifi_tethering e1e2
work e8f9
wrap_text e25b
youtube_searched_for e8fa
zoom_in e8ff
zoom_out e900
zoom_out_map e56b

View File

@ -1,7 +1,15 @@
import 'roboto-fontface/css/roboto/roboto-fontface.css'
import 'material-design-icons-iconfont/dist/material-design-icons.css'
import theme from '@/stylus/theme.js'
import * as directives from 'vuetify/lib/directives'
import Vuetify, {
VApp,
VAppBar,
VAppBarNavIcon,
VToolbar,
VToolbarTitle,
VContent,
VContainer,
VLayout,
@ -10,15 +18,12 @@ import Vuetify, {
VMenu,
VList,
VListGroup,
VListTile,
VListTileContent,
VListTileAction,
VListTileTitle,
VListTileAvatar,
VListItem,
VListItemContent,
VListItemAction,
VListItemTitle,
VListItemAvatar,
VNavigationDrawer,
VToolbar,
VToolbarTitle,
VToolbarSideIcon,
VSystemBar,
VSubheader,
VFooter,
@ -36,11 +41,14 @@ import Vuetify, {
VRadioGroup,
VRadio,
VTabs,
VTabsItems,
VTab,
VTabItem,
VSwitch,
VExpansionPanels,
VExpansionPanel,
VExpansionPanelContent,
VExpansionPanelHeader,
VDivider,
VTooltip,
VDataTable,
@ -64,13 +72,15 @@ import Vuetify, {
VExpandTransition
} from 'vuetify/lib'
import directives from 'vuetify/lib/directives'
export default (Vue) => {
Vue.use(Vuetify, {
theme,
directives,
components: {
VApp,
VAppBar,
VAppBarNavIcon,
VToolbar,
VToolbarTitle,
VContent,
VContainer,
VLayout,
@ -79,15 +89,12 @@ export default (Vue) => {
VMenu,
VList,
VListGroup,
VListTile,
VListTileContent,
VListTileAction,
VListTileTitle,
VListTileAvatar,
VListItem,
VListItemContent,
VListItemAction,
VListItemTitle,
VListItemAvatar,
VNavigationDrawer,
VToolbar,
VToolbarTitle,
VToolbarSideIcon,
VSystemBar,
VSubheader,
VFooter,
@ -105,11 +112,14 @@ export default (Vue) => {
VRadioGroup,
VRadio,
VTabs,
VTabsItems,
VTab,
VTabItem,
VSwitch,
VExpansionPanels,
VExpansionPanel,
VExpansionPanelContent,
VExpansionPanelHeader,
VDivider,
VTooltip,
VDataTable,
@ -131,7 +141,19 @@ export default (Vue) => {
VFadeTransition,
VScaleTransition,
VExpandTransition
}
})
return new Vuetify({
icons: {
iconfont: 'md'
},
directives
theme: {
dark: true,
themes: {
dark: theme,
light: theme
}
}
})
}

View File

@ -18,7 +18,7 @@
min='0'
)
.quality-container
v-radio-group(v-model='quality', row)
v-radio-group.group-container(v-model='quality', row)
v-radio(
v-for='quality in qualities',
:key='quality',
@ -138,11 +138,14 @@ export default {
padding 16px 8px
.quality-container
padding 16px 40px
padding 16px 48px
width 80%
display flex
justify-content space-between
.group-container
width 100%
.button-container
display flex
justify-content center

View File

@ -1,9 +1,11 @@
<template lang="pug">
v-dialog(lazy, absolute, v-model='show', width='65%')
v-tooltip(slot='activator', lazy, left)
v-btn(icon, slot='activator')
v-icon file_download
span Quick download
v-dialog(absolute, v-model='show', width='65%')
template(v-slot:activator='{ on: dialog }')
v-tooltip(left)
template(v-slot:activator='{ on: tooltip }')
v-btn(icon, v-on='{ ...dialog, ...tooltip }')
v-icon file_download
span Quick download
layout(@downloaded='show = false')
</template>

View File

@ -17,7 +17,7 @@
)
v-layout.text(fill-height, column, justify-space-between)
v-flex.entry-title(xs2) {{ name }}
v-flex.text-xs-center(v-if='!picture', xs2)
v-flex.text-center(v-if='!picture', xs2)
v-progress-circular(indeterminate)
v-flex.entry-ep(xs2, v-if='episodeLabel')
span {{ episodeLabel }}
@ -45,13 +45,14 @@
.fansub.ellipsis(v-show='!hasFansub') {{ info.parsedName.release_group }}
v-spacer
template(v-for='list in lists')
v-tooltip(top, lazy)
v-btn(
slot='activator',
@click='_addTo(list.list)',
icon
)
v-icon(:color="_isIn(list.list) ? '#66BB6A' : 'default'") {{ list.icon }}
v-tooltip(top)
template(v-slot:activator='{ on }')
v-btn(
v-on='on',
@click='_addTo(list.list)',
icon
)
v-icon(:color="_isIn(list.list) ? '#66BB6A' : 'default'") {{ list.icon }}
span {{ _isIn(list.list) ? 'Remove from' : 'Add to' }} {{ list.name }}
//- v-btn(icon)
//- span.mal-icon

View File

@ -21,8 +21,8 @@
)
v-card-actions
v-spacer
v-btn.blue--text.darken-1(flat, @click='add()') Add
v-btn.blue--text.darken-1(flat, @click='hide()') Close
v-btn.blue--text.darken-1(text, @click='add()') Add
v-btn.blue--text.darken-1(text, @click='hide()') Close
</template>
<script>

View File

@ -1,43 +1,46 @@
<template lang="pug">
v-dialog#history(lazy,
v-dialog#history(
absolute,
max-width='75%',
v-model='$store.state.history.modal',
@keydown.esc='close()'
)
v-btn(color='secondary', dark, @click='refresh()', slot='activator')
| History
template(v-slot:activator='{ on }')
v-btn(color='secondary', dark, @click='refresh()', v-on='on')
| History
v-card
v-card-title.headline History
v-divider
v-card-text
v-layout(row, wrap, justify-center)
v-expansion-panel(expand, popout, v-if='Object.keys(elems).length')
v-expansion-panel-content.history-elem(
v-expansion-panels(popout, v-if='Object.keys(elems).length')
v-expansion-panel.history-elem(
ripple, lazy,
v-for='item in Object.keys(elems)',
:key='item'
)
.day(slot='header') {{ item }}
v-card
v-card-text.lighten-3.info-container
v-layout(row, wrap)
template(v-for='info in history[item]')
v-flex.pl-1.time.entry(xs2, :class='isDelete(info.type)')
| {{ info.time }}
v-flex.type.entry(xs2, :class='isDelete(info.type)')
| {{ info.type }}
v-flex.ellipsis.text.entry(xs7, :class='isDelete(info.type)')
| {{ info.text }}
v-flex.entry(xs1, :class='isDelete(info.type)')
v-icon.delete-entry(@click.stop='clearEntry(info, item)')
| clear
v-expansion-panel-header
.day {{ item }}
v-expansion-panel-content
v-card
v-card-text.lighten-3.info-container
v-layout(row, wrap)
template(v-for='info in history[item]')
v-flex.pl-1.time.entry(xs2, :class='isDelete(info.type)')
| {{ info.time }}
v-flex.type.entry(xs2, :class='isDelete(info.type)')
| {{ info.type }}
v-flex.ellipsis.text.entry(xs7, :class='isDelete(info.type)')
| {{ info.text }}
v-flex.entry(xs1, :class='isDelete(info.type)')
v-icon.delete-entry(@click.stop='clearEntry(info, item)')
| clear
v-flex.empty-history(xs4, v-else) No entry yet, go watch some anime ~
v-divider
v-card-actions(style='padding-right: 20px;')
v-spacer
v-btn.blue--text.darken-1(
flat,
text,
@click="close()"
) Close
</template>

View File

@ -40,8 +40,8 @@
:style='charHover.overflow',
ref='chars'
)
v-btn.expand(icon, large, color='indigo', v-show='!charHover.show', @click='expandChar')
v-icon(large) keyboard_arrow_down
v-btn.expand.mb-2(fab, small, color='indigo', v-show='!charHover.show', @click='expandChar')
v-icon keyboard_arrow_down
v-flex(v-for='char in info.characters', :key='char.link', xs12, sm6, md4, pt-0)
v-layout(row, wrap)
v-flex(xs3)
@ -130,7 +130,7 @@
)
v-flex.actions(xs2)
v-btn(large, icon, @click='watch(ep)')
v-icon(large) play_circle_outline
v-icon(large) play_circle_outlined
v-btn(large, icon, @click='download(ep)')
v-icon(large) file_download
@ -162,9 +162,10 @@
template(v-for='_provider in providers')
v-tooltip(top)
v-btn(fab, small, slot='activator', @click='addTo(_provider.value)')
v-icon(v-if='_provider.action') {{ _provider.action }}
.icon(v-else, :class='{ [`${_provider.value}-icon`]: true }')
template(v-slot:activator='{ on }')
v-btn(fab, small, v-on='on', @click='addTo(_provider.value)')
v-icon(v-if='_provider.action') {{ _provider.action }}
.icon(v-else, :class='{ [`${_provider.value}-icon`]: true }')
span Add to my {{ _provider.text }} list
</template>

View File

@ -1,16 +1,17 @@
<template lang="pug">
v-dialog(
v-model='show',
lazy, absolute,
absolute,
@keydown.esc='close',
:fullscreen='current !== null',
width='700'
)
v-btn(
slot='activator',
icon
)
v-icon search
template(v-slot:activator='{ on }')
v-btn(
v-on='on',
icon
)
v-icon search
v-card(v-if='!searching && !current')
v-container(grid-list-md)
v-layout(row, wrap, justify-center)

View File

@ -1,44 +1,30 @@
<template lang="pug">
v-navigation-drawer.drawer(app, fixed, v-model='show')
v-list
template(v-for='item in itemGroup')
v-list-group(
v-if='item.items',
:group='item.group',
:prepend-icon='item.action',
no-action
)
v-list-tile(slot='activator', ripple)
v-list-tile-content
v-list-tile-title {{ item.title }}
template(v-for='(subItem, i) in item.items')
v-list-tile(
:key='i',
:to='subItem.href',
:disabled='subItem.disabled',
ripple
)
v-list-tile-action
v-icon(v-if='!subItem.custom') {{ subItem.action }}
div(v-else, :class='subItem.custom')
v-list-tile-content
v-list-tile-title
span {{ subItem.title }}
v-navigation-drawer.drawer(
fixed,
permanent,
app,
clipped,
:mini-variant.sync='mini'
v-model='show'
)
v-list(dense, nav)
template(v-for='item in itemGroup')
v-subheader(v-if='item.header') {{ item.header }}
v-subheader.white--text(v-else-if='item.header') {{ item.header }}
v-divider(v-else-if='item.divider')
v-divider(v-else-if='item.divider')
v-list-tile(
v-else,
:to='item.href',
:disabled='item.disabled',
ripple
)
v-list-tile-action
v-icon {{ item.action }}
v-list-tile-content
v-list-tile-title
span {{ item.title }}
v-list-item(
v-else,
:to='item.href',
:disabled='item.disabled',
link
)
v-list-item-action
v-icon(v-if='!item.custom') {{ item.action }}
div(v-else, :class='item.custom')
v-list-item-content
v-list-item-title
span {{ item.title }}
</template>
<script>
@ -66,7 +52,7 @@ export default {
href: '/localPage'
},
{ divider: true },
{ header: 'Anime world' },
{ header: 'Anime' },
{
title: 'Seasons',
action: 'hourglass_empty',
@ -77,35 +63,36 @@ export default {
action: 'more',
href: '/news'
},
{ divider: true },
{ header: 'Lists' },
{
title: 'Watch lists',
action: 'web',
group: 'services',
items: [
{
title: 'Local lists',
action: 'sort_by_alpha',
href: '/watchList'
}, {
custom: { 'provider-icon': true, 'mal-icon': true },
title: 'MyAnimeList.net',
href: '/services/mal'
}, {
custom: { 'provider-icon': true, 'kitsu-icon': true },
title: 'Kitsu.io',
href: '/services/kitsu'
}, {
custom: { 'provider-icon': true, 'anilist-icon': true },
title: 'Anilist',
href: '/services/anilist'
}
]
title: 'Local lists',
action: 'sort_by_alpha',
href: '/watchList'
}, {
custom: { 'provider-icon': true, 'mal-icon': true },
title: 'MyAnimeList.net',
href: '/services/mal'
}, {
custom: { 'provider-icon': true, 'kitsu-icon': true },
title: 'Kitsu.io',
href: '/services/kitsu'
}, {
custom: { 'provider-icon': true, 'anilist-icon': true },
title: 'Anilist',
href: '/services/anilist'
},
{ divider: true }
]
}),
computed: {
mini: {
get () {
return this.$store.state.drawer.mini
},
set () {}
},
show: {
get () {
return this.$store.state.drawer.left
@ -117,8 +104,3 @@ export default {
}
}
</script>
<style lang="stylus" scoped>
.drawer
padding-top 64px
</style>

View File

@ -3,7 +3,7 @@
v-spacer
.window-icon.non-dragable(v-if="$store.state.platform !== 'darwin'")
v-icon.not-close(@click="actOnWindow('minimize')") remove
v-icon.not-close(@click="actOnWindow('maximize')") check_box_outline_blank
v-icon.not-close(@click="actOnWindow('maximize')") check_box_outlined_blank
v-icon.close(@click="actOnWindow('close')") close
</template>

View File

@ -1,28 +1,31 @@
<template lang="pug">
v-toolbar.toolbar(
v-app-bar.toolbar(
app, fixed, dense,
color='indigo',
clipped-right, clipped-left
clipped-left
)
v-toolbar-side-icon(@click.stop='toggleLeftDrawer')
v-toolbar-title.title.jap かわニメ
v-app-bar-nav-icon(@click='toggleMiniDrawer')
v-icon {{ miniDrawer ? 'chevron_right' : 'chevron_left' }}
v-toolbar-title.app-title.jap かわニメ
v-spacer
template(v-if='update')
v-tooltip(left, lazy)
v-btn(icon, @click='restartAndUpdate', slot='activator')
v-icon.green--text update
v-tooltip(left)
template(v-slot:activator='{ on }')
v-btn(icon, @click='restartAndUpdate', v-on='on')
v-icon.green--text update
span Update KawAnime
searcher
downloader
settings
v-tooltip(top)
v-btn(
@click='openChangelog',
slot='activator',
icon
)
v-icon fiber_new
template(v-slot:activator='{ on }')
v-btn(
@click='openChangelog',
v-on='on',
icon
)
v-icon fiber_new
span What's new in version v{{ version }}?
</template>
@ -56,12 +59,20 @@ export default {
return this.$store.state.drawer
},
set () {}
},
miniDrawer: {
get () {
return this.drawer.mini
},
set (bool) {
this.$store.commit('setMiniDrawer', bool)
}
}
},
methods: {
toggleLeftDrawer () {
this.$store.commit('setLeftDrawer', !this.drawer.left)
toggleMiniDrawer () {
this.miniDrawer = !this.miniDrawer
},
toggleRightDrawer () {
this.$store.commit('setRightDrawer', !this.drawer.right)
@ -77,7 +88,7 @@ export default {
</script>
<style lang="stylus" scoped>
.title
.app-title
overflow hidden
font-size 30px !important
line-height 25px !important

View File

@ -50,7 +50,7 @@
template(v-else)
v-flex.entry-ep(xs2)
span {{ file.animeType2 }}
v-flex.text-xs-center(v-if='!picture', xs2)
v-flex.text-center(v-if='!picture', xs2)
v-progress-circular(indeterminate)
v-flex.entry-title(xs2)
div {{ file.title }}
@ -58,13 +58,14 @@
v-card-actions
v-layout.actions(justify-space-around)
template(v-for='list in lists')
v-tooltip(top, lazy)
v-btn(
slot='activator',
@click='_addTo(list.list)',
icon
)
v-icon(:color="_isIn(list.list) ? '#66BB6A' : 'default'") {{ list.icon }}
v-tooltip(top)
template(v-slot:activator='{ on }')
v-btn(
v-on='on',
@click='_addTo(list.list)',
icon
)
v-icon(:color="_isIn(list.list) ? '#66BB6A' : 'default'") {{ list.icon }}
span {{ _isIn(list.list) ? 'Remove from' : 'Add to' }} {{ list.name }}
</template>

View File

@ -1,31 +1,32 @@
<template lang="pug">
v-layout(row, wrap, justify-space-between, align-center)
v-flex.left(xs12, sm6, md5, lg4, xl3, d-flex, justify-space-around, align-center)
span.label(v-show='hasFiles') {{ nbElems }} {{ label }}
v-layout(justify-space-around, align-center)
span.label(v-show='hasFiles') {{ nbElems }} {{ label }}
history
history
v-switch.mt-0(
v-show='hasFiles',
v-model='inside',
color='primary',
:label="inside ? 'Inside' : 'Outside'"
persistent-hint,
hint='Play in KawAnime?'
)
v-switch.mt-0(
v-show='hasFiles',
v-model='inside',
color='primary',
:label="inside ? 'Inside' : 'Outside'"
persistent-hint,
hint='Play in KawAnime?'
)
v-switch.mt-0(
v-model='recursiveSearch',
color='primary',
:label="recursiveSearch ? 'Recursive' : 'Folder only'"
persistent-hint,
hint='Search for files recursively?'
)
v-switch.mt-0(
v-model='recursiveSearch',
color='primary',
:label="recursiveSearch ? 'Recursive' : 'Folder only'"
persistent-hint,
hint='Search for files recursively?'
)
v-flex.right-buttons(xs12, sm5, md4)
v-btn(icon, large, @click='refresh', :loading='refreshing')
v-icon(large) refresh
v-btn(flat, @click='changeDir') Change Dir
v-btn(text, @click='changeDir') Change Dir
v-btn(v-show='hasFiles', @click='reset', :loading='resetting') Refresh info
</template>

View File

@ -4,55 +4,58 @@
:class="{ 'green darken-1': selected }",
:style='cardStyle'
)
v-tooltip(top, lazy)
v-tooltip(top)
span {{ entry.name }}
.card-container(slot='activator')
v-img.img(
@click='handleClick',
:src='img',
:lazy-src='img',
:loading='!img',
contain,
position='left center'
)
.center-container(@click='handleClick')
.name-container.text.ellipsis(slot='activator') {{ entry.name }}
template(v-slot:activator='{ on: tooltip }')
.card-container(v-on='tooltip')
v-img.img(
@click='handleClick',
:src='img',
:lazy-src='img',
:loading='!img',
contain,
position='left center'
)
.progress
v-progress-linear(
:value='progress.value',
height='15'
)
span.text {{ progress.text }}
.center-container(@click='handleClick')
.name-container.text.ellipsis {{ entry.name }}
.progress-actions
template(v-for='action in actions')
v-btn(
small,
:icon='!!action.icon',
@click.stop='action.cb',
v-show='action.show'
) {{ action.text }}
template(v-show='action.icon')
v-icon {{ action.icon }}
.menu
.checkbox(@click='handleClick')
v-checkbox(v-model='selected', color='success', disabled, hide-details, height='10')
v-menu(transition='slide-x-transition')
v-btn.btn(slot='activator', icon, large)
v-icon(large, color='indigo') more_horiz
v-list
v-list-tile(
v-for='option in menus',
:key='option.icon',
@click='option.method'
.progress
v-progress-linear(
:value='progress.value',
height='15'
)
v-list-tile-avatar
v-icon {{ option.icon }}
v-list-tile-title {{ option.text }}
span.text {{ progress.text }}
.progress-actions
template(v-for='action in actions')
v-btn(
small,
:icon='!!action.icon',
@click.stop='action.cb',
v-show='action.show'
) {{ action.text }}
template(v-show='action.icon')
v-icon {{ action.icon }}
.menu
.checkbox(@click='handleClick')
v-checkbox(v-model='selected', color='success', disabled, hide-details, height='10')
v-menu(transition='slide-x-transition')
template(v-slot:activator='{ on: menu }')
v-btn.btn(v-on='menu', icon, large)
v-icon(large, color='indigo') more_horiz
v-list
v-list-item(
v-for='option in menus',
:key='option.icon',
@click='option.method'
)
v-list-item-avatar
v-icon {{ option.icon }}
v-list-item-title {{ option.text }}
</template>
<script>
@ -77,7 +80,7 @@ export default {
text: 'Watch',
method: () => this.watch()
}, {
icon: 'info_outline',
icon: 'info_outlined',
text: 'Information',
method: () => this.search()
}, {

View File

@ -4,7 +4,7 @@
v-model='filter.show',
width='60%',
transition='dialog-transition',
lazy, absolute
absolute
)
v-card
v-card-title.grey--text.text-uppercase
@ -26,37 +26,47 @@
v-card-actions
v-spacer
v-btn(@click='applyFilters') Apply
v-btn.blue--text(flat, @click='filter.show = false') Cancel
v-btn.blue--text(text, @click='filter.show = false') Cancel
v-layout(justify-space-between, align-center)
.actions
v-btn(icon, @click="$emit('selectAll')")
v-icon select_all
v-layout(row, wrap, justify-space-between)
v-flex(xs12, sm6 md4, lg3)
v-layout(align-center)
v-flex(d-flex, justify-center)
v-btn(icon, @click="$emit('selectAll')")
v-icon select_all
v-menu(open-on-hover, transition='slide-x-transition')
v-btn(slot='activator') Move to
v-list
v-list-tile(
v-for='list in lists'
:key='list.icon'
@click="$emit('move', list.list)"
)
v-list-tile-avatar
v-icon {{ list.icon }}
v-list-tile-title {{ list.name }}
v-flex(d-flex, justify-center)
v-menu(open-on-hover, transition='slide-x-transition')
template(v-slot:activator='{ on }')
v-btn(v-on='on') Move to
v-list
v-list-item(
v-for='list in lists'
:key='list.icon'
@click="$emit('move', list.list)"
)
v-list-item-avatar
v-icon {{ list.icon }}
v-list-item-title {{ list.name }}
v-btn(icon, color='red', @click="$emit('deleteSelected')")
v-icon delete
v-flex(d-flex, justify-center)
v-btn(icon, color='red', @click="$emit('deleteSelected')")
v-icon delete
.label(xs12, sm3, md2, lg1) {{ nbElems }} {{ label }}
v-flex(d-flex, justify-center)
.label(xs12, sm3, md2, lg1) {{ nbElems }} {{ label }}
div
v-btn(@click='showFilterForm')
v-icon filter_list
span.pl-2 Filter
v-btn(@click='showForm')
v-icon add
span.pl-2 Add
v-flex(xs12, sm4, md3, lg2)
v-layout(justify-space-around)
v-flex(d-flex, justify-center)
v-btn(@click='showFilterForm')
v-icon filter_list
span.pl-2 Filter
v-flex(d-flex, justify-center)
v-btn(@click='showForm')
v-icon add
span.pl-2 Add
</template>
<script>

View File

@ -1,5 +1,5 @@
<template lang="pug">
v-dialog(v-model='show', persistent, lazy, absolute, width='700', @keydown.esc='close()')
v-dialog(v-model='show', persistent, absolute, width='700', @keydown.esc='close()')
v-card.pa-2
v-card-title.grey--text.text-uppercase
v-layout(justify-center, align-center)
@ -68,7 +68,7 @@
v-textarea(
v-model='entry.note',
label='Comment',
outline
outlined
)
v-divider

View File

@ -1,66 +1,71 @@
<template lang="pug">
div
v-dialog(v-model='values.show', lazy, absolute, max-width='800', @keydown.esc='close()')
v-dialog(v-model='values.show', absolute, max-width='800', @keydown.esc='close()')
v-card#magnet-modal
v-card-title.pb-2.pt-2
h2.mb-0.main-title.ellipsis Results for #[strong {{ values.title }}]
v-spacer
v-tooltip(left)
v-btn(
flat, icon,
@click='openSelected',
v-if='selected.length',
slot='activator'
)
v-icon open_in_new
template(v-slot:activator='{ on }')
v-btn.mr-2(
text, icon,
@click='openSelected',
v-if='selected.length',
v-on='on'
)
v-icon open_in_new
span Open all selected magnets
v-tooltip(left)
v-btn(
flat, icon,
@click='copyToClipboard',
v-if='selected.length',
slot='activator'
)
v-icon.copy-icon content_copy
template(v-slot:activator='{ on }')
v-btn(
text, icon,
@click='copyToClipboard',
v-if='selected.length',
v-on='on'
)
v-icon.copy-icon content_copy
span Copy all selected magnets
v-divider
v-card-text.subheading
v-expansion-panel(popout)
v-expansion-panel-content(
v-card-text.subtitle-1.pt-2
v-expansion-panels(popout)
v-expansion-panel(
v-for='(name, index) in filteredNames',
:key='index',
ripple, lazy
)
.entry-title(slot='header')
span {{ name }}
v-tooltip(left)
v-btn.ma-0.mr-3(
icon,
@click.stop='selectAll(name)',
slot='activator'
)
v-icon select_all
span (un)select these magnets
v-expansion-panel-header
.entry-title
span {{ name }}
v-tooltip(left)
template(v-slot:activator='{ on }')
v-btn.ma-0.mr-3(
icon,
@click.stop='selectAll(name)',
v-on='on'
)
v-icon select_all
span (un)select these magnets
v-divider
v-layout.ep-container(
row, wrap,
v-for='(magnet, subIndex) in getLinks(name)', :key='magnet.link'
)
v-flex.pt-0.pb-0(xs11, d-flex, align-center, :class='{ bordered: subIndex > 0 }')
.episode {{ magnet.name }} - Ep. {{ magnet.nb }}
v-flex.pt-2.pb-0(xs1, d-flex, justify-center, align-center, :class='{ bordered: subIndex > 0 }')
v-checkbox.mt-0(v-model='selected', :value='magnet.link', hide-details, color='primary')
v-flex.pt-0.pb-2.magnet(xs9, offset-xs3, d-flex, justify-end)
a.ellipsis(:href='magnet.link') {{ magnet.link}}
v-expansion-panel-content
v-layout.ep-container(
row, wrap,
v-for='(magnet, subIndex) in getLinks(name)', :key='magnet.link'
)
v-flex.pt-0.pb-0(xs11, d-flex, align-center, :class='{ bordered: subIndex > 0 }')
.episode {{ magnet.name }} - Ep. {{ magnet.nb }}
v-flex.pt-2.pb-0(xs1, d-flex, justify-center, align-center, :class='{ bordered: subIndex > 0 }')
v-checkbox.mt-0(v-model='selected', :value='magnet.link', hide-details, color='primary')
v-flex.pt-0.pb-2.magnet(xs9, offset-xs3, d-flex, justify-end)
a.ellipsis(:href='magnet.link') {{ magnet.link}}
v-card-actions
v-spacer
v-btn.blue--text.darken-1(flat, @click='close()') Thanks!
v-btn.blue--text.darken-1(text, @click='close()') Thanks!
v-snackbar(
:timeout='2500',
top,
v-model='snack'
) All selected magnets were copied to clipboard!
v-btn.pink--text(flat, @click='snack = false') Thanks!
v-btn.pink--text(text, @click='snack = false') Thanks!
</template>
<script>

View File

@ -1,5 +1,5 @@
<template lang="pug">
v-container(fluid, pa-0, pt-2, grid-list-md)
v-container(fluid, pt-2, grid-list-md)
v-layout
v-spacer

View File

@ -16,26 +16,29 @@
style='height: 100%;'
)
template(v-for='list in lists')
v-tooltip(top, lazy)
v-btn(
slot='activator',
@click='_addTo(list.list)',
:color="_isIn(list.list) ? '#66BB6A' : 'default'",
icon
)
v-icon {{ list.icon }}
v-tooltip(top)
template(v-slot:activator='{ on }')
v-btn(
v-on='on',
@click='_addTo(list.list)',
:color="_isIn(list.list) ? '#66BB6A' : 'default'",
icon
)
v-icon {{ list.icon }}
span {{ _isIn(list.list) ? 'Remove from' : 'Add to' }} {{ list.name }}
v-flex.pa-2.pr-3(xs8)
v-layout(row, wrap, column)
v-flex(xs2, d-flex, justify-space-between)
v-tooltip.entry-title.ellipsis(top, lazy)
span(slot='activator') {{ info.title }}
v-tooltip.entry-title.ellipsis(top)
template(v-slot:activator='{ on }')
span(v-on='on') {{ info.title }}
span {{ info.title }}
.nb-ep.ellipsis {{ episodeLabel }}
v-flex(xs2, d-flex, justify-space-between)
.source.ellipsis {{ info.fromType }}
v-tooltip.genres.ellipsis(lazy, top)
span(slot='activator') {{ info.genres.join(' / ') }}
v-tooltip.genres.ellipsis(top)
template(v-slot:activator='{ on }')
span(v-on='on') {{ info.genres.join(' / ') }}
span {{ info.genres.join(' / ') }}
v-divider
v-flex(xs7)

View File

@ -3,7 +3,7 @@
v-model='show',
width='60%',
transition='dialog-transition',
lazy, absolute, persistent
absolute, persistent
)
v-card
v-card-title.grey--text.text-uppercase
@ -25,7 +25,7 @@
v-card-actions
v-spacer
v-btn(@click='applyFilters') Apply
v-btn.blue--text(flat, @click='close') Cancel
v-btn.blue--text(text, @click='close') Cancel
</template>
<script>

View File

@ -1,11 +1,11 @@
<template lang="pug">
v-dialog(v-model='show', persistent, lazy, absolute, max-width='800', @keydown.esc='close()')
v-dialog(v-model='show', persistent, absolute, max-width='800', @keydown.esc='close()')
v-card.pa-2
v-card-title.entry-title.grey--text
.text-uppercase(xs9, offset-xs1) {{ addOrEdit }} a list entry
span {{ entryTitle }}
v-spacer
v-btn(icon, outline, @click='close')
v-btn(icon, outlined, @click='close')
v-icon close
v-divider
@ -46,7 +46,6 @@
v-model='datePickers[i - 1]',
:close-on-content-click='false',
:nudge-right='40',
lazy,
transition='scale-transition',
offset-y,
full-width,
@ -86,7 +85,7 @@
v-flex(xs12, pt-2)
v-textarea(
label="Custom notes",
outline,
outlined,
v-model='form.notes'
)

View File

@ -1,13 +1,14 @@
<template lang="pug">
v-dialog(
v-model='show',
width='65%',
lazy
width='65%'
)
v-tooltip(top, lazy, slot='activator')
v-btn(slot='activator', icon, large)
v-icon(large) import_export
span Transfer Lists
template(v-slot:activator='{ on: dialog }')
v-tooltip(top)
template(v-slot:activator='{ on: tooltip }')
v-btn(v-on='{ ...dialog, ...tooltip }', icon, large)
v-icon(large) import_export
span Transfer Lists
v-card
v-card-title.grey--text.text-uppercase
@ -31,7 +32,7 @@
v-scale-transition(group)
template(v-if='source')
v-flex.text-xs-center(key='icon')
v-flex.text-center(key='icon')
v-icon(large) keyboard_arrow_down
v-flex(key='select')
@ -57,12 +58,12 @@
v-btn(@click='transfer') Yes!
v-btn.blue--text(flat, @click='confirm = false') Nevermind!
v-btn.blue--text(text, @click='confirm = false') Nevermind!
template(v-else)
v-btn(@click='confirm = true') Transfer!
v-btn.blue--text(flat, @click='close') Cancel
v-btn.blue--text(text, @click='close') Cancel
</template>
<script>

View File

@ -1,11 +1,11 @@
<template lang="pug">
v-dialog(v-model='show', persistent, lazy, absolute, max-width='800', @keydown.esc='close()')
v-dialog(v-model='show', persistent, absolute, max-width='800', @keydown.esc='close()')
v-card.pa-2
v-card-title.entry-title.grey--text
.text-uppercase(xs9, offset-xs1) {{ addOrEdit }} a list entry
span {{ entryTitle }}
v-spacer
v-btn(icon, outline, @click='close')
v-btn(icon, outlined, @click='close')
v-icon close
v-divider
@ -46,7 +46,6 @@
v-model='datePickers[i - 1]',
:close-on-content-click='false',
:nudge-right='40',
lazy,
transition='scale-transition',
offset-y,
full-width,
@ -88,7 +87,7 @@
v-flex(xs12, pt-2)
v-textarea(
label="Custom notes",
outline,
outlined,
v-model='form.notes'
)

View File

@ -6,43 +6,46 @@
:search='term',
:loading='isLoading',
item-key='id',
rows-per-page-text='Anime per page:',
:rows-per-page-items="[10, 15, 25, 50, 100, { text: 'All', value: -1 }]",
class='elevation-1'
class='elevation-1',
:footer-props='footerProps'
)
template(v-slot:items='props')
td
v-img(
:src='props.item.img',
:lazy-src='props.item.img',
aspect-ratio='1',
:max-height='70',
contain
)
template(v-slot:placeholder)
v-layout(
fill-height,
align-center,
justify-center,
ma-0
//- Slot example: https://vuetifyjs.com/en/components/data-tables#slots
template(v-slot:body='{ items }')
tbody
tr(v-for='item in items', :key='item.name')
td.thumbnail-container
v-img(
:src='item.img',
:lazy-src='item.img',
aspect-ratio='1',
:max-height='70',
contain
)
v-progress-circular(indeterminate)
td.entry-title {{ props.item.title }}
td.text-xs-right.normal-text {{ props.item.status }}
td.text-xs-right.normal-text {{ props.item.format }}
td.text-xs-right.normal-text {{ props.item.score }}
td
v-tooltip(top, lazy)
.text-xs-right.normal-text.ellipsis(slot='activator') {{ props.item[hasTags ? 'tags' : 'note'] }}
span {{ props.item[hasTags ? 'tags' : 'note'] }}
td
v-layout(column, align-center, justify-center)
span.pb-1 {{ props.item.progress }} / {{ props.item.nbEp || '??' }}
v-progress-linear.ma-0(:value='(props.item.progress / props.item.nbEp) * 100', :max='props.item.nbEp')
template(v-if='isConnected')
td
v-btn(icon, @click='setModal(props.item)')
v-icon edit
template(v-slot:placeholder)
v-layout(
fill-height,
align-center,
justify-center,
ma-0
)
v-progress-circular(indeterminate)
td.entry-title {{ item.title }}
td.text-xs-right.normal-text {{ item.status }}
td.text-xs-right.normal-text {{ item.format }}
td.text-xs-right.normal-text {{ item.score }}
td
v-tooltip(top)
template(v-slot:activator='{ on }')
.text-xs-right.normal-text.ellipsis(v-on='on') {{ item[hasTags ? 'tags' : 'note'] }}
span {{ item[hasTags ? 'tags' : 'note'] }}
td
v-layout(column, align-center, justify-center)
span.pb-1 {{ item.progress }} / {{ item.nbEp || '??' }}
v-progress-linear.ma-0(:value='(item.progress / item.nbEp) * 100', :max='item.nbEp')
template(v-if='isConnected')
td
v-btn(icon, @click='setModal(item)')
v-icon edit
</template>
<script>
@ -58,6 +61,10 @@ export default {
data () {
return {
selected: [],
footerProps: {
'items-per-page-text': 'Anime per page:',
'items-per-page-options': [10, 15, 25, 50, 100, { text: 'All', value: -1 }]
},
headers: [
{ text: 'Thumbnail', value: 'img', sortable: false, align: 'center' },
{
@ -137,9 +144,12 @@ export default {
<style lang="stylus" scoped>
.entry-title
font-size 15px
font-weight 200
font-weight 300
letter-spacing 0.04em
.thumbnail-container
max-width 100px
.normal-text
letter-spacing 0.02em
max-width 250px

View File

@ -1,11 +1,11 @@
<template lang="pug">
v-dialog(v-model='show', persistent, lazy, absolute, max-width='800', @keydown.esc='close()')
v-dialog(v-model='show', persistent, absolute, max-width='800', @keydown.esc='close()')
v-card.pa-2
v-layout(row, wrap)
v-flex.entry-title-generic.pa-2(xs9, offset-xs1) {{ addOrEdit }} a list entry
span.entry-title {{ entryTitle }}
v-flex(xs2)
v-btn(icon, outline, @click='close')
v-btn(icon, outlined, @click='close')
v-icon close
v-flex(xs4, offset-xs1)
v-select(
@ -40,19 +40,20 @@
max-width='290px',
min-width='290px'
)
v-text-field(
slot='activator',
:label="`${i === 1 ? 'Start' : 'End'} date`",
v-model="form['date_' + (i === 1 ? 'start' : 'finish')]",
prepend-icon='event',
readonly
)
template(v-slot:activator='{ on }')
v-text-field(
v-on='on',
:label="`${i === 1 ? 'Start' : 'End'} date`",
v-model="form['date_' + (i === 1 ? 'start' : 'finish')]",
prepend-icon='event',
readonly
)
v-date-picker(v-model="form['date_' + (i === 1 ? 'start' : 'finish')]", no-title, scrollable, actions)
template(slot-scope='{ save, cancel }')
v-card-actions
v-spacer
v-btn(flat, color='primary', @click='cancel') Cancel
v-btn(flat, color='primary', @click='save') Ok
v-btn(text, color='primary', @click='cancel') Cancel
v-btn(text, color='primary', @click='save') Ok
v-flex(xs2, offset-xs1)
v-select(
label='Score'
@ -63,17 +64,19 @@
item-value='value',
item-text='text'
)
v-expansion-panel(popout)
v-expansion-panel-content(ripple)
div(slot='header') Advanced options
v-layout(justify-center)
v-flex(xs8)
v-combobox(
v-model="form.tags",
label="Tags",
chips,
multiple
)
v-expansion-panels(popout)
v-expansion-panel(ripple)
v-expansion-panel-header
div Advanced options
v-expansion-panel-content
v-layout(justify-center)
v-flex(xs8)
v-combobox(
v-model="form.tags",
label="Tags",
chips,
multiple
)
v-layout.pa-3(justify-space-between)
v-flex(xs2)
v-select(
@ -117,7 +120,7 @@
v-flex(xs8)
v-textarea(
label="Comment",
outline,
outlined,
v-model='form.comments'
)
v-layout(justify-center)

View File

@ -1,15 +1,15 @@
<template lang="pug">
.sections-container.elevation-12.indigo.pt-2.pb-2
v-list-tile(
v-list-item(
v-for='section in sections', :key='section.value',
@click='setRoute(section.value)',
:color='getColor(section.value)',
ripple
)
v-list-tile-action
v-list-item-action
v-icon(:color='getColor(section.value)') {{ section.icon }}
v-list-tile-content
v-list-tile-title
v-list-item-content
v-list-item-title
span {{ section.name }}
</template>

View File

@ -9,8 +9,8 @@
v-flex.pa-3(xs3)
drawer(@routeUpdate='setRoute', :indexKey='route')
v-flex.pa-5(xs9)
transition(name='page', mode='out-in')
component(:is='currentSectionComponent')
v-expand-transition(mode='out-in')
component(:is='currentSectionComponent', :key='currentSectionComponent.name')
</template>
<script>

View File

@ -1,8 +1,8 @@
<template lang="pug">
v-dialog(fullscreen, lazy, v-model='show')
v-btn(slot='activator', icon)
v-icon settings
v-dialog(fullscreen, v-model='show')
template(v-slot:activator='{ on }')
v-btn(v-on='on', icon)
v-icon settings
layout(@close='close')
</template>

View File

@ -33,15 +33,15 @@
)
v-layout(justify-end, align-center, pr-2)
v-btn(flat, @click='updateCreds(website)')
v-btn(text, @click='updateCreds(website)')
v-icon save
.pl-2 Save
template(v-if='website.mustSignIn')
v-btn(flat, @click='signIn(website)')
v-btn(text, @click='signIn(website)')
v-icon subdirectory_arrow_left
.pl-2 Log In
template(v-if='website.mustRegister')
v-btn(flat, @click='register(website)')
v-btn(text, @click='register(website)')
v-icon open_in_new
.pl-2 Register
div(v-show='website.canAuth', @click='saveTracking(website.service)')

View File

@ -7,7 +7,7 @@
v-container(grid-list-lg, pa-0)
v-layout(row, wrap, justify-center, align-center)
v-flex(xs12, sm4, md2)
v-btn(flat, @click='openDialog') Change Dir
v-btn(text, @click='openDialog') Change Dir
v-flex(xs12, sm8, md6)
.path.ellipsis.pl-2 {{ path }}
v-flex(xs12, md4, d-flex, align-center, justify-space-around)

View File

@ -19,7 +19,8 @@
v-model='volume',
append-icon='volume_up',
prepend-icon='volume_down',
thumb-label
thumb-label,
hide-details
)
v-flex(xs3, sm2)
v-btn(icon, large, @click='play')

View File

@ -39,7 +39,7 @@
hint='Allows the app to send events to our server (mainly to know how many users we have)'
)
v-container(grid-list-lg, pa-0, mt-3)
v-container(grid-list-lg, pa-0, mt-6)
v-layout(row, wrap, justify-space-around, align-center)
v-flex(xs12, sm6, md3)
v-text-field(

View File

@ -10,7 +10,7 @@
v-container(grid-list-lg, pa-0)
v-layout(row, wrap, justify-center, align-center)
v-flex(xs12, sm4, md2)
v-btn(flat, @click='openDialog') Change Dir
v-btn(text, @click='openDialog') Change Dir
v-flex(xs12, sm8, md8)
.path.ellipsis.pl-2 {{ path }}
v-flex(xs12, sm6, md4)
@ -22,15 +22,17 @@
v-card-text
v-container(grid-list-lg, pa-0)
v-layout(justify-space-around, align-center)
v-btn(flat, @click="openDialog('streaming')") Change Dir
v-btn(text, @click="openDialog('streaming')") Change Dir
.path.ellipsis.pl-2 {{ streamingPath }}
v-tooltip(top, lazy)
v-btn(icon, slot='activator', @click='openStreamingFolder')
v-icon open_in_new
v-tooltip(top)
template(v-slot:activator='{ on }')
v-btn(icon, v-on='on', @click='openStreamingFolder')
v-icon open_in_new
span Open
v-tooltip(top, lazy)
v-btn(icon, slot='activator', @click='resetToTmp')
v-icon(large) refresh
v-tooltip(top)
template(v-slot:activator='{ on }')
v-btn(icon, v-on='on', @click='resetToTmp')
v-icon(large) refresh
span Reset to temporary folder
v-card-actions
v-spacer

View File

@ -1,8 +1,9 @@
<template lang="pug">
v-card.pa-2
v-layout(row, wrap, column)
v-tooltip(top, lazy, v-show='torrentName')
.torrent-title.ellipsis.pt-1.pb-2(slot='activator') {{ torrentName }}
v-tooltip(top, v-show='torrentName')
template(v-slot:activator='{ on }')
.torrent-title.ellipsis.pt-1.pb-2(v-on='on') {{ torrentName }}
span {{ torrentName }}
v-divider
@ -16,7 +17,7 @@
v-divider
v-layout(justify-space-around, pl-4, pr-4)
v-layout(justify-space-around, pl-6, pr-6)
template(v-for='action in actions')
v-btn(v-if='!action.displayInfo', icon, @click='action.action', large)
v-icon(:color='action.color', large) {{ action.icon }}

View File

@ -8,7 +8,7 @@
v-layout(
column,
align-start,
pt-4
pt-6
)
v-layout.speeds-container(justify-space-between)

View File

@ -15,10 +15,11 @@
v-layout(row, wrap, justify-space-around, align-center)
.grey--text.text-uppercase Download Path:
v-tooltip(top)
.path.ellipsis.pl-2(slot='activator') {{ currentPath }}
template(v-slot:activator='{ on }')
.path.ellipsis.pl-2(v-on='on') {{ currentPath }}
span {{ currentPath }}
v-btn(flat, color='blue', @click='openDirectoryDialog') Change
v-btn(icon, flat, large)
v-btn(text, color='blue', @click='openDirectoryDialog') Change
v-btn(icon, text, large)
v-icon(large, color='blue', @click='addEntry') add_circle
div.torrents-container
@ -29,7 +30,7 @@
v-btn(icon)
v-icon(@click='removeEntry(index)') close
v-btn(icon)
v-icon(@click='playEntry(index)') play_circle_outline
v-icon(@click='playEntry(index)') play_circle_outlined
template(v-else)
v-layout.choice(justify-space-between, align-center)
v-btn(@click='openDialog(index)') Open file
@ -39,7 +40,7 @@
v-card-actions
v-spacer
v-btn.blue--text(@click='close', flat) Close
v-btn.blue--text(@click='close', text) Close
v-btn.indigo(@click='download') Download
</template>

View File

@ -16,8 +16,9 @@
.title Torrent information
v-spacer
v-tooltip(top)
v-btn(icon, slot='activator', @click='copy')
v-icon content_copy
template(v-slot:activator='{ on }')
v-btn(icon, v-on='on', @click='copy')
v-icon content_copy
span Copy magnet to clipboard
v-divider
v-card-text
@ -56,9 +57,10 @@
template(v-for='file in torrent.files')
.file(:key='file.path')
v-tooltip(top)
.file-title(slot='activator')
span.name {{ file.name }}
v-icon(:color='getFileStatus(file).color') {{ getFileStatus(file).icon }}
template(v-slot:activator='{ on }')
.file-title(v-on='on')
span.name {{ file.name }}
v-icon(:color='getFileStatus(file).color') {{ getFileStatus(file).icon }}
span {{ file.path }}
</template>

View File

@ -19,23 +19,27 @@
v-flex(xs4, justify-space-around, align-center, d-flex)
v-tooltip(top)
span Rewind 5s
v-icon(@click='timeForward(-5)', slot='activator') replay_5
template(v-slot:activator='{ on }')
v-icon(@click='timeForward(-5)', v-on='on') replay_5
v-icon(large, @click='togglePlay', v-html='paused ? "play_arrow" : "pause"')
v-tooltip(top)
span Fast forward 5s
v-icon(@click='timeForward(5)', slot='activator') forward_5
template(v-slot:activator='{ on }')
v-icon(@click='timeForward(5)', v-on='on') forward_5
v-tooltip(top)
span Skip 1m25 (op & ed)
v-icon(@click='timeForward(85)', slot='activator') fast_forward
template(v-slot:activator='{ on }')
v-icon(@click='timeForward(85)', v-on='on') fast_forward
v-flex(xs2)
v-menu(v-show='hasTracks', offset-overflow, offset-y, top)
v-btn.subtitles.ma-0(slot='activator', small, outline, icon, color='indigo accent-2')
v-icon(small) subtitles
template(v-slot:activator='{ on }')
v-btn.subtitles.ma-0(v-on='on', small, outlined, icon, color='indigo accent-2')
v-icon(small) subtitles
v-list(dense).subtitle-lang
v-list-tile(v-for='(num, i) in Object.keys(numToLang)', :key='i' @click="setTrack(num)")
v-list-tile-title(:class="{ 'blue--text': numToLang[num] === currentLang }") {{ numToLang[num] }}
v-btn.fullscreen.ma-0.ml-2(color='indigo accent-2', small, outline, icon, @click='toggleFullScreen')
v-list-item(v-for='(num, i) in Object.keys(numToLang)', :key='i' @click="setTrack(num)")
v-list-item-title(:class="{ 'blue--text': numToLang[num] === currentLang }") {{ numToLang[num] }}
v-btn.fullscreen.ma-0.ml-2(color='indigo accent-2', small, outlined, icon, @click='toggleFullScreen')
v-icon(v-html="fullscreen ? 'fullscreen_exit' : 'fullscreen'")
v-flex.wide.progress-bar-container(xs5, d-flex, align-center)

View File

@ -50,18 +50,18 @@ export default {
shadow () {
let result = ''
const { shadow, outline } = this.cue
const { shadow, outlined } = this.cue
const containerHeight = +this.size.height.slice(0, -2) // Need to remove px
const shadowDepth = shadow.thickness * 1.5 * containerHeight
const outlineDepth = outline.thickness * containerHeight * 2
const outlinedDepth = outlined.thickness * containerHeight * 2
// First, outline
result = `0 0 ${1.8 * outlineDepth}px ${outline.color}, `.repeat(8).slice(0, -2)
// First, outlined
result = `0 0 ${1.8 * outlinedDepth}px ${outlined.color}, `.repeat(8).slice(0, -2)
if (shadowDepth) {
if (!outline.thickness) {
// SSA specifies that if no outline is set, 1px outline must be forced.
if (!outlined.thickness) {
// SSA specifies that if no outlined is set, 1px outlined must be forced.
result = `1px 1px 1px ${shadow.color}, `.repeat(8).slice(0, -2)
}

View File

@ -6,10 +6,10 @@
//- Window buttons
.window-buttons
v-btn.video-size(color='indigo', dark, icon, outline, @click.stop='actOnWindow("minimize")', v-show='!fullscreen')
v-btn.video-size(color='indigo', dark, icon, outlined, @click.stop='actOnWindow("minimize")', v-show='!fullscreen')
v-icon {{ isMinimized ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}
v-btn.video-close(color='indigo', dark, icon, outline, @click.stop='actOnWindow("close")')
v-btn.video-close(color='indigo', dark, icon, outlined, @click.stop='actOnWindow("close")')
v-icon close
//- Center play button

View File

@ -8,10 +8,11 @@ import Helpers from '../vendor/helpers'
Vue.config.productionTip = false
Helpers(Vue)
Vuetify(Vue)
const vuetify = Vuetify(Vue)
new Vue({
router,
store,
vuetify,
render: h => h(App)
}).$mount('#app')

View File

@ -5,7 +5,7 @@
transition(name='fade', mode='out-in')
v-container(
fluid, fill-height,
v-if='isRefreshing', key='loading'
v-if='isRefreshing || !entries.length', key='loading'
)
loader

View File

@ -12,25 +12,24 @@
v-tabs(
v-model='active',
color='indigo',
background-color='indigo',
grow
)
v-tab(
v-model='active',
v-for='season in tabs',
:key='season',
ripple
) {{ season }}
v-tab-item(
v-for='season in tabs',
:key='season', lazy
)
v-tabs-items(v-model='active')
v-tab-item(v-for='season in tabs', :key='season')
transition(name='fade', mode='out-in')
v-container(
key='season', v-if='!refreshing',
fluid, grid-list-md, pt-0
)
v-layout(justify-space-between, align-center, pa-3)
v-layout(justify-space-between, align-center, pa-6)
.label {{ entries.length }} {{ label }}
.filters-container

View File

@ -2,7 +2,7 @@
div
v-tabs(
v-model='active',
color='indigo',
background-color='indigo',
grow, icons-and-text
)
v-tab(
@ -12,9 +12,10 @@
) {{ list.name }}
v-icon {{ list.icon }}
v-tabs-items(v-model='active')
v-tab-item(
v-for='list in lists',
:key='list.list', lazy
:key='list.list'
)
list(:name='list.list')
</template>

View File

@ -9,6 +9,9 @@ export default {
setLeftDrawer (state, bool) {
state.drawer.left = bool
},
setMiniDrawer (state, bool) {
state.drawer.mini = bool
},
setInfoSnackbar (state, data) {
state.infoSnackbar.text = data
state.infoSnackbar.show = true

View File

@ -7,6 +7,7 @@ export default {
platform: process.platform,
isConnected: false,
drawer: {
mini: true,
left: false
},
infoSnackbar: {

View File

@ -1,5 +1,8 @@
// Custom rules which will be applied globally, allows overriding
html
overflow hidden !important
body
user-select none
@ -70,4 +73,7 @@ h6
justify-content space-between
#info-actions > .v-btn__content
height 20px
height 20px
.theme--dark.v-tabs-items
background-color #303030 !important

View File

@ -3,13 +3,9 @@
// Specify overrides (theme and/or base variables etc.)
// See https://vuetifyjs.com/quick-start
// Material icons/font
@import './material-icons'
// Subtitle font
@import './open-sans'
// Vuetify
@import '../../node_modules/vuetify/src/stylus/app'
// Custom
@import './electron'
@import './transitions'