noahsettersten commited on
Commit
b039812
1 Parent(s): 24d78ad

chore: Set up Phoenix Storybook

Browse files
.formatter.exs CHANGED
@@ -2,5 +2,10 @@
2
  import_deps: [:ecto, :ecto_sql, :phoenix],
3
  subdirectories: ["priv/*/migrations"],
4
  plugins: [Phoenix.LiveView.HTMLFormatter],
5
- inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/seeds.exs"]
 
 
 
 
 
6
  ]
 
2
  import_deps: [:ecto, :ecto_sql, :phoenix],
3
  subdirectories: ["priv/*/migrations"],
4
  plugins: [Phoenix.LiveView.HTMLFormatter],
5
+ inputs: [
6
+ "*.{heex,ex,exs}",
7
+ "{config,lib,test}/**/*.{heex,ex,exs}",
8
+ "priv/*/seeds.exs",
9
+ "storybook/**/*.exs"
10
+ ]
11
  ]
config/config.exs CHANGED
@@ -39,7 +39,7 @@ config :esbuild,
39
  version: "0.17.11",
40
  default: [
41
  args:
42
- ~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
43
  cd: Path.expand("../assets", __DIR__),
44
  env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
45
  ]
@@ -54,6 +54,14 @@ config :tailwind,
54
  --output=../priv/static/assets/app.css
55
  ),
56
  cd: Path.expand("../assets", __DIR__)
 
 
 
 
 
 
 
 
57
  ]
58
 
59
  # Configures Elixir's Logger
 
39
  version: "0.17.11",
40
  default: [
41
  args:
42
+ ~w(js/app.js js/storybook.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
43
  cd: Path.expand("../assets", __DIR__),
44
  env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
45
  ]
 
54
  --output=../priv/static/assets/app.css
55
  ),
56
  cd: Path.expand("../assets", __DIR__)
57
+ ],
58
+ storybook: [
59
+ args: ~w(
60
+ --config=tailwind.config.js
61
+ --input=css/storybook.css
62
+ --output=../priv/static/assets/storybook.css
63
+ ),
64
+ cd: Path.expand("../assets", __DIR__)
65
  ]
66
 
67
  # Configures Elixir's Logger
config/dev.exs CHANGED
@@ -24,7 +24,8 @@ config :medical_transcription, MedicalTranscriptionWeb.Endpoint,
24
  secret_key_base: "3ICLTmbvFUJcjcL/6pzpRWgbD1UicqH03RCiGipnenfWVkzUOT6jf8pjD6u4Xa++",
25
  watchers: [
26
  esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]},
27
- tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]}
 
28
  ]
29
 
30
  # ## SSL Support
@@ -56,11 +57,12 @@ config :medical_transcription, MedicalTranscriptionWeb.Endpoint,
56
  patterns: [
57
  ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
58
  ~r"priv/gettext/.*(po)$",
59
- ~r"lib/medical_transcription_web/(controllers|live|components)/.*(ex|heex)$"
 
60
  ]
61
  ]
62
 
63
- # Enable dev routes for dashboard and mailbox
64
  config :medical_transcription, dev_routes: true
65
 
66
  # Do not include metadata nor timestamps in development logs
 
24
  secret_key_base: "3ICLTmbvFUJcjcL/6pzpRWgbD1UicqH03RCiGipnenfWVkzUOT6jf8pjD6u4Xa++",
25
  watchers: [
26
  esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]},
27
+ tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]},
28
+ storybook_tailwind: {Tailwind, :install_and_run, [:storybook, ~w(--watch)]}
29
  ]
30
 
31
  # ## SSL Support
 
57
  patterns: [
58
  ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
59
  ~r"priv/gettext/.*(po)$",
60
+ ~r"lib/medical_transcription_web/(controllers|live|components)/.*(ex|heex)$",
61
+ ~r"storybook/.*(exs)$"
62
  ]
63
  ]
64
 
65
+ # Enable dev routes for dashboard, mailbox, and Phoenix storybook
66
  config :medical_transcription, dev_routes: true
67
 
68
  # Do not include metadata nor timestamps in development logs
lib/medical_transcription_web/router.ex CHANGED
@@ -1,5 +1,6 @@
1
  defmodule MedicalTranscriptionWeb.Router do
2
  use MedicalTranscriptionWeb, :router
 
3
 
4
  pipeline :browser do
5
  plug :accepts, ["html"]
@@ -40,5 +41,15 @@ defmodule MedicalTranscriptionWeb.Router do
40
  live_dashboard "/dashboard", metrics: MedicalTranscriptionWeb.Telemetry
41
  forward "/mailbox", Plug.Swoosh.MailboxPreview
42
  end
 
 
 
 
 
 
 
 
 
 
43
  end
44
  end
 
1
  defmodule MedicalTranscriptionWeb.Router do
2
  use MedicalTranscriptionWeb, :router
3
+ import PhoenixStorybook.Router
4
 
5
  pipeline :browser do
6
  plug :accepts, ["html"]
 
41
  live_dashboard "/dashboard", metrics: MedicalTranscriptionWeb.Telemetry
42
  forward "/mailbox", Plug.Swoosh.MailboxPreview
43
  end
44
+
45
+ scope "/" do
46
+ storybook_assets()
47
+ end
48
+
49
+ scope "/", MedicalTranscriptionWeb do
50
+ pipe_through :browser
51
+
52
+ live_storybook("/storybook", backend_module: MedicalTranscriptionWeb.Storybook)
53
+ end
54
  end
55
  end