Compare commits
140 Commits
develop
...
sim-dev-pl
Author | SHA1 | Date | |
---|---|---|---|
7a6b524f9d | |||
|
79311124cb | ||
|
384afefde2 | ||
|
84d6f6634a | ||
|
7d11634c7c | ||
|
0b707da157 | ||
|
46a310292f | ||
|
52ba77a8e1 | ||
|
c494eec931 | ||
|
f9f72d954c | ||
|
a8c7c0745c | ||
|
14f4c78aa9 | ||
|
b6554a4f53 | ||
|
9bfa6a949c | ||
|
4a9c68401a | ||
|
b035f82e7d | ||
|
bad1ec7833 | ||
|
addf1f7a26 | ||
|
81f79c86c4 | ||
|
3acbd5eda7 | ||
|
a0ccda2c61 | ||
|
2484fbc9ed | ||
|
cdc3fe81a0 | ||
|
23fd790231 | ||
|
6690fd8443 | ||
|
9ebed95fb6 | ||
|
d03e9a4da1 | ||
|
09c9bdb95d | ||
|
004cf8fa91 | ||
|
09cb1bba71 | ||
|
21ec16b50f | ||
|
66d92ea4fe | ||
|
628f91a96c | ||
|
3b49cb4e27 | ||
|
4f95837240 | ||
|
5042354ce0 | ||
|
2adbc3c0c8 | ||
|
20c0b2bedf | ||
|
b7f2b6c322 | ||
|
3fbfd1a145 | ||
|
16717567b7 | ||
|
fbe42927df | ||
|
6085ae1b87 | ||
|
8bc8f5551c | ||
|
83d0a84a6d | ||
|
c7e7d8e822 | ||
|
10d03e7e21 | ||
|
d1f0cca197 | ||
|
76dfeec604 | ||
|
f5d9322d45 | ||
|
9a9e77a44b | ||
|
283f0b6d62 | ||
|
d3e4d76148 | ||
|
7ae9d4163f | ||
|
1438b2a3d7 | ||
|
5acc7a4c97 | ||
|
7c1e28d301 | ||
|
bacdacee99 | ||
|
b40d9370af | ||
|
af12409036 | ||
|
c90703e4f6 | ||
|
89c55cb72f | ||
|
395c8aeeb2 | ||
|
b054c407d9 | ||
|
3c73d602df | ||
|
0b0ef34c1c | ||
|
3df7ee30b1 | ||
|
f95f8a1692 | ||
|
7ed9bc8501 | ||
|
e07304067e | ||
|
a38e1cda40 | ||
|
e5b3ccc97b | ||
|
47ac20d027 | ||
|
eeb97d1509 | ||
|
59c00da57b | ||
|
1255b195e3 | ||
|
8cfd9a69c0 | ||
|
56c8428ac2 | ||
|
d0981f5053 | ||
|
78139a95a0 | ||
|
33c6c8cc6a | ||
|
8762aa719f | ||
|
7714309988 | ||
|
770e8f56d3 | ||
|
3617625ca4 | ||
|
bc883386e4 | ||
|
07c1987282 | ||
|
79bc4defdf | ||
|
804ffd2e2e | ||
|
6e322ce3d2 | ||
|
0008b18d7d | ||
|
b2ffdc0a34 | ||
|
a4d86fe745 | ||
|
013d25df1f | ||
|
89f4112aad | ||
|
25204471c9 | ||
|
c84bdb18e3 | ||
|
8fae2356e3 | ||
|
56ee66a20d | ||
|
0ea466a6ad | ||
|
0bb29d10ba | ||
|
f20d8a8f3f | ||
|
659be968cf | ||
|
965f9dee1b | ||
|
104b983e04 | ||
|
e820a8b44f | ||
|
3dc39f3730 | ||
|
143dec52ce | ||
|
49ca370a9a | ||
|
cd86a52571 | ||
|
b8c1c2d822 | ||
|
9b8c7a6d5d | ||
|
920919d453 | ||
|
0bf5e44a31 | ||
|
8b5b6c150e | ||
|
cc47190aa8 | ||
|
e50e6734b5 | ||
|
3857ad73af | ||
|
42691d6b06 | ||
|
e9351dc7d0 | ||
|
667ef0e49f | ||
|
64552ef9c7 | ||
|
30fbcf9b5b | ||
|
03825a3ff9 | ||
|
2a19e099b2 | ||
|
55b53b30b0 | ||
|
4c0dca8c07 | ||
|
6fd77a071d | ||
|
6dfa0a8099 | ||
|
c111020ec7 | ||
|
1520517170 | ||
|
d62ea8ff80 | ||
|
dc96ada2bb | ||
|
caae47a9fd | ||
|
d65d7d1568 | ||
|
6385cca64c | ||
|
95cdf7ad7e | ||
|
caad4424b3 | ||
|
27cdcd8d34 | ||
|
f6107f646e |
@ -30,8 +30,10 @@ Also, when you start implementation, assign yourself to the Issue (if you cannot
|
|||||||
|
|
||||||
## Well-known branches
|
## Well-known branches
|
||||||
- **`master`** branch is tracking the latest release and used for production purposes.
|
- **`master`** branch is tracking the latest release and used for production purposes.
|
||||||
- **`develop`** branch is where we work for the next release.
|
- **`honi-dev`** branch is where we work for the next release.
|
||||||
- When you create a PR, basically target it to this branch.
|
- When you create a PR, basically target it to this branch.
|
||||||
|
- **`develop`** branch is where original misskey team work for the next release.
|
||||||
|
- You **must not** target your PR to this branch.
|
||||||
- **`l10n_develop`** branch is reserved for localization management.
|
- **`l10n_develop`** branch is reserved for localization management.
|
||||||
|
|
||||||
## Creating a PR
|
## Creating a PR
|
||||||
|
@ -107,6 +107,7 @@ clickToShow: "Click to show"
|
|||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Add"
|
add: "Add"
|
||||||
reaction: "Reactions"
|
reaction: "Reactions"
|
||||||
|
reactWithRenote: "Renote the note after reacting to it"
|
||||||
reactionSetting: "Reactions to show in the reaction picker"
|
reactionSetting: "Reactions to show in the reaction picker"
|
||||||
reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
|
reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
|
||||||
rememberNoteVisibility: "Remember note visibility settings"
|
rememberNoteVisibility: "Remember note visibility settings"
|
||||||
|
@ -25,6 +25,7 @@ const languages = [
|
|||||||
'it-IT',
|
'it-IT',
|
||||||
'ja-JP',
|
'ja-JP',
|
||||||
'ja-KS',
|
'ja-KS',
|
||||||
|
'ja-HN',
|
||||||
'kab-KAB',
|
'kab-KAB',
|
||||||
'kn-IN',
|
'kn-IN',
|
||||||
'ko-KR',
|
'ko-KR',
|
||||||
@ -58,6 +59,7 @@ module.exports = Object.entries(locales)
|
|||||||
switch (k) {
|
switch (k) {
|
||||||
case 'ja-JP': return v;
|
case 'ja-JP': return v;
|
||||||
case 'ja-KS':
|
case 'ja-KS':
|
||||||
|
case 'ja-HN':
|
||||||
case 'en-US': return merge(locales['ja-JP'], v);
|
case 'en-US': return merge(locales['ja-JP'], v);
|
||||||
default: return merge(
|
default: return merge(
|
||||||
locales['ja-JP'],
|
locales['ja-JP'],
|
||||||
|
1683
locales/ja-HN.yml
Normal file
1683
locales/ja-HN.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -107,6 +107,7 @@ clickToShow: "クリックして表示"
|
|||||||
sensitive: "閲覧注意"
|
sensitive: "閲覧注意"
|
||||||
add: "追加"
|
add: "追加"
|
||||||
reaction: "リアクション"
|
reaction: "リアクション"
|
||||||
|
reactWithRenote: "ついでにRenoteする"
|
||||||
reactionSetting: "ピッカーに表示するリアクション"
|
reactionSetting: "ピッカーに表示するリアクション"
|
||||||
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
|
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
|
||||||
rememberNoteVisibility: "公開範囲を記憶する"
|
rememberNoteVisibility: "公開範囲を記憶する"
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "honisskey",
|
||||||
"version": "12.119.0",
|
"version": "12.119.0-22.09.1",
|
||||||
"codename": "indigo",
|
"codename": "indigo",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/misskey-dev/misskey.git"
|
"url": "https://github.com/ThinaticSystem/honisskey.git"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -2,6 +2,7 @@ export function nyaize(text: string): string {
|
|||||||
return text
|
return text
|
||||||
// ja-JP
|
// ja-JP
|
||||||
.replace(/な/g, 'にゃ').replace(/ナ/g, 'ニャ').replace(/ナ/g, 'ニャ')
|
.replace(/な/g, 'にゃ').replace(/ナ/g, 'ニャ').replace(/ナ/g, 'ニャ')
|
||||||
|
.replace(/(?<=こ)んにち[は|わ]/g, 'にゃにゃちわ').replace(/(?<=コ)ンニチ[ハ|ワ]/g, 'ニャニャチワ').replace(/(?<=コ)ンニチ[ハ|ワ]/g, 'ニャニャチワ')
|
||||||
// en-US
|
// en-US
|
||||||
.replace(/(?<=n)a/gi, x => x === 'A' ? 'YA' : 'ya')
|
.replace(/(?<=n)a/gi, x => x === 'A' ? 'YA' : 'ya')
|
||||||
.replace(/(?<=morn)ing/gi, x => x === 'ING' ? 'YAN' : 'yan')
|
.replace(/(?<=morn)ing/gi, x => x === 'ING' ? 'YAN' : 'yan')
|
||||||
|
@ -33,9 +33,9 @@
|
|||||||
let lang = localStorage.getItem('lang');
|
let lang = localStorage.getItem('lang');
|
||||||
if (lang == null || !supportedLangs.includes(lang)) {
|
if (lang == null || !supportedLangs.includes(lang)) {
|
||||||
if (supportedLangs.includes(navigator.language)) {
|
if (supportedLangs.includes(navigator.language)) {
|
||||||
lang = navigator.language;
|
lang = (navigator.language === 'ja-JP') ? 'ja-HN' : navigator.language;
|
||||||
} else {
|
} else {
|
||||||
lang = supportedLangs.find(x => x.split('-')[0] === navigator.language);
|
lang = (navigator.language === 'ja') ? 'ja-HN' : supportedLangs.find(x => x.split('-')[0] === navigator.language);
|
||||||
|
|
||||||
// Fallback
|
// Fallback
|
||||||
if (lang == null) lang = 'en-US';
|
if (lang == null) lang = 'en-US';
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"start_url": "/",
|
"start_url": "/",
|
||||||
"display": "standalone",
|
"display": "standalone",
|
||||||
"background_color": "#313a42",
|
"background_color": "#313a42",
|
||||||
"theme_color": "#86b300",
|
"theme_color": "#77b58c",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/static-assets/icons/192.png",
|
"src": "/static-assets/icons/192.png",
|
||||||
|
@ -23,8 +23,8 @@ html
|
|||||||
meta(charset='utf-8')
|
meta(charset='utf-8')
|
||||||
meta(name='application-name' content='Misskey')
|
meta(name='application-name' content='Misskey')
|
||||||
meta(name='referrer' content='origin')
|
meta(name='referrer' content='origin')
|
||||||
meta(name='theme-color' content= themeColor || '#86b300')
|
meta(name='theme-color' content= themeColor || '#77b58c')
|
||||||
meta(name='theme-color-orig' content= themeColor || '#86b300')
|
meta(name='theme-color-orig' content= themeColor || '#77b58c')
|
||||||
meta(property='twitter:card' content='summary')
|
meta(property='twitter:card' content='summary')
|
||||||
meta(property='og:site_name' content= instanceName || 'Misskey')
|
meta(property='og:site_name' content= instanceName || 'Misskey')
|
||||||
meta(name='viewport' content='width=device-width, initial-scale=1')
|
meta(name='viewport' content='width=device-width, initial-scale=1')
|
||||||
|
@ -51,7 +51,7 @@ export async function sendEmail(to: string, subject: string, html: string, text:
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #86b300;
|
color: #77b58c;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
@ -65,7 +65,7 @@ export async function sendEmail(to: string, subject: string, html: string, text:
|
|||||||
}
|
}
|
||||||
main > header {
|
main > header {
|
||||||
padding: 32px;
|
padding: 32px;
|
||||||
background: #86b300;
|
background: #77b58c;
|
||||||
}
|
}
|
||||||
main > header > img {
|
main > header > img {
|
||||||
max-width: 128px;
|
max-width: 128px;
|
||||||
|
@ -74,6 +74,7 @@
|
|||||||
<button class="_button tab" :class="{ active: tab === 'unicode' }" @click="tab = 'unicode'"><i class="fas fa-leaf fa-fw"></i></button>
|
<button class="_button tab" :class="{ active: tab === 'unicode' }" @click="tab = 'unicode'"><i class="fas fa-leaf fa-fw"></i></button>
|
||||||
<button class="_button tab" :class="{ active: tab === 'tags' }" @click="tab = 'tags'"><i class="fas fa-hashtag fa-fw"></i></button>
|
<button class="_button tab" :class="{ active: tab === 'tags' }" @click="tab = 'tags'"><i class="fas fa-hashtag fa-fw"></i></button>
|
||||||
</div>
|
</div>
|
||||||
|
<MkSwitch v-if="props.asReactionPicker" v-model="withRenote" class="withRenote">{{ i18n.ts.reactWithRenote }}</MkSwitch>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -90,6 +91,7 @@ import { deviceKind } from '@/scripts/device-kind';
|
|||||||
import { emojiCategories, instance } from '@/instance';
|
import { emojiCategories, instance } from '@/instance';
|
||||||
import { i18n } from '@/i18n';
|
import { i18n } from '@/i18n';
|
||||||
import { defaultStore } from '@/store';
|
import { defaultStore } from '@/store';
|
||||||
|
import MkSwitch from '@/components/form/switch.vue';
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
showPinned?: boolean;
|
showPinned?: boolean;
|
||||||
@ -101,10 +103,11 @@ const props = withDefaults(defineProps<{
|
|||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(ev: 'chosen', v: string): void;
|
(ev: 'chosen', v: { reaction: string, withRenote: boolean } | string): void;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const search = ref<HTMLInputElement>();
|
const search = ref<HTMLInputElement>();
|
||||||
|
const withRenote = ref<boolean>(true);
|
||||||
const emojis = ref<HTMLDivElement>();
|
const emojis = ref<HTMLDivElement>();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -278,6 +281,7 @@ function focus() {
|
|||||||
function reset() {
|
function reset() {
|
||||||
if (emojis.value) emojis.value.scrollTop = 0;
|
if (emojis.value) emojis.value.scrollTop = 0;
|
||||||
q.value = '';
|
q.value = '';
|
||||||
|
withRenote.value = false; // 毎回Renoteをfalseに戻す
|
||||||
}
|
}
|
||||||
|
|
||||||
function getKey(emoji: string | Misskey.entities.CustomEmoji | UnicodeEmojiDef): string {
|
function getKey(emoji: string | Misskey.entities.CustomEmoji | UnicodeEmojiDef): string {
|
||||||
@ -294,7 +298,7 @@ function chosen(emoji: any, ev?: MouseEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const key = getKey(emoji);
|
const key = getKey(emoji);
|
||||||
emit('chosen', key);
|
emit('chosen', (props.asReactionPicker) ? { reaction: key, withRenote: withRenote.value } : key);
|
||||||
|
|
||||||
// 最近使った絵文字更新
|
// 最近使った絵文字更新
|
||||||
if (!pinned.value.includes(key)) {
|
if (!pinned.value.includes(key)) {
|
||||||
@ -452,6 +456,10 @@ defineExpose({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
> .withRenote {
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
> .tabs {
|
> .tabs {
|
||||||
display: flex;
|
display: flex;
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -51,8 +51,8 @@ const emit = defineEmits<{
|
|||||||
const modal = ref<InstanceType<typeof MkModal>>();
|
const modal = ref<InstanceType<typeof MkModal>>();
|
||||||
const picker = ref<InstanceType<typeof MkEmojiPicker>>();
|
const picker = ref<InstanceType<typeof MkEmojiPicker>>();
|
||||||
|
|
||||||
function chosen(emoji: any) {
|
function chosen(results: { reaction: string, withRenote: boolean }) {
|
||||||
emit('done', emoji);
|
emit('done', results);
|
||||||
modal.value?.close();
|
modal.value?.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
>
|
>
|
||||||
<source
|
<source
|
||||||
:src="video.url"
|
:src="video.url"
|
||||||
:type="video.type"
|
:type="(video.type === 'video/quicktime') ? null : video.type"
|
||||||
>
|
>
|
||||||
</video>
|
</video>
|
||||||
<i class="fas fa-eye-slash" @click="hide = true"></i>
|
<i class="fas fa-eye-slash" @click="hide = true"></i>
|
||||||
|
@ -207,11 +207,17 @@ function reply(viaKeyboard = false): void {
|
|||||||
function react(viaKeyboard = false): void {
|
function react(viaKeyboard = false): void {
|
||||||
pleaseLogin();
|
pleaseLogin();
|
||||||
blur();
|
blur();
|
||||||
reactionPicker.show(reactButton.value, reaction => {
|
reactionPicker.show(reactButton.value, results => {
|
||||||
os.api('notes/reactions/create', {
|
os.api('notes/reactions/create', {
|
||||||
noteId: appearNote.id,
|
noteId: appearNote.id,
|
||||||
reaction: reaction,
|
reaction: results.reaction,
|
||||||
});
|
});
|
||||||
|
if (results.withRenote) {
|
||||||
|
os.api('notes/create', {
|
||||||
|
renoteId: appearNote.id,
|
||||||
|
isRenote: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
}, () => {
|
}, () => {
|
||||||
focus();
|
focus();
|
||||||
});
|
});
|
||||||
|
@ -215,7 +215,7 @@ function react(viaKeyboard = false): void {
|
|||||||
reactionPicker.show(reactButton.value, reaction => {
|
reactionPicker.show(reactButton.value, reaction => {
|
||||||
os.api('notes/reactions/create', {
|
os.api('notes/reactions/create', {
|
||||||
noteId: appearNote.id,
|
noteId: appearNote.id,
|
||||||
reaction: reaction,
|
reaction: reaction.reaction,
|
||||||
});
|
});
|
||||||
}, () => {
|
}, () => {
|
||||||
focus();
|
focus();
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
<Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full" :custom-emojis="notification.note.emojis"/>
|
<Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full" :custom-emojis="notification.note.emojis"/>
|
||||||
<i class="fas fa-quote-right"></i>
|
<i class="fas fa-quote-right"></i>
|
||||||
</MkA>
|
</MkA>
|
||||||
|
<button v-if="notification.type === 'renote'" class="_textButton" @click="openRenoteDestination(notification)">RN先を覗く👀</button>
|
||||||
<span v-if="notification.type === 'follow'" class="text" style="opacity: 0.6;">{{ i18n.ts.youGotNewFollower }}<div v-if="full"><MkFollowButton :user="notification.user" :full="true"/></div></span>
|
<span v-if="notification.type === 'follow'" class="text" style="opacity: 0.6;">{{ i18n.ts.youGotNewFollower }}<div v-if="full"><MkFollowButton :user="notification.user" :full="true"/></div></span>
|
||||||
<span v-if="notification.type === 'followRequestAccepted'" class="text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</span>
|
<span v-if="notification.type === 'followRequestAccepted'" class="text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</span>
|
||||||
<span v-if="notification.type === 'receiveFollowRequest'" class="text" style="opacity: 0.6;">{{ i18n.ts.receiveFollowRequest }}<div v-if="full && !followRequestDone"><button class="_textButton" @click="acceptFollowRequest()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectFollowRequest()">{{ i18n.ts.reject }}</button></div></span>
|
<span v-if="notification.type === 'receiveFollowRequest'" class="text" style="opacity: 0.6;">{{ i18n.ts.receiveFollowRequest }}<div v-if="full && !followRequestDone"><button class="_textButton" @click="acceptFollowRequest()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectFollowRequest()">{{ i18n.ts.reject }}</button></div></span>
|
||||||
@ -158,6 +159,21 @@ useTooltip(reactionRef, (showing) => {
|
|||||||
targetElement: reactionRef.value.$el,
|
targetElement: reactionRef.value.$el,
|
||||||
}, {}, 'closed');
|
}, {}, 'closed');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function openRenoteDestination(renoteNotification: misskey.entities.Notification): void {
|
||||||
|
if (renoteNotification.type !== 'renote') {
|
||||||
|
throw new Error("openRenoteDestination()の引数には type: 'renote' のNotificationが渡される必要があります");
|
||||||
|
}
|
||||||
|
|
||||||
|
os.api('users/show', {userId: renoteNotification.user.id}).then((user: misskey.entities.UserDetailed) => {
|
||||||
|
if (user.host != null && user.followersCount === 0) { // リモートユーザーかつローカルの人間が誰もフォローしていない(最新の投稿が取得できない)ユーザー
|
||||||
|
if (user.url === null) { throw new Error('User page URL is Null'); };
|
||||||
|
window.open(user.url, '_blank', 'rel="nofollow noopener"');
|
||||||
|
} else {
|
||||||
|
os.pageWindow(notePage(renoteNotification.note));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -40,7 +40,7 @@ import { getUrlWithoutLoginId } from '@/scripts/login-id';
|
|||||||
import { getAccountFromId } from '@/scripts/get-account-from-id';
|
import { getAccountFromId } from '@/scripts/get-account-from-id';
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.info(`Misskey v${version}`);
|
console.info(`Honisskey v${version}`);
|
||||||
|
|
||||||
if (_DEV_) {
|
if (_DEV_) {
|
||||||
console.warn('Development mode!!!');
|
console.warn('Development mode!!!');
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<FormSection>
|
<FormSection>
|
||||||
<div class="_formLinks">
|
<div class="_formLinks">
|
||||||
<FormLink to="https://github.com/misskey-dev/misskey" external>
|
<FormLink to="https://github.com/ThinaticSystem/honisskey" external>
|
||||||
<template #icon><i class="fas fa-code"></i></template>
|
<template #icon><i class="fas fa-code"></i></template>
|
||||||
{{ i18n.ts._aboutMisskey.source }}
|
{{ i18n.ts._aboutMisskey.source }}
|
||||||
<template #suffix>GitHub</template>
|
<template #suffix>GitHub</template>
|
||||||
|
@ -188,8 +188,8 @@ export default defineComponent({
|
|||||||
pointRadius: 0,
|
pointRadius: 0,
|
||||||
tension: 0,
|
tension: 0,
|
||||||
borderWidth: 2,
|
borderWidth: 2,
|
||||||
borderColor: '#86b300',
|
borderColor: '#77b58c',
|
||||||
backgroundColor: alpha('#86b300', 0.1),
|
backgroundColor: alpha('#77b58c', 0.1),
|
||||||
data: []
|
data: []
|
||||||
}, {
|
}, {
|
||||||
label: 'MEM (active)',
|
label: 'MEM (active)',
|
||||||
|
@ -55,7 +55,6 @@
|
|||||||
|
|
||||||
<FormSwitch v-model="profile.isCat" class="_formBlock">{{ i18n.ts.flagAsCat }}<template #caption>{{ i18n.ts.flagAsCatDescription }}</template></FormSwitch>
|
<FormSwitch v-model="profile.isCat" class="_formBlock">{{ i18n.ts.flagAsCat }}<template #caption>{{ i18n.ts.flagAsCatDescription }}</template></FormSwitch>
|
||||||
<FormSwitch v-model="profile.showTimelineReplies" class="_formBlock">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></FormSwitch>
|
<FormSwitch v-model="profile.showTimelineReplies" class="_formBlock">{{ i18n.ts.flagShowTimelineReplies }}<template #caption>{{ i18n.ts.flagShowTimelineRepliesDescription }} {{ i18n.ts.reflectMayTakeTime }}</template></FormSwitch>
|
||||||
<FormSwitch v-model="profile.isBot" class="_formBlock">{{ i18n.ts.flagAsBot }}<template #caption>{{ i18n.ts.flagAsBotDescription }}</template></FormSwitch>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -39,5 +39,18 @@ export function createAiScriptEnv(opts) {
|
|||||||
utils.assertString(key);
|
utils.assertString(key);
|
||||||
return utils.jsToVal(JSON.parse(localStorage.getItem('aiscript:' + opts.storageKey + ':' + key.value)));
|
return utils.jsToVal(JSON.parse(localStorage.getItem('aiscript:' + opts.storageKey + ':' + key.value)));
|
||||||
}),
|
}),
|
||||||
|
'Mk:fetch': values.FN_NATIVE(async ([resource, init]) => {
|
||||||
|
utils.assertString(resource);
|
||||||
|
const response = init ? await fetch(resource.value, utils.valToJs(init)) : await fetch(resource.value);
|
||||||
|
const returnObject = {
|
||||||
|
status: response.status,
|
||||||
|
headers: new Object(),
|
||||||
|
body: await response.text(),
|
||||||
|
};
|
||||||
|
response.headers.forEach((value, key) => {
|
||||||
|
returnObject.headers[key] = value;
|
||||||
|
});
|
||||||
|
return utils.jsToVal(returnObject);
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import { popup } from '@/os';
|
|||||||
class ReactionPicker {
|
class ReactionPicker {
|
||||||
private src: Ref<HTMLElement | null> = ref(null);
|
private src: Ref<HTMLElement | null> = ref(null);
|
||||||
private manualShowing = ref(false);
|
private manualShowing = ref(false);
|
||||||
private onChosen?: (reaction: string) => void;
|
private onChosen?: ({ reaction: string, withRenote: boolean }) => void;
|
||||||
private onClosed?: () => void;
|
private onClosed?: () => void;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -17,8 +17,8 @@ class ReactionPicker {
|
|||||||
asReactionPicker: true,
|
asReactionPicker: true,
|
||||||
manualShowing: this.manualShowing
|
manualShowing: this.manualShowing
|
||||||
}, {
|
}, {
|
||||||
done: reaction => {
|
done: results => {
|
||||||
this.onChosen!(reaction);
|
this.onChosen!({ reaction: results.reaction, withRenote: results.withRenote });
|
||||||
},
|
},
|
||||||
close: () => {
|
close: () => {
|
||||||
this.manualShowing.value = false;
|
this.manualShowing.value = false;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
kind: 'dark',
|
kind: 'dark',
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
accent: '#86b300',
|
accent: '#77b58c',
|
||||||
accentDarken: ':darken<10<@accent',
|
accentDarken: ':darken<10<@accent',
|
||||||
accentLighten: ':lighten<10<@accent',
|
accentLighten: ':lighten<10<@accent',
|
||||||
accentedBg: ':alpha<0.15<@accent',
|
accentedBg: ':alpha<0.15<@accent',
|
||||||
@ -43,7 +43,7 @@
|
|||||||
hashtag: '#ff9156',
|
hashtag: '#ff9156',
|
||||||
mention: '@accent',
|
mention: '@accent',
|
||||||
mentionMe: '@mention',
|
mentionMe: '@mention',
|
||||||
renote: '#229e82',
|
renote: '#229e92',
|
||||||
modalBg: 'rgba(0, 0, 0, 0.5)',
|
modalBg: 'rgba(0, 0, 0, 0.5)',
|
||||||
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
|
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
|
||||||
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
|
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
|
||||||
@ -71,7 +71,7 @@
|
|||||||
wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
|
wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
|
||||||
badge: '#31b1ce',
|
badge: '#31b1ce',
|
||||||
messageBg: '@bg',
|
messageBg: '@bg',
|
||||||
success: '#86b300',
|
success: '#77b58c',
|
||||||
error: '#ec4137',
|
error: '#ec4137',
|
||||||
warn: '#ecb637',
|
warn: '#ecb637',
|
||||||
codeString: '#ffb675',
|
codeString: '#ffb675',
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
id: 'light',
|
id: 'light',
|
||||||
|
|
||||||
name: 'Light',
|
name: 'Light',
|
||||||
author: 'syuilo',
|
author: 'ThinaticSystem',
|
||||||
desc: 'Default light theme',
|
desc: 'Default light theme',
|
||||||
kind: 'light',
|
kind: 'light',
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
accent: '#86b300',
|
accent: '#77b58c',
|
||||||
accentDarken: ':darken<10<@accent',
|
accentDarken: ':darken<10<@accent',
|
||||||
accentLighten: ':lighten<10<@accent',
|
accentLighten: ':lighten<10<@accent',
|
||||||
accentedBg: ':alpha<0.15<@accent',
|
accentedBg: ':alpha<0.15<@accent',
|
||||||
@ -43,7 +43,7 @@
|
|||||||
hashtag: '#ff9156',
|
hashtag: '#ff9156',
|
||||||
mention: '@accent',
|
mention: '@accent',
|
||||||
mentionMe: '@mention',
|
mentionMe: '@mention',
|
||||||
renote: '#229e82',
|
renote: '#229e92',
|
||||||
modalBg: 'rgba(0, 0, 0, 0.3)',
|
modalBg: 'rgba(0, 0, 0, 0.3)',
|
||||||
scrollbarHandle: 'rgba(0, 0, 0, 0.2)',
|
scrollbarHandle: 'rgba(0, 0, 0, 0.2)',
|
||||||
scrollbarHandleHover: 'rgba(0, 0, 0, 0.4)',
|
scrollbarHandleHover: 'rgba(0, 0, 0, 0.4)',
|
||||||
@ -71,7 +71,7 @@
|
|||||||
wallpaperOverlay: 'rgba(255, 255, 255, 0.5)',
|
wallpaperOverlay: 'rgba(255, 255, 255, 0.5)',
|
||||||
badge: '#31b1ce',
|
badge: '#31b1ce',
|
||||||
messageBg: '@bg',
|
messageBg: '@bg',
|
||||||
success: '#86b300',
|
success: '#77b58c',
|
||||||
error: '#ec4137',
|
error: '#ec4137',
|
||||||
warn: '#ecb637',
|
warn: '#ecb637',
|
||||||
codeString: '#b98710',
|
codeString: '#b98710',
|
||||||
|
@ -195,7 +195,6 @@ export default defineComponent({
|
|||||||
top: 0;
|
top: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
padding: 16px 0;
|
padding: 16px 0;
|
||||||
background: var(--bg);
|
|
||||||
|
|
||||||
> .button {
|
> .button {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-app">
|
<div class="mk-app">
|
||||||
<a v-if="root" href="https://github.com/misskey-dev/misskey" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--panel); color:var(--fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
|
<a v-if="root" href="https://github.com/ThinaticSystem/honisskey" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--panel); color:var(--fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
|
||||||
|
|
||||||
<div v-if="!narrow && !root" class="side">
|
<div v-if="!narrow && !root" class="side">
|
||||||
<XKanban class="kanban" full/>
|
<XKanban class="kanban" full/>
|
||||||
|
@ -77,8 +77,13 @@ const tick = () => {
|
|||||||
const ny = now.getFullYear();
|
const ny = now.getFullYear();
|
||||||
|
|
||||||
year.value = ny;
|
year.value = ny;
|
||||||
|
if (nd === 1 && nm + 1 === 4) { // エイプリルフール
|
||||||
|
month.value = 3;
|
||||||
|
day.value = 32;
|
||||||
|
} else { // 通常
|
||||||
month.value = nm + 1;
|
month.value = nm + 1;
|
||||||
day.value = nd;
|
day.value = nd;
|
||||||
|
}
|
||||||
weekDay.value = [
|
weekDay.value = [
|
||||||
i18n.ts._weekday.sunday,
|
i18n.ts._weekday.sunday,
|
||||||
i18n.ts._weekday.monday,
|
i18n.ts._weekday.monday,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user