deprecate node < 18

This commit is contained in:
ThatOneCalculator 2022-11-21 16:27:32 -08:00
parent a073bd48ad
commit a2d9405824
4 changed files with 47 additions and 49 deletions

View file

@ -48,9 +48,7 @@ This guide will work for both **starting from scratch** and **migrating from Mis
## 📦 Dependencies ## 📦 Dependencies
- At least 🐢 [NodeJS](https://nodejs.org/en/) v16.15.0 (v18.12.1 recommended) - At least 🐢 [NodeJS](https://nodejs.org/en/) v18.12.1 (v19.1.0 recommended)
> ⚠️ NodeJS v19 is not supported as of right now because of [this issue](https://github.com/nodejs/node-gyp/issues/2757).
- 🐘 At least [PostgreSQL](https://www.postgresql.org/) v12 - 🐘 At least [PostgreSQL](https://www.postgresql.org/) v12

View file

@ -4,8 +4,8 @@
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
"start": "node --experimental-json-modules ./built/index.js", "start": "node ./built/index.js",
"start:test": "NODE_ENV=test node --experimental-json-modules ./built/index.js", "start:test": "NODE_ENV=test node ./built/index.js",
"migrate": "typeorm migration:run -d ormconfig.js", "migrate": "typeorm migration:run -d ormconfig.js",
"build": "tsc -p tsconfig.json || echo done. && tsc-alias -p tsconfig.json", "build": "tsc -p tsconfig.json || echo done. && tsc-alias -p tsconfig.json",
"watch": "node watch.mjs", "watch": "node watch.mjs",

View file

@ -19,7 +19,7 @@
</div> </div>
<FormSection> <FormSection>
<div class="_formLinks"> <div class="_formLinks">
<FormLink to="https://codeberg.org/thatonecalculator/calckey" external> <FormLink to="/@thatonecalculator@stop.voring.me" external>
<template #icon><i class="ph-code-bold ph-lg"></i></template> <template #icon><i class="ph-code-bold ph-lg"></i></template>
{{ i18n.ts._aboutMisskey.source }} {{ i18n.ts._aboutMisskey.source }}
<template #suffix>Codeberg</template> <template #suffix>Codeberg</template>

View file

@ -10,17 +10,18 @@
</div> </div>
<div class="_block main"> <div class="_block main">
<div class="banner"> <div class="banner">
<div v-if="page.eyeCatchingImageId" class="banner-image" :style="`background-image: url(${page.eyeCatchingImage.url})`"></div> <div v-if="page.eyeCatchingImageId" class="banner-image" :style="`background-image: ${page.eyeCatchingImage.url !== null ? `url(${page.eyeCatchingImage.url})` : `linear-gradient(to bottom right, #31748f, #9ccfd8);` }`">
<div class="header"> <div class="header">
<h1>{{ page.title }}</h1> <h1>{{ page.title }}</h1>
</div> </div>
<div class="menu-actions"> <div class="menu-actions">
<MkA :to="`/@${username}/pages/${pageName}/view-source`" class="menu _button"><i class="ph-code-bold"/></MkA> <MkA :to="`/@${username}/pages/${pageName}/view-source`" class="menu _button"><i class="ph-code-bold"/></MkA>
<template v-if="$i && $i.id === page.userId"> <template v-if="$i && $i.id === page.userId">
<MkA v-tooltip="i18n.ts._pages.editPage" class="menu _button" :to="`/pages/edit/${page.id}`"><i class="ph-pencil-bold ph-lg"/></MkA> <MkA v-tooltip="i18n.ts._pages.editPage" class="menu _button" :to="`/pages/edit/${page.id}`"><i class="ph-pencil-bold ph-lg"/></MkA>
<button v-if="$i.pinnedPageId === page.id" v-tooltip="i18n.ts.unpin" class="menu _button" @click="pin(false)"><i class="ph-push-pin-slash-bold ph-lg"/></button> <button v-if="$i.pinnedPageId === page.id" v-tooltip="i18n.ts.unpin" class="menu _button" @click="pin(false)"><i class="ph-push-pin-slash-bold ph-lg"/></button>
<button v-else v-tooltip="i18n.ts.pin" class="menu _button" @click="pin(true)"><i class="ph-push-pin-bold ph-lg"/></button> <button v-else v-tooltip="i18n.ts.pin" class="menu _button" @click="pin(true)"><i class="ph-push-pin-bold ph-lg"/></button>
</template> </template>
</div>
</div> </div>
</div> </div>
<div class="content"> <div class="content">
@ -197,41 +198,40 @@ definePageMetadata(computed(() => page ? {
background-position: center; background-position: center;
background-size: cover; background-size: cover;
} > .header {
padding: 16px;
> .header { > h1 {
padding: 16px; margin: 0;
color: white;
> h1 { text-shadow: 0 0 8px #000;
margin: 0; }
color: white;
text-shadow: 0 0 8px #000;
}
}
> .menu-actions {
-webkit-backdrop-filter: var(--blur, blur(8px));
backdrop-filter: var(--blur, blur(8px));
background: rgba(0, 0, 0, 0.2);
padding: 8px;
border-radius: 24px;
width: fit-content;
position: relative;
top: -10px;
left: 1rem;
> .menu {
vertical-align: bottom;
height: 31px;
width: 31px;
color: #fff;
text-shadow: 0 0 8px #000;
font-size: 16px;
} }
> .koudoku { > .menu-actions {
margin-left: 4px; -webkit-backdrop-filter: var(--blur, blur(8px));
vertical-align: bottom; backdrop-filter: var(--blur, blur(8px));
background: rgba(0, 0, 0, 0.2);
padding: 8px;
border-radius: 24px;
width: fit-content;
position: relative;
top: -10px;
left: 1rem;
> .menu {
vertical-align: bottom;
height: 31px;
width: 31px;
color: #fff;
text-shadow: 0 0 8px #000;
font-size: 16px;
}
> .koudoku {
margin-left: 4px;
vertical-align: bottom;
}
} }
} }
} }