1
1
import React from "react" ;
2
+
2
3
import clsx from "clsx" ;
4
+
3
5
import Translate , { translate } from "@docusaurus/Translate" ;
4
6
import Link from "@docusaurus/Link" ;
5
- import Image from "@theme/IdealImage" ;
7
+ import useBaseUrl from "@docusaurus/useBaseUrl" ;
8
+
6
9
import Heading from "@theme/Heading" ;
10
+ import Image from "@theme/IdealImage" ;
11
+
7
12
import { Button , ButtonGroup , Stack , useMediaQuery , useTheme } from "@mui/material" ;
8
13
import Grid2 from "@mui/material/Unstable_Grid2" ;
9
- import SettingsIcon from "@mui/icons-material/Settings" ;
10
- import TipsAndUpdatesIcon from "@mui/icons-material/TipsAndUpdates" ;
14
+ import FaSettingsIcon from "@mui/icons-material/Settings" ;
15
+ import FaTipsAndUpdatesIcon from "@mui/icons-material/TipsAndUpdates" ;
11
16
12
- import useBaseUrl from "@docusaurus/useBaseUrl" ;
17
+ import Editions from "@site/src/data/editions" ;
18
+ import { Edition } from "@site/src/types" ;
13
19
14
- const Editions = [
15
- {
16
- name : "Budgie" ,
17
- url : "budgie" ,
18
- urlConfig : "budgie/configuration" ,
19
- urlTips : "budgie/tips-and-tricks" ,
20
- description : (
21
- < Translate id = "edition.budgie.description" >
22
- A feature-rich, luxurious desktop using the most modern technologies.
23
- </ Translate >
24
- ) ,
25
- } ,
26
- {
27
- name : "Plasma" ,
28
- url : "plasma" ,
29
- urlConfig : "plasma/configuration" ,
30
- urlTips : "plasma/tips-and-tricks" ,
31
- description : (
32
- < Translate id = "edition.plasma.description" >
33
- A sophisticated desktop experience for the tinkerers. Simple by default, powerful when needed.
34
- </ Translate >
35
- ) ,
36
- } ,
37
- {
38
- name : "GNOME" ,
39
- url : "gnome" ,
40
- urlConfig : "gnome/configuration" ,
41
- urlTips : "gnome/tips-and-tricks" ,
42
- description : (
43
- < Translate id = "edition.gnome.description" > A simple, streamlined desktop for more modern hardware.</ Translate >
44
- ) ,
45
- } ,
46
- {
47
- name : "MATE" ,
48
- url : "mate" ,
49
- urlConfig : "mate/configuration" ,
50
- urlTips : "mate/tips-and-tricks" ,
51
- description : (
52
- < Translate id = "edition.mate.description" > A traditional desktop for advanced users and older hardware.</ Translate >
53
- ) ,
54
- } ,
55
- {
56
- name : "Xfce" ,
57
- url : "xfce" ,
58
- urlConfig : "xfce/configuration" ,
59
- urlTips : "xfce/tips-and-tricks" ,
60
- description : (
61
- < Translate id = "edition.xfce.description" >
62
- A lightweight desktop that aims to be fast while still being friendly.
63
- </ Translate >
64
- ) ,
65
- } ,
66
- ] ;
67
-
68
- type EditionCardProps = {
69
- name : string ;
70
- url : string ;
71
- urlConfig : string ;
72
- urlTips : string ;
73
- description : JSX . Element ;
74
- } ;
20
+ type EditionCardProps = Edition ;
75
21
76
22
const EditionCard = ( { name, url, urlConfig, urlTips, description } : EditionCardProps ) => {
77
23
const theme = useTheme ( ) ;
@@ -84,7 +30,7 @@ const EditionCard = ({ name, url, urlConfig, urlTips, description }: EditionCard
84
30
< Stack className = { clsx ( "card__image" ) } >
85
31
< Link to = { url } >
86
32
< Image
87
- img = { image }
33
+ img = { require ( image ) }
88
34
alt = { translate ( {
89
35
message : "Screenshot of {name} edition" ,
90
36
id : "edition.card.image" ,
@@ -108,14 +54,14 @@ const EditionCard = ({ name, url, urlConfig, urlTips, description }: EditionCard
108
54
>
109
55
< Button
110
56
href = { urlConfig }
111
- startIcon = { ! hideIcons ? < SettingsIcon /> : undefined }
57
+ startIcon = { ! hideIcons ? < FaSettingsIcon /> : undefined }
112
58
sx = { { borderRadius : "10px" , paddingInline : 2 } }
113
59
>
114
60
< Translate id = "edition.card.configuration" > Configuration</ Translate >
115
61
</ Button >
116
62
< Button
117
63
href = { urlTips }
118
- startIcon = { ! hideIcons ? < TipsAndUpdatesIcon /> : undefined }
64
+ startIcon = { ! hideIcons ? < FaTipsAndUpdatesIcon /> : undefined }
119
65
sx = { { borderRadius : "10px" , paddingInline : 2 } }
120
66
>
121
67
< Translate id = "edition.card.tipsntricks" > Tips & Tricks </ Translate >
0 commit comments