7 Commits

Author SHA1 Message Date
9f10721104 Added Entry and Exit animation for menu 2025-09-29 17:17:32 +02:00
bfbe687b63 Added WIP Menu 2025-09-29 15:20:46 +02:00
1773687814 Added Header Component 2025-09-17 13:14:24 +02:00
6e2ab0a88b Added MenuContext for handling navigation 2025-09-17 11:27:35 +02:00
d80c4917de Merge branch 'feature/tailwind-theme'
All checks were successful
Build and Deploy DAVE | DMGs Site / deploy (push) Successful in 1m15s
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2025-09-16 14:08:35 +02:00
78d0347bd9 Added fonts 2025-09-16 14:03:46 +02:00
5816ede3ca Added base styles, variables, and mixins 2025-09-16 14:03:23 +02:00
172 changed files with 7891 additions and 4461 deletions

View File

@@ -1,6 +1,39 @@
<component name="InspectionProjectProfileManager"> <component name="InspectionProjectProfileManager">
<profile version="1.0"> <profile version="1.0">
<option name="myName" value="Project Default" /> <option name="myName" value="Project Default" />
<inspection_tool class="CssDeprecatedValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidAtRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidCharsetRule" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidCustomPropertyAtRuleDeclaration" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidCustomPropertyAtRuleName" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidFunction" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidHtmlTagReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidImport" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidMediaFeature" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidPropertyValue" enabled="false" level="WARNING" enabled_by_default="false" editorAttributes="WARNING_ATTRIBUTES" />
<inspection_tool class="CssInvalidPseudoSelector" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssMissingComma" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssNegativeValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssNoGenericFontName" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssNonIntegerLengthInPixels" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CssOverwrittenProperties" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssRedundantUnit" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssReplaceWithShorthandSafely" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CssReplaceWithShorthandUnsafely" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="CssUnknownProperty" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myCustomPropertiesEnabled" value="false" />
<option name="myIgnoreVendorSpecificProperties" value="false" />
<option name="myCustomPropertiesList">
<value>
<list size="0" />
</value>
</option>
</inspection_tool>
<inspection_tool class="CssUnknownTarget" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnknownUnit" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedClassInComposesRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedCustomProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnusedSymbol" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" /> <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" /> <inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
</profile> </profile>

6
.idea/stylesheetLinters/stylelint.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="StylelintConfiguration">
<option name="fix-on-save" value="true" />
</component>
</project>

View File

@@ -0,0 +1,142 @@
{
"items": [
{
"name": "Metatron",
"path": "/meta",
"gridPosition": "area_1",
"variant": "meta",
"sublinks": {
"discriminant": false
},
"subtitle": {
"discriminant": false
}
},
{
"name": "Kitchensink",
"path": "/",
"gridPosition": "area_2",
"variant": "kitchensink",
"sublinks": {
"discriminant": true,
"value": [
{
"name": "The Pomarj",
"path": "/kitchensink/the-pomarj"
},
{
"name": "Burning Pavis",
"path": "/kitchensink/burning-pavis"
},
{
"name": "SLA Armies",
"path": "/kitchensink/sla-armies"
}
]
},
"subtitle": {
"discriminant": false
}
},
{
"name": "AWQ",
"path": "/awq",
"gridPosition": "area_3",
"variant": "awq",
"sublinks": {
"discriminant": true,
"value": [
{
"name": "The Crunch",
"path": "/awq/core-rules"
},
{
"name": "Sigmar's Heirs",
"path": "/awq/character"
},
{
"name": "Armory",
"path": "/awq/equipment"
},
{
"name": "The Winds of Magic",
"path": "/awq/magic"
},
{
"name": "Beastiary",
"path": "/awq/bestiary"
},
{
"name": "Duveldal",
"path": "/awq/pregens"
},
{
"name": "Plundered Vaults",
"path": "/awq/expansions"
},
{
"name": "Tools",
"path": "/awq/tools"
}
]
},
"subtitle": {
"discriminant": false
}
},
{
"name": "Worldburner",
"path": "/worldburner",
"gridPosition": "area_4",
"variant": "worldburner",
"sublinks": {
"discriminant": true,
"value": [
{
"name": "Burning Lands",
"path": "/worldburner/geography"
},
{
"name": "Burning People",
"path": "/worldburner/cultures"
},
{
"name": "Burning Faiths",
"path": "/worldburner/religion"
},
{
"name": "Burning Witches",
"path": "/worldburner/magic"
},
{
"name": "Burning Realms",
"path": "/worldburner/states"
}
]
},
"subtitle": {
"discriminant": false
}
},
{
"name": "Chainbreaker",
"path": "/chainbreaker",
"gridPosition": "area_5",
"variant": "chainbreaker",
"background": "/images/categories/items/4/background.png",
"sublinks": {
"discriminant": false
},
"subtitle": {
"discriminant": true,
"value": {
"content": "Spear & Animism",
"divider": {
"discriminant": true,
"value": "⎊"
}
}
}
}
]
}

View File

@@ -1,14 +1,11 @@
import { config } from '@keystatic/core'; import { config } from '@keystatic/core';
import AuthorsCollection from '@/keystatic/collections/taxonomy/authors'; import navigation from '@/keystatic/singletons/navigation';
import TagsCollection from '@/keystatic/collections/taxonomy/tags';
export default config({ export default config({
storage: { storage: {
kind: 'local', kind: 'local',
}, },
collections: { collections: {},
authors: AuthorsCollection, singletons: { navigation },
tags: TagsCollection,
},
}); });

View File

@@ -13,15 +13,14 @@
"@keystatic/core": "^0.5.48", "@keystatic/core": "^0.5.48",
"@keystatic/next": "^5.0.4", "@keystatic/next": "^5.0.4",
"@markdoc/markdoc": "^0.5.4", "@markdoc/markdoc": "^0.5.4",
"@tailwindcss/postcss": "^4.1.13",
"next": "15.5.3", "next": "15.5.3",
"postcss": "^8.5.6",
"react": "19.1.0", "react": "19.1.0",
"react-dom": "19.1.0", "react-dom": "19.1.0"
"tailwindcss": "^4.1.13"
}, },
"devDependencies": { "devDependencies": {
"@csstools/postcss-global-data": "^3.1.0",
"@eslint/eslintrc": "^3", "@eslint/eslintrc": "^3",
"@fullhuman/postcss-purgecss": "^7.0.2",
"@types/node": "^20", "@types/node": "^20",
"@types/react": "^19", "@types/react": "^19",
"@types/react-dom": "^19", "@types/react-dom": "^19",
@@ -31,12 +30,20 @@
"eslint-config-next": "15.5.3", "eslint-config-next": "15.5.3",
"eslint-config-prettier": "^10.1.8", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-mdx": "^3.6.2", "eslint-plugin-mdx": "^3.6.2",
"glob-all": "^3.3.1",
"postcss": "^8.5.6",
"postcss-easings": "^4.0.0",
"postcss-functions": "^4.0.2",
"postcss-import": "^16.1.1",
"postcss-mixins": "^12.1.2",
"postcss-nesting": "^13.0.2",
"postcss-preset-env": "^10.3.1",
"postcss-utilities": "^0.8.4",
"prettier": "^3.6.2", "prettier": "^3.6.2",
"stylelint": "^16.24.0", "stylelint": "^16.24.0",
"stylelint-config-clean-order": "^7.0.0", "stylelint-config-clean-order": "^7.0.0",
"stylelint-config-html": "^1.1.0", "stylelint-config-html": "^1.1.0",
"stylelint-config-standard": "^39.0.0", "stylelint-config-standard": "^39.0.0",
"stylelint-config-tailwindcss": "^1.0.0",
"typescript": "^5" "typescript": "^5"
} }
} }

6136
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,54 @@
const config = { // postcss.config.js
plugins: { import { purgeCSSPlugin } from '@fullhuman/postcss-purgecss';
'@tailwindcss/postcss': {}, import glob from 'glob-all';
import path from 'path';
import postcssGlobalData from '@csstools/postcss-global-data';
import postcssEasing from 'postcss-easings';
import postcssImport from 'postcss-import';
import postcssMixins from 'postcss-mixins';
import postcssNesting from 'postcss-nesting';
import postcssPresetEnv from 'postcss-preset-env';
import postcssUtilities from 'postcss-utilities';
import postcssFunctions from 'postcss-functions';
import customFunctions from './src/lib/postcss/functions';
const plugins = [
postcssGlobalData({
files: ['./src/styles/globals/custom-media.css'],
}),
postcssMixins({
mixinsDir: './src/styles/mixins/',
}),
postcssImport(),
postcssPresetEnv({
stage: 1,
features: {
'nesting-rules': false,
'media-query-ranges': {
preserve: true,
}, },
},
}),
postcssEasing(),
postcssUtilities(),
postcssNesting(),
postcssFunctions({
functions: customFunctions,
}),
];
if (process.env.NODE_ENV === 'production') {
plugins.push(
purgeCSSPlugin({
content: glob.sync([
path.join(process.cwd(), 'src/**/*.{js,jsx,ts,tsx,css}'),
path.join(process.cwd(), 'content/**/*.{md,mdx}'),
]),
safelist: ['html', 'body'],
})
);
}
export default {
plugins,
}; };
export default config;

Some files were not shown because too many files have changed in this diff Show More