Compare commits
2 Commits
3e6c09ab29
...
085333db29
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
085333db29 | ||
|
|
17325a5263 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,7 +5,7 @@
|
|||||||
.depbe.sh
|
.depbe.sh
|
||||||
node_modules
|
node_modules
|
||||||
node_modules/*
|
node_modules/*
|
||||||
**/package-lock.json
|
# package-lock.json wird versioniert (npm ci im Deploy braucht konsistente Locks zu package.json)
|
||||||
backend/.env
|
backend/.env
|
||||||
backend/.env.local
|
backend/.env.local
|
||||||
backend/images
|
backend/images
|
||||||
|
|||||||
5975
backend/package-lock.json
generated
Normal file
5975
backend/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "backend",
|
"name": "backend",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "Nach Änderungen an dependencies: npm install ausführen und package-lock.json committen (npm ci im Deploy).",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
"cleanup-connections": "node cleanup-connections.js",
|
"cleanup-connections": "node cleanup-connections.js",
|
||||||
"diag:town-worth": "QUIET_ENV_LOGS=1 DOTENV_CONFIG_QUIET=1 node scripts/falukant-town-product-worth-stats.mjs",
|
"diag:town-worth": "QUIET_ENV_LOGS=1 DOTENV_CONFIG_QUIET=1 node scripts/falukant-town-product-worth-stats.mjs",
|
||||||
"diag:moneyflow": "QUIET_ENV_LOGS=1 DOTENV_CONFIG_QUIET=1 node scripts/falukant-moneyflow-report.mjs",
|
"diag:moneyflow": "QUIET_ENV_LOGS=1 DOTENV_CONFIG_QUIET=1 node scripts/falukant-moneyflow-report.mjs",
|
||||||
|
"lockfile:sync": "npm install --package-lock-only",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
6119
frontend/package-lock.json
generated
Normal file
6119
frontend/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -27,6 +27,7 @@
|
|||||||
class="menu-icon"
|
class="menu-icon"
|
||||||
> </span>
|
> </span>
|
||||||
<span class="mainmenuitem__label">{{ $t(`navigation.${key}`) }}</span>
|
<span class="mainmenuitem__label">{{ $t(`navigation.${key}`) }}</span>
|
||||||
|
<span v-if="item.disabled" class="menu-lock-badge">18+</span>
|
||||||
<span v-if="hasTopLevelSubmenu(item)" class="mainmenuitem__caret">▾</span>
|
<span v-if="hasTopLevelSubmenu(item)" class="mainmenuitem__caret">▾</span>
|
||||||
|
|
||||||
<!-- Untermenü Ebene 1 -->
|
<!-- Untermenü Ebene 1 -->
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
class="submenu-icon"
|
class="submenu-icon"
|
||||||
> </span>
|
> </span>
|
||||||
<span>{{ subitem?.label || $t(`navigation.m-${key}.${subkey}`) }}</span>
|
<span>{{ subitem?.label || $t(`navigation.m-${key}.${subkey}`) }}</span>
|
||||||
|
<span v-if="subitem.disabled" class="menu-lock-badge">18+</span>
|
||||||
<span
|
<span
|
||||||
v-if="hasSecondLevelSubmenu(subitem, subkey)"
|
v-if="hasSecondLevelSubmenu(subitem, subkey)"
|
||||||
class="subsubmenu"
|
class="subsubmenu"
|
||||||
@@ -123,6 +125,7 @@
|
|||||||
class="submenu-icon"
|
class="submenu-icon"
|
||||||
> </span>
|
> </span>
|
||||||
<span>{{ subsubitem?.label || $t(`navigation.m-${key}.m-${subkey}.${subsubkey}`) }}</span>
|
<span>{{ subsubitem?.label || $t(`navigation.m-${key}.m-${subkey}.${subsubkey}`) }}</span>
|
||||||
|
<span v-if="subsubitem.disabled" class="menu-lock-badge">18+</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@@ -463,6 +466,7 @@ export default {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
if (item?.disabled) {
|
if (item?.disabled) {
|
||||||
|
this.handleDisabledItem(item);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -524,6 +528,16 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.handleItem(item, event);
|
this.handleItem(item, event);
|
||||||
|
},
|
||||||
|
|
||||||
|
handleDisabledItem(item) {
|
||||||
|
const isEroticEntry = item?.path?.startsWith('/socialnetwork/erotic')
|
||||||
|
|| item?.action === 'openEroticChat';
|
||||||
|
|
||||||
|
if (isEroticEntry) {
|
||||||
|
this.$router.push('/socialnetwork/erotic/access');
|
||||||
|
this.collapseMenus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -619,14 +633,14 @@ ul {
|
|||||||
|
|
||||||
.mainmenuitem--disabled,
|
.mainmenuitem--disabled,
|
||||||
.submenu-item--disabled {
|
.submenu-item--disabled {
|
||||||
opacity: 0.55;
|
opacity: 0.72;
|
||||||
cursor: not-allowed;
|
cursor: help;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainmenuitem--disabled:hover {
|
.mainmenuitem--disabled:hover {
|
||||||
transform: none;
|
transform: none;
|
||||||
background-color: transparent;
|
background-color: rgba(248, 162, 43, 0.1);
|
||||||
border-color: transparent;
|
border-color: rgba(248, 162, 43, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainmenuitem--active {
|
.mainmenuitem--active {
|
||||||
@@ -645,6 +659,18 @@ ul {
|
|||||||
color: rgba(95, 75, 57, 0.7);
|
color: rgba(95, 75, 57, 0.7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.menu-lock-badge {
|
||||||
|
display: inline-flex;
|
||||||
|
margin-left: 6px;
|
||||||
|
padding: 2px 6px;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: rgba(164, 98, 72, 0.14);
|
||||||
|
color: var(--color-text-secondary);
|
||||||
|
font-size: 0.68rem;
|
||||||
|
font-weight: 800;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|||||||
1440
mcp/language-course-server/package-lock.json
generated
Normal file
1440
mcp/language-course-server/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
1772
package-lock.json
generated
Normal file
1772
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user