lesli_calendar 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/config/lesli_calendar_manifest.js +40 -0
  4. data/app/assets/images/lesli_calendar/calendar-logo.svg +101 -0
  5. data/app/assets/javascripts/lesli_calendar/application.js +4658 -0
  6. data/app/assets/stylesheets/lesli_calendar/application.css +604 -0
  7. data/app/controllers/lesli_calendar/application_controller.rb +4 -0
  8. data/app/controllers/lesli_calendar/calendars_controller.rb +71 -0
  9. data/app/controllers/lesli_calendar/dashboards_controller.rb +60 -0
  10. data/app/controllers/lesli_calendar/events_controller.rb +60 -0
  11. data/app/helpers/lesli_calendar/application_helper.rb +4 -0
  12. data/app/helpers/lesli_calendar/calendars_helper.rb +4 -0
  13. data/app/helpers/lesli_calendar/dashboards_helper.rb +4 -0
  14. data/app/helpers/lesli_calendar/events_helper.rb +4 -0
  15. data/app/jobs/lesli_calendar/application_job.rb +4 -0
  16. data/app/mailers/lesli_calendar/application_mailer.rb +6 -0
  17. data/app/models/lesli_calendar/account.rb +45 -0
  18. data/app/models/lesli_calendar/application_record.rb +5 -0
  19. data/app/models/lesli_calendar/calendar.rb +5 -0
  20. data/app/models/lesli_calendar/dashboard.rb +4 -0
  21. data/app/models/lesli_calendar/event.rb +4 -0
  22. data/app/services/lesli_calendar/calendar_service.rb +56 -0
  23. data/app/views/lesli_calendar/calendars/_calendar.html.erb +2 -0
  24. data/app/views/lesli_calendar/calendars/_form.html.erb +17 -0
  25. data/app/views/lesli_calendar/calendars/edit.html.erb +10 -0
  26. data/app/views/lesli_calendar/calendars/index.html.erb +14 -0
  27. data/app/views/lesli_calendar/calendars/new.html.erb +9 -0
  28. data/app/views/lesli_calendar/calendars/show.html.erb +1 -0
  29. data/app/views/lesli_calendar/dashboards/_dashboard.html.erb +2 -0
  30. data/app/views/lesli_calendar/dashboards/_form.html.erb +17 -0
  31. data/app/views/lesli_calendar/dashboards/edit.html.erb +10 -0
  32. data/app/views/lesli_calendar/dashboards/index.html.erb +14 -0
  33. data/app/views/lesli_calendar/dashboards/new.html.erb +9 -0
  34. data/app/views/lesli_calendar/dashboards/show.html.erb +1 -0
  35. data/app/views/lesli_calendar/events/_event.html.erb +2 -0
  36. data/app/views/lesli_calendar/events/_form.html.erb +17 -0
  37. data/app/views/lesli_calendar/events/edit.html.erb +10 -0
  38. data/app/views/lesli_calendar/events/index.html.erb +1 -0
  39. data/app/views/lesli_calendar/events/new.html.erb +9 -0
  40. data/app/views/lesli_calendar/events/show.html.erb +10 -0
  41. data/app/views/lesli_calendar/partials/_engine-navigation.html.erb +37 -0
  42. data/config/locales/translations.en.yml +21 -0
  43. data/config/locales/translations.es.yml +21 -0
  44. data/config/locales/translations.fr.yml +21 -0
  45. data/config/locales/translations.it.yml +21 -0
  46. data/config/locales/translations.pt.yml +21 -0
  47. data/config/routes.rb +41 -0
  48. data/db/migrate/v1.0/0301000110_create_lesli_calendar_accounts.rb +40 -0
  49. data/db/migrate/v1.0/0301100110_create_lesli_calendar_calendars.rb +46 -0
  50. data/db/migrate/v1.0/0301110110_create_lesli_calendar_events.rb +57 -0
  51. data/db/seed/development.rb +17 -0
  52. data/db/seed/production.rb +17 -0
  53. data/db/seed/test.rb +17 -0
  54. data/db/seeds.rb +28 -0
  55. data/db/tables/0301010210_create_lesli_driver_catalog_event_types.rb +14 -0
  56. data/db/tables/0301110310_create_lesli_driver_event_actions.rb +16 -0
  57. data/db/tables/0301110410_create_lesli_driver_event_activities.rb +15 -0
  58. data/db/tables/0301110510_create_lesli_driver_event_discussions.rb +17 -0
  59. data/db/tables/0301110610_create_lesli_driver_event_files.rb +16 -0
  60. data/db/tables/0301110710_create_lesli_driver_event_subscribers.rb +16 -0
  61. data/db/tables/0301111010_create_lesli_driver_event_attendants.rb +13 -0
  62. data/lib/lesli_calendar/engine.rb +50 -0
  63. data/lib/lesli_calendar/version.rb +4 -0
  64. data/lib/lesli_calendar.rb +6 -0
  65. data/lib/scss/application.scss +34 -0
  66. data/lib/scss/calendar.scss +181 -0
  67. data/lib/tasks/lesli_calendar_tasks.rake +4 -0
  68. data/lib/vue/application.js +59 -0
  69. data/lib/vue/apps/calendars/show.vue +87 -0
  70. data/lib/vue/apps/events/index.vue +48 -0
  71. data/lib/vue/components/agenda.vue +137 -0
  72. data/lib/vue/components/calendar.vue +137 -0
  73. data/lib/vue/components/event.vue +47 -0
  74. data/lib/vue/components/form.vue +143 -0
  75. data/lib/vue/components/guests.vue +148 -0
  76. data/lib/vue/stores/calendar.js +215 -0
  77. data/lib/vue/stores/events.js +53 -0
  78. data/lib/vue/stores/guests.js +213 -0
  79. data/lib/vue/stores/translations.json +152 -0
  80. data/license +674 -0
  81. data/readme.md +71 -0
  82. metadata +154 -0
@@ -0,0 +1,40 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliCalendarAccounts < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_calendar_accounts do |t|
35
+ t.datetime :deleted_at, index: true
36
+ t.timestamps
37
+ end
38
+ add_reference(:lesli_calendar_accounts, :account, foreign_key: { to_table: :lesli_accounts })
39
+ end
40
+ end
@@ -0,0 +1,46 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliCalendarCalendars < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_calendar_calendars do |t|
35
+ t.string :name
36
+ t.string :color, default: "0d52bf"
37
+
38
+ # acts_as_paranoid
39
+ t.datetime :deleted_at, index: true
40
+ t.timestamps
41
+ end
42
+
43
+ add_reference(:lesli_calendar_calendars, :user, foreign_key: { to_table: :lesli_users })
44
+ add_reference(:lesli_calendar_calendars, :account, foreign_key: { to_table: :lesli_calendar_accounts })
45
+ end
46
+ end
@@ -0,0 +1,57 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliCalendarEvents < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_calendar_events do |t|
35
+ t.string :title, required: true
36
+ t.string :description
37
+ t.date :date
38
+ t.time :start
39
+ t.time :end
40
+ t.string :url
41
+ t.string :location
42
+ t.string :status # proposal, draft
43
+ t.boolean :public
44
+
45
+ t.datetime :deleted_at, index: true
46
+ t.timestamps
47
+ end
48
+
49
+ add_reference(:lesli_calendar_events, :account, foreign_key: { to_table: :lesli_accounts })
50
+ add_reference(:lesli_calendar_events, :calendar, foreign_key: { to_table: :lesli_calendar_calendars })
51
+ add_reference(:lesli_calendar_events, :user, foreign_key: { to_table: :lesli_users })
52
+
53
+ #add_reference(:cloud_driver_events, :assign, foreign_key: { to_table: :users })
54
+ #add_reference(:cloud_driver_events, :type, foreign_key: { to_table: :cloud_driver_catalog_event_types})
55
+ #add_reference(:cloud_driver_events, :model, polymorphic: true)
56
+ end
57
+ end
@@ -0,0 +1,17 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
@@ -0,0 +1,17 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
data/db/seed/test.rb ADDED
@@ -0,0 +1,17 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
data/db/seeds.rb ADDED
@@ -0,0 +1,28 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
18
+
19
+
20
+ # IMPORTANT: Seed files are only for development, if you need to create default resources for production
21
+ # you must use the initializer method in the Engine account model
22
+ if Rails.env.development?
23
+ L2.msg(
24
+ "Loading seeds for LesliCalendar environment",
25
+ "Version: #{LesliCalendar::VERSION}",
26
+ "Build: #{LesliCalendar::BUILD}")
27
+ load LesliCalendar::Engine.root.join("db", "seed", "#{ Rails.env.downcase }.rb")
28
+ end
@@ -0,0 +1,14 @@
1
+ class CreateLesliCalendarCatalogEventTypes < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cloud_driver_catalog_event_types do |t|
4
+ t.string :name
5
+ t.string :model_type, index: true
6
+
7
+ # acts_as_paranoid
8
+ t.datetime :deleted_at, index: true
9
+
10
+ t.timestamps
11
+ end
12
+ add_reference(:cloud_driver_catalog_event_types, :account, foreign_key: { to_table: :cloud_driver_accounts })
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ class CreateLesliCalendarEventActions < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000003_actions.json')))
4
+ create_table :cloud_driver_event_actions do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_actions, :users, foreign_key: true
14
+ add_reference :cloud_driver_event_actions, :cloud_driver_events, foreign_key: true, index: { name: "driver_event_actions_events" }
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ class CreateLesliCalendarEventActivities < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000004_activities.json')))
4
+ create_table :cloud_driver_event_activities do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_activities, :cloud_driver_events, foreign_key: true
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ class CreateLesliCalendarEventDiscussions < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :cloud_driver_event_discussions do |t|
4
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000005_discussions.json')))
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_discussions, :users, foreign_key: true
14
+ add_reference :cloud_driver_event_discussions, :cloud_driver_event_discussions, foreign_key: true, index: { name: "driver_event_discussions_event_discussions" }
15
+ add_reference :cloud_driver_event_discussions, :cloud_driver_events, foreign_key: true, index: { name: "driver_event_discussions_events" }
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ class CreateLesliCalendarEventFiles < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000006_files.json')))
4
+ create_table :cloud_driver_event_files do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_files, :users, foreign_key: true
14
+ add_reference :cloud_driver_event_files, :cloud_driver_events, foreign_key: true
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ class CreateLesliCalendarEventSubscribers < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000007_subscribers.json')))
4
+ create_table :cloud_driver_event_subscribers do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_subscribers, :users, foreign_key: true, index: { name: 'driver_event_subscribers_users' }
14
+ add_reference :cloud_driver_event_subscribers, :cloud_driver_events, foreign_key: true, index: { name: 'driver_event_subscribers_events' }
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ class CreateLesliCalendarEventAttendants < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :cloud_driver_event_attendants do |t|
4
+ t.datetime :confirmed_at
5
+
6
+ # acts_as_paranoid
7
+ t.datetime :deleted_at, index: true
8
+ t.timestamps
9
+ end
10
+ add_reference(:cloud_driver_event_attendants, :user, foreign_key: { to_table: :users })
11
+ add_reference(:cloud_driver_event_attendants, :event, foreign_key: { to_table: :cloud_driver_events })
12
+ end
13
+ end
@@ -0,0 +1,50 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.dev
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ module LesliCalendar
33
+ class Engine < ::Rails::Engine
34
+ isolate_namespace LesliCalendar
35
+
36
+ initializer :lesli_calendar do |app|
37
+
38
+ # register assets manifest
39
+ config.assets.precompile += %w[lesli_calendar_manifest.js]
40
+
41
+ # register engine migrations path
42
+ unless app.root.to_s.match root.to_s
43
+ config.paths["db/migrate"].expanded.each do |expanded_path|
44
+ app.config.paths["db/migrate"] << expanded_path
45
+ end
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,4 @@
1
+ module LesliCalendar
2
+ VERSION = "0.2.0"
3
+ BUILD = "1713121383"
4
+ end
@@ -0,0 +1,6 @@
1
+ require "lesli_calendar/version"
2
+ require "lesli_calendar/engine"
3
+
4
+ module LesliCalendar
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,34 @@
1
+ /*
2
+ Lesli
3
+
4
+ Copyright (c) 2023, Lesli Technologies, S. A.
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see http://www.gnu.org/licenses/.
18
+
19
+ Lesli · Ruby on Rails SaaS Development Framework.
20
+
21
+ Made with ♥ by https://www.lesli.tech
22
+ Building a better future, one line of code at a time.
23
+
24
+ @contact hello@lesli.tech
25
+ @website https://www.lesli.tech
26
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
+
28
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
+ // ·
30
+ */
31
+
32
+ body.lesli-calendar {
33
+ @import "./calendar.scss";
34
+ }
@@ -0,0 +1,181 @@
1
+ /*
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ */
32
+
33
+
34
+ // ·
35
+ @import "Lesli/scss/templates/dashboards";
36
+
37
+
38
+ // ·
39
+ $driver-color: #3689e6;
40
+ $focus-color: #28bca3;
41
+ $support-color: #a56de2;
42
+
43
+
44
+ // ·
45
+ .lesli-calendar-agenda {
46
+
47
+ h3 {
48
+ color: lesli-css-color(silver, 900);
49
+ padding: 14px 0;
50
+ }
51
+
52
+ .event {
53
+ border-bottom: 1px solid lesli-css-color(silver, 300);
54
+ min-height: 100px;
55
+
56
+ .date {
57
+ flex: 0 0 70px;
58
+ text-align: center;
59
+ color: lesli-css-color(silver, 900);
60
+
61
+ .day-number {
62
+ font-weight: 700;
63
+ font-size: 1.2rem;
64
+ }
65
+ }
66
+
67
+ .description {
68
+ line-height: 1.2;
69
+ font-size: 0.9rem;
70
+ padding: 3px 0 3px 18px;
71
+ border-left: 3px solid lesli-css-color(silver);
72
+
73
+ p:first-child {
74
+ margin-bottom: 4px;
75
+ font-weight: 700;
76
+ font-size: 0.9rem;
77
+ }
78
+
79
+ &.cloud-driver-events {
80
+ border-left-color: $driver-color;
81
+ }
82
+
83
+ &.cloud-focus-tasks {
84
+ border-left-color: $focus-color;
85
+ }
86
+
87
+ &.lesli-support {
88
+ border-left-color: $support-color;
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+
95
+ // ·
96
+ #lesli-calendar {
97
+ background-color: white;
98
+ box-shadow: $lesli-box-shadow;
99
+
100
+ .fc-header-toolbar {
101
+ height: 0px !important;
102
+ margin-bottom: 0;
103
+ h2 {
104
+ color: transparent;
105
+ }
106
+ }
107
+
108
+ // remove outside border of the calendar grid
109
+ .fc-scrollgrid {
110
+ border: none !important;
111
+
112
+ // calendar header (day names)
113
+ .fc-scrollgrid-section-header {
114
+
115
+ .fc-col-header-cell {
116
+ padding: .8rem 0;
117
+ text-align: center;
118
+ border-left-width: 0;
119
+ border-right-width: 0;
120
+ a {
121
+ color: lesli-css-color(silver, 900)
122
+ }
123
+ }
124
+
125
+ }
126
+
127
+ .fc-scrollgrid-section-body {
128
+
129
+ // grid of days of the month
130
+ .fc-daygrid-day {
131
+
132
+ // Day number
133
+ .fc-daygrid-day-top .fc-daygrid-day-number {
134
+ padding: 5px 10px;
135
+ }
136
+
137
+ // change current day indicator
138
+ &.fc-day-today .fc-daygrid-day-top .fc-daygrid-day-number {
139
+ color: $lesli-color-primary;
140
+ font-weight: 800;
141
+ }
142
+
143
+ // event in the calendar
144
+ .fc-daygrid-event {
145
+ border: none;
146
+ margin: 0 .25rem .2rem;
147
+ border-radius: 3px;
148
+ padding-left: 4px;
149
+ border-left: 5px solid $driver-color;
150
+ background-color: lighten($driver-color, 40);
151
+
152
+ .event-title {
153
+ flex: 1;
154
+ }
155
+
156
+ // ticket events
157
+ &.lesli-support {
158
+ border-left-color: $support-color;
159
+ background-color: lighten($support-color, 32);
160
+ .fc-event-time,
161
+ .fc-daygrid-event-dot { display: none !important; }
162
+ .fc-event-title { color: darken($support-color, 30) }
163
+ }
164
+
165
+ // focus events
166
+ &.cloud-focus-tasks {
167
+ border-left-color: $focus-color;
168
+ background-color: lighten($focus-color, 48 );
169
+ .event-title { color: darken($focus-color, 30) }
170
+ }
171
+
172
+ .fc-event-title {
173
+ text-transform: capitalize;
174
+ color: darken($driver-color, 30);
175
+ font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", "sans-serif", sans-serif;
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :lesli_calendar do
3
+ # # Task goes here
4
+ # end