9 |
10 | ## Installation
11 |
12 | Paste `poi-plugin-quest-info-2` in the plugins tab and click the install button.
13 |
14 | 
15 |
16 | ## Features
17 |
18 | - Translated quest info (English/Simplified Chinese/Traditional Chinese/Korean).
19 | - Task panel translation.
20 | - Quest search and filter.
21 | - Sync with game quest data.
22 | - Auto switch to quest tab when enter quest views.
23 | - Export quest data to json file.
24 |
25 | ## Development
26 |
27 | ```sh
28 | # Install dependencies
29 | npm install
30 |
31 | # Download game data from github and convert assets to base64
32 | # try set `http_proxy` or `https_proxy` as environment when download fail
33 | npm run build
34 |
35 | # Run the plugin in web environment
36 | npm run storybook
37 | ```
38 |
39 | ## Thanks
40 |
41 | - [poi](https://github.com/poooi/poi)
42 | - [plugin-quest](https://github.com/poooi/plugin-quest)
43 | - [kcanotify-gamedata](https://github.com/antest1/kcanotify-gamedata)
44 | - [kcQuests](https://github.com/kcwikizh/kcQuests)
45 | - [舰娘百科](https://zh.kcwiki.cn/wiki/%E8%88%B0%E5%A8%98%E7%99%BE%E7%A7%91)
46 | - [poi-plugin-tabex](https://github.com/momocow/poi-plugin-tabex)
47 |
48 | ## License
49 |
50 | MIT
51 |
--------------------------------------------------------------------------------
/src/__tests__/fixtures/firstLoginWithOneComplete.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "api_no": 101,
4 | "api_category": 1,
5 | "api_type": 4,
6 | "api_label_type": 1,
7 | "api_state": 2,
8 | "api_title": "はじめての「編成」!",
9 | "api_detail": "2隻以上の艦で構成される「艦隊」を編成せよ!",
10 | "api_voice_id": 0,
11 | "api_get_material": [20, 20, 0, 0],
12 | "api_bonus_flag": 1,
13 | "api_progress_flag": 0,
14 | "api_invalid_flag": 0
15 | },
16 | {
17 | "api_no": 202,
18 | "api_category": 2,
19 | "api_type": 4,
20 | "api_label_type": 1,
21 | "api_state": 2,
22 | "api_title": "はじめての「出撃」!",
23 | "api_detail": "艦隊を出撃させ、敵艦隊と交戦せよ!",
24 | "api_voice_id": 0,
25 | "api_get_material": [20, 20, 0, 0],
26 | "api_bonus_flag": 1,
27 | "api_progress_flag": 0,
28 | "api_invalid_flag": 0
29 | },
30 | {
31 | "api_no": 301,
32 | "api_category": 3,
33 | "api_type": 4,
34 | "api_label_type": 1,
35 | "api_state": 3,
36 | "api_title": "はじめての「演習」!",
37 | "api_detail": "他の提督(プレイヤー)の艦隊と「演習」を行おう!",
38 | "api_voice_id": 0,
39 | "api_get_material": [10, 10, 0, 0],
40 | "api_bonus_flag": 1,
41 | "api_progress_flag": 0,
42 | "api_invalid_flag": 0
43 | },
44 | {
45 | "api_no": 601,
46 | "api_category": 6,
47 | "api_type": 4,
48 | "api_label_type": 1,
49 | "api_state": 2,
50 | "api_title": "はじめての「建造」!",
51 | "api_detail": "「工廠」で鋼材などの資材を使って新しい艦を「建造」しよう!",
52 | "api_voice_id": 0,
53 | "api_get_material": [50, 50, 50, 50],
54 | "api_bonus_flag": 1,
55 | "api_progress_flag": 0,
56 | "api_invalid_flag": 0
57 | },
58 | {
59 | "api_no": 701,
60 | "api_category": 7,
61 | "api_type": 4,
62 | "api_label_type": 1,
63 | "api_state": 1,
64 | "api_title": "はじめての「近代化改修」!",
65 | "api_detail": "任意の艦を近代化改修(合成)して、強化せよ!",
66 | "api_voice_id": 0,
67 | "api_get_material": [0, 0, 50, 30],
68 | "api_bonus_flag": 1,
69 | "api_progress_flag": 0,
70 | "api_invalid_flag": 0
71 | }
72 | ]
73 |
--------------------------------------------------------------------------------
/i18n/en-US.json:
--------------------------------------------------------------------------------
1 | {
2 | "Quest Information": "Quest Information 2",
3 | "Show task information & enhance task panel": "Show task information & enhance task panel, Data maintained by [kcanotify](https://github.com/antest1/kcanotify-gamedata) & [KC3Kai](https://github.com/KC3Kai/kc3-translations).",
4 | "Search": "Search",
5 | "All": "All",
6 | "Composition": "Composition",
7 | "Sortie": "Sortie",
8 | "Exercise": "Exercise",
9 | "Expedition": "Expedition",
10 | "Supply / Docking": "Supply / Docking",
11 | "Arsenal": "Arsenal",
12 | "Modernization": "Modernization",
13 | "Others": "Others",
14 | "New": "New {{number}}",
15 | "Daily": "Daily",
16 | "Weekly": "Weekly",
17 | "Monthly": "Monthly",
18 | "Quarterly": "Quarterly",
19 | "Yearly": "Yearly",
20 | "One-time": "One-time",
21 | "Locked": "Locked {{number}}",
22 | "Unlocked": "Unlocked {{number}}",
23 | "In Progress": "In Progress {{number}}",
24 | "Completed": "Completed",
25 | "Already Completed": "Already Completed {{number}}",
26 | "Unknown": "Unknown",
27 | "TotalQuests": "Total {{number}} quests",
28 | "Version": "Version: {{version}}",
29 | "Data Version": "Data Version: {{version}}",
30 | "View source code on GitHub": "View source code on GitHub",
31 | "Restore defaults": "Restore defaults",
32 | "Use Kcwiki data": "Use Kcwiki's data (Simplified Chinese only)",
33 | "Requires": "Requires",
34 | "Unlocks": "Unlocks",
35 | "Import quest data": "Import quest data",
36 | "Export quest data": "Export quest data",
37 | "Import data success": "Import data success",
38 | "Copied data to clipboard": "Copied data to clipboard",
39 | "Failed to export quest data! Please sync quest data first": "Failed to export quest data! Please sync quest data first",
40 | "Search in wikiwiki": "Search in 艦これ 攻略 Wiki",
41 | "Search in Kcwiki": "Search in Kcwiki",
42 | "Search in KanColle Wiki": "Search in KanColle Wiki",
43 | "Search in Richelieu Manager": "Search in Richelieu Manager",
44 | "Star project, support the author": "Star project, support the author",
45 | "Data Source": "Data Source",
46 | "Auto detect": "Auto detect",
47 | "Report issue": "Report issue",
48 | "": ""
49 | }
50 |
--------------------------------------------------------------------------------
/src/stories/QuestCard.stories.tsx:
--------------------------------------------------------------------------------
1 | import type { Meta, Story } from '@storybook/react'
2 | import React from 'react'
3 | import styled from 'styled-components'
4 | import { QuestCard } from '../components/QuestCard'
5 | import { MinimalQuestCard } from '../components/QuestCard/MinimalQuestCard'
6 | import { QUEST_STATUS } from '../questHelper'
7 |
8 | export default {
9 | title: 'QuestCard',
10 | component: QuestCard,
11 | argTypes: {},
12 | } as Meta
13 |
14 | const Spacing = styled.div`
15 | * + * {
16 | margin-top: 8px;
17 | }
18 | `
19 |
20 | const Template: Story