Merge pull request 'Last before production' (#1) from Dev into master
Reviewed-on: #1
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
[]
|
{
|
||||||
|
"romhackplaza": "data/assets/romhackplaza"
|
||||||
|
}
|
||||||
@@ -14,10 +14,12 @@
|
|||||||
@xf-borderRadiusMedium: 0px;
|
@xf-borderRadiusMedium: 0px;
|
||||||
@xf-borderRadiusSmall: 0px;
|
@xf-borderRadiusSmall: 0px;
|
||||||
@xf-buttonBg: @xf-paletteColor3;
|
@xf-buttonBg: @xf-paletteColor3;
|
||||||
|
@xf-buttonCtaBg: @xf-paletteAccent2;
|
||||||
@xf-buttonPrimaryBg: @xf-paletteAccent3;
|
@xf-buttonPrimaryBg: @xf-paletteAccent3;
|
||||||
@xf-buttonTextColor: @xf-paletteNeutral1;
|
@xf-buttonTextColor: @xf-paletteNeutral1;
|
||||||
@xf-chromeBg: @xf-paletteColor1;
|
@xf-chromeBg: @xf-paletteColor1;
|
||||||
@xf-chromeTextColor: @xf-paletteNeutral1;
|
@xf-chromeTextColor: @xf-paletteNeutral1;
|
||||||
|
@xf-contentAccentBg: @xf-paletteAccent1;
|
||||||
@xf-contentAltBg: @xf-paletteColor3;
|
@xf-contentAltBg: @xf-paletteColor3;
|
||||||
@xf-contentBg: @xf-paletteColor2;
|
@xf-contentBg: @xf-paletteColor2;
|
||||||
@xf-contentHighlightBg: @xf-paletteColor3;
|
@xf-contentHighlightBg: @xf-paletteColor3;
|
||||||
@@ -25,11 +27,13 @@
|
|||||||
@xf-errorColor: @xf-paletteNeutral1;
|
@xf-errorColor: @xf-paletteNeutral1;
|
||||||
@xf-fontFamilyBody: 'Segoe UI', 'San Francisco', 'Helvetica Neue', sans-serif;
|
@xf-fontFamilyBody: 'Segoe UI', 'San Francisco', 'Helvetica Neue', sans-serif;
|
||||||
@xf-fontFamilyUi: 'Segoe UI', 'San Francisco', 'Helvetica Neue', sans-serif;
|
@xf-fontFamilyUi: 'Segoe UI', 'San Francisco', 'Helvetica Neue', sans-serif;
|
||||||
|
@xf-inlineModHighlightColor: @xf-paletteAccent1;
|
||||||
@xf-linkColor: @xf-paletteAccent3;
|
@xf-linkColor: @xf-paletteAccent3;
|
||||||
@xf-linkHoverColor: @xf-paletteAccent2;
|
@xf-linkHoverColor: @xf-paletteAccent2;
|
||||||
@xf-linkUgcColor: @xf-paletteAccent3;
|
@xf-linkUgcColor: @xf-paletteAccent3;
|
||||||
@xf-linkUgcHoverColor: @xf-paletteAccent2;
|
@xf-linkUgcHoverColor: @xf-paletteAccent2;
|
||||||
@xf-pageBg: @xf-paletteColor1;
|
@xf-pageBg: @xf-paletteColor1;
|
||||||
|
@xf-paletteAccent1: hsl(35, 90%, 95%);
|
||||||
@xf-paletteAccent2: #e56700;
|
@xf-paletteAccent2: #e56700;
|
||||||
@xf-paletteAccent3: #ff7300;
|
@xf-paletteAccent3: #ff7300;
|
||||||
@xf-paletteColor1: #1e1e1e;
|
@xf-paletteColor1: #1e1e1e;
|
||||||
@@ -40,14 +44,20 @@
|
|||||||
@xf-paletteNeutral1: #f1f1f1;
|
@xf-paletteNeutral1: #f1f1f1;
|
||||||
@xf-paletteNeutral2: #a1a1aa;
|
@xf-paletteNeutral2: #a1a1aa;
|
||||||
@xf-paletteNeutral3: #111111;
|
@xf-paletteNeutral3: #111111;
|
||||||
|
@xf-publicLogoUrl: ~'data/assets/logo_default/plaza-logo-wide.webp';
|
||||||
|
@xf-selectedItemBgColor: @xf-paletteAccent1;
|
||||||
|
@xf-selectedItemColor: @xf-paletteAccent3;
|
||||||
@xf-styleType: dark;
|
@xf-styleType: dark;
|
||||||
@xf-subNavBg: @xf-paletteColor2;
|
@xf-subNavBg: @xf-paletteColor2;
|
||||||
@xf-successBg: #81c784;
|
@xf-successBg: #81c784;
|
||||||
@xf-successColor: @xf-paletteNeutral1;
|
@xf-successColor: @xf-paletteNeutral1;
|
||||||
@xf-successFeatureColor: #388e3c;
|
@xf-successFeatureColor: #388e3c;
|
||||||
@xf-textColor: @xf-paletteNeutral1;
|
@xf-textColor: @xf-paletteNeutral1;
|
||||||
|
@xf-textColorAccentContent: @xf-paletteAccent3;
|
||||||
|
@xf-textColorDimmed: mix(@xf-textColor, @xf-textColorMuted);
|
||||||
@xf-textColorEmphasized: @xf-paletteAccent3;
|
@xf-textColorEmphasized: @xf-paletteAccent3;
|
||||||
@xf-textColorFeature: @xf-paletteNeutral1;
|
@xf-textColorFeature: @xf-paletteNeutral1;
|
||||||
|
@xf-textColorMuted: @xf-paletteNeutral2;
|
||||||
|
|
||||||
.xf-blockTabHeaderSelected()
|
.xf-blockTabHeaderSelected()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
{
|
{
|
||||||
"blockTabHeaderBg.json": {
|
"blockTabHeaderBg.json": {
|
||||||
"hash": "5207750cec31f74935a0c209f2bb7d5d"
|
"hash": "f548168a30a1d58f885379c826512664"
|
||||||
},
|
},
|
||||||
"blockTabHeaderSelected.json": {
|
"blockTabHeaderSelected.json": {
|
||||||
"hash": "47eac3b302ad0fe474a0d0960d01e059"
|
"hash": "47eac3b302ad0fe474a0d0960d01e059"
|
||||||
},
|
},
|
||||||
"blockTabHeaderTextColor.json": {
|
"blockTabHeaderTextColor.json": {
|
||||||
"hash": "d2d647878d3725763debf391d47486db"
|
"hash": "60987b64d0d5440a964a29356f62c9a6"
|
||||||
},
|
},
|
||||||
"borderColor.json": {
|
"borderColor.json": {
|
||||||
"hash": "d336471427f3a4028996bddb971f2afa"
|
"hash": "188643a00ec1edff6b6c9a56ac2ee460"
|
||||||
},
|
},
|
||||||
"borderColorAccentContent.json": {
|
"borderColorAccentContent.json": {
|
||||||
"hash": "f2aff3c91a3241c9203b07e0c574828c"
|
"hash": "d66b2a8f03254ebf5526514258d40246"
|
||||||
},
|
},
|
||||||
"borderColorFaint.json": {
|
"borderColorFaint.json": {
|
||||||
"hash": "be6f17463760417b337cebbd89773430"
|
"hash": "7be6c7b8d9b69a388381311c812ac54f"
|
||||||
},
|
},
|
||||||
"borderColorFeature.json": {
|
"borderColorFeature.json": {
|
||||||
"hash": "2d8206ba58e695a661d20712db761817"
|
"hash": "166710f3e43991e1d4693c735f13d16c"
|
||||||
},
|
},
|
||||||
"borderColorHeavy.json": {
|
"borderColorHeavy.json": {
|
||||||
"hash": "ad04822f5a3a42927dd967c341e45d63"
|
"hash": "1f06279972da1695c6b46f21b0e92ab5"
|
||||||
},
|
},
|
||||||
"borderColorHighlight.json": {
|
"borderColorHighlight.json": {
|
||||||
"hash": "2ab3fdc69004f2f6a50af84ad45cc7c2"
|
"hash": "7e4e4b3b3d1483dd69b4cd2cec00ec2a"
|
||||||
},
|
},
|
||||||
"borderColorLight.json": {
|
"borderColorLight.json": {
|
||||||
"hash": "aff3cdcedc1516d511dd6aca180a8236"
|
"hash": "e505c1138e48608af68155d642da1c5f"
|
||||||
},
|
},
|
||||||
"borderRadiusLarge.json": {
|
"borderRadiusLarge.json": {
|
||||||
"hash": "6c8e75e1fcedd0b096d7bf911230a1c4"
|
"hash": "6c8e75e1fcedd0b096d7bf911230a1c4"
|
||||||
@@ -39,31 +39,37 @@
|
|||||||
"hash": "03a46b0de545083de0e402a483ca6f1e"
|
"hash": "03a46b0de545083de0e402a483ca6f1e"
|
||||||
},
|
},
|
||||||
"buttonBg.json": {
|
"buttonBg.json": {
|
||||||
"hash": "a8535a0dff9ac6ed83955c83d73253a0"
|
"hash": "c1634e1f6ff0cac089c1326d49980800"
|
||||||
|
},
|
||||||
|
"buttonCtaBg.json": {
|
||||||
|
"hash": "810922cf9b02cafca3cb1476eeb19dbc"
|
||||||
},
|
},
|
||||||
"buttonPrimaryBg.json": {
|
"buttonPrimaryBg.json": {
|
||||||
"hash": "9d6e7069664536ec94ec4a9cb00ae102"
|
"hash": "20d797f8ed23f15e4d4f5489eff32d27"
|
||||||
},
|
},
|
||||||
"buttonTextColor.json": {
|
"buttonTextColor.json": {
|
||||||
"hash": "474dfe468f35e3a7f7f7744620b9aafa"
|
"hash": "ab55be34da1e9618d8a1c11ba00c9cae"
|
||||||
},
|
},
|
||||||
"chromeBg.json": {
|
"chromeBg.json": {
|
||||||
"hash": "7fbcf3a7cfd4a1a7cf052382201f61c5"
|
"hash": "57cea2ca2670bbc1efd611347e7ef7fa"
|
||||||
},
|
},
|
||||||
"chromeTextColor.json": {
|
"chromeTextColor.json": {
|
||||||
"hash": "7d59fddb50e545f6dc4ee746d57300f9"
|
"hash": "95ef3871aec2885a46045ed9117f32ca"
|
||||||
|
},
|
||||||
|
"contentAccentBg.json": {
|
||||||
|
"hash": "6c073c7846e2fcbfb6e42e31ee12e149"
|
||||||
},
|
},
|
||||||
"contentAltBg.json": {
|
"contentAltBg.json": {
|
||||||
"hash": "475dbbcaf0266619fc0013038f6e1e9e"
|
"hash": "0468aaff60170b86470fae92621d5451"
|
||||||
},
|
},
|
||||||
"contentBg.json": {
|
"contentBg.json": {
|
||||||
"hash": "d5e9973a4e83961dc45fdaaf6e81c83b"
|
"hash": "a602585bd026fe54b911c34051a92f64"
|
||||||
},
|
},
|
||||||
"contentHighlightBg.json": {
|
"contentHighlightBg.json": {
|
||||||
"hash": "7ee9346c8d25ea473dacd9a9e21206e7"
|
"hash": "3f25b8f5a6851ecae0eaf5e3791c9cd9"
|
||||||
},
|
},
|
||||||
"errorBg.json": {
|
"errorBg.json": {
|
||||||
"hash": "5b0fa167f49f5c9955d7946d5e102f4c"
|
"hash": "0640f2a117475e7615a8004007937f3a"
|
||||||
},
|
},
|
||||||
"errorColor.json": {
|
"errorColor.json": {
|
||||||
"hash": "e4469cb3a0e2c9cdc3840008700d8742"
|
"hash": "e4469cb3a0e2c9cdc3840008700d8742"
|
||||||
@@ -74,73 +80,97 @@
|
|||||||
"fontFamilyUi.json": {
|
"fontFamilyUi.json": {
|
||||||
"hash": "45a85d0b24fa4ea774734402210aaf2e"
|
"hash": "45a85d0b24fa4ea774734402210aaf2e"
|
||||||
},
|
},
|
||||||
|
"inlineModHighlightColor.json": {
|
||||||
|
"hash": "cb98086bf3814d6b4322d49d2bd5b22b"
|
||||||
|
},
|
||||||
"linkColor.json": {
|
"linkColor.json": {
|
||||||
"hash": "7ca02736780e9e4b47bf7d6d960bcffe"
|
"hash": "9831d4fa8c2918fc50b50c90388192e2"
|
||||||
},
|
},
|
||||||
"linkHoverColor.json": {
|
"linkHoverColor.json": {
|
||||||
"hash": "24233df430149979043c3864a9e94d4d"
|
"hash": "e66a8617ad8ea84d1c9e688acc427e07"
|
||||||
},
|
},
|
||||||
"linkUgcColor.json": {
|
"linkUgcColor.json": {
|
||||||
"hash": "a092f48a4f951cf3e92ed461659ae894"
|
"hash": "1a38ff8d88512e77e68c0931ee7f72d5"
|
||||||
},
|
},
|
||||||
"linkUgcHoverColor.json": {
|
"linkUgcHoverColor.json": {
|
||||||
"hash": "2e1385c3bfe51e1874c0ec8805217d8d"
|
"hash": "fd483e9f6ebed528993ea0c5b3db6880"
|
||||||
},
|
},
|
||||||
"pageBg.json": {
|
"pageBg.json": {
|
||||||
"hash": "3975020da986bf3e13a65be134449908"
|
"hash": "25b20f46219dd7b5cbccc5a1bc93d63d"
|
||||||
|
},
|
||||||
|
"paletteAccent1.json": {
|
||||||
|
"hash": "87cf0a292eb7205172307c668732865b"
|
||||||
},
|
},
|
||||||
"paletteAccent2.json": {
|
"paletteAccent2.json": {
|
||||||
"hash": "00cb79f56e2ae668475327758cdd4ce2"
|
"hash": "4349b4660d958eb33ab63cef998e4f17"
|
||||||
},
|
},
|
||||||
"paletteAccent3.json": {
|
"paletteAccent3.json": {
|
||||||
"hash": "e9322fb2aa0043a573713fc3f96ca79a"
|
"hash": "56ba082c5e25fc8d3033242058d2de50"
|
||||||
},
|
},
|
||||||
"paletteColor1.json": {
|
"paletteColor1.json": {
|
||||||
"hash": "976763c8be910c28f4c0008c9a277448"
|
"hash": "5d31b63804de05124fff929c11b5267f"
|
||||||
},
|
},
|
||||||
"paletteColor2.json": {
|
"paletteColor2.json": {
|
||||||
"hash": "eecdd3bf62255ec43dfc912fb56ab08c"
|
"hash": "33c7c95dcc4c860a1adb200e7f852709"
|
||||||
},
|
},
|
||||||
"paletteColor3.json": {
|
"paletteColor3.json": {
|
||||||
"hash": "e1603121b3eee6f5c4518966d685ef69"
|
"hash": "1eb9e549beb1af1ccbb432382f2a32f0"
|
||||||
},
|
},
|
||||||
"paletteColor4.json": {
|
"paletteColor4.json": {
|
||||||
"hash": "c645a133d49ed59c98e33fe3cc17b5c4"
|
"hash": "e9faae6096c6bdfbab02281e1db92805"
|
||||||
},
|
},
|
||||||
"paletteColor5.json": {
|
"paletteColor5.json": {
|
||||||
"hash": "23dedee0b4f9b9b88f3e99a5135dbfca"
|
"hash": "567468795753c5a7111a5f866ee32a09"
|
||||||
},
|
},
|
||||||
"paletteNeutral1.json": {
|
"paletteNeutral1.json": {
|
||||||
"hash": "2a6c79989236ec6cbc8bf81344b52496"
|
"hash": "c3cdb06fe904db889e392ccf4446102b"
|
||||||
},
|
},
|
||||||
"paletteNeutral2.json": {
|
"paletteNeutral2.json": {
|
||||||
"hash": "e6d5fa3553c3542a42c954eed332dc47"
|
"hash": "06b15abfcfd3ec5eb01c917d0e6f12d9"
|
||||||
},
|
},
|
||||||
"paletteNeutral3.json": {
|
"paletteNeutral3.json": {
|
||||||
"hash": "e08775923d2c98300549be6ed17147d8"
|
"hash": "1ec2ef5d3d83ad10b6b7232aaa08c440"
|
||||||
|
},
|
||||||
|
"publicLogoUrl.json": {
|
||||||
|
"hash": "aabe78e8cf804421f6dfa2a20b5028da"
|
||||||
|
},
|
||||||
|
"selectedItemBgColor.json": {
|
||||||
|
"hash": "1b6dcccfb12810ca097e9609b6190590"
|
||||||
|
},
|
||||||
|
"selectedItemColor.json": {
|
||||||
|
"hash": "b31443445198bba66ac1fe266b242e27"
|
||||||
},
|
},
|
||||||
"styleType.json": {
|
"styleType.json": {
|
||||||
"hash": "a06efd294967581901bd111dfe7511c2"
|
"hash": "a06efd294967581901bd111dfe7511c2"
|
||||||
},
|
},
|
||||||
"subNavBg.json": {
|
"subNavBg.json": {
|
||||||
"hash": "b61b38b236ab81ab58134cac3fa4963b"
|
"hash": "cf02b59b25e4764d10333085d206326e"
|
||||||
},
|
},
|
||||||
"successBg.json": {
|
"successBg.json": {
|
||||||
"hash": "1c9a192fe62a1bdbaf49d0d776919de8"
|
"hash": "e9a29a0bf4949a28c64b0379c43d362c"
|
||||||
},
|
},
|
||||||
"successColor.json": {
|
"successColor.json": {
|
||||||
"hash": "c17c8090edddc7a86df397787808c105"
|
"hash": "1448166e4c2a23f70a2f41568ec6f52c"
|
||||||
},
|
},
|
||||||
"successFeatureColor.json": {
|
"successFeatureColor.json": {
|
||||||
"hash": "25ab19e3c11c371f8b53ad56af94a5a0"
|
"hash": "915e092c9c59a762d40a7b6a0c80ceca"
|
||||||
},
|
},
|
||||||
"textColor.json": {
|
"textColor.json": {
|
||||||
"hash": "df26881141502f16be13b75b9903f48f"
|
"hash": "3707f47d0f8dc6307af0bbaa21f2a5d9"
|
||||||
|
},
|
||||||
|
"textColorAccentContent.json": {
|
||||||
|
"hash": "a77a12cc25c97dbec7938c01a50357ac"
|
||||||
|
},
|
||||||
|
"textColorDimmed.json": {
|
||||||
|
"hash": "f8a9b3ad55cabe63e15bbb285598e615"
|
||||||
},
|
},
|
||||||
"textColorEmphasized.json": {
|
"textColorEmphasized.json": {
|
||||||
"hash": "7069705f62fdf89df20fcc7eab85959e"
|
"hash": "9bc63d4911cbfaf41224390ac3595d0b"
|
||||||
},
|
},
|
||||||
"textColorFeature.json": {
|
"textColorFeature.json": {
|
||||||
"hash": "f149f8945b9e6497264151339755a294"
|
"hash": "982f1f7d5af442215b1feb98243f51a7"
|
||||||
|
},
|
||||||
|
"textColorMuted.json": {
|
||||||
|
"hash": "b13405edd626276a29712e73a70dbe34"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "blockTabHeader",
|
"value_group": "blockTabHeader",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor2",
|
"default": "@xf-paletteColor2"
|
||||||
"alternate": "@xf-paletteColor4"
|
|
||||||
},
|
},
|
||||||
"display_order": 6500
|
"display_order": 6500
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "blockTabHeader",
|
"value_group": "blockTabHeader",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "@xf-paletteColor2"
|
|
||||||
},
|
},
|
||||||
"display_order": 6600
|
"display_order": 6600
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderBasic",
|
"value_group": "borderBasic",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor5",
|
"default": "@xf-paletteColor5"
|
||||||
"alternate": "xf-intensify(@xf-contentBg, 10%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 4000
|
"display_order": 4000
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderOther",
|
"value_group": "borderOther",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent2",
|
"default": "@xf-paletteAccent2"
|
||||||
"alternate": "mix(@xf-paletteAccent3, @xf-paletteAccent2)"
|
|
||||||
},
|
},
|
||||||
"display_order": 5200
|
"display_order": 5200
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderBasic",
|
"value_group": "borderBasic",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor5",
|
"default": "@xf-paletteColor5"
|
||||||
"alternate": "xf-diminish(@xf-borderColor, 6%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 4100
|
"display_order": 4100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderOther",
|
"value_group": "borderOther",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor3"
|
|
||||||
},
|
},
|
||||||
"display_order": 5100
|
"display_order": 5100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderBasic",
|
"value_group": "borderBasic",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor5",
|
"default": "@xf-paletteColor5"
|
||||||
"alternate": "xf-intensify(@xf-borderColor, 4%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 4300
|
"display_order": 4300
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderOther",
|
"value_group": "borderOther",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor4"
|
|
||||||
},
|
},
|
||||||
"display_order": 5000
|
"display_order": 5000
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "borderBasic",
|
"value_group": "borderBasic",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor5",
|
"default": "@xf-paletteColor5"
|
||||||
"alternate": "xf-diminish(@xf-borderColor, 4%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 4200
|
"display_order": 4200
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "buttons",
|
"value_group": "buttons",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor3",
|
"default": "@xf-paletteColor3"
|
||||||
"alternate": "@xf-paletteColor4"
|
|
||||||
},
|
},
|
||||||
"display_order": 8200
|
"display_order": 8200
|
||||||
}
|
}
|
||||||
16
style_properties/buttonCtaBg.json
Normal file
16
style_properties/buttonCtaBg.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Call-to-action button background",
|
||||||
|
"description": "",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "buttons",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent2"
|
||||||
|
},
|
||||||
|
"display_order": 8400
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "buttons",
|
"value_group": "buttons",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor3"
|
|
||||||
},
|
},
|
||||||
"display_order": 8300
|
"display_order": 8300
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "buttons",
|
"value_group": "buttons",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "@xf-paletteColor1"
|
|
||||||
},
|
},
|
||||||
"display_order": 8100
|
"display_order": 8100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "chrome",
|
"value_group": "chrome",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor1",
|
"default": "@xf-paletteColor1"
|
||||||
"alternate": "@xf-paletteColor5"
|
|
||||||
},
|
},
|
||||||
"display_order": 6000
|
"display_order": 6000
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "chrome",
|
"value_group": "chrome",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "@xf-paletteColor2"
|
|
||||||
},
|
},
|
||||||
"display_order": 6050
|
"display_order": 6050
|
||||||
}
|
}
|
||||||
16
style_properties/contentAccentBg.json
Normal file
16
style_properties/contentAccentBg.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Accented content background color",
|
||||||
|
"description": "This background color is used for further differentiation from regular content",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "contentBackground",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent1"
|
||||||
|
},
|
||||||
|
"display_order": 2400
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "contentBackground",
|
"value_group": "contentBackground",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor3",
|
"default": "@xf-paletteColor3"
|
||||||
"alternate": "darken(@xf-contentBg, 4%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 2200
|
"display_order": 2200
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "contentBackground",
|
"value_group": "contentBackground",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor2",
|
"default": "@xf-paletteColor2"
|
||||||
"alternate": "@xf-paletteNeutral3"
|
|
||||||
},
|
},
|
||||||
"display_order": 2000
|
"display_order": 2000
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "contentBackground",
|
"value_group": "contentBackground",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor3",
|
"default": "@xf-paletteColor3"
|
||||||
"alternate": "@xf-paletteColor5"
|
|
||||||
},
|
},
|
||||||
"display_order": 2300
|
"display_order": 2300
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "errorMessage",
|
"value_group": "errorMessage",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#e57373",
|
"default": "#e57373"
|
||||||
"alternate": "hsl(358, 70%, 20%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 10410
|
"display_order": 10410
|
||||||
}
|
}
|
||||||
16
style_properties/inlineModHighlightColor.json
Normal file
16
style_properties/inlineModHighlightColor.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Inline moderation highlight color",
|
||||||
|
"description": "When content is selected for inline moderation, its background color will be replaced with this",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "contentBackground",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent1"
|
||||||
|
},
|
||||||
|
"display_order": 2500
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "links",
|
"value_group": "links",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor2"
|
|
||||||
},
|
},
|
||||||
"display_order": 1000
|
"display_order": 1000
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "links",
|
"value_group": "links",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent2",
|
"default": "@xf-paletteAccent2"
|
||||||
"alternate": "@xf-paletteColor1"
|
|
||||||
},
|
},
|
||||||
"display_order": 1100
|
"display_order": 1100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "links",
|
"value_group": "links",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor2"
|
|
||||||
},
|
},
|
||||||
"display_order": 1200
|
"display_order": 1200
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "links",
|
"value_group": "links",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent2",
|
"default": "@xf-paletteAccent2"
|
||||||
"alternate": "@xf-paletteColor1"
|
|
||||||
},
|
},
|
||||||
"display_order": 1300
|
"display_order": 1300
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "contentBackground",
|
"value_group": "contentBackground",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor1",
|
"default": "@xf-paletteColor1"
|
||||||
"alternate": "darken(@xf-contentBg, 8%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 2100
|
"display_order": 2100
|
||||||
}
|
}
|
||||||
16
style_properties/paletteAccent1.json
Normal file
16
style_properties/paletteAccent1.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "palette",
|
||||||
|
"title": "Accent 1",
|
||||||
|
"description": "",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "hidePalette=true",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "accent",
|
||||||
|
"property_value": {
|
||||||
|
"default": "hsl(35, 90%, 95%)"
|
||||||
|
},
|
||||||
|
"display_order": 2000
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "accent",
|
"value_group": "accent",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#e56700",
|
"default": "#e56700"
|
||||||
"alternate": "hsl(35, 85%, 45%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 2100
|
"display_order": 2100
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "accent",
|
"value_group": "accent",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#ff7300",
|
"default": "#ff7300",
|
||||||
"alternate": "hsl(35, 85%, 15%)"
|
"alternate": "#e56700"
|
||||||
},
|
},
|
||||||
"display_order": 2200
|
"display_order": 2200
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "primary",
|
"value_group": "primary",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#1e1e1e",
|
"default": "#1e1e1e",
|
||||||
"alternate": "hsl(206, 60%, 75%)"
|
"alternate": "#f0f0f0"
|
||||||
},
|
},
|
||||||
"display_order": 1000
|
"display_order": 1000
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "primary",
|
"value_group": "primary",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#252526",
|
"default": "#252526",
|
||||||
"alternate": "hsl(204, 60%, 60%)"
|
"alternate": "#ffffff"
|
||||||
},
|
},
|
||||||
"display_order": 1100
|
"display_order": 1100
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "primary",
|
"value_group": "primary",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#2d2d30",
|
"default": "#2d2d30",
|
||||||
"alternate": "hsl(205, 60%, 40%)"
|
"alternate": "#e8e8e8"
|
||||||
},
|
},
|
||||||
"display_order": 1200
|
"display_order": 1200
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "primary",
|
"value_group": "primary",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#3e3e42",
|
"default": "#3e3e42",
|
||||||
"alternate": "hsl(205, 60%, 20%)"
|
"alternate": "#dcdcdc"
|
||||||
},
|
},
|
||||||
"display_order": 1300
|
"display_order": 1300
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "primary",
|
"value_group": "primary",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#3f3f46",
|
"default": "#3f3f46",
|
||||||
"alternate": "hsl(205, 60%, 10%)"
|
"alternate": "#d0d0d0"
|
||||||
},
|
},
|
||||||
"display_order": 1400
|
"display_order": 1400
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "neutral",
|
"value_group": "neutral",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#f1f1f1",
|
"default": "#f1f1f1",
|
||||||
"alternate": "hsl(0, 0%, 100%)"
|
"alternate": "#454545"
|
||||||
},
|
},
|
||||||
"display_order": 3000
|
"display_order": 3000
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"value_group": "neutral",
|
"value_group": "neutral",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#a1a1aa",
|
"default": "#a1a1aa",
|
||||||
"alternate": "hsl(0, 0%, 54%)"
|
"alternate": "#737373"
|
||||||
},
|
},
|
||||||
"display_order": 3100
|
"display_order": 3100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "neutral",
|
"value_group": "neutral",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#111111",
|
"default": "#111111"
|
||||||
"alternate": "hsl(0, 0%, 8%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 3200
|
"display_order": 3200
|
||||||
}
|
}
|
||||||
17
style_properties/publicLogoUrl.json
Normal file
17
style_properties/publicLogoUrl.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"group_name": "basic",
|
||||||
|
"title": "Logo URL",
|
||||||
|
"description": "The path from your XenForo root directory to your logo. If you specify alternate variations, they should be the same size. If you specify an SVG, you should set <b>Emails > Email logo URL</b> to a PNG, or similar, for better compatibility.",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "string",
|
||||||
|
"value_parameters": "asset=logo",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "logo",
|
||||||
|
"property_value": {
|
||||||
|
"default": "data/assets/logo_default/plaza-logo-wide.webp",
|
||||||
|
"alternate": "data/assets/logo_alternate/plaza-logo-wide.webp"
|
||||||
|
},
|
||||||
|
"display_order": 101
|
||||||
|
}
|
||||||
16
style_properties/selectedItemBgColor.json
Normal file
16
style_properties/selectedItemBgColor.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Selected item background color",
|
||||||
|
"description": "",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "selectedItems",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent1"
|
||||||
|
},
|
||||||
|
"display_order": 9200
|
||||||
|
}
|
||||||
16
style_properties/selectedItemColor.json
Normal file
16
style_properties/selectedItemColor.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Selected item color",
|
||||||
|
"description": "",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "selectedItems",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent3"
|
||||||
|
},
|
||||||
|
"display_order": 9100
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "chrome",
|
"value_group": "chrome",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteColor2",
|
"default": "@xf-paletteColor2"
|
||||||
"alternate": "@xf-contentAltBg"
|
|
||||||
},
|
},
|
||||||
"display_order": 6080
|
"display_order": 6080
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "successMessage",
|
"value_group": "successMessage",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#81c784",
|
"default": "#81c784"
|
||||||
"alternate": "hsl(122, 70%, 20%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 10210
|
"display_order": 10210
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "successMessage",
|
"value_group": "successMessage",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "hsl(116, 70%, 85%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 10220
|
"display_order": 10220
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "successMessage",
|
"value_group": "successMessage",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "#388e3c",
|
"default": "#388e3c"
|
||||||
"alternate": "hsl(122, 70%, 50%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 10230
|
"display_order": 10230
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "textBasic",
|
"value_group": "textBasic",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "darken(@xf-paletteNeutral1, 12%)"
|
|
||||||
},
|
},
|
||||||
"display_order": 100
|
"display_order": 100
|
||||||
}
|
}
|
||||||
16
style_properties/textColorAccentContent.json
Normal file
16
style_properties/textColorAccentContent.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Accented content text color",
|
||||||
|
"description": "",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "textOther",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteAccent3"
|
||||||
|
},
|
||||||
|
"display_order": 3200
|
||||||
|
}
|
||||||
16
style_properties/textColorDimmed.json
Normal file
16
style_properties/textColorDimmed.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Dimmed text color",
|
||||||
|
"description": "Used when less-important text is placed next to normal text",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "textBasic",
|
||||||
|
"property_value": {
|
||||||
|
"default": "mix(@xf-textColor, @xf-textColorMuted)"
|
||||||
|
},
|
||||||
|
"display_order": 200
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "textOther",
|
"value_group": "textOther",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteAccent3",
|
"default": "@xf-paletteAccent3"
|
||||||
"alternate": "@xf-paletteColor1"
|
|
||||||
},
|
},
|
||||||
"display_order": 3100
|
"display_order": 3100
|
||||||
}
|
}
|
||||||
@@ -10,8 +10,7 @@
|
|||||||
"depends_on": "",
|
"depends_on": "",
|
||||||
"value_group": "textOther",
|
"value_group": "textOther",
|
||||||
"property_value": {
|
"property_value": {
|
||||||
"default": "@xf-paletteNeutral1",
|
"default": "@xf-paletteNeutral1"
|
||||||
"alternate": "@xf-paletteColor2"
|
|
||||||
},
|
},
|
||||||
"display_order": 3000
|
"display_order": 3000
|
||||||
}
|
}
|
||||||
16
style_properties/textColorMuted.json
Normal file
16
style_properties/textColorMuted.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"group_name": "color",
|
||||||
|
"title": "Muted text color",
|
||||||
|
"description": "Text is further de-emphasised using this style",
|
||||||
|
"property_type": "value",
|
||||||
|
"css_components": [],
|
||||||
|
"value_type": "color",
|
||||||
|
"value_parameters": "",
|
||||||
|
"has_variations": true,
|
||||||
|
"depends_on": "",
|
||||||
|
"value_group": "textBasic",
|
||||||
|
"property_value": {
|
||||||
|
"default": "@xf-paletteNeutral2"
|
||||||
|
},
|
||||||
|
"display_order": 300
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"addon_id": "XF",
|
"addon_id": "XF",
|
||||||
"version_id": 2031070,
|
"version_id": 2031070,
|
||||||
"version_string": "2.3.10",
|
"version_string": "2.3.10",
|
||||||
"hash": "92f8334dbbaac2af86e9e9de3b22fc45"
|
"hash": "09489ca3208db67cf6add9779edd76be"
|
||||||
},
|
},
|
||||||
"public/account_alerts_popup.html": {
|
"public/account_alerts_popup.html": {
|
||||||
"addon_id": "XF",
|
"addon_id": "XF",
|
||||||
@@ -11,17 +11,35 @@
|
|||||||
"version_string": "2.3.10",
|
"version_string": "2.3.10",
|
||||||
"hash": "625739bb3c29b990a3dfc58e44fd24e8"
|
"hash": "625739bb3c29b990a3dfc58e44fd24e8"
|
||||||
},
|
},
|
||||||
|
"public/account_preferences_popup.html": {
|
||||||
|
"addon_id": "RomhackPlaza/Master",
|
||||||
|
"version_id": 1000000,
|
||||||
|
"version_string": "1.0.0",
|
||||||
|
"hash": "5de44b0169e7c63fb664aefc04832ba3"
|
||||||
|
},
|
||||||
"public/alert_macros.html": {
|
"public/alert_macros.html": {
|
||||||
"addon_id": "XF",
|
"addon_id": "XF",
|
||||||
"version_id": 2031070,
|
"version_id": 2031070,
|
||||||
"version_string": "2.3.10",
|
"version_string": "2.3.10",
|
||||||
"hash": "0cb82ae0d5544911ac92db38a01cb211"
|
"hash": "0cb82ae0d5544911ac92db38a01cb211"
|
||||||
},
|
},
|
||||||
|
"public/conversations_popup.html": {
|
||||||
|
"addon_id": "XF",
|
||||||
|
"version_id": 2031070,
|
||||||
|
"version_string": "2.3.10",
|
||||||
|
"hash": "8e9cc51c532904221c9f876a8a2f5693"
|
||||||
|
},
|
||||||
|
"public/delete_account.html": {
|
||||||
|
"addon_id": "",
|
||||||
|
"version_id": 0,
|
||||||
|
"version_string": "",
|
||||||
|
"hash": "8f108ffdfd4f6776c2ee690e8bf3aa62"
|
||||||
|
},
|
||||||
"public/extra.less": {
|
"public/extra.less": {
|
||||||
"addon_id": "XF",
|
"addon_id": "XF",
|
||||||
"version_id": 2031070,
|
"version_id": 2031070,
|
||||||
"version_string": "2.3.10",
|
"version_string": "2.3.10",
|
||||||
"hash": "24d94c7353b843acb056656d00ea35d2"
|
"hash": "278b91ff307ed1d1c634eee490ff8653"
|
||||||
},
|
},
|
||||||
"public/member_tooltip.html": {
|
"public/member_tooltip.html": {
|
||||||
"addon_id": "XF",
|
"addon_id": "XF",
|
||||||
@@ -35,22 +53,28 @@
|
|||||||
"version_string": "2.3.10",
|
"version_string": "2.3.10",
|
||||||
"hash": "5a95069e23fb2a8c740d3d380a0feb34"
|
"hash": "5a95069e23fb2a8c740d3d380a0feb34"
|
||||||
},
|
},
|
||||||
|
"public/misc_preferences_popup.html": {
|
||||||
|
"addon_id": "RomhackPlaza/Master",
|
||||||
|
"version_id": 1000000,
|
||||||
|
"version_string": "1.0.0",
|
||||||
|
"hash": "35f51014f2dfed0104697930d0eff39e"
|
||||||
|
},
|
||||||
"public/romhackplaza_css.html": {
|
"public/romhackplaza_css.html": {
|
||||||
"addon_id": "",
|
"addon_id": "",
|
||||||
"version_id": 0,
|
"version_id": 0,
|
||||||
"version_string": "",
|
"version_string": "",
|
||||||
"hash": "96718ec22da14ac5d4615109068a2dc2"
|
"hash": "7ef3afe6786ee66da180c97f23f17fcd"
|
||||||
},
|
},
|
||||||
"public/romhackplaza_js.html": {
|
"public/romhackplaza_js.html": {
|
||||||
"addon_id": "",
|
"addon_id": "",
|
||||||
"version_id": 0,
|
"version_id": 0,
|
||||||
"version_string": "",
|
"version_string": "",
|
||||||
"hash": "30324ecf51ac365509fce5ef1db2ecd1"
|
"hash": "2de55abb39dab7c9db82172f3b33a2b3"
|
||||||
},
|
},
|
||||||
"public/topbar_actions.html": {
|
"public/topbar_actions.html": {
|
||||||
"addon_id": "RomhackPlaza/Master",
|
"addon_id": "RomhackPlaza/Master",
|
||||||
"version_id": 1000000,
|
"version_id": 1000000,
|
||||||
"version_string": "1.0.0",
|
"version_string": "1.0.0",
|
||||||
"hash": "b4d757a96108efbca01fb7e6b68f11b5"
|
"hash": "ee896c17cf565f9351ec2bfd2da1b7c1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
|
data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
|
||||||
data-cookie-prefix="{$xf.cookie.prefix}"
|
data-cookie-prefix="{$xf.cookie.prefix}"
|
||||||
data-csrf="{{ csrf_token()|escape('js') }}"
|
data-csrf="{{ csrf_token()|escape('js') }}"
|
||||||
class="has-no-js {{ $template ? 'template-' . $template : '' }}"
|
class="has-no-js {{ $template ? 'template-' . $template : '' }} {{ $xf.visitor.style_variation === 'alternate' ? '$light-mode' : '' }}"
|
||||||
{{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
|
{{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
|
||||||
<head>
|
<head>
|
||||||
<xf:set var="$siteName" value="{$xf.options.boardTitle}" />
|
<xf:set var="$siteName" value="{$xf.options.boardTitle}" />
|
||||||
@@ -82,29 +82,35 @@
|
|||||||
</head>
|
</head>
|
||||||
<body data-template="{$template}">
|
<body data-template="{$template}">
|
||||||
|
|
||||||
<div id="app">
|
<main id="app">
|
||||||
<nav id="menu">
|
<nav id="menu">
|
||||||
<div class="$menu-header">
|
<div class="$menu-header">
|
||||||
<div class="$menu-logo">
|
<xf:macro id="style_variation_macros::picture"
|
||||||
RP
|
arg-property="publicLogoUrl"
|
||||||
</div>
|
arg-propertyRetina="publicLogoUrl2x"
|
||||||
<div class="$menu-title">
|
arg-width="{{ property('publicLogoWidth') }}"
|
||||||
Romhack Plaza
|
arg-height="{{ property('publicLogoHeight') }}"
|
||||||
</div>
|
arg-alt="{$xf.options.boardTitle}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="$menu-navigation">
|
<div class="$menu-navigation">
|
||||||
|
|
||||||
|
|
||||||
<div class="$menu-group">
|
|
||||||
<xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
|
<xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
|
||||||
|
<div class="$menu-group">
|
||||||
<div class="$menu-group-title">{{ $navEntry.title }}</div>
|
<div class="$menu-group-title">{{ $navEntry.title }}</div>
|
||||||
<xf:foreach loop="$navEntry.children" key="$childNavId" value="$childNavEntry" i="$j">
|
<xf:foreach loop="$navEntry.children" key="$childNavId" value="$childNavEntry" i="$j">
|
||||||
<a href="{{ $childNavEntry.href }}" class="$menu-item" >
|
<a href="{{ $childNavEntry.href }}"
|
||||||
|
class="$menu-item"
|
||||||
|
style="{{ $childNavEntry.attributes.color ? 'color:' . $childNavEntry.attributes.color : '' }}"
|
||||||
|
target="{{ $childNavEntry.attributes.target }}"
|
||||||
|
>
|
||||||
<i data-lucide="{{ $childNavEntry.attributes.icon }}"></i><span>{{ $childNavEntry.title }}</span>
|
<i data-lucide="{{ $childNavEntry.attributes.icon }}"></i><span>{{ $childNavEntry.title }}</span>
|
||||||
</a>
|
</a>
|
||||||
</xf:foreach>
|
</xf:foreach>
|
||||||
</xf:foreach>
|
|
||||||
</div>
|
</div>
|
||||||
|
</xf:foreach>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -131,441 +137,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<xf:comment>
|
|
||||||
<xf:if contentcheck="true">
|
|
||||||
<div class="p-staffBar">
|
|
||||||
<div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
|
|
||||||
<div class="hScroller-scroll">
|
|
||||||
<xf:contentcheck>
|
|
||||||
<xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
|
|
||||||
<a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
|
|
||||||
{{ phrase('approval_queue') }}
|
|
||||||
</a>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
|
|
||||||
<a href="{{ link('reports') }}"
|
|
||||||
class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}"
|
|
||||||
data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
|
|
||||||
title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:')|for_attr . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">
|
|
||||||
{{ phrase('reports') }}
|
|
||||||
</a>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if contentcheck="true">
|
|
||||||
<a class="p-staffBar-link menuTrigger" data-xf-click="menu" data-xf-key="alt+m" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a>
|
|
||||||
<div class="menu" data-menu="menu" aria-hidden="true">
|
|
||||||
<div class="menu-content">
|
|
||||||
<h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
|
|
||||||
<xf:contentcheck>
|
|
||||||
<!--[XF:mod_tools_menu:top]-->
|
|
||||||
<xf:if is="$xf.visitor.is_moderator">
|
|
||||||
<a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
|
|
||||||
</xf:if>
|
|
||||||
<xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
|
|
||||||
<a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:')|for_attr . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a>
|
|
||||||
</xf:if>
|
|
||||||
<!--[XF:mod_tools_menu:bottom]-->
|
|
||||||
</xf:contentcheck>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.visitor.is_admin">
|
|
||||||
<a href="{{ base_url('admin.php') }}" class="p-staffBar-link" target="_blank">{{ phrase('admin') }}</a>
|
|
||||||
</xf:if>
|
|
||||||
</xf:contentcheck>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<header class="p-header" id="header">
|
|
||||||
<div class="p-header-inner">
|
|
||||||
<div class="p-header-content">
|
|
||||||
<div class="p-header-logo p-header-logo--image">
|
|
||||||
<a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
|
|
||||||
<xf:macro id="style_variation_macros::picture"
|
|
||||||
arg-property="publicLogoUrl"
|
|
||||||
arg-propertyRetina="publicLogoUrl2x"
|
|
||||||
arg-width="{{ property('publicLogoWidth') }}"
|
|
||||||
arg-height="{{ property('publicLogoHeight') }}"
|
|
||||||
arg-alt="{$xf.options.boardTitle}" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<xf:ad position="container_header" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<xf:set var="$navHtml">
|
|
||||||
<nav class="p-nav">
|
|
||||||
<div class="p-nav-inner">
|
|
||||||
<xf:button class="button--plain p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" tabindex="0"
|
|
||||||
aria-label="{{ phrase('menu')|for_attr }}">
|
|
||||||
<i aria-hidden="true"></i>
|
|
||||||
</xf:button>
|
|
||||||
|
|
||||||
<div class="p-nav-smallLogo">
|
|
||||||
<a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
|
|
||||||
<xf:macro id="style_variation_macros::picture"
|
|
||||||
arg-property="publicLogoUrl"
|
|
||||||
arg-property2x="publicLogoUrl2x"
|
|
||||||
arg-width="{{ property('publicLogoWidth') }}"
|
|
||||||
arg-height="{{ property('publicLogoHeight') }}"
|
|
||||||
arg-alt="{$xf.options.boardTitle}" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
|
|
||||||
<div class="hScroller-scroll">
|
|
||||||
<ul class="p-nav-list js-offCanvasNavSource">
|
|
||||||
<xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
|
|
||||||
<li>
|
|
||||||
<xf:macro name="nav_entry"
|
|
||||||
arg-navId="{$navSection}"
|
|
||||||
arg-nav="{$navEntry}"
|
|
||||||
arg-selected="{{ $navSection == $pageSection }}"
|
|
||||||
arg-shortcut="{$i}" />
|
|
||||||
</li>
|
|
||||||
</xf:foreach>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="p-nav-opposite">
|
|
||||||
<div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
|
|
||||||
<xf:if is="$xf.visitor.user_id">
|
|
||||||
<xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
|
|
||||||
<a href="{{ link('account') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
|
|
||||||
<xf:avatar user="$xf.visitor" size="xxs" href="" title="" />
|
|
||||||
<span class="p-navgroup-linkText">{$xf.visitor.username}</span>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link">
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('log_out') }}</span>
|
|
||||||
</a>
|
|
||||||
<xf:else />
|
|
||||||
<a href="{{ link('account') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user"
|
|
||||||
data-xf-click="menu"
|
|
||||||
data-xf-key="{{ phrase('shortcut.visitor_menu')|for_attr }}"
|
|
||||||
data-menu-pos-ref="< .p-navgroup"
|
|
||||||
title="{$xf.visitor.username}"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-haspopup="true">
|
|
||||||
<xf:avatar user="$xf.visitor" size="xxs" href="" title="" />
|
|
||||||
<span class="p-navgroup-linkText">{$xf.visitor.username}</span>
|
|
||||||
</a>
|
|
||||||
<div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true"
|
|
||||||
data-href="{{ link('account/visitor-menu') }}"
|
|
||||||
data-load-target=".js-visitorMenuBody">
|
|
||||||
<div class="menu-content js-visitorMenuBody">
|
|
||||||
<div class="menu-row">
|
|
||||||
{{ phrase('loading...') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="{{ link('direct-messages') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--conversations js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"
|
|
||||||
data-badge="{$xf.visitor.conversations_unread|number}"
|
|
||||||
data-xf-click="menu"
|
|
||||||
data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}"
|
|
||||||
data-menu-pos-ref="< .p-navgroup"
|
|
||||||
title="{{ phrase('direct_messages')|for_attr }}"
|
|
||||||
aria-label="{{ phrase('direct_messages')|for_attr }}"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-haspopup="true">
|
|
||||||
<i aria-hidden="true"></i>
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('nav_inbox') }}</span>
|
|
||||||
</a>
|
|
||||||
<div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
|
|
||||||
data-href="{{ link('direct-messages/popup') }}"
|
|
||||||
data-nocache="true"
|
|
||||||
data-load-target=".js-convMenuBody">
|
|
||||||
<div class="menu-content">
|
|
||||||
<h3 class="menu-header">{{ phrase('direct_messages') }}</h3>
|
|
||||||
<div class="js-convMenuBody">
|
|
||||||
<div class="menu-row">{{ phrase('loading...') }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="menu-footer menu-footer--split">
|
|
||||||
<div class="menu-footer-main">
|
|
||||||
<ul class="listInline listInline--bullet">
|
|
||||||
<li><a href="{{ link('direct-messages') }}">{{ phrase('show_all') }}</a></li>
|
|
||||||
<xf:if is="$xf.visitor.canStartConversation()">
|
|
||||||
<li><a href="{{ link('direct-messages/add') }}">{{ phrase('send_direct_message') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="{{ link('account/alerts') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unviewed ? ' badgeContainer--highlighted' : '' }}"
|
|
||||||
data-badge="{$xf.visitor.alerts_unviewed|number}"
|
|
||||||
data-xf-click="menu"
|
|
||||||
data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}"
|
|
||||||
data-menu-pos-ref="< .p-navgroup"
|
|
||||||
title="{{ phrase('alerts')|for_attr }}"
|
|
||||||
aria-label="{{ phrase('alerts')|for_attr }}"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-haspopup="true">
|
|
||||||
<i aria-hidden="true"></i>
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('nav_alerts') }}</span>
|
|
||||||
</a>
|
|
||||||
<div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
|
|
||||||
data-href="{{ link('account/alerts-popup') }}"
|
|
||||||
data-nocache="true"
|
|
||||||
data-load-target=".js-alertsMenuBody">
|
|
||||||
<div class="menu-content">
|
|
||||||
<h3 class="menu-header">{{ phrase('alerts') }}</h3>
|
|
||||||
<div class="js-alertsMenuBody">
|
|
||||||
<div class="menu-row">{{ phrase('loading...') }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="menu-footer menu-footer--split">
|
|
||||||
<div class="menu-footer-main">
|
|
||||||
<ul class="listInline listInline--bullet">
|
|
||||||
<li><a href="{{ link('account/alerts') }}">{{ phrase('show_all') }}</a></li>
|
|
||||||
<li><a href="{{ link('account/alerts/mark-read') }}" class="js-alertsMarkRead">{{ phrase('mark_read') }}</a></li>
|
|
||||||
<li><a href="{{ link('account/preferences') }}">{{ phrase('preferences') }}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
<xf:else />
|
|
||||||
<a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn"
|
|
||||||
data-xf-click="overlay" data-follow-redirects="on">
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
|
|
||||||
</a>
|
|
||||||
<xf:if is="$xf.options.registrationSetup.enabled">
|
|
||||||
<a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register"
|
|
||||||
data-xf-click="overlay" data-follow-redirects="on">
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('register') }}</span>
|
|
||||||
</a>
|
|
||||||
</xf:if>
|
|
||||||
</xf:if>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}">
|
|
||||||
<a href="{{ link('whats-new') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew"
|
|
||||||
aria-label="{{ phrase('whats_new')|for_attr }}"
|
|
||||||
title="{{ phrase('whats_new')|for_attr }}">
|
|
||||||
<i aria-hidden="true"></i>
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<xf:if is="$xf.visitor.canSearch()">
|
|
||||||
<a href="{{ link('search') }}"
|
|
||||||
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search"
|
|
||||||
data-xf-click="menu"
|
|
||||||
data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}"
|
|
||||||
aria-label="{{ phrase('search')|for_attr }}"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-haspopup="true"
|
|
||||||
title="{{ phrase('search')|for_attr }}">
|
|
||||||
<i aria-hidden="true"></i>
|
|
||||||
<span class="p-navgroup-linkText">{{ phrase('search') }}</span>
|
|
||||||
</a>
|
|
||||||
<div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true">
|
|
||||||
<form action="{{ link('search/search') }}" method="post"
|
|
||||||
class="menu-content"
|
|
||||||
data-xf-init="quick-search">
|
|
||||||
|
|
||||||
<h3 class="menu-header">{{ phrase('search') }}</h3>
|
|
||||||
<!--[XF:search_menu:above_input]-->
|
|
||||||
<div class="menu-row">
|
|
||||||
<xf:if is="$searchConstraints">
|
|
||||||
<div class="inputGroup inputGroup--joined">
|
|
||||||
<xf:textbox name="keywords"
|
|
||||||
data-xf-init="{{ $xf.searchAutoComplete ? 'search-auto-complete' : '' }}"
|
|
||||||
data-acurl="{{ link('search/auto-complete') }}"
|
|
||||||
placeholder="{{ phrase('search...') }}"
|
|
||||||
aria-label="{{ phrase('search') }}"
|
|
||||||
data-menu-autofocus="true" />
|
|
||||||
<xf:select name="constraints"
|
|
||||||
class="js-quickSearch-constraint"
|
|
||||||
aria-label="{{ phrase('search_within') }}">
|
|
||||||
|
|
||||||
<xf:option value="">{{ phrase('everywhere') }}</xf:option>
|
|
||||||
<xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
|
|
||||||
<xf:option value="{$constraint|json}">{$constraintName}</xf:option>
|
|
||||||
</xf:foreach>
|
|
||||||
</xf:select>
|
|
||||||
</div>
|
|
||||||
<xf:else />
|
|
||||||
<xf:textbox name="keywords"
|
|
||||||
data-xf-init="{{ $xf.searchAutoComplete ? 'search-auto-complete' : '' }}"
|
|
||||||
data-acurl="{{ link('search/auto-complete') }}"
|
|
||||||
placeholder="{{ phrase('search...') }}"
|
|
||||||
aria-label="{{ phrase('search') }}"
|
|
||||||
data-menu-autofocus="true" />
|
|
||||||
</xf:if>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--[XF:search_menu:above_title_only]-->
|
|
||||||
<div class="menu-row">
|
|
||||||
<xf:checkbox standalone="true">
|
|
||||||
<xf:option name="c[title_only]">
|
|
||||||
<xf:label>
|
|
||||||
{{ phrase('search_titles_only') }}
|
|
||||||
|
|
||||||
<xf:if is="$xf.options.enableTagging">
|
|
||||||
<span tabindex="0" role="button"
|
|
||||||
data-xf-init="tooltip" data-trigger="hover focus click" title="{{ phrase('tags_will_also_be_searched')|for_attr }}">
|
|
||||||
|
|
||||||
<xf:fa icon="far fa-question-circle" class="u-muted u-smaller"
|
|
||||||
title="{{ phrase('note')|for_attr }}" />
|
|
||||||
</span>
|
|
||||||
</xf:if>
|
|
||||||
</xf:label>
|
|
||||||
</xf:option>
|
|
||||||
</xf:checkbox>
|
|
||||||
</div>
|
|
||||||
<!--[XF:search_menu:above_member]-->
|
|
||||||
<div class="menu-row">
|
|
||||||
<div class="inputGroup">
|
|
||||||
<span class="inputGroup-text" id="ctrl_search_menu_by_member">{{ phrase('by:') }}</span>
|
|
||||||
<input type="text" class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member')|for_attr }}" aria-labelledby="ctrl_search_menu_by_member" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="menu-footer">
|
|
||||||
<span class="menu-footer-controls">
|
|
||||||
<xf:button type="submit" class="button--primary" icon="search" />
|
|
||||||
<xf:button type="submit" name="from_search_menu">{{ phrase('advanced_search...') }}</xf:button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<xf:csrf />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</xf:set>
|
|
||||||
|
|
||||||
<xf:set var="$subNavHtml">
|
|
||||||
<xf:if is="$selectedNavChildren is not empty">
|
|
||||||
<div class="p-sectionLinks">
|
|
||||||
<div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
|
|
||||||
<div class="hScroller-scroll">
|
|
||||||
<ul class="p-sectionLinks-list">
|
|
||||||
<xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
|
|
||||||
<li>
|
|
||||||
<xf:macro id="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
|
|
||||||
</li>
|
|
||||||
</xf:foreach>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<xf:elseif is="{$selectedNavEntry}" />
|
|
||||||
<div class="p-sectionLinks p-sectionLinks--empty"></div>
|
|
||||||
</xf:if>
|
|
||||||
</xf:set>
|
|
||||||
|
|
||||||
<xf:if is="property('publicNavSticky') == 'primary'">
|
|
||||||
<div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
|
|
||||||
{$navHtml|raw}
|
|
||||||
</div>
|
|
||||||
{$subNavHtml|raw}
|
|
||||||
<xf:elseif is="property('publicNavSticky') == 'all'" />
|
|
||||||
<div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
|
|
||||||
{$navHtml|raw}
|
|
||||||
{$subNavHtml|raw}
|
|
||||||
</div>
|
|
||||||
<xf:else />
|
|
||||||
{$navHtml|raw}
|
|
||||||
{$subNavHtml|raw}
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
</xf:comment>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
|
|
||||||
<div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
|
|
||||||
<div class="offCanvasMenu-content">
|
|
||||||
<div class="offCanvasMenu-header">
|
|
||||||
{{ phrase('menu') }}
|
|
||||||
<a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close')|for_attr }}"></a>
|
|
||||||
</div>
|
|
||||||
<xf:if is="$xf.visitor.user_id">
|
|
||||||
<div class="p-offCanvasAccountLink">
|
|
||||||
<div class="offCanvasMenu-linkHolder">
|
|
||||||
<a href="{{ link('account') }}" class="offCanvasMenu-link">
|
|
||||||
<xf:avatar user="$xf.visitor" size="xxs" href="" />
|
|
||||||
{$xf.visitor.username}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<hr class="offCanvasMenu-separator" />
|
|
||||||
</div>
|
|
||||||
<xf:else />
|
|
||||||
<div class="p-offCanvasRegisterLink">
|
|
||||||
<div class="offCanvasMenu-linkHolder">
|
|
||||||
<a href="{{ link('login') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
|
|
||||||
{{ phrase('log_in') }}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<hr class="offCanvasMenu-separator" />
|
|
||||||
<xf:if is="$xf.options.registrationSetup.enabled">
|
|
||||||
<div class="offCanvasMenu-linkHolder">
|
|
||||||
<a href="{{ link('register') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
|
|
||||||
{{ phrase('register') }}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<hr class="offCanvasMenu-separator" />
|
|
||||||
</xf:if>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
<div class="js-offCanvasNavTarget"></div>
|
|
||||||
<div class="offCanvasMenu-installBanner js-installPromptContainer" style="display: none;" data-xf-init="install-prompt">
|
|
||||||
<div class="offCanvasMenu-installBanner-header">{{ phrase('install_app') }}</div>
|
|
||||||
<xf:button class="js-installPromptButton">{{ phrase('install') }}</xf:button>
|
|
||||||
<template class="js-installTemplateIOS">
|
|
||||||
<div class="js-installTemplateContent">
|
|
||||||
<div class="overlay-title">{{ phrase('how_to_install_app_on_ios') }}</div>
|
|
||||||
<div class="block-body">
|
|
||||||
<div class="block-row">
|
|
||||||
<p>
|
|
||||||
{{ phrase('follow_along_with_video_below_to_see_how_to_install_our_site_as_web_app') }}
|
|
||||||
</p>
|
|
||||||
<p style="text-align: center">
|
|
||||||
<video src="{{ base_url(property('publicPwaInstallVideoUrl')) }}"
|
|
||||||
width="280" height="480" autoplay loop muted playsinline></video>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<small><strong>{{ phrase('note:') }}</strong> {{ phrase('this_feature_currently_may_not_be_available_in_some_browsers') }}</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<main id="main-wrapper">
|
<main id="main-wrapper">
|
||||||
<header id="topbar">
|
<header id="topbar">
|
||||||
<button class="$mobile-toggle">
|
<button class="$mobile-toggle">
|
||||||
<i data-lucide="menu"></i>
|
<i data-lucide="menu"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div class="$search-bar">
|
<form id="rhpzSearchForm" class="$search-bar" action="{{ link('search/2147483647') }}" method="get">
|
||||||
|
<select class="$search-scope-select" id="rhpzSearchScope" name="rhpz_scope">
|
||||||
|
<option value="forum" selected>Forum</option>
|
||||||
|
<option value="entries">Entries</option>
|
||||||
|
<option value="news">News</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" id="rhpzSearchInput" name="s" placeholder="Search..." />
|
||||||
|
<button type="submit" class="$search-button">
|
||||||
<i data-lucide="search" size="18" color="var(--text2)"></i>
|
<i data-lucide="search" size="18" color="var(--text2)"></i>
|
||||||
<input type="text">Search</input>
|
</button>
|
||||||
</div>
|
</form>
|
||||||
|
|
||||||
<xf:include template="topbar_actions" />
|
<xf:include template="topbar_actions" />
|
||||||
</header>
|
</header>
|
||||||
@@ -665,99 +253,6 @@
|
|||||||
</xf:if>
|
</xf:if>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<xf:ad position="container_breadcrumb_bottom_above" />
|
|
||||||
<xf:macro id="breadcrumbs"
|
|
||||||
arg-breadcrumbs="{$breadcrumbs}"
|
|
||||||
arg-navTree="{$navTree}"
|
|
||||||
arg-selectedNavEntry="{$selectedNavEntry}"
|
|
||||||
arg-variant="bottom" />
|
|
||||||
<xf:ad position="container_breadcrumb_bottom_below" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<xf:comment>
|
|
||||||
<footer class="p-footer" id="footer">
|
|
||||||
<div class="p-footer-inner">
|
|
||||||
|
|
||||||
<div class="p-footer-row">
|
|
||||||
<xf:if contentcheck="true">
|
|
||||||
<div class="p-footer-row-main">
|
|
||||||
<ul class="p-footer-linkList">
|
|
||||||
<xf:contentcheck>
|
|
||||||
<xf:if is="$xf.cookieConsent.getMode() == 'advanced'">
|
|
||||||
<li><a href="{{ link('misc/cookies') }}" rel="nofollow"
|
|
||||||
data-xf-init="tooltip" title="{{ phrase('cookie_consent')|for_attr }}"
|
|
||||||
data-xf-click="cookie-consent-toggle">
|
|
||||||
<xf:fa icon="fa-cookie" /> {{ phrase('cookie_consent_label') }}
|
|
||||||
</a></li>
|
|
||||||
</xf:if>
|
|
||||||
<xf:if contentcheck="true">
|
|
||||||
<li>
|
|
||||||
<xf:contentcheck>
|
|
||||||
<xf:if is="$xf.visitor.canChangeStyle()">
|
|
||||||
<a href="{{ link('misc/style') }}" data-xf-click="overlay"
|
|
||||||
data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
|
|
||||||
<xf:fa icon="fa-paint-brush" /> {$xf.style.title}
|
|
||||||
</a>
|
|
||||||
</xf:if>
|
|
||||||
<xf:if is="$xf.visitor.canChangeStyleVariation($xf.style)">
|
|
||||||
<a href="{{ link('misc/style-variation') }}" rel="nofollow"
|
|
||||||
class="js-styleVariationsLink"
|
|
||||||
data-xf-init="tooltip" title="{{ phrase('style_variation') }}"
|
|
||||||
data-xf-click="menu" data-z-index-ref=".u-bottomFixer" role="button" aria-expanded="false" aria-haspopup="true">
|
|
||||||
|
|
||||||
<xf:fa icon="{{ $xf.style.getVariationIcon($xf.visitor.style_variation) }}" title="{{ phrase('style_variation') }}" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<div class="menu" data-menu="menu" aria-hidden="true">
|
|
||||||
<div class="menu-content js-styleVariationsMenu">
|
|
||||||
<xf:macro name="style_variation_macros::variation_menu"
|
|
||||||
arg-style="{$xf.style}"
|
|
||||||
arg-live="{{ true }}" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
</xf:contentcheck>
|
|
||||||
</li>
|
|
||||||
</xf:if>
|
|
||||||
<xf:if is="$xf.visitor.canChangeLanguage()">
|
|
||||||
<li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
|
|
||||||
data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
|
|
||||||
<xf:fa icon="fa-globe" /> {$xf.language.title}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
</xf:contentcheck>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</xf:if>
|
|
||||||
<div class="p-footer-row-opposite">
|
|
||||||
<ul class="p-footer-linkList">
|
|
||||||
<xf:if is="$xf.visitor.canUseContactForm()">
|
|
||||||
<xf:if is="$xf.contactUrl">
|
|
||||||
<li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.tosUrl">
|
|
||||||
<li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.privacyPolicyUrl">
|
|
||||||
<li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.helpPageCount">
|
|
||||||
<li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<xf:if is="$xf.homePageUrl">
|
|
||||||
<li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
|
|
||||||
</xf:if>
|
|
||||||
|
|
||||||
<li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<xf:if contentcheck="true">
|
<xf:if contentcheck="true">
|
||||||
<div class="p-footer-copyright">
|
<div class="p-footer-copyright">
|
||||||
<xf:contentcheck>
|
<xf:contentcheck>
|
||||||
@@ -767,21 +262,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</xf:if>
|
</xf:if>
|
||||||
|
|
||||||
<xf:if contentcheck="true">
|
<xf:ad position="container_breadcrumb_bottom_above" />
|
||||||
<div class="p-footer-debug">
|
<xf:macro id="breadcrumbs"
|
||||||
<xf:contentcheck>
|
arg-breadcrumbs="{$breadcrumbs}"
|
||||||
<xf:macro id="debug_macros::debug"
|
arg-navTree="{$navTree}"
|
||||||
arg-controller="{$controller}"
|
arg-selectedNavEntry="{$selectedNavEntry}"
|
||||||
arg-action="{$actionMethod}"
|
arg-variant="bottom" />
|
||||||
arg-template="{$template}" />
|
<xf:ad position="container_breadcrumb_bottom_below" />
|
||||||
</xf:contentcheck>
|
|
||||||
</div>
|
</div>
|
||||||
</xf:if>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</xf:comment>
|
|
||||||
</div> <!-- closing p-pageWrapper -->
|
|
||||||
|
|
||||||
<div class="u-bottomFixer js-bottomFixTarget">
|
<div class="u-bottomFixer js-bottomFixTarget">
|
||||||
<xf:if is="$notices.floating">
|
<xf:if is="$notices.floating">
|
||||||
<xf:macro id="notice_macros::notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
|
<xf:macro id="notice_macros::notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
|
||||||
@@ -790,6 +278,8 @@
|
|||||||
<xf:macro id="notice_macros::notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
|
<xf:macro id="notice_macros::notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
|
||||||
</xf:if>
|
</xf:if>
|
||||||
</div>
|
</div>
|
||||||
|
</main>
|
||||||
|
</main> <!-- closing p-pageWrapper -->
|
||||||
|
|
||||||
<div class="u-navButtons js-navButtons">
|
<div class="u-navButtons js-navButtons">
|
||||||
<xf:button href="javascript:" class="button--scroll"><xf:fa icon="{{ $xf.isRtl ? 'fa-arrow-right' : 'fa-arrow-left' }}" /><span class="u-srOnly">{{ phrase('back') }}</span></xf:button>
|
<xf:button href="javascript:" class="button--scroll"><xf:fa icon="{{ $xf.isRtl ? 'fa-arrow-right' : 'fa-arrow-left' }}" /><span class="u-srOnly">{{ phrase('back') }}</span></xf:button>
|
||||||
@@ -820,6 +310,7 @@
|
|||||||
|
|
||||||
{$ldJsonHtml|raw}
|
{$ldJsonHtml|raw}
|
||||||
|
|
||||||
|
<xf:js src="RomhackPlaza/Master/core.js" />
|
||||||
<xf:include template="romhackplaza_js" />
|
<xf:include template="romhackplaza_js" />
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
53
templates/public/account_preferences_popup.html
Normal file
53
templates/public/account_preferences_popup.html
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<div class="$settings-section">
|
||||||
|
<div class="$settings-section-title">
|
||||||
|
<i data-lucide="sun-moon" size="14"></i>
|
||||||
|
Theme
|
||||||
|
</div>
|
||||||
|
<xf:if is="$xf.visitor.style_variation === 'default'">
|
||||||
|
<button type="button" href="{{ link_type( 'public', link('misc/style-variation'), null, {
|
||||||
|
'variation': 'alternate',
|
||||||
|
'reset': null,
|
||||||
|
't': csrf_token(),
|
||||||
|
'_xfRedirect': $redirect
|
||||||
|
}) }}" class="$settings-theme-toggle" rel="nofollow" data-xf-click="style-variation" data-variation="alternate">
|
||||||
|
<span class="$settings-theme-toggle-inner">
|
||||||
|
<i data-lucide="moon" size="15"></i>
|
||||||
|
Dark
|
||||||
|
<span class="$settings-theme-toggle-badge">ON</span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</xf:if>
|
||||||
|
<xf:if is="$xf.visitor.style_variation === 'alternate'">
|
||||||
|
<button type="button" href="{{ link_type( 'public', link('misc/style-variation'), null, {
|
||||||
|
'variation': 'default',
|
||||||
|
'reset': null,
|
||||||
|
't': csrf_token(),
|
||||||
|
'_xfRedirect': $redirect
|
||||||
|
}) }}" class="$settings-theme-toggle" rel="nofollow" data-xf-click="style-variation" data-variation="default">
|
||||||
|
<span class="$settings-theme-toggle-inner">
|
||||||
|
<i data-lucide="sun" size="15"></i>
|
||||||
|
Light
|
||||||
|
<span class="$settings-theme-toggle-badge">ON</span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</xf:if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="$settings-separator"></div>
|
||||||
|
|
||||||
|
<div class="$settings-section">
|
||||||
|
<div class="$settings-section-title">
|
||||||
|
<i data-lucide="user-cog" size="14"></i>
|
||||||
|
Account
|
||||||
|
</div>
|
||||||
|
<a href="{{ link('account') }}" class="$settings-link">
|
||||||
|
<i data-lucide="settings-2" size="14"></i>
|
||||||
|
XenForo settings
|
||||||
|
<i data-lucide="external-link" size="12" style="margin-left:auto"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
if( window.refreshIcons !== undefined ) {
|
||||||
|
window.refreshIcons();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
33
templates/public/conversations_popup.html
Normal file
33
templates/public/conversations_popup.html
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<xf:if is="$unreadConversations is not empty OR $readConversations is not empty">
|
||||||
|
<xf:foreach loop="$unreadConversations" value="$userConv">
|
||||||
|
<xf:macro id="popup_item" arg-userConv="{$userConv}" />
|
||||||
|
</xf:foreach>
|
||||||
|
<xf:foreach loop="$readConversations" value="$userConv">
|
||||||
|
<xf:macro id="popup_item" arg-userConv="{$userConv}" />
|
||||||
|
</xf:foreach>
|
||||||
|
<xf:else />
|
||||||
|
<div class="$notifications-empty">
|
||||||
|
<i data-lucide="mail-off" size="24"></i>
|
||||||
|
<span>No new conversations.</span>
|
||||||
|
</div>
|
||||||
|
</xf:if>
|
||||||
|
|
||||||
|
<xf:comment>Edited for RHPZ</xf:comment>
|
||||||
|
|
||||||
|
<xf:macro id="popup_item" arg-userConv="!">
|
||||||
|
|
||||||
|
<div class="$notifications-item {{ $userConv.isUnread() ? 'unread' : '' }}">
|
||||||
|
<div class="$notifications-avatar">
|
||||||
|
<xf:avatar user="$userConv.Master.LastMessageUser" size="xxs" defaultname="{$userConv.Master.last_message_username}" />
|
||||||
|
</div>
|
||||||
|
<div class="$notifications-content">
|
||||||
|
<a class="$notifications-text" href="{{ link('direct-messages/unread', $userConv) }}">{$userConv.Master.title}</a>
|
||||||
|
<span class="$notifications-date"><xf:date time="$userConv.Master.last_message_date" /></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<xf:if is="$userConv.isUnread()">
|
||||||
|
<div class="$notifications-unread-dot"></div>
|
||||||
|
</xf:if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</xf:macro>
|
||||||
36
templates/public/delete_account.html
Normal file
36
templates/public/delete_account.html
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<xf:title>{{ phrase('delete_account') }}</xf:title>
|
||||||
|
|
||||||
|
<xf:wrap template="account_wrapper" />
|
||||||
|
|
||||||
|
<div class="block">
|
||||||
|
<div class="block-container">
|
||||||
|
<ol class="block-body">
|
||||||
|
<div class="block-row">If you want to delete your Romhack Plaza account, please follow these steps:
|
||||||
|
<ul>
|
||||||
|
<li>You must send an email via the <a href="{{ link('misc/contact') }}">contact form</a> using the same email address associated with your account.</li>
|
||||||
|
<li>The subject line of your request must be clear; for example: “Delete account”</li>
|
||||||
|
<li>The body of your email must include the following code(s), depending on what you wish to do.</li>
|
||||||
|
</ul>
|
||||||
|
Without these details, your request cannot be processed.</div>
|
||||||
|
<div class="block-row">
|
||||||
|
<h3 style="margin-bottom:10px;">
|
||||||
|
Codes
|
||||||
|
</h3>
|
||||||
|
<xf:datalist>
|
||||||
|
<xf:datarow rowtype="header">
|
||||||
|
<xf:cell>Delete my account</xf:cell>
|
||||||
|
<xf:cell>Delete all my data</xf:cell>
|
||||||
|
</xf:datarow>
|
||||||
|
<xf:datarow>
|
||||||
|
<xf:cell>{$deleteAccountCode}</xf:cell>
|
||||||
|
<xf:cell>{$deleteAllDataCode}</xf:cell>
|
||||||
|
</xf:datarow>
|
||||||
|
</xf:datalist>
|
||||||
|
<ul>
|
||||||
|
<li>If you only want to delete your account, just send the first code. Your data will still be on the site, but it will be anonymized.</li>
|
||||||
|
<li>If you also want to automatically delete all your data, send both codes.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
File diff suppressed because it is too large
Load Diff
55
templates/public/misc_preferences_popup.html
Normal file
55
templates/public/misc_preferences_popup.html
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<div class="$settings-section">
|
||||||
|
<div class="$settings-section-title">
|
||||||
|
<i data-lucide="sun-moon" size="14"></i>
|
||||||
|
Theme
|
||||||
|
</div>
|
||||||
|
<xf:if is="$xf.visitor.style_variation === 'default'">
|
||||||
|
<button type="button" href="{{ link_type( 'public', link('misc/style-variation'), null, {
|
||||||
|
'variation': 'alternate',
|
||||||
|
'reset': null,
|
||||||
|
't': csrf_token(),
|
||||||
|
'_xfRedirect': $redirect
|
||||||
|
}) }}" class="$settings-theme-toggle" rel="nofollow" data-xf-click="style-variation" data-variation="alternate">
|
||||||
|
<span class="$settings-theme-toggle-inner">
|
||||||
|
<i data-lucide="moon" size="15"></i>
|
||||||
|
Dark
|
||||||
|
<span class="$settings-theme-toggle-badge">ON</span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</xf:if>
|
||||||
|
<xf:if is="$xf.visitor.style_variation === 'alternate'">
|
||||||
|
<button type="button" href="{{ link_type( 'public', link('misc/style-variation'), null, {
|
||||||
|
'variation': 'default',
|
||||||
|
'reset': null,
|
||||||
|
't': csrf_token(),
|
||||||
|
'_xfRedirect': $redirect
|
||||||
|
}) }}" class="$settings-theme-toggle" rel="nofollow" data-xf-click="style-variation" data-variation="default">
|
||||||
|
<span class="$settings-theme-toggle-inner">
|
||||||
|
<i data-lucide="sun" size="15"></i>
|
||||||
|
Light
|
||||||
|
<span class="$settings-theme-toggle-badge">ON</span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</xf:if>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="$settings-separator"></div>
|
||||||
|
|
||||||
|
<xf:if is="$xf.visitor.user_id">
|
||||||
|
<div class="$settings-section">
|
||||||
|
<div class="$settings-section-title">
|
||||||
|
<i data-lucide="user-cog" size="14"></i>
|
||||||
|
Account
|
||||||
|
</div>
|
||||||
|
<a href="{{ link('account') }}" class="$settings-link">
|
||||||
|
<i data-lucide="settings-2" size="14"></i>
|
||||||
|
XenForo settings
|
||||||
|
<i data-lucide="external-link" size="12" style="margin-left:auto"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</xf:if>
|
||||||
|
<script>
|
||||||
|
if( window.refreshIcons !== undefined ) {
|
||||||
|
window.refreshIcons();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
<style>
|
<style>
|
||||||
svg { fill: none !important; }
|
.lucide { fill: none !important; }
|
||||||
|
#menu { font-size: initial !important;}
|
||||||
|
.\$menu-group-title { font-size: 0.80rem !important; }
|
||||||
|
.\$menu-title { font-size: 1.275rem !important; }
|
||||||
</style>
|
</style>
|
||||||
@@ -3,4 +3,81 @@
|
|||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
lucide.createIcons();
|
lucide.createIcons();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
window.refreshIcons = (container = document) => {
|
||||||
|
const pending = container.querySelectorAll('[data-lucide]');
|
||||||
|
if (pending.length === 0) return;
|
||||||
|
lucide.createIcons();
|
||||||
|
};
|
||||||
|
(function () {
|
||||||
|
var APP_URL = "{{ $xf.options.homePageUrl }}";
|
||||||
|
|
||||||
|
var form = document.getElementById('rhpzSearchForm');
|
||||||
|
var select = document.getElementById('rhpzSearchScope');
|
||||||
|
var input = document.getElementById('rhpzSearchInput');
|
||||||
|
|
||||||
|
var scopes = {
|
||||||
|
forum: { action: "{{ link('search/2147483647/') }}", param: 'q', extra: { o: 'relevance' } },
|
||||||
|
entries: { action: APP_URL + '/database', param: 's' },
|
||||||
|
news: { action: APP_URL + '/news', param: 's' }
|
||||||
|
};
|
||||||
|
|
||||||
|
form.addEventListener('submit', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var term = input.value.trim();
|
||||||
|
if (!term) return;
|
||||||
|
|
||||||
|
var cfg = scopes[select.value];
|
||||||
|
var params = new URLSearchParams(Object.assign({}, { [cfg.param]: term }, cfg.extra || {}));
|
||||||
|
|
||||||
|
window.location = cfg.action + '?' + params.toString();
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
(function () {
|
||||||
|
const menuToggle = document.querySelector('.\\$mobile-toggle');
|
||||||
|
const menu = document.getElementById('menu');
|
||||||
|
const app = document.getElementById('app');
|
||||||
|
const content = document.getElementById('content');
|
||||||
|
|
||||||
|
if (!menuToggle || !menu) return;
|
||||||
|
|
||||||
|
menuToggle.addEventListener('click', (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
menu.classList.toggle('mobile-open');
|
||||||
|
app.classList.toggle('menu-open');
|
||||||
|
});
|
||||||
|
|
||||||
|
const menuItems = menu.querySelectorAll('.\\$menu-item');
|
||||||
|
menuItems.forEach(item => {
|
||||||
|
item.addEventListener('click', () => {
|
||||||
|
menu.classList.remove('mobile-open');
|
||||||
|
app.classList.remove('menu-open');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('click', (e) => {
|
||||||
|
const isClickInsideMenu = menu.contains(e.target);
|
||||||
|
const isClickOnToggle = menuToggle.contains(e.target);
|
||||||
|
|
||||||
|
if (!isClickInsideMenu && !isClickOnToggle && menu.classList.contains('mobile-open')) {
|
||||||
|
menu.classList.remove('mobile-open');
|
||||||
|
app.classList.remove('menu-open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('keydown', (e) => {
|
||||||
|
if (e.key === 'Escape' && menu.classList.contains('mobile-open')) {
|
||||||
|
menu.classList.remove('mobile-open');
|
||||||
|
app.classList.remove('menu-open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('resize', () => {
|
||||||
|
if (window.innerWidth > 768) {
|
||||||
|
menu.classList.remove('mobile-open');
|
||||||
|
app.classList.remove('menu-open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})()
|
||||||
</script>
|
</script>
|
||||||
@@ -4,10 +4,10 @@
|
|||||||
<div class="$topbar-actions">
|
<div class="$topbar-actions">
|
||||||
<xf:if is="$xf.visitor.is_admin">
|
<xf:if is="$xf.visitor.is_admin">
|
||||||
<xf:set var="$topbarAdminSeparator" value="true" />
|
<xf:set var="$topbarAdminSeparator" value="true" />
|
||||||
<a href="{{ base_url('admin.php') }}" class="$btn">
|
<a href="{{ base_url('admin.php') }}" class="$btn topbar-admin-btn">
|
||||||
<i data-lucide="landmark" size="18"></i>
|
<i data-lucide="landmark" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ $xf.options.homePageUrl }}/manage" class="$btn">
|
<a href="{{ $xf.options.homePageUrl }}/manage" class="$btn topbar-admin-btn">
|
||||||
<i data-lucide="shield-cog" size="18"></i>
|
<i data-lucide="shield-cog" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
</xf:if>
|
</xf:if>
|
||||||
@@ -16,21 +16,75 @@
|
|||||||
</xf:if>
|
</xf:if>
|
||||||
<xf:if is="$xf.visitor.is_moderator">
|
<xf:if is="$xf.visitor.is_moderator">
|
||||||
<xf:set var="$topbarModSeparator" value="true" />
|
<xf:set var="$topbarModSeparator" value="true" />
|
||||||
<a href="#" class="$btn">
|
<a href="{{ $xf.options.homePageUrl }}/modcp" class="$btn $topbar-mod-btn">
|
||||||
<i data-lucide="siren" size="18"></i>
|
<i data-lucide="siren" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ link('approval-queue') }}" class="$btn">
|
<a href="{{ link('approval-queue') }}" class="$btn $topbar-mod-btn">
|
||||||
<i data-lucide="message-circle-check" size="18"></i>
|
<i data-lucide="message-circle-check" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ link('reports') }}" class="$btn">
|
<a href="{{ link('reports') }}" class="$btn $topbar-mod-btn badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}" data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}">
|
||||||
<i data-lucide="triangle-alert" size="18"></i>
|
<i data-lucide="triangle-alert" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
</xf:if>
|
</xf:if>
|
||||||
<xf:if is="$topbarModSeparator == true">
|
<xf:if is="$topbarModSeparator == true">
|
||||||
<div class="$vertical-separator"></div>
|
<div class="$vertical-separator"></div>
|
||||||
</xf:if>
|
</xf:if>
|
||||||
<xf:if is="$xf.visitor.user_id">
|
|
||||||
<a href="#" class="$btn">
|
<div class="$topbar-more-container" style="position: relative;">
|
||||||
|
<xf:if is="$xf.visitor.is_moderator || $xf.visitor.is_admin">
|
||||||
|
<button id="rhpzMoreBtn" class="$btn topbar-btn-more" title="More actions">
|
||||||
|
<i data-lucide="more-vertical" size="18"></i>
|
||||||
|
</button>
|
||||||
|
<div id="rhpzMoreMenu" class="$topbar-more-menu" style="display: none;">
|
||||||
|
<xf:if is="$xf.visitor.is_admin">
|
||||||
|
<a href="{{ base_url('admin.php') }}" class="$topbar-more-item" title="Admin">
|
||||||
|
<i data-lucide="landmark" size="16"></i>
|
||||||
|
<span>Admin</span>
|
||||||
|
</a>
|
||||||
|
<a href="{{ $xf.options.homePageUrl }}/manage" class="$topbar-more-item" title="Manage">
|
||||||
|
<i data-lucide="shield-cog" size="16"></i>
|
||||||
|
<span>Manage</span>
|
||||||
|
</a>
|
||||||
|
</xf:if>
|
||||||
|
|
||||||
|
<xf:if is="$xf.visitor.is_moderator">
|
||||||
|
<a href="{{ $xf.options.homePageUrl }}/modcp" class="$topbar-more-item" title="Moderation">
|
||||||
|
<i data-lucide="siren" size="16"></i>
|
||||||
|
<span>Mod CP</span>
|
||||||
|
</a>
|
||||||
|
<a href="{{ link('approval-queue') }}" class="$topbar-more-item" title="Approvals">
|
||||||
|
<i data-lucide="message-circle-check" size="16"></i>
|
||||||
|
<span>Approval Queue</span>
|
||||||
|
</a>
|
||||||
|
<a href="{{ link('reports') }}" class="$topbar-more-item" title="Reports">
|
||||||
|
<i data-lucide="triangle-alert" size="16"></i>
|
||||||
|
<span>Reports</span>
|
||||||
|
</a>
|
||||||
|
</xf:if>
|
||||||
|
</div>
|
||||||
|
</xf:if>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
var btn = document.getElementById('rhpzMoreBtn');
|
||||||
|
var menu = document.getElementById('rhpzMoreMenu');
|
||||||
|
if (!btn || !menu) return;
|
||||||
|
|
||||||
|
btn.addEventListener('click', function (e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
menu.style.display = (menu.style.display === 'none') ? 'block' : 'none';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener('click', function (e) {
|
||||||
|
if (menu.style.display === 'block' && !menu.contains(e.target) && e.target !== btn) {
|
||||||
|
menu.style.display = 'none';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<xf:if is="$xf.visitor.canCreateEntry()">
|
||||||
|
<a href="{{ $xf.options.homePageUrl }}/submit" class="$btn">
|
||||||
<i data-lucide="hard-drive-upload" size="18"></i>
|
<i data-lucide="hard-drive-upload" size="18"></i>
|
||||||
</a>
|
</a>
|
||||||
</xf:if>
|
</xf:if>
|
||||||
@@ -61,18 +115,59 @@
|
|||||||
|
|
||||||
<div class="js-alertsMenuBody">
|
<div class="js-alertsMenuBody">
|
||||||
<div class="notifications-loading">
|
<div class="notifications-loading">
|
||||||
<i data-lucide="loader-2" class="spin"></i>
|
<i data-lucide="loader-2" class="$spin"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<button class="$btn">
|
<a class="$btn js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.conversations_unread|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.conversations_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" title="{{ phrase('direct_messages')|for_attr }}" aria-haspopup="true">
|
||||||
<i data-lucide="mail" size="18"></i>
|
<i data-lucide="mail" size="18"></i>
|
||||||
</button>
|
</a>
|
||||||
</xf:if>
|
<div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
|
||||||
<button class="$btn">
|
data-href="{{ link('direct-messages/popup') }}"
|
||||||
<i data-lucide="settings" size="18"></i>
|
data-nocache="true"
|
||||||
</button>
|
data-load-target=".js-convMenuBody">
|
||||||
|
<div class="menu-content">
|
||||||
|
<div class="$notifications-header">
|
||||||
|
<span class="$notifications-header-title">Direct Messages</span>
|
||||||
|
<div class="$notifications-header-actions">
|
||||||
|
<a href="{{ link('direct-messages/add') }}" class="$btn">
|
||||||
|
<i data-lucide="plus" size="14"></i>
|
||||||
|
</a>
|
||||||
|
<a href="{{ link('direct-messages') }}" class="$btn">
|
||||||
|
<i data-lucide="external-link" size="14"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="js-convMenuBody">
|
||||||
|
<div class="$notifications-loading">
|
||||||
|
<i data-lucide="loader-2" class="$spin"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</xf:if>
|
||||||
|
<a class="$btn" data-xf-click="menu" data-menu-pos-ref="< .p-navgroup" title="{{ phrase('settings')|for_attr }}" aria-haspopup="true">
|
||||||
|
<i data-lucide="settings" size="18"></i>
|
||||||
|
</a>
|
||||||
|
<div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
|
||||||
|
data-href="{{ link('misc/preferences-popup') }}"
|
||||||
|
data-nocache="true"
|
||||||
|
data-load-target=".js-convMenuBody"
|
||||||
|
data-xf-init="rhpz-dynamic-theme"
|
||||||
|
>
|
||||||
|
<div class="menu-content">
|
||||||
|
<div class="$settings-header">
|
||||||
|
<span>Settings</span>
|
||||||
|
</div>
|
||||||
|
<div class="js-convMenuBody">
|
||||||
|
<div class="$notifications-loading">
|
||||||
|
<i data-lucide="loader-2" class="$spin"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user