├── .env_example ├── rel └── overlays │ └── bin │ ├── migrate.bat │ ├── server.bat │ ├── server │ └── migrate ├── test ├── test_helper.exs └── cal_web │ └── controllers │ ├── page_controller_test.exs │ ├── google_auth_controller_test.exs │ ├── error_json_test.exs │ └── error_html_test.exs ├── priv ├── static │ ├── favicon.ico │ └── robots.txt └── repo │ ├── migrations │ └── .formatter.exs │ └── seeds.exs ├── lib ├── cal_web │ ├── components │ │ ├── layouts │ │ │ └── app.html.heex │ │ └── layouts.ex │ └── controllers │ │ ├── page_html │ │ └── privacy.html.heex │ │ ├── page_html.ex │ │ ├── page_controller.ex │ │ └── google_auth_controller.ex ├── cal │ └── repo.ex └── cal.ex ├── assets ├── css │ └── app.css └── vendor │ └── heroicons │ ├── optimized │ ├── 20 │ │ └── solid │ │ │ ├── minus-small.svg │ │ │ ├── play.svg │ │ │ ├── minus.svg │ │ │ ├── plus.svg │ │ │ ├── stop.svg │ │ │ ├── plus-small.svg │ │ │ ├── cloud.svg │ │ │ ├── ellipsis-horizontal.svg │ │ │ ├── ellipsis-vertical.svg │ │ │ ├── minus-circle.svg │ │ │ ├── pencil.svg │ │ │ ├── arrow-down-right.svg │ │ │ ├── document.svg │ │ │ ├── bolt.svg │ │ │ ├── clock.svg │ │ │ ├── moon.svg │ │ │ ├── view-columns.svg │ │ │ ├── share.svg │ │ │ ├── user.svg │ │ │ ├── magnifying-glass.svg │ │ │ ├── x-mark.svg │ │ │ ├── check.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── chevron-up.svg │ │ │ ├── stop-circle.svg │ │ │ ├── bars-2.svg │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ ├── exclamation-circle.svg │ │ │ ├── lock-closed.svg │ │ │ ├── arrow-down-left.svg │ │ │ ├── arrow-up-left.svg │ │ │ ├── arrow-up-right.svg │ │ │ ├── arrow-long-down.svg │ │ │ ├── check-circle.svg │ │ │ ├── envelope.svg │ │ │ ├── play-circle.svg │ │ │ ├── plus-circle.svg │ │ │ ├── arrow-down.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-long-left.svg │ │ │ ├── arrow-long-right.svg │ │ │ ├── arrow-long-up.svg │ │ │ ├── arrow-right.svg │ │ │ ├── arrow-up.svg │ │ │ ├── lock-open.svg │ │ │ ├── no-symbol.svg │ │ │ ├── arrow-small-down.svg │ │ │ ├── arrow-small-right.svg │ │ │ ├── arrow-small-up.svg │ │ │ ├── arrow-small-left.svg │ │ │ ├── home.svg │ │ │ ├── pause.svg │ │ │ ├── arrow-up-circle.svg │ │ │ ├── hand-raised.svg │ │ │ ├── power.svg │ │ │ ├── tag.svg │ │ │ ├── arrow-down-circle.svg │ │ │ ├── arrow-right-circle.svg │ │ │ ├── user-circle.svg │ │ │ ├── bookmark.svg │ │ │ ├── video-camera.svg │ │ │ ├── magnifying-glass-circle.svg │ │ │ ├── user-minus.svg │ │ │ ├── at-symbol.svg │ │ │ ├── bookmark-slash.svg │ │ │ ├── document-minus.svg │ │ │ ├── paper-airplane.svg │ │ │ ├── queue-list.svg │ │ │ ├── archive-box.svg │ │ │ ├── chart-pie.svg │ │ │ ├── chat-bubble-oval-left.svg │ │ │ ├── cube.svg │ │ │ ├── forward.svg │ │ │ ├── tv.svg │ │ │ ├── backward.svg │ │ │ ├── bookmark-square.svg │ │ │ ├── microphone.svg │ │ │ ├── question-mark-circle.svg │ │ │ ├── x-circle.svg │ │ │ ├── bars-3.svg │ │ │ ├── magnifying-glass-minus.svg │ │ │ ├── device-tablet.svg │ │ │ ├── flag.svg │ │ │ ├── key.svg │ │ │ ├── bars-3-bottom-left.svg │ │ │ ├── bars-3-bottom-right.svg │ │ │ ├── bars-3-center-left.svg │ │ │ ├── square-2-stack.svg │ │ │ ├── camera.svg │ │ │ ├── pause-circle.svg │ │ │ ├── arrow-down-on-square.svg │ │ │ ├── arrow-uturn-left.svg │ │ │ ├── arrow-uturn-right.svg │ │ │ ├── arrow-uturn-up.svg │ │ │ ├── cloud-arrow-up.svg │ │ │ ├── heart.svg │ │ │ ├── user-plus.svg │ │ │ ├── arrow-uturn-down.svg │ │ │ ├── cloud-arrow-down.svg │ │ │ ├── credit-card.svg │ │ │ ├── document-text.svg │ │ │ ├── folder-minus.svg │ │ │ ├── information-circle.svg │ │ │ ├── paint-brush.svg │ │ │ ├── chart-bar.svg │ │ │ ├── exclamation-triangle.svg │ │ │ ├── light-bulb.svg │ │ │ ├── bell.svg │ │ │ ├── chevron-up-down.svg │ │ │ ├── video-camera-slash.svg │ │ │ ├── eye.svg │ │ │ ├── swatch.svg │ │ │ ├── arrow-up-on-square.svg │ │ │ ├── chevron-double-up.svg │ │ │ ├── document-check.svg │ │ │ ├── folder.svg │ │ │ ├── chevron-double-down.svg │ │ │ ├── chevron-double-left.svg │ │ │ ├── document-plus.svg │ │ │ ├── face-smile.svg │ │ │ ├── currency-yen.svg │ │ │ ├── envelope-open.svg │ │ │ ├── folder-open.svg │ │ │ ├── battery-0.svg │ │ │ ├── check-badge.svg │ │ │ ├── face-frown.svg │ │ │ ├── play-pause.svg │ │ │ ├── book-open.svg │ │ │ ├── magnifying-glass-plus.svg │ │ │ ├── rss.svg │ │ │ ├── star.svg │ │ │ └── rectangle-group.svg │ └── 24 │ │ ├── outline │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── plus-small.svg │ │ ├── check.svg │ │ ├── plus.svg │ │ ├── x-mark.svg │ │ ├── bars-2.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up.svg │ │ ├── pause.svg │ │ ├── arrow-left.svg │ │ ├── arrow-up.svg │ │ ├── power.svg │ │ ├── arrow-down.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-right.svg │ │ ├── bars-3.svg │ │ ├── clock.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── minus-circle.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-center-left.svg │ │ ├── plus-circle.svg │ │ ├── arrow-small-right.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bolt.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-up-down.svg │ │ ├── pause-circle.svg │ │ ├── bars-4.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── check-circle.svg │ │ ├── hashtag.svg │ │ ├── x-circle.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-right-circle.svg │ │ ├── code-bracket.svg │ │ ├── arrows-up-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── cube.svg │ │ ├── currency-rupee.svg │ │ ├── exclamation-circle.svg │ │ ├── magnifying-glass.svg │ │ ├── arrows-right-left.svg │ │ ├── bars-arrow-down.svg │ │ ├── currency-yen.svg │ │ ├── at-symbol.svg │ │ ├── no-symbol.svg │ │ ├── paper-airplane.svg │ │ ├── currency-euro.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── arrow-up-tray.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-trending-up.svg │ │ ├── queue-list.svg │ │ ├── stop.svg │ │ ├── arrow-trending-down.svg │ │ ├── play.svg │ │ ├── cloud.svg │ │ ├── rss.svg │ │ ├── bookmark.svg │ │ ├── ellipsis-vertical.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── microphone.svg │ │ ├── chart-pie.svg │ │ ├── device-tablet.svg │ │ ├── play-pause.svg │ │ ├── user.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrows-pointing-in.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── command-line.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-up-on-square.svg │ │ ├── heart.svg │ │ ├── information-circle.svg │ │ ├── pencil.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrows-pointing-out.svg │ │ ├── bookmark-square.svg │ │ ├── chart-bar-square.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── link.svg │ │ ├── paper-clip.svg │ │ ├── arrow-path.svg │ │ ├── bolt-slash.svg │ │ ├── building-library.svg │ │ ├── code-bracket-square.svg │ │ ├── device-phone-mobile.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── moon.svg │ │ ├── view-columns.svg │ │ ├── wifi.svg │ │ ├── credit-card.svg │ │ ├── map-pin.svg │ │ ├── tv.svg │ │ ├── user-minus.svg │ │ ├── video-camera.svg │ │ ├── viewfinder-circle.svg │ │ ├── building-office.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── exclamation-triangle.svg │ │ ├── flag.svg │ │ ├── sun.svg │ │ ├── user-circle.svg │ │ ├── battery-0.svg │ │ ├── bookmark-slash.svg │ │ ├── folder-minus.svg │ │ ├── key.svg │ │ ├── user-plus.svg │ │ ├── currency-bangladeshi.svg │ │ ├── folder-plus.svg │ │ ├── bell.svg │ │ ├── square-3-stack-3d.svg │ │ ├── window.svg │ │ ├── adjustments-vertical.svg │ │ ├── question-mark-circle.svg │ │ ├── shield-check.svg │ │ ├── calendar.svg │ │ ├── folder-arrow-down.svg │ │ ├── play-circle.svg │ │ ├── adjustments-horizontal.svg │ │ ├── battery-100.svg │ │ ├── presentation-chart-bar.svg │ │ ├── battery-50.svg │ │ ├── currency-pound.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── shield-exclamation.svg │ │ ├── home.svg │ │ ├── receipt-refund.svg │ │ ├── square-2-stack.svg │ │ ├── stop-circle.svg │ │ ├── bell-snooze.svg │ │ ├── book-open.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── home-modern.svg │ │ ├── backward.svg │ │ ├── currency-dollar.svg │ │ ├── eye-dropper.svg │ │ ├── forward.svg │ │ ├── language.svg │ │ ├── light-bulb.svg │ │ └── backspace.svg │ │ └── solid │ │ ├── minus.svg │ │ ├── stop.svg │ │ ├── minus-small.svg │ │ ├── chevron-left.svg │ │ ├── chevron-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-right.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── arrow-up-left.svg │ │ ├── check.svg │ │ ├── cloud.svg │ │ ├── play.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up.svg │ │ ├── bars-2.svg │ │ ├── square-2-stack.svg │ │ ├── cube.svg │ │ ├── lock-open.svg │ │ ├── video-camera.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── minus-circle.svg │ │ ├── paper-airplane.svg │ │ ├── share.svg │ │ ├── arrow-down.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── envelope.svg │ │ ├── magnifying-glass.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-up.svg │ │ ├── bookmark.svg │ │ ├── arrow-small-right.svg │ │ ├── lock-closed.svg │ │ ├── user.svg │ │ ├── view-columns.svg │ │ ├── bolt.svg │ │ ├── clock.svg │ │ ├── folder-minus.svg │ │ ├── forward.svg │ │ ├── x-mark.svg │ │ ├── arrow-up-on-square.svg │ │ ├── backward.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── bookmark-square.svg │ │ ├── folder.svg │ │ ├── pause.svg │ │ ├── pencil.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-down-on-square.svg │ │ ├── bars-3.svg │ │ ├── moon.svg │ │ ├── plus-circle.svg │ │ ├── bookmark-slash.svg │ │ ├── queue-list.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-center-left.svg │ │ ├── exclamation-circle.svg │ │ ├── play-circle.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── check-circle.svg │ │ ├── chevron-double-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── no-symbol.svg │ │ ├── tag.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-right-circle.svg │ │ ├── battery-0.svg │ │ ├── bolt-slash.svg │ │ ├── chevron-up-down.svg │ │ ├── credit-card.svg │ │ ├── exclamation-triangle.svg │ │ ├── microphone.svg │ │ ├── user-minus.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── command-line.svg │ │ ├── folder-plus.svg │ │ ├── power.svg │ │ ├── stop-circle.svg │ │ ├── calendar.svg │ │ ├── chart-pie.svg │ │ ├── rectangle-stack.svg │ │ ├── clipboard.svg │ │ ├── folder-open.svg │ │ ├── bell.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── folder-arrow-down.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── fire.svg │ │ ├── x-circle.svg │ │ ├── book-open.svg │ │ ├── star.svg │ │ └── video-camera-slash.svg │ └── UPGRADE.md └── .formatter.exs /.env_example: -------------------------------------------------------------------------------- 1 | export GOOGLE_CLIENT_ID=XXXX 2 | export GOOGLE_CLIENT_SECRET=XXXX -------------------------------------------------------------------------------- /rel/overlays/bin/migrate.bat: -------------------------------------------------------------------------------- 1 | call "%~dp0\cal" eval Cal.Release.migrate 2 | -------------------------------------------------------------------------------- /rel/overlays/bin/server.bat: -------------------------------------------------------------------------------- 1 | set PHX_SERVER=true 2 | call "%~dp0\cal" start 3 | -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | Ecto.Adapters.SQL.Sandbox.mode(Cal.Repo, :manual) 3 | -------------------------------------------------------------------------------- /priv/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dwyl/calendar/HEAD/priv/static/favicon.ico -------------------------------------------------------------------------------- /lib/cal_web/components/layouts/app.html.heex: -------------------------------------------------------------------------------- 1 | <.flash_group flash={@flash} /> 2 | {@inner_content} 3 | -------------------------------------------------------------------------------- /priv/repo/migrations/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto_sql], 3 | inputs: ["*.exs"] 4 | ] 5 | -------------------------------------------------------------------------------- /rel/overlays/bin/server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd -P -- "$(dirname -- "$0")" 3 | PHX_SERVER=true exec ./cal start 4 | -------------------------------------------------------------------------------- /rel/overlays/bin/migrate: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd -P -- "$(dirname -- "$0")" 3 | exec ./cal eval Cal.Release.migrate 4 | -------------------------------------------------------------------------------- /lib/cal_web/controllers/page_html/privacy.html.heex: -------------------------------------------------------------------------------- 1 | Comming Soon! 2 | see: https://github.com/dwyl/calendar/issues/37 3 | -------------------------------------------------------------------------------- /lib/cal/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule Cal.Repo do 2 | use Ecto.Repo, 3 | otp_app: :cal, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /lib/cal_web/components/layouts.ex: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.Layouts do 2 | use CalWeb, :html 3 | 4 | embed_templates "layouts/*" 5 | end 6 | -------------------------------------------------------------------------------- /lib/cal_web/controllers/page_html.ex: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.PageHTML do 2 | use CalWeb, :html 3 | 4 | embed_templates "page_html/*" 5 | end 6 | -------------------------------------------------------------------------------- /assets/css/app.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss/base"; 2 | @import "tailwindcss/components"; 3 | @import "tailwindcss/utilities"; 4 | 5 | /* This file is for your main application CSS */ 6 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 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 | ] 7 | -------------------------------------------------------------------------------- /test/cal_web/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.PageControllerTest do 2 | use CalWeb.ConnCase 3 | 4 | test "GET /", %{conn: conn} do 5 | conn = get(conn, ~p"/") 6 | assert html_response(conn, 200) =~ "Calendar" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /lib/cal.ex: -------------------------------------------------------------------------------- 1 | defmodule Cal do 2 | @moduledoc """ 3 | Cal keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-4.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/hashtag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /test/cal_web/controllers/google_auth_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.GoogleAuthControllerTest do 2 | use CalWeb.ConnCase 3 | 4 | test "google_handler/2 for google auth callback", %{conn: conn} do 5 | conn = get(conn, "/auth/google/callback", %{code: "234"}) 6 | assert redirected_to(conn) =~ "/app" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/code-bracket.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-rupee.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-right-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-euro.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-trending-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-trending-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/rss.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/hand-raised.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/UPGRADE.md: -------------------------------------------------------------------------------- 1 | You are running heroicons v2.0.16. To upgrade in place, you can run the following command, 2 | where your `HERO_VSN` export is your desired version: 3 | 4 | export HERO_VSN="2.0.16" ; \ 5 | curl -L "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.tar.gz" | \ 6 | tar -xv --strip-components=1 heroicons-${HERO_VSN}/optimized 7 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/microphone.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-top-right-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-pointing-in.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /priv/repo/seeds.exs: -------------------------------------------------------------------------------- 1 | # Script for populating the database. You can run it as: 2 | # 3 | # mix run priv/repo/seeds.exs 4 | # 5 | # Inside the script, you can read and write to any of your 6 | # repositories directly: 7 | # 8 | # Cal.Repo.insert!(%Cal.SomeSchema{}) 9 | # 10 | # We recommend using the bang functions (`insert!`, `update!` 11 | # and so on) as they will fail if something goes wrong. 12 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/archive-box.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/tv.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-pointing-out.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chart-bar-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cursor-arrow-ripple.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/link.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/paper-clip.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /lib/cal_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.PageController do 2 | use CalWeb, :controller 3 | 4 | def home(conn, _params) do 5 | # The home page is often custom made, 6 | # so skip the default app layout. 7 | oauth_google_url = ElixirAuthGoogle.generate_oauth_url(CalWeb.Endpoint.url()) 8 | render(conn, :home, layout: false, oauth_google_url: oauth_google_url) 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-path.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/building-library.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/code-bracket-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/device-phone-mobile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/wifi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /test/cal_web/controllers/error_json_test.exs: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.ErrorJSONTest do 2 | use CalWeb.ConnCase, async: true 3 | 4 | test "renders 404" do 5 | assert CalWeb.ErrorJSON.render("404.json", %{}) == %{errors: %{detail: "Not Found"}} 6 | end 7 | 8 | test "renders 500" do 9 | assert CalWeb.ErrorJSON.render("500.json", %{}) == 10 | %{errors: %{detail: "Internal Server Error"}} 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/map-pin.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/tv.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/viewfinder-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/building-office.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cursor-arrow-rays.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/sun.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /lib/cal_web/controllers/google_auth_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.GoogleAuthController do 2 | use CalWeb, :controller 3 | 4 | @doc """ 5 | `index/2` handles the callback from Google Auth API redirect. 6 | """ 7 | def index(conn, %{"code" => code}) do 8 | {:ok, token} = ElixirAuthGoogle.get_token(code, CalWeb.Endpoint.url()) 9 | 10 | conn 11 | |> put_flash(:token, token) 12 | |> redirect(to: ~p"/app") 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-text.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/paint-brush.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-bangladeshi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/square-3-stack-3d.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/window.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/adjustments-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/shield-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/eye.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/swatch.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/rectangle-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/adjustments-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-100.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/presentation-chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/clipboard.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/face-smile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-50.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-pound.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/shield-exclamation.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/envelope-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/receipt-refund.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check-badge.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/face-frown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bell-snooze.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/home-modern.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/fire.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/rss.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/star.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-dollar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/eye-dropper.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/language.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/star.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /test/cal_web/controllers/error_html_test.exs: -------------------------------------------------------------------------------- 1 | defmodule CalWeb.ErrorHTMLTest do 2 | use CalWeb.ConnCase, async: true 3 | 4 | # Bring render_to_string/4 for testing custom views 5 | import Phoenix.Template 6 | 7 | test "renders 404.html" do 8 | assert render_to_string(CalWeb.ErrorHTML, "404", "html", []) == "Not Found" 9 | end 10 | 11 | test "renders 500.html" do 12 | assert render_to_string(CalWeb.ErrorHTML, "500", "html", []) == "Internal Server Error" 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/rectangle-group.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/backspace.svg: -------------------------------------------------------------------------------- 1 | 4 | --------------------------------------------------------------------------------