Сделал страницу info, осталась авторизация и прочее........

This commit is contained in:
Кашин Максим 2023-10-27 22:48:46 +04:00
parent 4d638832bd
commit 002af1f624
6 changed files with 251 additions and 60 deletions

View File

@ -1,41 +1,18 @@
package com.example.labwork.button_navigation package com.example.labwork.button_navigation
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
import androidx.compose.ui.unit.sp
import com.example.labwork.R
import com.example.labwork.pages.ItemProduct
import com.example.labwork.pages.ListInfo import com.example.labwork.pages.ListInfo
import com.example.labwork.pages.ListProduct import com.example.labwork.pages.ListProduct
import com.example.labwork.pages.getItemProducts import com.example.labwork.models.getItemProducts
@Composable @Composable
fun ScreenInfo() { fun ScreenInfo() {

View File

@ -1,4 +1,4 @@
package com.example.labwork.pages package com.example.labwork.models
import com.example.labwork.R import com.example.labwork.R
import java.io.Serializable import java.io.Serializable

View File

@ -0,0 +1,4 @@
package com.example.labwork.pages
class ListAuthorization {
}

View File

@ -2,15 +2,16 @@ package com.example.labwork.pages
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Tab import androidx.compose.material.Tab
import androidx.compose.material.TabRow import androidx.compose.material.TabRow
import androidx.compose.material.TabRowDefaults import androidx.compose.material.TabRowDefaults
@ -24,14 +25,16 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Alignment.Companion.CenterHorizontally
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.shadow import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.example.labwork.R import com.example.labwork.R
import com.example.labwork.ui.theme.DarkBluePolitech
import com.example.labwork.ui.theme.LightBluePolitech import com.example.labwork.ui.theme.LightBluePolitech
@ -44,15 +47,19 @@ fun ListInfo() {
.padding(16.dp) .padding(16.dp)
.align(Alignment.TopCenter) .align(Alignment.TopCenter)
) { ) {
Image( Box(
painter = painterResource(id = R.drawable.logo_ulstu),
contentDescription = "Menu Image",
modifier = Modifier modifier = Modifier
.size(200.dp) .size(200.dp)
.align(CenterHorizontally) .align(CenterHorizontally)
.shadow(16.dp) .clip(shape = RoundedCornerShape(8.dp))
.background(color = Color.Transparent) .shadow(16.dp, shape = RoundedCornerShape(8.dp))
) {
Image(
painter = painterResource(id = R.drawable.logo_ulstu),
contentDescription = "Menu Image",
Modifier.fillMaxSize()
) )
}
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
TabRow( TabRow(
selectedTabIndex = selectedTab, selectedTabIndex = selectedTab,
@ -73,8 +80,9 @@ fun ListInfo() {
onClick = { selectedTab = 0 } onClick = { selectedTab = 0 }
) { ) {
Text( Text(
text = "Tab 1", text = "Университет",
modifier = Modifier.padding(8.dp) modifier = Modifier.padding(8.dp),
textAlign = TextAlign.Center,
) )
} }
Tab( Tab(
@ -82,8 +90,9 @@ fun ListInfo() {
onClick = { selectedTab = 1 } onClick = { selectedTab = 1 }
) { ) {
Text( Text(
text = "Tab 2", text = "Библиотека",
modifier = Modifier.padding(8.dp) modifier = Modifier.padding(8.dp),
textAlign = TextAlign.Center,
) )
} }
Tab( Tab(
@ -91,28 +100,236 @@ fun ListInfo() {
onClick = { selectedTab = 2 } onClick = { selectedTab = 2 }
) { ) {
Text( Text(
text = "Tab 3", text = "Контакты разработчиков",
modifier = Modifier.padding(8.dp) modifier = Modifier
.padding(8.dp),
textAlign = TextAlign.Center,
) )
} }
} }
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
when (selectedTab) { when (selectedTab) {
0 -> TabContent("Tab 1 Content") 0 -> InfoUniver()
1 -> TabContent("Tab 2 Content") 1 -> InfoBiblio()
2 -> TabContent("Tab 3 Content") 2 -> InfoProgrammer()
} }
} }
} }
} }
@Composable @Composable
fun TabContent(content: String) { fun InfoUniver() {
Column(modifier = Modifier.fillMaxWidth()) { LazyColumn(
modifier = Modifier.fillMaxSize().padding(bottom = 65.dp),
contentPadding = PaddingValues(16.dp)
) {
item {
Text( Text(
text = content, text = "Основные сведения",
modifier = Modifier.padding(16.dp), fontSize = 24.sp,
fontSize = 18.sp fontWeight = FontWeight.Bold
)
Spacer(modifier = Modifier.height(16.dp))
Text(
"Полное наименование образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(
text = "Федеральное государственное бюджетное образовательное учреждение высшего образования \"Ульяновский государственный технический университет\""
)
Spacer(modifier = Modifier.height(8.dp))
Text(
"Сокращенное (при наличии) наименование образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "УлГТУ, Ульяновский государственный технический университет")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Дата создания образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "18.09.1957")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Адрес местонахождения образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "432027, Ульяновская область, г. Ульяновск, улица Северный Венец, дом 32")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Филиалы образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "Имеются")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Представительства образовательной организации",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "Имеются")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Режим, график работы",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "Понедельник-четверг - 8.30 - 17.22")
Text(text = "Пятница- 8.30 - 16.22")
Text(text = "Перерыв 13.00 до 13.40")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Контактные телефоны",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "8(8422)43-02-37")
Spacer(modifier = Modifier.height(8.dp))
Text(
"Адреса электронной почты",
fontSize = 16.sp,
fontWeight = FontWeight.Bold
)
Text(text = "rector@ulstu.ru")
}
}
}
@Composable
fun InfoBiblio() {
LazyColumn(
modifier = Modifier.fillMaxSize().padding(bottom = 65.dp),
contentPadding = PaddingValues(16.dp)
) {
item {
Text(
text = "Основные сведения",
fontSize = 24.sp,
fontWeight = FontWeight.Bold
)
Spacer(modifier = Modifier.height(16.dp))
Text("Технический университет подобным сокровищем обладает!",modifier = Modifier.padding(bottom = 16.dp))
Text(
text = "Наша Научная библиотека соответствует всем современным требованиям технического вуза. Постоянно пополняющийся библиотечный фонд составляет более 1100 тыс. единиц хранения, формируется по специальностям (с учетом всех направлений учебного и научного процессов университета) изданиями, отвечающими требованиям программ высшей школы. В фонде имеются зарубежные издания, диссертации, авторефераты, документы на электронных носителях. Пользователям предоставляется доступ к электронным ресурсам удалённого доступа, входящим в состав электронно-библиотечной системы «ЭльбруС» УлГТУ."
,modifier = Modifier.padding(bottom = 16.dp)
)
Text(
text = "К услугам читателей: зал каталогов, aвонементы научной и учебной литературы, общий читальный зал, отдел экономической и иностранной литературы. Выдача комплектов учебников первокурсникам, зал для аспирантов и преподавателей, зал периодических изданий, читальный зал машиностроительного факультета, читальный зал электронных ресурсов, отдел художественной литературы, научно-библиографический отдел, библиотека Института авиационных технологий и управления, Барышского колледжа — филиала УлГТУ."
,modifier = Modifier.padding(bottom = 16.dp)
)
Text(
text = "Абонемент учебной литературы обеспечивает студентов и лицеистов учебниками и учебными пособиями в соответствии с учебными программами. Научные, научно-популярные и справочные издания для подготовки рефератов, докладов, курсовых и дипломных работ, а также издания по орган. Располагает богатым фондом справочных и информационных изданий. В отделе художественной литературы собраны книги на любой вкус: есть классическая русская и зарубежная, современная отечественная и иностранная литература; тематика книг - от фантастики, детективов, приключений и женских романов до серьезной, философской литературы. В отделе иностранной литературы хранятся учебные и научные издания на английском, немецком и французском языках. Читальный зал электронных ресурсов (медиатека) НБ УлГТУ располагает фондом CD, DVD по различным отраслям знаний. На территории Научной библиотеки размещены точки доступа в Интернет по технологии Wi-Fi. Право доступа в беспроводную локальной сети предоставляется всем желающим студентам и сотрудникам университета, имеющим учетную запись пользователя корпоративной сети университета."
,modifier = Modifier.padding(bottom = 16.dp)
)
Text(
text = "События библиотечной жизни оперативно отражаются на нашем сайте (http://lib.ulstu.ru), сайт также обеспечивает круглосуточный доступ пользователей к каталогам и базам данных библиотеки."
,modifier = Modifier.padding(bottom = 16.dp)
)
Text(
text = "Научная библиотека ведёт активную работу в помощь духовно-нравственному, патриотическому и эстетическому воспитанию своих читателей, используя различные формы и методы библиотечного обслуживания, такие как: книжные выставки, тематические обзоры, беседы, творческие встречи с интересными людьми, конкурсы и викторины."
,modifier = Modifier.padding(bottom = 16.dp)
)
Spacer(modifier = Modifier.height(16.dp))
Text("Адреса электронной почты",
fontSize = 16.sp,
fontWeight = FontWeight.Bold)
Text(text = "rector@ulstu.ru")
}
}
}
@Composable
fun InfoProgrammer() {
LazyColumn(
modifier = Modifier.fillMaxSize().padding(bottom = 65.dp),
contentPadding = PaddingValues(16.dp)
) {
item {
Text(
text = "Основные сведения",
fontSize = 24.sp,
fontWeight = FontWeight.Bold
)
Box(
modifier = Modifier
.size(200.dp)
.clip(shape = RoundedCornerShape(8.dp))
) {
Image(
painter = painterResource(id = R.drawable.kashinmaksim),
contentDescription = "Maxim",
contentScale = ContentScale.Crop,
modifier = Modifier.fillMaxSize()
)
}
Spacer(modifier = Modifier.height(16.dp))
Text("Подробная информация",
fontSize = 16.sp,
fontWeight = FontWeight.Bold)
Text(
text = "Кашин Максим Игоревич"
)
Text("Личная информация",
fontSize = 16.sp,
fontWeight = FontWeight.Bold)
Text(
text = "Родной город: Сыктывкар"
)
Text(
text = "Языки: Русский"
)
Text(
text = "День рождения: 23 декабря"
)
Text("Место работы",
fontSize = 16.sp,
fontWeight = FontWeight.Bold)
Text(
text = "ДЦТ ЛАОП"
)
Text("Образование",
fontSize = 16.sp,
fontWeight = FontWeight.Bold)
Text(
text = "Вуз: УлГТУ"
)
Text(
text = "Факультет: Факультет информационных систем и технологий"
)
Text(
text = "Специальность: Программная инженерия"
)
Text(
text = "Школа: Школа № 7 Димитровград до 2021 г."
) )
} }
} }
}

View File

@ -14,35 +14,28 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.Button import androidx.compose.material.Button
import androidx.compose.material.ButtonDefaults import androidx.compose.material.ButtonDefaults
import androidx.compose.material.Card import androidx.compose.material.Card
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.scale import androidx.compose.ui.draw.scale
import androidx.compose.ui.draw.shadow import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.Role.Companion.Button
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.example.labwork.R import com.example.labwork.models.ItemProduct
import com.example.labwork.ui.theme.DarkBluePolitech
import com.example.labwork.ui.theme.LightBluePolitech import com.example.labwork.ui.theme.LightBluePolitech
@ -90,7 +83,7 @@ fun ListProduct(item: ItemProduct) {
} }
Column { Column {
Text(text = item.name, Text(text = item.name,
color = DarkBluePolitech, color = Color.Black,
fontSize = if (isFullAbout) 18.sp else 24.sp, fontSize = if (isFullAbout) 18.sp else 24.sp,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
@ -103,7 +96,7 @@ fun ListProduct(item: ItemProduct) {
modifier = Modifier.scale(scale) modifier = Modifier.scale(scale)
) { ) {
Text( Text(
color = DarkBluePolitech, color = Color.Black,
text = item.about, text = item.about,
maxLines = 10, maxLines = 10,
fontSize = 14.sp, fontSize = 14.sp,

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 KiB