Skip to content

Commit 3a068ff

Browse files
authored
Add component setup instruction with CLI (#141)
1 parent ad3584f commit 3a068ff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+180
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
module Components
2+
module ComponentSetup
3+
class CLISteps < Components::Base
4+
def initialize(component_name:)
5+
@component_name = component_name
6+
end
7+
8+
private
9+
10+
attr_reader :component_name
11+
12+
def view_template
13+
div(class: "max-w-2xl mx-auto w-full py-10 space-y-6") do
14+
Heading(level: 4, class: "pb-4 border-b") { "Using RubyUI CLI" }
15+
Text do
16+
"We provide a Ruby gem with useful generators to help you to setup RubyUI components in your apps."
17+
end
18+
19+
render Steps::Builder.new do |steps|
20+
steps.add_step do
21+
render Steps::Container do
22+
Text(size: "4", weight: "semibold") do
23+
plain "Add RubyUI gem to your Gemfile if you don't have it yet"
24+
end
25+
26+
code = <<~CODE
27+
bundle add ruby_ui --group development --require false
28+
CODE
29+
div(class: "w-full") do
30+
Codeblock(code, syntax: :javascript)
31+
end
32+
end
33+
end
34+
steps.add_step do
35+
render Steps::Container do
36+
Text(size: "4", weight: "semibold") do
37+
"Run the install command"
38+
end
39+
40+
code = <<~CODE
41+
rails g ruby_ui:component #{component_name.camelcase}
42+
CODE
43+
div(class: "w-full") do
44+
Codeblock(code, syntax: :javascript)
45+
end
46+
end
47+
end
48+
end
49+
end
50+
end
51+
end
52+
end
53+
end
+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
module Components
2+
module ComponentSetup
3+
class Tabs < Components::Base
4+
def initialize(component_name:)
5+
@component_name = component_name
6+
end
7+
8+
private
9+
10+
attr_reader :component_name
11+
12+
def view_template
13+
Heading(level: 2) { "Installation" }
14+
15+
Tabs(default_value: "cli", class: "w-full") do
16+
TabsList do
17+
TabsTrigger(value: "cli") { "CLI" }
18+
TabsTrigger(value: "manual") { "Manual" }
19+
end
20+
21+
TabsContent(value: "cli") do
22+
render CLISteps.new(component_name:)
23+
end
24+
25+
TabsContent(value: "manual") do
26+
Text { "Coming soon" }
27+
end
28+
end
29+
end
30+
end
31+
end
32+
end

app/views/components/shared/menu.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ def components
6868
{name: "Avatar", path: helpers.docs_avatar_path},
6969
{name: "Badge", path: helpers.docs_badge_path},
7070
{name: "Button", path: helpers.docs_button_path},
71-
{name: "Card", path: helpers.docs_card_path},
7271
{name: "Calendar", path: helpers.docs_calendar_path},
72+
{name: "Card", path: helpers.docs_card_path},
7373
# { name: "Chart", path: helpers.docs_chart_path, badge: "New" },
7474
{name: "Checkbox", path: helpers.docs_checkbox_path},
7575
{name: "Checkbox Group", path: helpers.docs_checkbox_group_path},
@@ -83,8 +83,8 @@ def components
8383
{name: "Dialog / Modal", path: helpers.docs_dialog_path},
8484
{name: "Dropdown Menu", path: helpers.docs_dropdown_menu_path},
8585
{name: "Form", path: helpers.docs_form_path},
86-
{name: "Input", path: helpers.docs_input_path},
8786
{name: "Hover Card", path: helpers.docs_hover_card_path},
87+
{name: "Input", path: helpers.docs_input_path},
8888
{name: "Link", path: helpers.docs_link_path},
8989
{name: "Masked Input", path: helpers.masked_input_path},
9090
{name: "Pagination", path: helpers.docs_pagination_path, badge: "New"},
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# frozen_string_literal: true
2+
3+
module Steps
4+
class Container < ApplicationComponent
5+
def view_template(&)
6+
div(class: "space-y-4", &)
7+
end
8+
end
9+
end

app/views/docs/accordion_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ def view_template
4545
RUBY
4646
end
4747

48+
render Components::ComponentSetup::Tabs.new(component_name: component)
49+
4850
render Docs::ComponentsTable.new(component_files(component))
4951
end
5052
end

app/views/docs/alert_dialog_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ def view_template
2727
RUBY
2828
end
2929

30+
render Components::ComponentSetup::Tabs.new(component_name: component)
31+
3032
render Docs::ComponentsTable.new(component_files(component))
3133
end
3234
end

app/views/docs/alert_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ def view_template
5757
RUBY
5858
end
5959

60+
render Components::ComponentSetup::Tabs.new(component_name: component)
61+
6062
render Docs::ComponentsTable.new(component_files(component))
6163
end
6264
end

app/views/docs/aspect_ratio_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ def view_template
6060
RUBY
6161
end
6262

63+
render Components::ComponentSetup::Tabs.new(component_name: component)
64+
6365
render Docs::ComponentsTable.new(component_files(component))
6466
end
6567
end

app/views/docs/avatar_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ def view_template
8484
RUBY
8585
end
8686

87+
render Components::ComponentSetup::Tabs.new(component_name: component)
88+
8789
render Docs::ComponentsTable.new(component_files(component))
8890
end
8991
end

app/views/docs/badge_view.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
class Docs::BadgeView < ApplicationView
44
def view_template
5+
component = "Badge"
6+
57
div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
68
render Docs::Header.new(title: "Badge", description: "Displays a badge or a component that looks like a badge.")
79

@@ -69,8 +71,10 @@ def view_template
6971
RUBY
7072
end
7173

74+
render Components::ComponentSetup::Tabs.new(component_name: component)
75+
7276
# components
73-
render Docs::ComponentsTable.new(component_files("Badge"))
77+
render Docs::ComponentsTable.new(component_files(component))
7478
end
7579
end
7680
end

app/views/docs/button_view.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
class Docs::ButtonView < ApplicationView
44
def view_template
5+
component = "Button"
6+
57
div(class: "max-w-2xl mx-auto w-full py-10 space-y-10") do
68
render Docs::Header.new(title: "Button", description: "Displays a button or a component that looks like a button.")
79

@@ -121,7 +123,9 @@ def view_template
121123
RUBY
122124
end
123125

124-
render Docs::ComponentsTable.new(component_files("Button"))
126+
render Components::ComponentSetup::Tabs.new(component_name: component)
127+
128+
render Docs::ComponentsTable.new(component_files(component))
125129
end
126130
end
127131
end

app/views/docs/calendar_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ def view_template
2626
RUBY
2727
end
2828

29+
render Components::ComponentSetup::Tabs.new(component_name: component)
30+
2931
render Docs::ComponentsTable.new(component_files(component))
3032
end
3133
end

app/views/docs/card_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ def view_template
7474
RUBY
7575
end
7676

77+
render Components::ComponentSetup::Tabs.new(component_name: component)
78+
7779
render Docs::ComponentsTable.new(component_files(component))
7880
end
7981
end

app/views/docs/chart_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ def view_template
9898
RUBY
9999
end
100100

101+
render Components::ComponentSetup::Tabs.new(component_name: "Chart")
102+
101103
render Docs::ComponentsTable.new(components)
102104
end
103105
end

app/views/docs/checkbox_group_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ def view_template
7171
RUBY
7272
end
7373

74+
render Components::ComponentSetup::Tabs.new(component_name: component)
75+
7476
render Docs::ComponentsTable.new(component_files(component))
7577
end
7678
end

app/views/docs/checkbox_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ def view_template
3333
RUBY
3434
end
3535

36+
render Components::ComponentSetup::Tabs.new(component_name: component)
37+
3638
render Docs::ComponentsTable.new(component_files(component))
3739
end
3840
end

app/views/docs/clipboard_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ def view_template
2222
RUBY
2323
end
2424

25+
render Components::ComponentSetup::Tabs.new(component_name: component)
26+
2527
render Docs::ComponentsTable.new(component_files(component))
2628
end
2729
end

app/views/docs/codeblock_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ def hello_world
4747
RUBY
4848
end
4949

50+
render Components::ComponentSetup::Tabs.new(component_name: component)
51+
5052
render Docs::ComponentsTable.new(component_files(component))
5153
end
5254
end

app/views/docs/collapsible_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ def view_template
7070
RUBY
7171
end
7272

73+
render Components::ComponentSetup::Tabs.new(component_name: component)
74+
7375
render Docs::ComponentsTable.new(component_files(component))
7476
end
7577
end

app/views/docs/combobox_view.rb

+3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ def view_template
5353
end
5454
RUBY
5555
end
56+
57+
render Components::ComponentSetup::Tabs.new(component_name: "Combobox")
58+
5659
render Docs::ComponentsTable.new(component_files("Combobox"))
5760
end
5861
end

app/views/docs/command_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ def view_template
9393
RUBY
9494
end
9595

96+
render Components::ComponentSetup::Tabs.new(component_name: component)
97+
9698
render Docs::ComponentsTable.new(component_files(component))
9799
end
98100
end

app/views/docs/context_menu_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ def view_template
7777
RUBY
7878
end
7979

80+
render Components::ComponentSetup::Tabs.new(component_name: component)
81+
8082
render Docs::ComponentsTable.new(component_files(component))
8183
end
8284
end

app/views/docs/date_picker_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ def view_template
2727
RUBY
2828
end
2929

30+
render Components::ComponentSetup::Tabs.new(component_name: component)
31+
3032
render Docs::ComponentsTable.new(component_files(component))
3133
end
3234
end

app/views/docs/dialog_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ def view_template
9797
RUBY
9898
end
9999

100+
render Components::ComponentSetup::Tabs.new(component_name: component)
101+
100102
render Docs::ComponentsTable.new(component_files(component))
101103
end
102104
end

app/views/docs/dropdown_menu_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ def view_template
222222
RUBY
223223
end
224224

225+
render Components::ComponentSetup::Tabs.new(component_name: component)
226+
225227
render Docs::ComponentsTable.new(component_files(component))
226228
end
227229
end

app/views/docs/form_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ def view_template
140140
RUBY
141141
end
142142

143+
render Components::ComponentSetup::Tabs.new(component_name: component)
144+
143145
render Docs::ComponentsTable.new(component_files(component))
144146
end
145147
end

app/views/docs/hover_card_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def view_template
5252
RUBY
5353
end
5454

55+
render Components::ComponentSetup::Tabs.new(component_name: component)
56+
5557
render Docs::ComponentsTable.new(component_files(component))
5658
end
5759
end

app/views/docs/input_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def view_template
5252
RUBY
5353
end
5454

55+
render Components::ComponentSetup::Tabs.new(component_name: component)
56+
5557
render Docs::ComponentsTable.new(component_files(component))
5658
end
5759
end

app/views/docs/link_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ def view_template
5656
RUBY
5757
end
5858

59+
render Components::ComponentSetup::Tabs.new(component_name: component)
60+
5961
render Docs::ComponentsTable.new(component_files(component))
6062
end
6163
end

app/views/docs/masked_input_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ def view_template
3939
RUBY
4040
end
4141

42+
render Components::ComponentSetup::Tabs.new(component_name: component)
43+
4244
render Docs::ComponentsTable.new(component_files(component))
4345
end
4446
end

app/views/docs/pagination_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ def view_template
4343
RUBY
4444
end
4545

46+
render Components::ComponentSetup::Tabs.new(component_name: component)
47+
4648
render Docs::ComponentsTable.new(component_files(component))
4749
end
4850
end

app/views/docs/popover_view.rb

+2
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,8 @@ def view_template
963963
RUBY
964964
end
965965

966+
render Components::ComponentSetup::Tabs.new(component_name: component)
967+
966968
render Docs::ComponentsTable.new(component_files(component))
967969
end
968970
end

0 commit comments

Comments
 (0)