Skip to content

Commit

Permalink
fix(frontend): color-mixでクラッシュする問題, hslのcalcに失敗する問題 など (#304)
Browse files Browse the repository at this point in the history
  • Loading branch information
taiyme authored Nov 7, 2024
1 parent 711ab84 commit 6710607
Show file tree
Hide file tree
Showing 30 changed files with 64 additions and 116 deletions.
7 changes: 1 addition & 6 deletions idea/MkDisableSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,6 @@ defineProps<{
transparent 0px 10px,
var(--c) 6px 16px
);
--c: color(from var(--MI_THEME-error) srgb r g b / 0.25);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset;
}
--c: rgb(from var(--MI_THEME-error) r g b / 0.25);
}
</style>
8 changes: 0 additions & 8 deletions packages/frontend/src/boot/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,6 @@ import { preventLongPressContextMenu } from '@/scripts/tms/prevent-longpress-con
export async function common(createVue: () => App<Element>) {
console.info(`taiyme v${version}`);

//#region Detect WebKit engine
const ua = navigator.userAgent;
const isWebkitEngine = ua.includes('AppleWebKit') && !(ua.includes('Chrome') || ua.includes('Chromium'));
if (isWebkitEngine) {
document.documentElement.dataset.browserEngine = 'webkit';
}
//#endregion

if (_DEV_) {
console.warn('Development mode!!!');

Expand Down
8 changes: 4 additions & 4 deletions packages/frontend/src/components/MkButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -172,11 +172,11 @@ function onMousedown(evt: MouseEvent): void {
background: var(--MI_THEME-accent);

&:not(:disabled):hover {
background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
background: hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5)));
}

&:not(:disabled):active {
background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
background: hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5)));
}
}

Expand Down Expand Up @@ -221,11 +221,11 @@ function onMousedown(evt: MouseEvent): void {
background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));

&:not(:disabled):hover {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}

&:not(:disabled):active {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkChannelPreview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ const bannerStyle = computed(() => {
left: 0;
width: 100%;
height: 64px;
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

> .name {
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkContainer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px; // .omitted
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

.showMoreFade {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,6 @@ const cancel = () => {
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
Expand Down
5 changes: 0 additions & 5 deletions packages/frontend/src/components/MkDateSeparatedList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,6 @@ export default defineComponent({
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
Expand Down
5 changes: 0 additions & 5 deletions packages/frontend/src/components/MkEmbedCodeGenDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -313,11 +313,6 @@ onUnmounted(() => {
transparent 0px 10px,
var(--MI_THEME-panel) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}
}

.embedCodeGenPreviewWrapper {
Expand Down
5 changes: 0 additions & 5 deletions packages/frontend/src/components/MkFlashPreview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,6 @@ const props = defineProps<{
transparent 0px 10px,
var(--MI_THEME-bg) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}
}

@media (max-width: 700px) {
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkFoldableSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ onMounted(() => {
top: var(--MI-stickyTop, 0px);
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
backdrop-filter: var(--MI-blur, blur(15px));
background-color: color(from v-bind("parentBg ?? 'var(--MI_THEME-bg)'") srgb r g b / 0.85);
background-color: rgb(from v-bind("parentBg ?? 'var(--MI_THEME-bg)'") r g b / 0.85);
}

.title {
Expand Down
5 changes: 0 additions & 5 deletions packages/frontend/src/components/MkFolder.vue
Original file line number Diff line number Diff line change
Expand Up @@ -235,10 +235,5 @@ onMounted(() => {
transparent 0px 10px,
var(--MI_THEME-panel) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}
}
</style>
21 changes: 8 additions & 13 deletions packages/frontend/src/components/MkInstanceCardMini.vue
Original file line number Diff line number Diff line change
Expand Up @@ -81,47 +81,42 @@ $bodyInfoHieght: 16px;
transparent 0px 10px,
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}
}

&,
html[data-color-scheme=light] & {
&.isNotResponding {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), orange 50%) srgb r g b / 0.25);
--c: color-mix(in srgb, #ffa500 12.5%, var(--MI_THEME-panel));
}

&.isSilenced {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.25);
--c: color-mix(in srgb, #0000ff 12.5%, var(--MI_THEME-panel));
}

&.isSuspended {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), black 15%) srgb r g b / 0.25);
--c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-panel));
}

&.isBlocked {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), red 50%) srgb r g b / 0.25);
--c: color-mix(in srgb, #ff0000 12.5%, var(--MI_THEME-panel));
}
}

html[data-color-scheme=dark] & {
&.isNotResponding {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), orange 50%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ffa500 25%, var(--MI_THEME-panel));
}

&.isSilenced {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.5);
--c: color-mix(in srgb, #0000ff 25%, var(--MI_THEME-panel));
}

&.isSuspended {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), white 15%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-panel));
}

&.isBlocked {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), red 50%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ff0000 25%, var(--MI_THEME-panel));
}
}
}
Expand Down
9 changes: 2 additions & 7 deletions packages/frontend/src/components/MkMediaImage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -219,18 +219,13 @@ const showImageMenu = (ev: MouseEvent) => {
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: color(from color-mix(in srgb, var(--MI_THEME-bg), black 15%) srgb r g b / 0.25);
--c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-bg));
}

html[data-color-scheme=dark] & {
--c: color(from color-mix(in srgb, var(--MI_THEME-bg), white 15%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-bg));
}
}

Expand Down
9 changes: 2 additions & 7 deletions packages/frontend/src/components/MkMediaVideo.vue
Original file line number Diff line number Diff line change
Expand Up @@ -537,18 +537,13 @@ onDeactivated(() => {
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: color(from color-mix(in srgb, var(--MI_THEME-bg), black 15%) srgb r g b / 0.25);
--c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-bg));
}

html[data-color-scheme=dark] & {
--c: color(from color-mix(in srgb, var(--MI_THEME-bg), white 15%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-bg));
}
}

Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/components/MkMention.vue
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ const avatarUrlRef = computed(() => {
padding: 4px 8px 4px 4px;
border-radius: 999px;
color: var(--MI_THEME-mention);
background: color(from var(--MI_THEME-mention) srgb r g b / 0.1);
background: rgb(from var(--MI_THEME-mention) r g b / 0.1);

&.isMe {
color: var(--MI_THEME-mentionMe);
background: color(from var(--MI_THEME-mentionMe) srgb r g b / 0.1);
background: rgb(from var(--MI_THEME-mentionMe) r g b / 0.1);
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkNote.vue
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,7 @@ function emitUpdReaction(emoji: string, delta: number) {
left: 0;
width: 100%;
height: 64px; // .contentCollapsed
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

.showLessFade {
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkOmit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px; // .omitted
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

.showLessFade {
Expand Down
9 changes: 2 additions & 7 deletions packages/frontend/src/components/MkPostForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1147,13 +1147,13 @@ defineExpose({

&:not(:disabled):hover {
> .submitInner {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}

&:not(:disabled):active {
> .submitInner {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}
}
Expand Down Expand Up @@ -1227,11 +1227,6 @@ defineExpose({
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/MkSubNoteContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ const collapsed = ref(isLong);
left: 0;
width: 100%;
height: 64px; // .collapsed
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

.showLessFade {
Expand Down
13 changes: 4 additions & 9 deletions packages/frontend/src/components/MkUserCardMini.vue
Original file line number Diff line number Diff line change
Expand Up @@ -77,31 +77,26 @@ $bodyInfoHieght: 16px;
transparent 0px 10px,
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}
}

&,
html[data-color-scheme=light] & {
&.isSilenced {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.25);
--c: color-mix(in srgb, #0000ff 12.5%, var(--MI_THEME-panel));
}

&.isSuspended {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), black 15%) srgb r g b / 0.25);
--c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-panel));
}
}

html[data-color-scheme=dark] & {
&.isSilenced {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.5);
--c: color-mix(in srgb, #0000ff 25%, var(--MI_THEME-panel));
}

&.isSuspended {
--c: color(from color-mix(in srgb, var(--MI_THEME-panel), white 15%) srgb r g b / 0.5);
--c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-panel));
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/components/TmsInstanceTicker.vue
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ const tickerStateRef = computed(() => getTickerState(props));
background: linear-gradient(
var(--ticker-bg-deg),
rgba(0, 0, 0, 0) calc(100% - 3em),
color(from var(--ticker-bg, #777) srgb r g b / 0.35) calc(100% - 3em),
color(from var(--ticker-bg, #777) srgb r g b / 0.35) 100%
rgb(from var(--ticker-bg, #777) r g b / 0.35) calc(100% - 3em),
rgb(from var(--ticker-bg, #777) r g b / 0.35) 100%
);
color: #fff;
text-shadow: /* 0.866 ≈ sin(60deg) */
Expand Down
5 changes: 0 additions & 5 deletions packages/frontend/src/components/global/MkFooterSpacer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ SPDX-License-Identifier: AGPL-3.0-only
var(--c) 6px 16px
);

// NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
html[data-browser-engine=webkit] & {
background-image: unset !important;
}

&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/components/global/MkPageHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ onUnmounted(() => {
backdrop-filter: var(--MI-blur, blur(15px));
border-bottom: solid 0.5px var(--MI_THEME-divider);
width: 100%;
background: color(from var(--MI_THEME-bg) srgb r g b / 0.85);
background: rgb(from var(--MI_THEME-bg) r g b / 0.85);
}

.upper,
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/pages/channel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ definePageMetadata(() => ({
left: 0;
width: 100%;
height: 64px;
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}

.bannerStatus {
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/pages/welcome.timeline.note.vue
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ onUpdated(() => {
left: 0;
width: 100%;
height: 64px;
background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
}

Expand Down
Loading

0 comments on commit 6710607

Please sign in to comment.