@@ -89,6 +112,10 @@ const appsOffline = [
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 20px;
}
+.tools-offline {
+ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
+ gap: 20px;
+}
.tool-card {
border: 1px solid var(--color-section-border);
border-radius: 4px;
diff --git a/src/apps/kp-ads/AppView.vue b/src/apps/kp-ads/AppView.vue
new file mode 100644
index 0000000..21b7818
--- /dev/null
+++ b/src/apps/kp-ads/AppView.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+ 找 {{ currentGroup.name }} 跑团!
+
+
+
+
+
+
diff --git "a/src/apps/kp-ads/assets/img/\344\270\215\345\244\234\345\237\216\347\232\204\350\213\215\347\231\275\344\271\213\351\242\234.jpg" "b/src/apps/kp-ads/assets/img/\344\270\215\345\244\234\345\237\216\347\232\204\350\213\215\347\231\275\344\271\213\351\242\234.jpg"
new file mode 100644
index 0000000..d980296
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\344\270\215\345\244\234\345\237\216\347\232\204\350\213\215\347\231\275\344\271\213\351\242\234.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\344\272\262\345\257\206\351\202\202\351\200\205.jpg" "b/src/apps/kp-ads/assets/img/\344\272\262\345\257\206\351\202\202\351\200\205.jpg"
new file mode 100644
index 0000000..719b679
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\344\272\262\345\257\206\351\202\202\351\200\205.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\345\217\252\346\234\211\347\214\253\347\237\245\351\201\223\347\232\204\344\270\226\347\225\214.jpg" "b/src/apps/kp-ads/assets/img/\345\217\252\346\234\211\347\214\253\347\237\245\351\201\223\347\232\204\344\270\226\347\225\214.jpg"
new file mode 100644
index 0000000..ff7118f
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\345\217\252\346\234\211\347\214\253\347\237\245\351\201\223\347\232\204\344\270\226\347\225\214.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\345\221\250\350\200\214\345\244\215\345\247\213.jpg" "b/src/apps/kp-ads/assets/img/\345\221\250\350\200\214\345\244\215\345\247\213.jpg"
new file mode 100644
index 0000000..ba88985
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\345\221\250\350\200\214\345\244\215\345\247\213.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\345\260\217\347\223\242\350\231\253\345\277\253\345\233\236\345\256\266.jpg" "b/src/apps/kp-ads/assets/img/\345\260\217\347\223\242\350\231\253\345\277\253\345\233\236\345\256\266.jpg"
new file mode 100644
index 0000000..1f7fcaa
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\345\260\217\347\223\242\350\231\253\345\277\253\345\233\236\345\256\266.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\346\255\273\345\205\211.jpg" "b/src/apps/kp-ads/assets/img/\346\255\273\345\205\211.jpg"
new file mode 100644
index 0000000..ce39e56
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\346\255\273\345\205\211.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\346\271\226\344\271\213\344\273\206\344\273\216.jpg" "b/src/apps/kp-ads/assets/img/\346\271\226\344\271\213\344\273\206\344\273\216.jpg"
new file mode 100644
index 0000000..8bcb12c
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\346\271\226\344\271\213\344\273\206\344\273\216.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\347\207\203\347\203\247\347\232\204\346\230\237\350\276\260.jpg" "b/src/apps/kp-ads/assets/img/\347\207\203\347\203\247\347\232\204\346\230\237\350\276\260.jpg"
new file mode 100644
index 0000000..658a1ca
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\347\207\203\347\203\247\347\232\204\346\230\237\350\276\260.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\350\212\235\345\212\240\345\223\245\344\271\213\347\216\213.jpg" "b/src/apps/kp-ads/assets/img/\350\212\235\345\212\240\345\223\245\344\271\213\347\216\213.jpg"
new file mode 100644
index 0000000..330c18c
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\350\212\235\345\212\240\345\223\245\344\271\213\347\216\213.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\351\200\232\345\220\221\345\272\255\351\231\242\344\271\213\346\255\214.jpg" "b/src/apps/kp-ads/assets/img/\351\200\232\345\220\221\345\272\255\351\231\242\344\271\213\346\255\214.jpg"
new file mode 100644
index 0000000..7b8f2c6
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\351\200\232\345\220\221\345\272\255\351\231\242\344\271\213\346\255\214.jpg" differ
diff --git "a/src/apps/kp-ads/assets/img/\351\206\222\346\235\245.jpg" "b/src/apps/kp-ads/assets/img/\351\206\222\346\235\245.jpg"
new file mode 100644
index 0000000..ea3f8d8
Binary files /dev/null and "b/src/apps/kp-ads/assets/img/\351\206\222\346\235\245.jpg" differ
diff --git a/src/apps/kp-ads/components/StoryCard.vue b/src/apps/kp-ads/components/StoryCard.vue
new file mode 100644
index 0000000..dfc8e74
--- /dev/null
+++ b/src/apps/kp-ads/components/StoryCard.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
时长:{{ `${story.duration[0]}-${story.duration[1]}` }}小时
+
+ {{ tag }}
+
+
+
+
+
+
+
+
diff --git a/src/apps/kp-ads/constants/story.ts b/src/apps/kp-ads/constants/story.ts
new file mode 100644
index 0000000..dec5091
--- /dev/null
+++ b/src/apps/kp-ads/constants/story.ts
@@ -0,0 +1,850 @@
+import { StoryInfoOverrides } from '../types/story';
+
+// cover images
+import cover湖之仆从 from '../assets/img/湖之仆从.jpg';
+import cover通向庭院之歌 from '../assets/img/通向庭院之歌.jpg';
+import cover醒来 from '../assets/img/醒来.jpg';
+import cover芝加哥之王 from '../assets/img/芝加哥之王.jpg';
+import cover周而复始 from '../assets/img/周而复始.jpg';
+import cover小瓢虫快回家 from '../assets/img/小瓢虫快回家.jpg';
+import cover亲密邂逅 from '../assets/img/亲密邂逅.jpg';
+import cover只有猫知道的世界 from '../assets/img/只有猫知道的世界.jpg';
+import cover死光 from '../assets/img/死光.jpg';
+import cover燃烧的星辰 from '../assets/img/燃烧的星辰.jpg';
+import cover不夜城的苍白之颜 from '../assets/img/不夜城的苍白之颜.jpg';
+
+enum NonDicechoIds {
+ '醒来',
+}
+
+function createNonDicechoId(id: NonDicechoIds): string {
+ return `sox-id-${id + 1}`;
+}
+
+export const preparedStories: StoryInfoOverrides[] = [
+ {
+ id: '60805ce3a12bf00028239cde',
+ title: '湖之仆从',
+ duration: [4, 6],
+ time: '1920s',
+ place: '美国',
+ coverUrl: cover湖之仆从,
+ adds: `银行家的孩子为爱私奔,他会在神秘的湖畔带来什么样的阴谋?噩梦到来,失去踪迹的人们,还会在湖中再次崛起。`,
+ labels: ['适合新手'],
+ },
+ {
+ id: '60805536a12bf00028239cbc',
+ title: '通向庭院之歌',
+ time: '1920s',
+ place: '美国阿卡姆',
+ duration: [4, 6],
+ coverUrl: cover通向庭院之歌,
+ adds: `三起似乎互不相关的盗窃案,失落的匕首、丢失的卷轴、被窃的笔记……在阿卡姆寻找失物的途中,来自深渊的歌谣逐渐向调查员们奏响。`,
+ labels: ['适合新手'],
+ },
+ {
+ id: createNonDicechoId(NonDicechoIds.醒来),
+ title: '醒来',
+ time: '2003年',
+ place: '中国北京',
+ duration: [4, 6],
+ coverUrl: cover醒来,
+ adds: `雨后的街道上闪烁着霓虹,车流如织。你们被相熟的警察喊去喝酒,却发现自己早已卷入一连串离奇事件的漩涡。迷雾越来越重,该醒了。`,
+ },
+ {
+ id: '6007fcc8bb660b024e51174d',
+ title: '让孩子们来我身边',
+ time: '1920s',
+ place: '美国',
+ duration: [6, 10],
+ adds: `充满神秘的土地上,口口相传着吓唬淘气孩子的鬼故事。当古老的夜晚再次降临,孩子们究竟会迎来怎样的未来?`,
+ comments: '包含对儿童的暴力内容,请酌情游玩',
+ },
+];
+
+export const preparingStories: StoryInfoOverrides[] = [
+ {
+ id: '607ff8b885cecc0028fd2eca',
+ title: '芝加哥之王',
+ duration: [6, 10],
+ time: '1920s',
+ place: '美国',
+ coverUrl: cover芝加哥之王,
+ adds: `繁荣的20年代,是充满暴力与暗算的年代。芝加哥黑帮之间的斗争从未停歇,而你们的到来,让这场纷争变得更加混乱。`,
+ comments: '黑帮故事',
+ },
+ {
+ id: '6007fcc8bb660b024e511788',
+ title: '周而复始',
+ time: '1995年',
+ place: '中国',
+ duration: [6, 10],
+ coverUrl: cover周而复始,
+ adds: `特工们被召集到阳光洒下的海边,静谧的沙滩与飘摇的渔船,表象之下,接头的本地线人却带来了惊天动地的秘密。`,
+ comments: '死亡率极高,反转惊人',
+ },
+ {
+ id: '6007fcc8bb660b024e51165d',
+ title: '小瓢虫快回家',
+ time: '现代',
+ place: '美国',
+ duration: [8, 10],
+ coverUrl: cover小瓢虫快回家,
+ adds: `身患重病的五岁小女孩突然被绑架,如果不及时治疗,几天之后小女孩的病情就会恶化。请你们一定要指引可爱的小瓢虫早日回家!`,
+ },
+ {
+ id: '61e2787e0b239300287af1d8',
+ title: '亲密邂逅',
+ time: '现代',
+ place: '中国上海',
+ duration: [5, 6],
+ coverUrl: cover亲密邂逅,
+ adds: `人人匿名的数字时代,孤独的人们渴望着与陌生人的交流。交友网站的会员接连被杀,留下的是和精神一样空虚的躯壳。`,
+ comments: '涉及交友网站内容,不适者请勿游玩',
+ },
+ {
+ id: '6007fcc8bb660b024e51178e',
+ title: '只有猫知道的世界',
+ time: '2010s',
+ place: '中国or日本',
+ duration: [4, 6],
+ coverUrl: cover只有猫知道的世界,
+ adds: `那个天才一般的少年失踪了?去找找看吧,还好上海到这个小镇不算太远。不过,是不是哪里有一点点古怪?喵?喵喵喵?喵!`,
+ comments: '轻松愉快,猫猫贴贴',
+ labels: ['适合新手'],
+ },
+ {
+ id: '607f44aa082ac000286d953c',
+ title: '死光',
+ time: '1920s',
+ place: '美国',
+ duration: [4, 6],
+ coverUrl: cover死光,
+ adds: `一场离奇的车祸,将所有人都一起搅在了在这场暴风雨之夜中。在这场无法理解的杀戮中,你们是否还能见到黎明的希望之光?`,
+ },
+ {
+ id: '6007fcc8bb660b024e5115bf',
+ title: '燃烧的星辰',
+ time: '1920s',
+ place: '美国/海地',
+ duration: [6, 9],
+ coverUrl: cover燃烧的星辰,
+ adds: `万灵节将至,海地——政府军和反叛军开战前最后的宁静。你来这里寻找美国富商失踪的儿子,却惊觉已经陷入了漩涡中心。最终,星辰将会熊熊燃烧。`,
+ comments: '死亡率高达80%!富有挑战!',
+ },
+ {
+ id: '6318822495ca380026fb491d',
+ title: '不夜城的苍白之颜',
+ time: '2010s',
+ place: '日本',
+ duration: [4, 6],
+ coverUrl: cover不夜城的苍白之颜,
+ adds: `普通的女高中生离家出走,消失在东京著名的红灯区——歌舞伎町。不要陷入这片日本最迷乱的景色,在万圣节的夜幕降临之前,将她找回来吧。`,
+ comments: '日式偏交涉,可无战斗',
+ },
+];
+
+export const dicechoStoryInfos = [
+ {
+ _id: '60805ce3a12bf00028239cde',
+ title: '湖之仆从',
+ alias: '幽暗之门',
+ description:
+ '模组集 幽暗之门 其四,译者星座灏\n此模组的故事发生在洛夫克拉夫特地区,位于金斯波特以北以及阿卡姆西南的一片湖周围。此模组适\n用于 2 到 4 名新手调查员来进行,但通过增加敌人的数量,守秘人也可让更有经验的玩家们来挑战这一模\n组。这个模组可以在一次跑团活动中完成,其发生地也可以自由地进行调整以适用于任何一个已有的战\n役。虽然故事的发生时间被设定在了 1920 年代,但也可以改成是在现代发生的事情(建议守秘人将斯夸\n特斯湖周边一带设定为手机无信号或信号极弱的区域)。',
+ origin: 'www.goddessfantasy.net',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2017-03-28T17:11:55.482Z',
+ lastEditAt: '2021-05-10T05:27:46.427Z',
+ tags: ['1920s', '美国', '新手模组', '幽暗之门'],
+ languages: ['en'],
+ topicCount: 1,
+ modFiles: [],
+ originUrl: 'http://www.goddessfantasy.net/bbs/index.php?topic=90608.0',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.goddessfantasy.net/bbs/index.php?topic=90608.0',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 7.7,
+ originTitle: 'Servants of the Lake',
+ playerNumber: [2, 4],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021042201094331.jpg',
+ rateInfo: {
+ '1': 0,
+ '2': 1,
+ '3': 8,
+ '4': 16,
+ '5': 6,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Glynn Owen Barrass',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 31,
+ canDownload: false,
+ validRateCount: 31,
+ markCount: 51,
+ isRated: false,
+ },
+ {
+ _id: '60805536a12bf00028239cbc',
+ title: '失落的缴款',
+ alias: '',
+ description:
+ 'Missed Dues(失落的缴款)是一个设定于1922年舞台的模组,这个模组支持最多6名玩家;每名玩家的调查员都有着犯罪背景。这个模组发生于阿卡姆市;然而将地点移动到任何KP所选择的大型村镇或者中型城市也没有任何问题。\n\n本模组来自于官方产品《克苏鲁的呼唤守秘人帷幕 Call of Cthulhu Keeper Screen》,应用于《克苏鲁的呼唤TRPG》第七版规则。\n中文版翻译:清水\n下载地址:http://www.goddessfantasy.net/bbs/?topic=81065.0',
+ origin: 'www.chaosium.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2015-11-23T16:38:44.215Z',
+ lastEditAt: '2021-11-19T03:25:59.038Z',
+ tags: ['1920s', '美国', '阿卡姆'],
+ languages: ['en'],
+ topicCount: 0,
+ modFiles: [],
+ originUrl: 'http://www.chaosium.com/call-of-cthulhu-keeper-screen-pack/',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.goddessfantasy.net/bbs/?topic=81065.0',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 7.7,
+ originTitle: 'Missed Dues',
+ playerNumber: [3, 6],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021111911241542.png',
+ rateInfo: {
+ '1': 0,
+ '2': 0,
+ '3': 3,
+ '4': 8,
+ '5': 4,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Mike Mason',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '61233ff5c0c6ee0028510e60',
+ nickName: '睡不醒的虾米',
+ avatarUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021092720341138.png',
+ },
+ ],
+ canEdit: false,
+ rateCount: 15,
+ canDownload: false,
+ validRateCount: 15,
+ markCount: 63,
+ isRated: false,
+ },
+ {
+ _id: '6007fcc8bb660b024e51174d',
+ title: '让孩子们来我身边',
+ alias: '就让孩子们来我身边',
+ description:
+ '出自金妖精出版社的《无知之岛》。在马萨诸塞州的艾尔斯伯里,儿童正在消失。在过去的8个月里,当地纺织厂的工人,这些可怜的孩子在神秘的情况下消失了。这种情况应该引起恐慌和骚动,除了大多数孩子在几天后重新出现,就像他们消失时一样突然和神秘,每个人都很好,并声称什么都没有发生。调查人员将被挑战到理智的边缘,甚至超越理智,因为他们要研究神话的恐怖是否真的比人类对自己造成的恶果更可怕……\n翻译:https://www.cnmods.net/#/moduleDetail/index?keyId=128 译者:琳尼娜',
+ origin: 'www.goldengoblinpress.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ cnmodsAliaseId: 128,
+ releaseDate: '2013-01-01T00:00:00.000Z',
+ lastEditAt: '2022-03-29T04:33:25.579Z',
+ tags: ['1920s', '美国', 'R18'],
+ languages: ['en'],
+ topicCount: 0,
+ modFiles: [],
+ originUrl:
+ 'http://www.goldengoblinpress.com/store/#!/Island-of-Ignorance-The-Third-Cthulhu-Companion/p/29415440/category=6641141',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'https://www.cnmods.net/#/moduleDetail/index?keyId=128',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 7.8,
+ originTitle: 'Let the Children Come to Me',
+ playerNumber: [3, 6],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/600af94a44f096001d6e49df/2021032201242410.jpg',
+ rateInfo: {
+ '1': 0,
+ '2': 0,
+ '3': 3,
+ '4': 39,
+ '5': 11,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Mark Shireman',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '60547b8b1a37af0028f85013',
+ nickName: '一般路过蛇猫草',
+ avatarUrl: 'https://file.dicecho.com/mod/60547b8b1a37af0028f85013/2021071314582136.jpeg',
+ },
+ {
+ _id: '61dab557e602d7002855f052',
+ nickName: '念魔王',
+ avatarUrl: 'https://file.dicecho.com/media/20220716/06161869.jpg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 54,
+ canDownload: false,
+ validRateCount: 53,
+ markCount: 190,
+ isRated: false,
+ },
+ {
+ _id: '607ff8b885cecc0028fd2eca',
+ title: '芝加哥之王',
+ alias: '',
+ description:
+ '《芝加哥之王》是一本混沌元素出版社出版的基于《克苏鲁的呼唤》规则的、以1920年代为背景的模组集。书名来源于本书所收录的一个模组,小标题亦包含本书收录的另一个模组《马赛之谜》。两个模组虽然地点不同,并且故事上没有关联,但年代相近,又都涉及黑帮的阴谋与斗争,故而收录进同一本书。KP可以选择任意的模组进行游戏,并且利用里面详尽的资料来构筑属于自己的冒险。译者发糖社。翻译:http://www.goddessfantasy.net/bbs/?topic=59453.0',
+ origin: 'www.drivethrurpg.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2013-06-12T10:04:20.675Z',
+ lastEditAt: '2022-04-10T06:30:28.808Z',
+ tags: ['1920s', '美国'],
+ languages: ['en'],
+ topicCount: 0,
+ modFiles: [],
+ originUrl: 'http://www.drivethrurpg.com/m/product/1675',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.drivethrurpg.com/m/product/1675',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 8.3,
+ originTitle: 'The King of Chicago',
+ playerNumber: [2, 6],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/61dab557e602d7002855f052/2022041014302426.jpg',
+ rateInfo: {
+ '1': 0,
+ '2': 0,
+ '3': 3,
+ '4': 5,
+ '5': 5,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Gary Sumpter',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '61dab557e602d7002855f052',
+ nickName: '念魔王',
+ avatarUrl: 'https://file.dicecho.com/media/20220716/06161869.jpg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 15,
+ canDownload: false,
+ validRateCount: 13,
+ markCount: 105,
+ isRated: false,
+ },
+ {
+ _id: '6007fcc8bb660b024e511788',
+ title: '周而复始',
+ alias: '',
+ description:
+ '玩家一开始会作为FBI特工去调查美国东海岸的一个小镇,但接着发生的一系列事件绝对会让所有人大跌眼镜。\n\n本模组来自于官方模组集《奇异纪元 II Strange Aeons II》,应用于《克苏鲁的呼唤TRPG》第六版规则。\n中文版翻译:埃兰迪斯\n下载地址:https://www.cnmods.net/#/moduleDetail/index?keyId=84',
+ origin: 'www.chaosium.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ cnmodsAliaseId: 84,
+ releaseDate: '2010-03-30T00:00:00.000Z',
+ lastEditAt: '2021-11-16T08:21:56.766Z',
+ tags: ['其他时代', '奇异纪元Ⅱ'],
+ languages: ['zh-CN'],
+ topicCount: 0,
+ modFiles: [],
+ originUrl: 'http://www.chaosium.com/strange-aeons-ii-pdf/',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'https://www.cnmods.net/#/moduleDetail/index?keyId=84',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 8,
+ originTitle: 'Time After Time',
+ playerNumber: [3, 5],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021111616093317.jpg',
+ rateInfo: {
+ '1': 0,
+ '2': 1,
+ '3': 6,
+ '4': 15,
+ '5': 15,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Brian M. Sammons',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '61233ff5c0c6ee0028510e60',
+ nickName: '睡不醒的虾米',
+ avatarUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021092720341138.png',
+ },
+ ],
+ canEdit: false,
+ rateCount: 37,
+ canDownload: false,
+ validRateCount: 37,
+ markCount: 110,
+ isRated: false,
+ },
+ {
+ _id: '6007fcc8bb660b024e51165d',
+ title: '小瓢虫快回家',
+ alias: '',
+ description:
+ '译者阿尔克赛尔罗斯\n链接:https://pan.baidu.com/s/15dPr8TWaCnhtZkjx-ULOlA \n提取码:mfmy\n译者ADS \n链接:https://pan.baidu.com/s/15pms_15xCF--mYAW0EC4Dg\n提取码:LLFH\n小瓢虫快回家的故事发生在美国现代,但是背景也可以设置为其他国家,不需要做出太大改动。文中使用的都是美国的执法机构的名称,如果改换为其他国家,请使用相应的执法机构名称替代。故事中的地区名称同样不重要,一开始是在某个州人口密集的市郊,然后是附近一个州的一片购物中心,最后又回到开始的地方。为了方便描述,本模组中使用的是俄亥俄州,克利夫兰的郊区,和宾夕法尼亚州,匹兹堡的郊区。两个地区名称并不重要。',
+ origin: 'www.drivethrurpg.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ cnmodsAliaseId: 321,
+ releaseDate: '2018-04-01T00:00:00.000Z',
+ lastEditAt: '2024-01-01T14:51:18.693Z',
+ tags: ['现代', '美国', 'The Things We Leave Behind'],
+ languages: ['en'],
+ topicCount: 1,
+ modFiles: [],
+ originUrl:
+ 'http://www.drivethrurpg.com/product/191250/The-Things-We-Leave-Behind--An-Anthology-of-Modern-Day-Call-of-Cthulhu-Scenarios',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.drivethrurpg.com/product/191250/The-Things-We-Leave-Behind--An-Anthology-of-Modern-Day-Call-of-Cthulhu-Scenarios',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 8.2,
+ originTitle: 'Ladybug, Ladybug, Fly away home',
+ playerNumber: [3, 6],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/600af94a44f096001d6e49df/2021032123194934.jpeg',
+ rateInfo: {
+ '1': 0,
+ '2': 3,
+ '3': 9,
+ '4': 48,
+ '5': 24,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Jeff Moeller',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '6044cd588ea14d001d90add6',
+ nickName: '阿尔克赛尔罗斯',
+ avatarUrl: 'https://file.dicecho.com/media/20210323/15153833.jpg',
+ },
+ {
+ _id: '6054aff6b622f80028446055',
+ nickName: 'Walter',
+ avatarUrl:
+ 'https://file.dicecho.com/mod/6054aff6b622f80028446055/1325766084_73f27b78e4766cfc26eb51c32017616c.jpg',
+ },
+ {
+ _id: '60cc4aac22ae4f0028c1f41c',
+ nickName: 'Zzzzz',
+ avatarUrl: 'https://file.dicecho.com/mod/60cc4aac22ae4f0028c1f41c/2021061815304357.jpg',
+ },
+ {
+ _id: '61dab557e602d7002855f052',
+ nickName: '念魔王',
+ avatarUrl: 'https://file.dicecho.com/media/20220716/06161869.jpg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 85,
+ canDownload: false,
+ validRateCount: 84,
+ markCount: 247,
+ isRated: false,
+ },
+ {
+ _id: '61e2787e0b239300287af1d8',
+ title: '亲密邂逅',
+ alias: '',
+ description:
+ '这个故事可以在任何一座大城市展开:只要存在着孤独的个体,在我们这个人人匿名的数字时代迫切地渴望与陌生人交流;只要存在年久失修的基础设施,存在人类对连环杀手的病态迷恋,那么这样的城市就是合适的。 本模组含有一系列的神秘死亡事件,一场停滞不前的调查,一个专门为用户提供便捷约炮速配服务的在线“约会”网站。这一切所留下的是一长串的受害者被抽干了脂肪的躯壳,肉体的空虚一如他们精神的空虚。\n现代背景爱情恐怖故事,含有色情、凶杀、科幻、神秘、虚无主义等要素,成人内容可能需要守秘人和玩家在开始前进行额外沟通。\n来自模组集The Things We Leave Behind, 同系列模组包括《小瓢虫快回家》《勿忘我》等。\n果园翻译帖:http://www.goddessfantasy.net/bbs/index.php?topic=128510.0',
+ origin: 'www.drivethrurpg.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2016-08-29T07:28:38.528Z',
+ lastEditAt: '2023-11-25T15:57:01.723Z',
+ tags: ['现代', 'The Things We Leave Behind', '出版模组', 'R18'],
+ languages: ['en', 'zh-CN'],
+ topicCount: 1,
+ modFiles: [],
+ originUrl: 'http://www.drivethrurpg.com/product/191250/The-Things-We-Leave-Behind',
+ relatedLinks: [],
+ rateAvg: 7.6,
+ originTitle: 'Intimate Encounters',
+ playerNumber: [2, 4],
+ imageUrls: [
+ 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515294187.png',
+ 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515294498.png',
+ 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515294470.png',
+ 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515294512.png',
+ 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515294556.png',
+ ],
+ coverUrl: 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/2022011515274578.png',
+ rateInfo: {
+ '1': 0,
+ '2': 0,
+ '3': 3,
+ '4': 19,
+ '5': 4,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Oscar Rios',
+ },
+ contributors: [
+ {
+ _id: '608a3ddb613b4f00283a9a25',
+ nickName: 'Gekkor',
+ avatarUrl: 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/914475e52639d97a1b6d.png',
+ },
+ {
+ _id: '60432b1a37ec86001d48a93b',
+ nickName: '溪午微寒生',
+ avatarUrl: 'https://file.dicecho.com/media/20210322/01174692.jpeg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 27,
+ canDownload: false,
+ validRateCount: 26,
+ markCount: 173,
+ isRated: false,
+ },
+ {
+ _id: '6007fcc8bb660b024e51178e',
+ title: '只有猫知道的世界',
+ alias: '',
+ description: '适合1-2人的短篇模组,养猫人失踪了,主角(他的猫)为了铲屎官而出击!',
+ origin: 'cnmods',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: false,
+ cnmodsAliaseId: 74,
+ releaseDate: '2017-03-01T00:00:00.000Z',
+ lastEditAt: '2021-05-14T10:21:37.510Z',
+ tags: [],
+ languages: ['zh-CN'],
+ topicCount: 0,
+ modFiles: [],
+ originUrl: 'https://www.cnmods.net/web/moduleDetail?keyId=74',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'https://www.cnmods.net/#/moduleDetail/index?keyId=74',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 6.2,
+ originTitle: '只有猫知道的世界',
+ playerNumber: [1, 2],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/images/95AB141E8F2D6985E038CB3D97DB2BBF.png',
+ rateInfo: {
+ '1': 0,
+ '2': 0,
+ '3': 12,
+ '4': 5,
+ '5': 0,
+ },
+ author: {
+ isForeign: false,
+ _id: '60435d3037ec86001d48aa4e',
+ nickName: '子非狐_L',
+ avatarUrl: 'https://file.dicecho.com/mod/60435d3037ec86001d48aa4e/2021031919240976.jpg',
+ },
+ contributors: [],
+ canEdit: false,
+ rateCount: 17,
+ canDownload: false,
+ validRateCount: 17,
+ markCount: 30,
+ isRated: false,
+ },
+ {
+ _id: '607f44aa082ac000286d953c',
+ title: '死光',
+ alias: '',
+ description:
+ '在阿卡姆城外艰难度夜\n《死光》是一篇基于 1920 年代阿卡姆乡村地区的遭遇式《克苏鲁的呼唤》短模组。在本模组中调查员们将会如字面意义一样遭遇一系列噩梦般的超自然事件,卷入其中者无论精神还是肉体都将面临严峻威胁。模组本质上基于洛夫克拉夫特一向的求生式恐怖风格,故事发生在风暴肆虐的黑夜中阿卡姆郊外一条孤寂的道路上,流程持续时间(叙事上的时间)为风暴的整个期间——至少数个小时,至多直到黎明。',
+ origin: 'www.goddessfantasy.net',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2021-04-20T21:16:26.667Z',
+ lastEditAt: '2022-02-10T08:20:58.462Z',
+ tags: ['1920s', '美国', '阿卡姆', '新手模组'],
+ languages: ['zh-CN'],
+ topicCount: 3,
+ modFiles: [],
+ originUrl: 'http://www.goddessfantasy.net/bbs/?topic=121793.0',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.goddessfantasy.net/bbs/?topic=121793.0',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 8.4,
+ originTitle: 'Dead Light ',
+ playerNumber: [2, 5],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/604351b837ec86001d48a9e6/2021042105163831.png',
+ rateInfo: {
+ '1': 1,
+ '2': 5,
+ '3': 15,
+ '4': 48,
+ '5': 68,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'Alan Bligh',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '604351b837ec86001d48a9e6',
+ nickName: '叶槿_镜面境界',
+ avatarUrl: 'https://file.dicecho.com/media/20210306/09573799.jpeg',
+ },
+ {
+ _id: '600af94a44f096001d6e49df',
+ nickName: '布偶什么的就是布偶',
+ avatarUrl:
+ 'https://file.dicecho.com/mod/600af94a44f096001d6e49df/6c082f196a072e49435963117edaa6ff.jpeg',
+ },
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '608a3ddb613b4f00283a9a25',
+ nickName: 'Gekkor',
+ avatarUrl: 'https://file.dicecho.com/mod/608a3ddb613b4f00283a9a25/914475e52639d97a1b6d.png',
+ },
+ {
+ _id: '61ee2d0353bbd20028b0ab0e',
+ nickName: 'depicts',
+ avatarUrl: '',
+ },
+ ],
+ canEdit: false,
+ rateCount: 146,
+ canDownload: false,
+ validRateCount: 137,
+ markCount: 566,
+ isRated: false,
+ },
+ {
+ _id: '6318822495ca380026fb491d',
+ title: '不夜城的苍白之颜',
+ alias: '',
+ description: '都市夜晚发生的诡异事件,是否预示着灾难的发生?',
+ origin: 'www.amazon.co.jp',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ releaseDate: '2022-01-01T11:34:55.151Z',
+ lastEditAt: '2022-09-13T14:49:06.936Z',
+ tags: ['克苏鲁2020'],
+ languages: [],
+ topicCount: 0,
+ modFiles: [],
+ originUrl: 'http://www.amazon.co.jp/dp/4047360627',
+ relatedLinks: [],
+ rateAvg: 4.4,
+ originTitle: '眠れぬ街の白い顔たち',
+ playerNumber: [null, null],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/61dab557e602d7002855f052/2022091322465398.jpg',
+ rateInfo: {
+ '1': 0,
+ '2': 3,
+ '3': 3,
+ '4': 0,
+ '5': 0,
+ },
+ author: {
+ isForeign: true,
+ nickName: '内山靖二郎',
+ },
+ contributors: [
+ {
+ _id: '6314c7de9a07d20026d63f29',
+ nickName: '逆之沙',
+ avatarUrl: '',
+ },
+ {
+ _id: '61dab557e602d7002855f052',
+ nickName: '念魔王',
+ avatarUrl: 'https://file.dicecho.com/media/20220716/06161869.jpg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 6,
+ canDownload: false,
+ validRateCount: 6,
+ markCount: 5,
+ isRated: false,
+ },
+ {
+ _id: '6007fcc8bb660b024e5115bf',
+ title: '燃烧的星辰',
+ alias: '燃星',
+ description:
+ '1930年的海地某医院,调查员们醒来后发现失去了最近7天的记忆,追寻过去的足迹在城市中寻找可怖的真相。\n\n本模组来自于官方模组集《Terrors From Beyond》,应用于《克苏鲁的呼唤TRPG》第六版规则。\n中文版翻译:Ra酱',
+ origin: 'www.chaosium.com',
+ moduleRule: '克苏鲁的呼唤',
+ isForeign: true,
+ cnmodsAliaseId: 526,
+ releaseDate: '2009-06-02T00:00:00.000Z',
+ lastEditAt: '2022-01-26T02:58:39.179Z',
+ tags: ['1920s', '美国', '预设卡', '海地'],
+ languages: ['en'],
+ topicCount: 1,
+ modFiles: [],
+ originUrl: 'http://www.chaosium.com/terrors-from-beyond-pdf/',
+ relatedLinks: [
+ {
+ name: '源站',
+ url: 'http://www.chaosium.com/terrors-from-beyond-pdf/',
+ clickCount: 0,
+ },
+ ],
+ rateAvg: 6.4,
+ originTitle: 'The Burning Stars',
+ playerNumber: [3, 6],
+ imageUrls: [],
+ coverUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021111617361310.jpg',
+ rateInfo: {
+ '1': 19,
+ '2': 36,
+ '3': 49,
+ '4': 60,
+ '5': 118,
+ },
+ author: {
+ isForeign: true,
+ nickName: 'David Conyers',
+ avatarUrl: '',
+ },
+ contributors: [
+ {
+ _id: '60425b6cb2d6e3001de64061',
+ nickName: '🐧',
+ avatarUrl: 'https://file.dicecho.com/media/20220114/13160684.jpg',
+ },
+ {
+ _id: '6054790224f75b002863145f',
+ nickName: 'asteroid',
+ avatarUrl: 'https://file.dicecho.com/mod/6054790224f75b002863145f/2021040609105845.jpg',
+ },
+ {
+ _id: '6055782802a918002990264b',
+ nickName: 'Ermoa',
+ avatarUrl: 'https://file.dicecho.com/mod/6055782802a918002990264b/2021040916463847.png',
+ },
+ {
+ _id: '60436d3537ec86001d48aabe',
+ nickName: 'oreoinhell',
+ avatarUrl: 'https://file.dicecho.com/mod/60436d3537ec86001d48aabe/2021032923141225.jpeg',
+ },
+ {
+ _id: '60d33098b8dc220028a49a46',
+ nickName: '狮子山',
+ avatarUrl: '',
+ },
+ {
+ _id: '6043649937ec86001d48aa91',
+ nickName: '奇妙きみょう',
+ avatarUrl: 'https://file.dicecho.com/mod/6043649937ec86001d48aa91/2021061005164459.png',
+ },
+ {
+ _id: '6043a2a737ec86001d48abea',
+ nickName: '黑炎',
+ avatarUrl: 'https://file.dicecho.com/mod/6043a2a737ec86001d48abea/QQ图片20210512232804.jpg',
+ },
+ {
+ _id: '61233ff5c0c6ee0028510e60',
+ nickName: '睡不醒的虾米',
+ avatarUrl: 'https://file.dicecho.com/mod/61233ff5c0c6ee0028510e60/2021092720341138.png',
+ },
+ {
+ _id: '600af94a44f096001d6e49df',
+ nickName: '布偶什么的就是布偶',
+ avatarUrl:
+ 'https://file.dicecho.com/mod/600af94a44f096001d6e49df/6c082f196a072e49435963117edaa6ff.jpeg',
+ },
+ ],
+ canEdit: false,
+ rateCount: 287,
+ canDownload: false,
+ validRateCount: 282,
+ markCount: 509,
+ isRated: false,
+ },
+];
diff --git a/src/apps/kp-ads/models/story.ts b/src/apps/kp-ads/models/story.ts
new file mode 100644
index 0000000..0c7eb56
--- /dev/null
+++ b/src/apps/kp-ads/models/story.ts
@@ -0,0 +1,47 @@
+import { Story, StoryInfoOverrides } from '../types/story';
+import { preparedStories, preparingStories, dicechoStoryInfos } from '../constants/story';
+
+function getStoriesByOverrides(storyOverrides: StoryInfoOverrides[]): Story[] {
+ return storyOverrides.map((storyOverride) => {
+ const {
+ id,
+ title,
+ duration,
+ time,
+ place,
+ coverUrl,
+ adds,
+ comments,
+ labels,
+ playerNumber = [4, 6],
+ } = storyOverride;
+ const dicechoStory = dicechoStoryInfos.find((info) => info._id === id);
+ const { cnmodsAliaseId, tags, rateAvg } = dicechoStory || {};
+ return {
+ id,
+ title: title || dicechoStory?.title || '',
+ time,
+ place,
+ coverUrl: coverUrl || dicechoStory?.coverUrl || '',
+ adds: adds || '',
+ comments: comments || '',
+ duration,
+ playerNumber,
+ labels,
+ isDicecho: !id.startsWith('sox-id-'),
+ rateAvg,
+ cnmodsAliaseId,
+ tags,
+ };
+ });
+}
+
+export default class StoryModel {
+ static getPreparedStories(): Story[] {
+ return getStoriesByOverrides(preparedStories);
+ }
+
+ static getPreparingStories(): Story[] {
+ return getStoriesByOverrides(preparingStories);
+ }
+}
diff --git a/src/apps/kp-ads/types/story.ts b/src/apps/kp-ads/types/story.ts
new file mode 100644
index 0000000..90ba1fd
--- /dev/null
+++ b/src/apps/kp-ads/types/story.ts
@@ -0,0 +1,28 @@
+export interface Story {
+ id: string;
+ title: string;
+ time: string;
+ place: string;
+ duration: [number, number];
+ playerNumber: [number, number];
+ coverUrl: string;
+ adds: string;
+ comments?: string;
+ labels?: string[];
+ isDicecho: boolean;
+ rateAvg?: number;
+ cnmodsAliaseId?: number;
+ tags?: string[];
+}
+export interface StoryInfoOverrides {
+ id: string;
+ title: string;
+ adds: string;
+ comments?: string;
+ time: string;
+ place: string;
+ duration: [number, number];
+ labels?: string[];
+ coverUrl?: string;
+ playerNumber?: [number, number];
+}
diff --git a/src/pages/record/SelfView.vue b/src/apps/record/SelfView.vue
similarity index 94%
rename from src/pages/record/SelfView.vue
rename to src/apps/record/SelfView.vue
index 9c3792d..62403be 100644
--- a/src/pages/record/SelfView.vue
+++ b/src/apps/record/SelfView.vue
@@ -20,14 +20,8 @@ const wantedList = list
.sort((a, b) => (b.record?.prefer || 0) - (a.record?.prefer || 0));
const playedList = list
.filter((item) => item.record?.isPlayed || item.experience)
- .sort(
- (a, b) =>
- (b.experience?.experienceScore || 0) -
- (a.experience?.experienceScore || 0),
- )
- .sort(
- (a, b) => (b.experience?.storyScore || 0) - (a.experience?.storyScore || 0),
- );
+ .sort((a, b) => (b.experience?.experienceScore || 0) - (a.experience?.experienceScore || 0))
+ .sort((a, b) => (b.experience?.storyScore || 0) - (a.experience?.storyScore || 0));
@@ -70,7 +64,7 @@ const playedList = list
type="checkbox"
v-model="privateMode"
/>
- 隐藏主观评价
+ {{ privateMode ? '显示' : '隐藏' }}主观评价
diff --git a/src/pages/record/StoryListView.vue b/src/apps/record/StoryListView.vue
similarity index 93%
rename from src/pages/record/StoryListView.vue
rename to src/apps/record/StoryListView.vue
index 68504f9..1179e48 100644
--- a/src/pages/record/StoryListView.vue
+++ b/src/apps/record/StoryListView.vue
@@ -37,13 +37,11 @@ const periodOrder: Period[] = ['short', 'medium', 'long', 'battle'];
function sortList(list: listItem[]) {
const sorters: ((a: listItem, b: listItem) => number)[] = [
// 玩过的,靠前
- (a, b) =>
- Number(b.record?.isPlayed || false) - Number(a.record?.isPlayed || false),
+ (a, b) => Number(b.record?.isPlayed || false) - Number(a.record?.isPlayed || false),
// 更想玩的,靠前
(a, b) => (b.record?.prefer || 0) - (a.record?.prefer || 0),
// 时间短的,靠前
- (a, b) =>
- periodOrder.indexOf(a.story.period) - periodOrder.indexOf(b.story.period),
+ (a, b) => periodOrder.indexOf(a.story.period) - periodOrder.indexOf(b.story.period),
// 年代早的,靠前;同年代,按具体时间排序,没有具体时间的靠后
(a, b) => {
const da = a.story.decade.decade;
@@ -62,9 +60,7 @@ function sortList(list: listItem[]) {
const ca = a.story.area[0].country;
const cb = b.story.area[0].country;
if (ca !== cb) return ca > cb ? -1 : 1;
- return (a.story.area[0].city || '') > (b.story.area[0].city || '')
- ? -1
- : 1;
+ return (a.story.area[0].city || '') > (b.story.area[0].city || '') ? -1 : 1;
},
];
const sorttedList = [...list]
@@ -76,9 +72,7 @@ function sortList(list: listItem[]) {
const list = sortList([...stories.map(getListMapper())]);
-const periodOptions = periodOrder.map(
- (key) => [key, periodTexts[key]] as [Period, string],
-);
+const periodOptions = periodOrder.map((key) => [key, periodTexts[key]] as [Period, string]);
const countryOptions = computed(() => {
const countries = new Map();
list.forEach((item) => {
@@ -110,8 +104,7 @@ const computedList = computed(() => {
if (!showWelcome && story.options?.welcome) return false;
if (period.size > 0 && !period.has(story.period)) return false;
if (decade && !story.decade.decade?.startsWith(decade)) return false;
- if (country && !story.area.some((place) => place.country === country))
- return false;
+ if (country && !story.area.some((place) => place.country === country)) return false;
return true;
});
});
@@ -120,7 +113,7 @@ const computedList = computed(() => {