Compare commits
	
		
			No commits in common. "38eef7ef010d53f5bd227f25f049bd7a4d801edf" and "e6cfe9e33551f62fdc6fc82fe7bf8c8598d36dc8" have entirely different histories.
		
	
	
		
			38eef7ef01
			...
			e6cfe9e335
		
	
		
|  | @ -1,12 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| use Illuminate\Support\Facades\DB; | ||||
| use App\Models\BasyaPhrase; | ||||
| 
 | ||||
| class BasyaPhrasesController extends Controller | ||||
| { | ||||
|     public function index(){ | ||||
|         return DB::table('basya_phrases')->get(); | ||||
|     } | ||||
| } | ||||
|  | @ -1,11 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| 
 | ||||
| class BasyaPhrase extends Model | ||||
| { | ||||
|     use HasFactory; | ||||
| } | ||||
|  | @ -1,10 +1,10 @@ | |||
| <template> | ||||
|     <v-sheet class="mt-5 mb-5 rounded-lg w-75"> | ||||
|         <p class="text-xl-h3 text-lg-h3 text-md-h4 text-sm-h4 text-h5 ma-5">Расписание стримов</p> | ||||
|         <p class="text-h3 ma-5">Расписание стримов</p> | ||||
|         <v-skeleton-loader v-if="fetching" type="text" /> | ||||
|         <p v-else class="ma-5 text-xl-h3 text-lg-h3 text-md-h4 text-sm-h4 text-h5"> {{ parseDate(dates[0].current_date) }} - {{ parseDate(dates[1].current_date) }}</p> | ||||
|         <p v-else class="ma-5 text-h4"> {{ parseDate(dates[0].current_date) }} - {{ parseDate(dates[1].current_date) }}</p> | ||||
|         <ScheduleTable/> | ||||
|         <p class="text-xl-h3 text-lg-h3 text-md-h4 text-sm-h4 text-h5 ma-5">Ссылочки</p> | ||||
|         <p class="text-h3 ma-5">Ссылочки</p> | ||||
|         <Links/> | ||||
|     </v-sheet> | ||||
| </template> | ||||
|  |  | |||
|  | @ -5,10 +5,7 @@ | |||
|         name: "Links", | ||||
|         data: () => ({ | ||||
|             links: [], | ||||
|             fetching: true, | ||||
|             windowHeight: document.documentElement.clientHeight, | ||||
|             windowWidth: document.documentElement.clientWidth, | ||||
|             isWide: window.innerWidth >= 460 | ||||
|             fetching: true | ||||
|         }), | ||||
|         mounted() { | ||||
|             axios | ||||
|  | @ -17,25 +14,13 @@ | |||
|                     this.links = response.data; | ||||
|                     this.fetching = false; | ||||
|                 }); | ||||
|             this.myEventHandler(); | ||||
|             window.addEventListener("resize", this.myEventHandler, { passive: true }); | ||||
|         }, | ||||
|         created() { | ||||
|             window.addEventListener("resize", this.myEventHandler); | ||||
|         }, | ||||
|         methods: { | ||||
|             myEventHandler(e) { | ||||
|                 this.windowHeight = document.documentElement.clientHeight; | ||||
|                 this.windowWidth = document.documentElement.clientWidth; | ||||
|                 this.isWide = this.windowWidth >= 460; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
|     <div class="w-100 d-flex justify-center"> | ||||
|         <v-list :class="isWide ? 'w-66' : 'w-100'"> | ||||
|         <v-list class="w-66"> | ||||
|             <v-skeleton-loader v-if="fetching" type="list-item"/> | ||||
|             <v-list-item v-else class="ma-5 bg-gradient-noh" elevation="6" v-for="link in links" :href="link.link"> <!-- style="background-color: #E57373; color: #FFFFFF" --> | ||||
|                 <template v-slot:prepend> | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ | |||
| <template> | ||||
|     <div class="w-100 d-flex justify-center"> | ||||
|         <v-skeleton-loader v-if="fetching" type="table"/> | ||||
|         <v-table v-else class="text-xl-h5 text-lg-h5 text-md-h5 text-sm-h5  text-body-2 w-66"> | ||||
|         <v-table v-else class="text-h5 w-66"> | ||||
|             <tbody> | ||||
|             <tr v-for="schedule in schedules"> | ||||
|                 <td>{{ parseDate(schedule.current_date) }} {{ schedule.weekday_name }} {{ schedule.stream_time }}</td> | ||||
|  |  | |||
|  | @ -4,27 +4,24 @@ | |||
|             <v-card :elevation="4" class="mt-5 mb-5 align-center justify-center h-auto rounded-lg main-sheet-bg w-75"> | ||||
|                 <v-card-title></v-card-title> | ||||
|                 <v-card-text class="h-100 d-flex flex-column align-center justify-center"> | ||||
|                     <v-skeleton-loader type="text" v-if="fetching"></v-skeleton-loader> | ||||
|                     <div v-if="!fetching"> | ||||
|                         <div class="d-flex flex-column align-center justify-center main-text"> | ||||
|                             <p class="text-h4 text-xl-h1 text-md-h2 text-sm-h3 ma-10">Юрий говорит:</p> | ||||
|                             <p class="text-h5 text-xl-h2 text-md-h3 text-sm-h4 ma-10 vertical-center align-stretch">{{ currentPhrase }}</p> | ||||
|                         </div> | ||||
|                         <div class="d-flex align-center justify-center flex-column"> | ||||
|                             <v-btn | ||||
|                                 variant="elevated" | ||||
|                                 color="#94BBE9FF" | ||||
|                                 @click="reloadPhrase" | ||||
|                                 class="ml-10 mr-10 mt-3 mb-3"> | ||||
|                                 Другая фраза | ||||
|                             </v-btn> | ||||
|                             <a | ||||
|                                 v-if="currentPhrase === secret" | ||||
|                                 href="/download/basya_answer.docx" | ||||
|                                 class="ml-10 mr-10 mt-3 mb-3"> | ||||
|                                 <v-btn variant="elevated">Инструкция</v-btn> | ||||
|                             </a> | ||||
|                         </div> | ||||
|                     <div class="d-flex flex-column align-center justify-center main-text"> | ||||
|                         <p class="text-h1 ma-10">Юрий говорит:</p> | ||||
|                         <p class="text-h2 ma-10 vertical-center align-stretch">{{ currentPhrase }}</p> | ||||
|                     </div> | ||||
|                     <div class="d-flex align-center justify-center"> | ||||
|                         <v-btn | ||||
|                             variant="elevated" | ||||
|                             color="#94BBE9FF" | ||||
|                             @click="reloadPhrase" | ||||
|                             class="ma-10"> | ||||
|                             Другая фраза | ||||
|                         </v-btn> | ||||
|                         <a | ||||
|                             v-if="currentPhrase === phrases[23]" | ||||
|                             href="/download/basya_answer.docx" | ||||
|                             class="ma-10"> | ||||
|                             <v-btn variant="elevated">Инструкция</v-btn> | ||||
|                         </a> | ||||
|                     </div> | ||||
|                 </v-card-text> | ||||
|             </v-card> | ||||
|  | @ -34,48 +31,49 @@ | |||
| 
 | ||||
| <script> | ||||
| import {ref} from 'vue'; | ||||
| import axios from "axios"; | ||||
| export default { | ||||
|     name: "Basya", | ||||
|     data: () => ({ | ||||
|         secret: 'Для более быстрого результата, можете попробовать самостоятельно исправить ошибку по приложенной инструкции', | ||||
|         phrases: ref(), | ||||
|         fetching: true, | ||||
|         currentPhrase: ref(), | ||||
|         winWidth: ref(document.documentElement.clientWidth), | ||||
|         // size: ref(), | ||||
|         isLess: false | ||||
|         phrases: [ | ||||
|             'Доброе утро. С проблемой боремся.', | ||||
|             'Авария у провайдера, сроков на данный момент нет, разбираются', | ||||
|             'Перегрузите страницу, все должно работать', | ||||
|             'Доброе утро, смотрим', | ||||
|             'Коллеги внимание!!! Сейчас аис не будет работать в течение 10 минут. Вынужденные работы. Просьба предупредить всех', | ||||
|             'Коллеги, пробуйте', | ||||
|             'Коллеги, проблема массовая, разбираемся', | ||||
|             'Попробуйте сейчас', | ||||
|             'Коллеги, уточняем по проблеме. Как будет понятно, напишем', | ||||
|             'Коллеги, занимаемся проблемой', | ||||
|             'По срокам пока сказать не могу', | ||||
|             'Добрый день. Разбираемся', | ||||
|             'Перепроверьте услуги', | ||||
|             'Обновите страницу ctrl+f5', | ||||
|             'Коллеги минуту, разбираемся', | ||||
|             'скиньте скриншот', | ||||
|             'Коллеги, проблема массовая, решается', | ||||
|             'Подождите еще', | ||||
|             'Коллеги, разбираемся', | ||||
|             'Работаем', | ||||
|             'Коллеги, проблема массовая. Ожидайте сигнала.', | ||||
|             'Сегодня будем плотно разбираться, что происходит. Непонятно пока из-за чего.', | ||||
|             'Коллеги, проблема общая. Сейчас решаем вопрос.', | ||||
|             'Для более быстрого результата, можете попробовать самостоятельно исправить ошибку по приложенной инструкции' | ||||
|         ], | ||||
|         currentPhrase: ref() | ||||
|     }), | ||||
|     methods: { | ||||
|         reloadPhrase(){ | ||||
|             let newPhrase = this.phrases[Math.floor(Math.random() * this.phrases.length)].phrase; | ||||
|             let newPhrase = this.phrases[Math.floor(Math.random() * this.phrases.length)]; | ||||
|             if (newPhrase === this.currentPhrase){ | ||||
|                 this.reloadPhrase(); | ||||
|             } else { | ||||
|                 this.currentPhrase = newPhrase; | ||||
|             } | ||||
|         }, | ||||
|         onResize(e) { | ||||
|             this.winWidth = ref(document.documentElement.clientWidth); | ||||
|             console.log(this.winWidth.value); | ||||
|         } | ||||
|     }, | ||||
|     mounted() { | ||||
|         axios | ||||
|             .get('/api/v1/phrases') | ||||
|             .then(response => { | ||||
|                 this.phrases = response.data; | ||||
|                 this.reloadPhrase(); | ||||
|                 this.fetching = false; | ||||
|             }); | ||||
|         this.isLess = ref(this.winWidth.value <= 600 ? 'flex-column' : ''); | ||||
|         /* | ||||
|         this.size = this.winWidth <= 600 ?  'x-small' : | ||||
|                         this.winWidth > 600 && this.winWidth <= 960 ? 'small' : | ||||
|                             this.winWidth > 960 && this.winWidth <= 1280 ? '' : | ||||
|                                 this.winWidth > 1280 && this.winWidth <= 1920 ? 'large' : | ||||
|                                     this.winWidth > 1920 ? 'x-large' : ''; | ||||
|          */ | ||||
|         this.reloadPhrase(); | ||||
|     } | ||||
| } | ||||
| </script> | ||||
|  | @ -84,7 +82,13 @@ export default { | |||
| 
 | ||||
| .bg-gradient { | ||||
|     background: rgb(238, 174, 202)!important; | ||||
|     background: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%)!important; | ||||
|     background: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%)!important;; | ||||
|     /* | ||||
|     background: linear-gradient(-45deg, #f103b0, #f0a068, #4fdbfeff); | ||||
|     background-size: 200% 200%; | ||||
|     animation: gradient 15s ease infinite; | ||||
|     height: 100vh; | ||||
|     */ | ||||
| } | ||||
| 
 | ||||
| .main-sheet-bg { | ||||
|  | @ -99,5 +103,11 @@ export default { | |||
| 
 | ||||
| .vertical-center { | ||||
|     justify-content: center; | ||||
|     /* -ms-transform: translate(-50%, -50%); | ||||
|     transform: translate(-50%, -50%); | ||||
| 
 | ||||
|     transform: translateY(-50%); | ||||
|     */ | ||||
| } | ||||
| 
 | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,18 +1,18 @@ | |||
| <template> | ||||
|     <div> | ||||
|         <p class="text-xl-h3 text-lg-h4 text-md-h4 text-sm-h5 text-h6 pb-3">Образование</p> | ||||
|         <v-table class="pb-5 main-sheet-bg text-xl-h5 text-lg-h6 text-md-body-1 text-sm-body-1 text-body-2"> | ||||
|         <p class="text-h5 pb-3">Образование</p> | ||||
|         <v-table class="pb-5 main-sheet-bg"> | ||||
|             <tbody> | ||||
|             <tr> | ||||
|                 <td class="pb-2">2020</td> | ||||
|                 <td class="pb-2"> | ||||
|                 <td>2020</td> | ||||
|                 <td> | ||||
|                     <p>Братский государственный университет, Братск</p> | ||||
|                     <p>Факультет экономики и управления, Прикладная информатика в экономике (бакалавриат)</p> | ||||
|                 </td> | ||||
|             </tr> | ||||
|             <tr> | ||||
|                 <td class="pt-2 pb-2">2024</td> | ||||
|                 <td class="pt-2 pb-2"> | ||||
|                 <td>2024</td> | ||||
|                 <td> | ||||
|                     <p>Братский государственный университет, Братск</p> | ||||
|                     <p>Факультет энергетики и автоматики, Веб технологии и информационный анализ данных (магистратура)</p> | ||||
|                 </td> | ||||
|  |  | |||
|  | @ -1,15 +1,15 @@ | |||
| <template> | ||||
|     <div> | ||||
|         <p class="text-xl-h3 text-lg-h4 text-md-h4 text-sm-h5 text-h6 pb-3">Опыт работы</p> | ||||
|         <v-table class="pb-5 main-sheet-bg text-xl-h5 text-lg-h6 text-md-body-1 text-sm-body-1 text-body-2"> | ||||
|         <p class="text-h5 pb-3">Опыт работы</p> | ||||
|         <v-table class="pb-5 main-sheet-bg"> | ||||
|             <tbody> | ||||
|             <tr> | ||||
|                 <td class="pb-2">Февраль 2022 — август 2023</td> | ||||
|                 <td class="pb-2"><p>Муниципальное казенное учреждение «Центр информационно-технического и транспортного обслуживания» муниципального образования города Братска</p></td> | ||||
|                 <td>Февраль 2022 — август 2023</td> | ||||
|                 <td><p>Муниципальное казенное учреждение «Центр информационно-технического и транспортного обслуживания» муниципального образования города Братска</p></td> | ||||
|             </tr> | ||||
|             <tr> | ||||
|                 <td class="pt-2 pb-2">Сентябрь 2023 — по настоящее время</td> | ||||
|                 <td class="pt-2 pb-2">Государственное Автономное Учреждение «Иркутский областной многофункциональный центр предоставления государственных и муниципальных услуг»</td> | ||||
|                 <td>Сентябрь 2023 — по настоящее время</td> | ||||
|                 <td>Государственное Автономное Учреждение «Иркутский областной многофункциональный центр предоставления государственных и муниципальных услуг»</td> | ||||
|             </tr> | ||||
|             </tbody> | ||||
|         </v-table> | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <template> | ||||
|     <div> | ||||
|         <p class="text-xl-h3 text-md-h4 text-sm-h5 text-h6 pb-3">Профессиональные навыки</p> | ||||
|         <p style="text-indent: 1em; text-align: justify" class="pb-5 text-body-2 text-xl-h5 text-lg-h6 text-md-body-1 text-sm-body-1">Хорошо знаю Java, на прошлом месте работы в основном занимался разработкой консольных/десктопных приложений на данном языке | ||||
|         <p class="text-h5 pb-3">Профессиональные навыки</p> | ||||
|         <p style="text-indent: 1em; text-align: justify" class="pb-5">Хорошо знаю Java, на прошлом месте работы в основном занимался разработкой консольных/десктопных приложений на данном языке | ||||
|             (муниципальный сектор). Планирую в ближайшее время изучить Spring Framework. В работе активно использую Git. Из СУБД плотно работаю с | ||||
|             MySQL, Postgresql. Иногда по работе приходилось писать или дорабатывать небольшие сайты на HTML+CSS+JS (и иногда PHP) и | ||||
|             дорабатывать веб-приложение на ASP.NET (Жил. фонд). На текущем месте работы занимаюсь разработкой, доработкой и поддержкой сайтов и веб-приложений | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <template> | ||||
|     <div class="d-flex justify-end align-center"> | ||||
|         <v-table class="main-sheet-bg text-xl-h6 text-lg-body-1 text-md-body-1 text-sm-body-1 text-caption pl-5" :class="[this.isMore700 ? this.isWide ? 'w-25' : 'w-66' : 'w-100']" style="text-align: left"> | ||||
|         <v-table class="main-sheet-bg pl-5" :class="[this.isWide ? 'w-25' : 'w-66']" style="text-align: left"> | ||||
|             <tbody> | ||||
|             <tr> | ||||
|                 <td><v-icon :icon="`mdi-account`"></v-icon>Возраст</td> | ||||
|  | @ -20,7 +20,7 @@ | |||
|             </tr> | ||||
|             </tbody> | ||||
|         </v-table> | ||||
|         <div v-if="this.isMore700" class="w-33"> | ||||
|         <div class="w-33"> | ||||
|             <v-img class="image-gradient" src="./resume.png"></v-img> | ||||
|         </div> | ||||
|     </div> | ||||
|  | @ -38,8 +38,7 @@ export default { | |||
|         }, | ||||
|         windowHeight: document.documentElement.clientHeight, | ||||
|         windowWidth: document.documentElement.clientWidth, | ||||
|         isWide: window.innerWidth > 1750, | ||||
|         isMore700: window.innerWidth > 700, | ||||
|         isWide: window.innerWidth > 1000, | ||||
|         tableClass: 'w-25' | ||||
|     }), | ||||
|     created() { | ||||
|  | @ -53,18 +52,13 @@ export default { | |||
|         myEventHandler(e) { | ||||
|             this.windowHeight = document.documentElement.clientHeight; | ||||
|             this.windowWidth = document.documentElement.clientWidth; | ||||
|             if (this.windowWidth < 1750){ | ||||
|             if (this.windowWidth < 1000){ | ||||
|                 this.isWide = false; | ||||
|                 this.tableClass = 'w-66'; | ||||
|             } else { | ||||
|                 this.isWide = true; | ||||
|                 this.tableClass = 'w-33'; | ||||
|             } | ||||
|             if (this.windowWidth < 700){ | ||||
|                 this.isMore700 = false; | ||||
|             } else { | ||||
|                 this.isMore700 = true; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -18,4 +18,3 @@ | |||
| Route::get('/links', 'App\Http\Controllers\LinksController@index')->name('links'); | ||||
| Route::get('/schedules', 'App\Http\Controllers\SchedulesController@index')->name('schedules'); | ||||
| Route::get('/dates', 'App\Http\Controllers\SchedulesController@mmDate')->name('dates'); | ||||
| Route::get('/phrases', 'App\Http\Controllers\BasyaPhrasesController@index')->name('phrases'); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue