Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: MapleRecall/LiteLoaderQQNT-CCND
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.1.5
Choose a base ref
...
head repository: MapleRecall/LiteLoaderQQNT-CCND
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 13 commits
  • 13 files changed
  • 2 contributors

Commits on Aug 17, 2024

  1. Add avatar style

    MapleRecall committed Aug 17, 2024
    Copy the full SHA
    32c9463 View commit details

Commits on Aug 22, 2024

  1. 为woff2字体添加更多字符支持

    为所有的字体集增加了CJK Unified Ideographs (u+4E00 ~ U+9FFF) 及日文平片假全部字符的支持
    新增了俄文的混淆模式
    以及这玩意可能是个拼写错误?👉(Geek->Greek)
    SummerFleur2997 committed Aug 22, 2024
    Copy the full SHA
    7c5f30b View commit details
  2. 新增“无变化”样式

    没学过css,靠问bing以及参考原来的样式新增的 O.o
    因为平常觉得把头像弄糊了就不知道这个人是谁了,所以希望新增一个无变化的样式
    另外从147行到175行,应该是为不同位置的头像设置了不同的色相偏移吧,这个我不知道怎么调,希望大佬可以完善一下(我自改自用的版本是把这些行全删了hhhh)
    SummerFleur2997 committed Aug 22, 2024
    Copy the full SHA
    f9cb33c View commit details
  3. 添加设置项以匹配更改

    在设置界面中新增设置选项来匹配新增的字体和头像样式
    SummerFleur2997 committed Aug 22, 2024
    Copy the full SHA
    3132aa0 View commit details

Commits on Aug 31, 2024

  1. 混淆代码

    上传混淆代码
    SummerFleur2997 committed Aug 31, 2024
    Copy the full SHA
    386e5de View commit details
  2. 混淆代码修改

    使用 `if __name__ == "__main__":`
    SummerFleur2997 committed Aug 31, 2024
    Copy the full SHA
    e1d672a View commit details
  3. Remove mix_code

    MapleRecall committed Aug 31, 2024
    Copy the full SHA
    114093d View commit details
  4. Adjust styles

    MapleRecall committed Aug 31, 2024
    Copy the full SHA
    4835384 View commit details
  5. Merge pull request #7 from SummerFleur2997/main

    为已有样式添加更多的字符集支持 & 新增俄文混淆样式
    MapleRecall authored Aug 31, 2024
    Copy the full SHA
    0cfda1b View commit details
  6. fix contact

    MapleRecall committed Aug 31, 2024
    Copy the full SHA
    5146a9a View commit details
  7. Fix forward & record

    MapleRecall committed Aug 31, 2024
    Copy the full SHA
    6086265 View commit details
  8. bump version

    MapleRecall committed Aug 31, 2024
    Copy the full SHA
    aa6802b View commit details
  9. Update README.md

    MapleRecall authored Aug 31, 2024
    Copy the full SHA
    26e3cde View commit details
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -6,12 +6,18 @@

## 安装方法

### 方法1:下载release包,解压到插件目录
https://github.com/MapleRecall/LiteLoaderQQNT-CCND/releases
* 方法1:使用 [插件列表查看](https://github.com/ltxhhz/LL-plugin-list-viewer) <br>
搜索 Can Can Need 然后安装选择 `使用仓库代码包`

### 方法2: 插件目录下直接git clone 本项目
* 方法2:下载release包,解压到插件目录<br>
https://github.com/MapleRecall/LiteLoaderQQNT-CCND/releases

* 方法3: 插件目录下直接git clone 本项目<br>
`git clone https://github.com/MapleRecall/LiteLoaderQQNT-CCND.git`

## 字体混淆工具
[Font-Messer](https://github.com/MapleRecall/Font-Messer)(初期预览版)所有预设均可以在这里找到


## 纯CSS版本
https://github.com/MapleRecall/Transitio-user-css?#2-private-plus
4 changes: 2 additions & 2 deletions manifest.json
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
"name": "CanCanNeed",
"slug": "CanCanNeed",
"description": "担心窥屏和社死?快来试试这个吧!还能方便界面演示和截图,美观实用,混沌有趣。",
"version": "0.1.5",
"version": "0.3.0",
"thumb":"./static/images/icon.svg",
"icon": "./static/images/icon.svg",
"authors": [
@@ -28,7 +28,7 @@
"repo": "MapleRecall/LiteLoaderQQNT-CCND",
"branch": "main",
"release": {
"tag": "0.1.5"
"tag": "0.3.0"
}
}
}
1 change: 1 addition & 0 deletions src/config_default.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"enabled": false,
"font": "KFC",
"avatarStyle": "1",
"perfMode": false,
"peekOnBody": false,
"peekOnContact": true,
7 changes: 6 additions & 1 deletion src/scripts/renderer/initStyles.js
Original file line number Diff line number Diff line change
@@ -47,6 +47,7 @@ async function updateClass(e) {
waitForElement("#app").then((el) => {
el?.classList.toggle("ll-ccnd-peekable", config.peekOnBody);
el?.classList.toggle("ll-ccnd-perfmode", config.perfMode);
el && (el.dataset["ccndAvatar"] = config.avatarStyle);
});

if (hash.includes("#/main")) {
@@ -56,7 +57,11 @@ async function updateClass(e) {
}
if (hash.includes("/contact")) {
waitForElement(".contact-layout__content-area").then((el) => el?.classList.toggle("ll-ccnd-peekable", config.peekOnContact));
waitForElement(".contact-profile").then((el) => el?.classList.toggle("ll-ccnd-peekable", true));
waitForElement(".contact-layout__right-area").then((el) => el?.classList.toggle("ll-ccnd-peekable", config.peekOnAIO));
}
}

if (hash.includes("#/forward") || hash.includes("#/record") ) {
waitForElement("#app").then((el) => el?.classList.toggle("ll-ccnd-peekable", config.peekOnAIO));
}
}
2 changes: 1 addition & 1 deletion src/scripts/renderer/settings.js
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ export default async (view) => {

[...view.querySelectorAll("setting-select")].forEach((input) => {
const configName = input.dataset["config"];
input.querySelector(`[data-value="${config.font}"]`)?.click();
input.querySelector(`[data-value="${config[configName]}"]`)?.click();

input.addEventListener("selected", async (event) => {
config[configName] = event.detail.value;
37 changes: 24 additions & 13 deletions src/settings.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<style>
.ll-ccnd-settings {
.font-selector {
.selector {
width: auto;
}

@@ -40,22 +40,33 @@
<setting-text>文字混淆模式</setting-text>
<setting-text data-type="secondary">选择你的喜欢的混淆风格</setting-text>
</div>
<setting-select class="font-selector" data-config="font">
<setting-option data-value="">不混淆</setting-option>
<setting-select class="selector" data-config="font">
<setting-option data-value="">✔️ 不混淆</setting-option>
<setting-option data-value="Chaos" title="C H A O S">🌀 乱序映射</setting-option>
<setting-option data-value="KFC" title="🍟麦当劳">🍔 狂亂木曜日</setting-option>
<setting-option data-value="KunJinKao" title="AMD全责">🐞 锟斤拷烫囤</setting-option>
<setting-option data-value="Furry" title="😾小心福瑞控">🐶 ♡喵呜~汪oωo</setting-option>
<setting-option data-value="JP" title="全是片假名谁看得懂啊">⚔️ 異世界の伝説</setting-option>
<setting-option data-value="JP" title="全是片假名谁看得懂啊">🎏 君は日本_が本当に上手</setting-option>
<setting-option data-value="Geek" title="澤野弘之">💥 βios</setting-option>
<setting-option data-value="EN" >🌐 ENGILHS</setting-option>
<setting-option data-value="RUS" title="苏卡不列!">🍺 Сука блядь</setting-option>
<setting-option data-value="EN">🌐 ENGILHS</setting-option>
</setting-select>
</setting-item>
<setting-item is-disabled>
<setting-item>
<div>
<setting-text>头像样式(暂未实现)</setting-text>
<setting-text>头像样式</setting-text>
<setting-text data-type="secondary">选择头像遮罩的样式</setting-text>
</div>
<setting-select class="selector" data-config="avatarStyle">
<setting-option data-value="0">不遮罩</setting-option>
<setting-option data-value="1">主色 - 清晰渐变</setting-option>
<setting-option data-value="2">主色 - 平缓渐变</setting-option>
<setting-option data-value="3">主色 - 清雅</setting-option>
<setting-option data-value="4">主色 - 标准</setting-option>
<setting-option data-value="5">棋盘 - 亮</setting-option>
<setting-option data-value="6">棋盘 - 暗</setting-option>
<setting-option data-value="7">彩虹 - 🌈</setting-option>
</setting-select>
</setting-item>
<setting-item is-disabled>
<div>
@@ -65,8 +76,8 @@
</setting-item>
<setting-item>
<div>
<setting-text>性能模式</setting-text>
<setting-text data-type="secondary">不使用模糊和混合效果来优化低配置下的性能</setting-text>
<setting-text>简约模式</setting-text>
<setting-text data-type="secondary">不使用模糊和混合效果,同时可以优化低配置下的性能</setting-text>
</div>
<setting-switch data-config="perfMode"></setting-switch>
</setting-item>
@@ -78,21 +89,21 @@
<setting-list data-direction="column">
<setting-item>
<div>
<setting-text>概览聊天框</setting-text>
<setting-text data-type="secondary">鼠标在聊天区内时还原全部消息,方便聊天</setting-text>
<setting-text>快速概览主内容</setting-text>
<setting-text data-type="secondary">鼠标在右侧主内容区时还原内容,方便聊天和查看通知等</setting-text>
</div>
<setting-switch data-config="peekOnAIO"></setting-switch>
</setting-item>
<setting-item>
<div>
<setting-text>概览联系人</setting-text>
<setting-text>快速概览联系人</setting-text>
<setting-text data-type="secondary">鼠标在最近联系列表中时还原全部列表,方便选取</setting-text>
</div>
<setting-switch data-config="peekOnContact"></setting-switch>
</setting-item>
<setting-item>
<div>
<setting-text>概览窗口</setting-text>
<setting-text>快速概览窗口</setting-text>
<setting-text data-type="secondary">鼠标在窗口内时还原整个窗口,会覆盖上面两个的设置</setting-text>
</div>
<setting-switch data-config="peekOnBody"></setting-switch>
93 changes: 82 additions & 11 deletions src/styles/base.css
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ body #app {
--avatar-mix-blend-mode: hard-light;

--image-opacity: 0.8;
--image-filter: blur(10px) saturate(1.25);
--image-filter: blur(16px) saturate(1.25);

&.ll-ccnd-perfmode {
--avatar-mask-opacity: 1;
@@ -31,7 +31,16 @@ body #app {
}
}

:is(.text-ellipsis:not(.secondary-info), .text-normal, .msg-content-container, .group-notice .content, .gray-tip-action, .card-extra__postscript) {
:is(
.text-ellipsis:not(.secondary-info),
.text-normal,
.msg-content-container,
.group-notice .content,
.gray-tip-action,
.card-extra__postscript,
.title-bar__content,
.group-profile
) {
font-family: "Messed Sans Pro", sans-serif;
animation: text-in-1 0.5s;

@@ -45,20 +54,86 @@ body #app {
.list-item,
.group-user,
.ml-item,
.sys-notify-card {
.recent-contact-item,
.sys-notify-card,
.record-msg-detail {
&:hover {
.text-ellipsis:not(.secondary-info),
.text-normal,
.msg-content-container,
.group-notice .content,
.gray-tip-action,
.card-extra__postscript {
.card-extra__postscript,
.title-bar__content,
.group-profile {
font-family: inherit;
animation: text-in-2 0.5s;
}
}
}

--avatar-mask-bg: none;

&[data-ccnd-avatar="0"] {
--avatar-mask-opacity: 0;
--avatar-filter: none;
--avatar-mix-blend-mode: normal;
}

&[data-ccnd-avatar="1"] {
--avatar-mask-bg: linear-gradient(
30deg,
hsl(from var(--brand_standard) h 40% 50% / var(--avatar-mask-opacity)) 48%,
hsl(from var(--brand_standard) h 30% 65% / var(--avatar-mask-opacity)) 52%
);
}

&[data-ccnd-avatar="2"] {
--avatar-mask-bg: linear-gradient(
30deg,
hsl(from var(--brand_standard) h 70% 50% / var(--avatar-mask-opacity)) 20%,
hsl(from var(--brand_standard) h 45% 85% / var(--avatar-mask-opacity)) 80%
);
}

&[data-ccnd-avatar="3"] {
--avatar-mask-bg: hsl(from var(--brand_standard) h 50% 60% / var(--avatar-mask-opacity));
}

&[data-ccnd-avatar="4"] {
--avatar-mask-bg: hsl(from var(--brand_standard) h s l / var(--avatar-mask-opacity));
}

&[data-ccnd-avatar="5"] .avatar::after {
background-color: #aaa;
background-image: linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%);
background-size: 16px 16px;
background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
}

&[data-ccnd-avatar="6"] .avatar::after {
background-color: #666;
background-image: linear-gradient(45deg, #888 25%, transparent 25%), linear-gradient(-45deg, #888 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #888 75%), linear-gradient(-45deg, transparent 75%, #888 75%);
background-size: 16px 16px;
background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
}

&[data-ccnd-avatar="7"] .avatar::after {
background: radial-gradient(
circle at bottom right,
hsl(from red h 70% 60% / var(--avatar-mask-opacity)) 0 27%,
hsl(from orange h 70% 60% / var(--avatar-mask-opacity)) 0 37.5%,
hsl(from yellow h 60% 60% / var(--avatar-mask-opacity)) 0 50%,
hsl(from green h 70% 60% / var(--avatar-mask-opacity)) 0 62.5%,
hsl(from darkturquoise h 70% 60% / var(--avatar-mask-opacity)) 0 75%,
hsl(from blue h 60% 60% / var(--avatar-mask-opacity)) 0 87.5%,
hsl(from indigo h 70% 60% / var(--avatar-mask-opacity)) 0
);
filter: blur(2px);
}

.avatar {
overflow: hidden;

@@ -69,25 +144,21 @@ body #app {
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
30deg,
hsl(from var(--brand_standard) h 30% 50% / var(--avatar-mask-opacity)) 48%,
hsl(from var(--brand_standard) h 30% 60% / var(--avatar-mask-opacity)) 52%
);
background: var(--avatar-mask-bg);
mix-blend-mode: var(--avatar-mix-blend-mode);
backdrop-filter: var(--avatar-filter);
transition: 0.2s;
}

:is(.ll-ccnd-peekable, .list-item, .group-user, .ml-item):hover &,
:is(.ll-ccnd-peekable, .list-item, .group-user, .ml-item, .recent-contact-item, .record-msg-detail):hover &,
&:hover {
&::after {
opacity: 0;
}
}
}

:is(.list-item, .group-user, .ml-item, .recent-contact-item) {
&:not([data-ccnd-avatar="0"]) :is(.list-item, .group-user, .ml-item, .recent-contact-item, .record-msg-detail) {
&:nth-child(n) {
.avatar {
filter: hue-rotate(-30deg);
Binary file modified static/fonts/Chaos.woff2
Binary file not shown.
Binary file modified static/fonts/EN.woff2
Binary file not shown.
Binary file modified static/fonts/JP.woff2
Binary file not shown.
Binary file modified static/fonts/KFC.woff2
Binary file not shown.
Binary file modified static/fonts/KunJinKao.woff2
Binary file not shown.
Binary file added static/fonts/RUS.woff2
Binary file not shown.