aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/Icons
Commit message (Collapse)AuthorAgeFilesLines
* chore: replace lingui functions with react-intlArmand Philippot2022-01-293-6/+19
|
* chore: add projects to main navArmand Philippot2022-01-203-0/+108
| | | | | | I redesign a little the main nav on small screens so it can takes two columns when the screen height is low. I change the 2xs breakpoint to 500px instead of 400px.
* feat: implement dark modeArmand Philippot2022-01-1710-28/+29
|
* chore: replace copyright icon import with custom componentArmand Philippot2022-01-173-0/+34
| | | | | It allows me to set the colors with CSS and it will be easier to implement dark mode.
* refactor(styles): rename shadow and border variablesArmand Philippot2022-01-1610-29/+29
|
* chore: replace theme button with settingsArmand Philippot2022-01-057-99/+32
| | | | | I plan to add more user settings so theme options should be inside settings.
* refactor(sharing): avoid nested template literalsArmand Philippot2022-01-041-7/+4
| | | | | This improves readability. I also rename a variable to avoid duplicate between global scope and useEffect scope.
* chore(icons): add direction to arrow icon and split pathArmand Philippot2022-01-041-3/+66
| | | | I can now animate separatly the arrow head and the arrow body.
* chore: replace read more link with ButtonLink componentArmand Philippot2021-12-293-0/+27
| | | | | I also fix the load more button position since I removed the margin auto.
* chore: add a theme toggleArmand Philippot2021-12-277-0/+149
| | | | Dark theme is not implemented yet.
* chore: replace svg imports with componentsArmand Philippot2021-12-2214-4/+478
| | | | It allows me to control the colors of each SVG paths.
* chore: add main-nav componentArmand Philippot2021-12-133-0/+70
I choose to implement main-nav paths manually instead of fetching them from GraphQL to ensure functional navigation without JS.
w"> i = '[^<()"\']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*--\x3e|"(?:[^\\\\"]|\\\\.)*"|\'(?:[^\\\\\']|\\\\.)*\'', e = 0; e < 2; e++ ) i = i.replace(/<expr>/g, function () { return i; }); i = i.replace(/<expr>/g, '[^\\s\\S]'); var t = { comment: /<#--[\s\S]*?-->/, string: [ { pattern: /\br("|')(?:(?!\1)[^\\]|\\.)*\1/, greedy: !0 }, { pattern: RegExp( '("|\')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1'.replace( /<expr>/g, function () { return i; } ) ), greedy: !0, inside: { interpolation: { pattern: RegExp( '((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}'.replace( /<expr>/g, function () { return i; } ) ), lookbehind: !0, inside: { 'interpolation-punctuation': { pattern: /^\$\{|\}$/, alias: 'punctuation', }, rest: null, }, }, }, }, ], keyword: /\b(?:as)\b/, boolean: /\b(?:false|true)\b/, 'builtin-function': { pattern: /((?:^|[^?])\?\s*)\w+/, lookbehind: !0, alias: 'function', }, function: /\b\w+(?=\s*\()/, number: /\b\d+(?:\.\d+)?\b/, operator: /\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/, punctuation: /[,;.:()[\]{}]/, }; (t.string[1].inside.interpolation.inside.rest = t), (n.languages.ftl = { 'ftl-comment': { pattern: /^<#--[\s\S]*/, alias: 'comment' }, 'ftl-directive': { pattern: /^<[\s\S]+>$/, inside: { directive: { pattern: /(^<\/?)[#@][a-z]\w*/i, lookbehind: !0, alias: 'keyword', }, punctuation: /^<\/?|\/?>$/, content: { pattern: /\s*\S[\s\S]*/, alias: 'ftl', inside: t }, }, }, 'ftl-interpolation': { pattern: /^\$\{[\s\S]*\}$/, inside: { punctuation: /^\$\{|\}$/, content: { pattern: /\s*\S[\s\S]*/, alias: 'ftl', inside: t }, }, }, }), n.hooks.add('before-tokenize', function (e) { var t = RegExp( '<#--[^]*?--\x3e|</?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}'.replace( /<expr>/g, function () { return i; } ), 'gi' ); n.languages['markup-templating'].buildPlaceholders(e, 'ftl', t); }), n.hooks.add('after-tokenize', function (e) { n.languages['markup-templating'].tokenizePlaceholders(e, 'ftl'); }); })(Prism);