bootstrap migrate
This commit is contained in:
0
htmlexamples/assets/style.css
Normal file
0
htmlexamples/assets/style.css
Normal file
182
htmlexamples/core.html
Normal file
182
htmlexamples/core.html
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Test page</title>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"
|
||||||
|
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
</head>
|
||||||
|
<body data-bs-theme="dark">
|
||||||
|
|
||||||
|
<nav class="navbar navbar-expand-lg bg-body-tertiary">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">Kurious</a>
|
||||||
|
<button
|
||||||
|
class="navbar-toggler"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="collapse"
|
||||||
|
data-bs-target="#navbarNavAltMarkup"
|
||||||
|
aria-controls="navbarNavAltMarkup"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-label="Toggle navigation"
|
||||||
|
>
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
|
||||||
|
<div class="navbar-nav">
|
||||||
|
<a class="nav-link active" aria-current="page" href="#">Home</a>
|
||||||
|
<a class="nav-link" href="#">About us</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<nav style="--bs-breadcrumb-divider: '>'" aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item"><a href="#">Home</a></li>
|
||||||
|
<li class="breadcrumb-item" aria-current="page">
|
||||||
|
<a href="#">Course</a>
|
||||||
|
</li>
|
||||||
|
<li class="breadcrumb-item active" aria-current="page">Theme</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="row row-cols-1 row-cols-md-4 g-4">
|
||||||
|
<div class="col">
|
||||||
|
<div class="card">
|
||||||
|
<img
|
||||||
|
src="https://placehold.co/128x128"
|
||||||
|
class="card-img-top"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
Lorem, ipsum dolor sit amet consectetur adipisicing elit.
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
|
||||||
|
omnis vero, reiciendis obcaecati perferendis excepturi nostrum
|
||||||
|
nobis itaque modi dignissimos ...
|
||||||
|
</p>
|
||||||
|
<!-- <a href="#" class="btn btn-primary">Go somewhere</a> -->
|
||||||
|
</div>
|
||||||
|
<div class="list-group">
|
||||||
|
<a href="#" class="btn btn-primary">Buy for 399.99$</a>
|
||||||
|
<small class="text-body-secondary"></small>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
|
<small class="text-body-secondary col">399.99$</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<div class="card">
|
||||||
|
<img
|
||||||
|
src="https://placehold.co/128x128"
|
||||||
|
class="card-img-top"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
Lorem, ipsum dolor sit amet consectetur adipisicing elit.
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
|
||||||
|
omnis vero, reiciendis obcaecati perferendis excepturi nostrum
|
||||||
|
nobis itaque modi dignissimos ...
|
||||||
|
</p>
|
||||||
|
<a href="#" class="btn btn-primary">Go somewhere</a>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
|
<small class="text-body-secondary">399.99$</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<div class="card">
|
||||||
|
<img
|
||||||
|
src="https://placehold.co/128x128"
|
||||||
|
class="card-img-top"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
Lorem, ipsum dolor sit amet consectetur adipisicing elit.
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
|
||||||
|
omnis vero, reiciendis obcaecati perferendis excepturi nostrum
|
||||||
|
nobis itaque modi dignissimos ...
|
||||||
|
</p>
|
||||||
|
<a href="#" class="btn btn-primary">Go somewhere</a>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
|
<small class="text-body-secondary">399.99$</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<div class="card">
|
||||||
|
<img
|
||||||
|
src="https://placehold.co/128x128"
|
||||||
|
class="card-img-top"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
Lorem, ipsum dolor sit amet consectetur adipisicing elit.
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
|
||||||
|
omnis vero, reiciendis obcaecati perferendis excepturi nostrum
|
||||||
|
nobis itaque modi dignissimos ...
|
||||||
|
</p>
|
||||||
|
<a href="#" class="btn btn-primary">Go somewhere</a>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
|
<small class="text-body-secondary">399.99$</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<div class="card">
|
||||||
|
<img
|
||||||
|
src="https://placehold.co/128x128"
|
||||||
|
class="card-img-top"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">
|
||||||
|
Lorem, ipsum dolor sit amet consectetur adipisicing elit.
|
||||||
|
</h5>
|
||||||
|
<p class="card-text">
|
||||||
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Enim
|
||||||
|
omnis vero, reiciendis obcaecati perferendis excepturi nostrum
|
||||||
|
nobis itaque modi dignissimos ...
|
||||||
|
</p>
|
||||||
|
<a href="#" class="btn btn-primary">Go somewhere</a>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
|
<small class="text-body-secondary">399.99$</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
126
htmlexamples/index.html
Normal file
126
htmlexamples/index.html
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
<head>
|
||||||
|
<title></title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
|
<script>
|
||||||
|
tailwind.config = {
|
||||||
|
theme: {
|
||||||
|
extend: {
|
||||||
|
colors: {
|
||||||
|
clifford: '#da373d',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style type="text/tailwindcss">
|
||||||
|
@layer utilities {
|
||||||
|
.content-auto {
|
||||||
|
content-visibility: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 class="text-3xl font-bold underline text-clifford">
|
||||||
|
Привет мир!
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center space-x-4">
|
||||||
|
<div class="shrink-0">
|
||||||
|
<img class="h-12 w-12" src="/img/logo.svg" alt="ChitChat Logo">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="text-xl font-medium text-black">ChitChat</div>
|
||||||
|
<p class="text-slate-500">У вас новое сообщение!</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="py-8 px-8 max-w-sm mx-auto bg-white rounded-xl shadow-lg space-y-2 sm:py-4 sm:flex sm:items-center sm:space-y-0 sm:space-x-6">
|
||||||
|
<img class="block mx-auto h-24 rounded-full sm:mx-0 sm:shrink-0" src="/img/erin-lindford.jpg" alt="Женское лицо" />
|
||||||
|
<div class="text-center space-y-2 sm:text-left">
|
||||||
|
<div class="space-y-0.5">
|
||||||
|
<p class="text-lg text-black font-semibold">
|
||||||
|
Эрин Линдфорд
|
||||||
|
</p>
|
||||||
|
<p class="text-slate-500 font-medium">
|
||||||
|
Инженер по продукту
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<button class="px-4 py-1 text-sm text-purple-600 font-semibold rounded-full border border-purple-200 hover:text-white hover:bg-purple-600 hover:border-transparent focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2">Сообщение</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="bg-sky-500 hover:bg-sky-700 px-4 py-1 rounded-full border border-purple-200 hover:text-white hover:bg-purple-600 hover:border-transparent focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2">
|
||||||
|
Сохранить изменения
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button class="dark:md:hover:bg-fuchsia-600 px-4 py-1 rounded-full border border-purple-200 hover:text-white hover:bg-purple-600 hover:border-transparent focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2">
|
||||||
|
Сохранить изменения
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<ul role="list" class="p-6 divide-y divide-slate-200">
|
||||||
|
<li class="flex py-4 first:pt-0 last:pb-0">
|
||||||
|
<img class="h-10 w-10 rounded-full" src="{person.imageUrl}" alt="" />
|
||||||
|
<div class="ml-3 overflow-hidden">
|
||||||
|
<p class="text-sm font-medium text-slate-900">{person.name}</p>
|
||||||
|
<p class="text-sm text-slate-500 truncate">{person.email}</p>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="py-8 px-8 max-w-sm max-auto">
|
||||||
|
<form>
|
||||||
|
<label class="block">
|
||||||
|
<span class="block text-sm font-medium text-slate-700">Имя пользователя</span>
|
||||||
|
<!-- Using form state modifiers, the classes can be identical for every input -->
|
||||||
|
<input type="text" value="tbone" disabled class="mt-1 block w-full px-3 py-2 bg-white border border-slate-300 rounded-md text-sm shadow-sm placeholder-slate-400
|
||||||
|
focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500
|
||||||
|
disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
|
||||||
|
invalid:border-pink-500 invalid:text-pink-600
|
||||||
|
focus:invalid:border-pink-500 focus:invalid:ring-pink-500"
|
||||||
|
/>
|
||||||
|
<span class="block text-sm font-medium text-slate-700">Password</span>
|
||||||
|
<!-- Using form state modifiers, the classes can be identical for every input -->
|
||||||
|
<input type="text" value="tbone" disabled class="mt-1 block w-full px-3 py-2 bg-white border border-slate-300 rounded-md text-sm shadow-sm placeholder-slate-400
|
||||||
|
focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500
|
||||||
|
disabled:bg-slate-50 disabled:text-slate-500 disabled:border-slate-200 disabled:shadow-none
|
||||||
|
invalid:border-pink-500 invalid:text-pink-600
|
||||||
|
focus:invalid:border-pink-500 focus:invalid:ring-pink-500"
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
<!-- ... -->
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="#" class="group block max-w-xs mx-auto rounded-lg p-6 bg-white ring-1 ring-slate-900/5 shadow-lg space-y-3 hover:bg-sky-500 hover:ring-sky-500">
|
||||||
|
<div class="flex items-center space-x-3">
|
||||||
|
<svg class="h-6 w-6 stroke-sky-500 group-hover:stroke-white" fill="none" viewBox="0 0 24 24"><!-- ... --></svg>
|
||||||
|
<h3 class="text-slate-900 group-hover:text-white text-sm font-semibold">Новый проект</h3>
|
||||||
|
</div>
|
||||||
|
<p class="text-slate-500 group-hover:text-white text-sm">Создайте новый проект из множества начальных шаблонов.</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="container mx-auto px-4">
|
||||||
|
<div class="columns-3 gap-8">
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
<div class="bg-sky-300 rounded-lg box-content h-32 w-32 p-4 border-4">hello</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
139
htmlexamples/new.html
Normal file
139
htmlexamples/new.html
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Test page</title>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||||
|
integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous" />
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"
|
||||||
|
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
<link rel="stylesheet" href="/assets/style.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg bg-body-tertiary w-auto">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">Some text</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
|
||||||
|
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link active" aria-current="page" href="#">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">About us</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container p-4">
|
||||||
|
|
||||||
|
<nav style="--bs-breadcrumb-divider: '/';" aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li class="breadcrumb-item"><a href="#">Main</a></li>
|
||||||
|
<li class="breadcrumb-item" aria-current="page"><a href="#">Languages</a></li>
|
||||||
|
<li class="breadcrumb-item active" aria-current="page">Japanese</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="input-group mb-3 w-75">
|
||||||
|
|
||||||
|
<span class="input-group-text">Filter categories</span>
|
||||||
|
|
||||||
|
<select class="form-select" id="inputGroupSelect04" aria-label="Example select with button addon">
|
||||||
|
<option selected>All</option>
|
||||||
|
<option value="1">Programming</option>
|
||||||
|
<option value="2">Design</option>
|
||||||
|
<option value="3">Business</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select class="form-select" id="inputGroupSelect04" aria-label="Example select with button addon">
|
||||||
|
<option selected>All</option>
|
||||||
|
<option value="1">Web development</option>
|
||||||
|
<option value="2">Backend</option>
|
||||||
|
<option value="3">Frontend</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<button class="btn btn-outline-secondary" type="button">> Go</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">Languages</h1>
|
||||||
|
<span>A languages category provides all courses to help learn language</span>
|
||||||
|
|
||||||
|
<div class="row g-3">
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<select class="form-select col-4" id="inputGroupSelect04" aria-label="Example select with button addon">
|
||||||
|
<option selected>Pick a school</option>
|
||||||
|
<option value="1">First school in the row</option>
|
||||||
|
<option value="2">Second but not the shortest named school</option>
|
||||||
|
<option value="3">Third small</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<select class="form-select col-4" id="inputGroupSelect04" aria-label="Example select with button addon">
|
||||||
|
<option selected>Sort by</option>
|
||||||
|
<option value="1">One</option>
|
||||||
|
<option value="2">Two</option>
|
||||||
|
<option value="3">Three</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col"></div>
|
||||||
|
<div class="col-2 text-end">
|
||||||
|
<div class="btn btn-primary">Promocodes</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<h2 class="title">Japanese</h2>
|
||||||
|
<span>Looking for a course to learn japanese language?</span>
|
||||||
|
|
||||||
|
<div class="container p-2">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="g-sm-4 g-2 col-12 col-md-6 col-lg-4">
|
||||||
|
<div class="card">
|
||||||
|
<img src="https://placehold.co/128x128" class="card-img-top" alt="...">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">Card title with a long naming</h5>
|
||||||
|
<div class="input-group">
|
||||||
|
<a href="#" class="btn text btn-outline-primary">Open ></a>
|
||||||
|
<span class="input-group-text justify-content-end flex-fill">500$</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="container">
|
||||||
|
<div class="text-end">
|
||||||
|
<p>(c) All right reserved</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
22
internal/kurious/ports/http/bootstrap/common.templ
Normal file
22
internal/kurious/ports/http/bootstrap/common.templ
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
templ button(title string, attributes templ.Attributes) {
|
||||||
|
<button class="button" { attributes... }>{ title }</button>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ buttonRedirect(id, title string, linkTo string) {
|
||||||
|
<button
|
||||||
|
class="button"
|
||||||
|
id={ "origin-link-" + id }
|
||||||
|
>
|
||||||
|
{ title }
|
||||||
|
</button>
|
||||||
|
|
||||||
|
@onclickRedirect("origin-link-" + id, linkTo)
|
||||||
|
}
|
||||||
|
|
||||||
|
script onclickRedirect(id, to string) {
|
||||||
|
document.getElementById(id).onclick = () => {
|
||||||
|
location.href = to
|
||||||
|
}
|
||||||
|
}
|
||||||
55
internal/kurious/ports/http/bootstrap/core.templ
Normal file
55
internal/kurious/ports/http/bootstrap/core.templ
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
templ head() {
|
||||||
|
<head>
|
||||||
|
<title>Test page</title>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link
|
||||||
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"
|
||||||
|
rel="stylesheet"
|
||||||
|
integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
/>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"
|
||||||
|
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
</head>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ navbar() {
|
||||||
|
<nav class="navbar navbar-expand-lg bg-body-tertiary w-auto">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">Kurious</a>
|
||||||
|
<button
|
||||||
|
class="navbar-toggler"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="collapse"
|
||||||
|
data-bs-target="#navbarSupportedContent"
|
||||||
|
aria-controls="navbarSupportedContent"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-label="Toggle navigation"
|
||||||
|
>
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link active" aria-current="page" href="#">На главную</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#">О нас</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ footer() {
|
||||||
|
<footer>
|
||||||
|
<div>
|
||||||
|
<span>(c) kurious, 2024. All rights reserved.</span>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
}
|
||||||
54
internal/kurious/ports/http/bootstrap/list.templ
Normal file
54
internal/kurious/ports/http/bootstrap/list.templ
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
script breadcrumbsLoad() {
|
||||||
|
const formFilterOnSubmit = event => {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
const lt = document.getElementById('learning-type-filter');
|
||||||
|
const ct = document.getElementById('course-thematic-filter');
|
||||||
|
|
||||||
|
const prefix = (lt !== null && lt.value !== '') ? `/courses/${lt.value}` : `/courses`;
|
||||||
|
const out = (ct !== null && ct.value !== '') ? `${prefix}/${ct.value}` : prefix;
|
||||||
|
|
||||||
|
document.location.assign(out);
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const ff = document.getElementById('filter-form');
|
||||||
|
if (ff === null) return;
|
||||||
|
ff.addEventListener('submit', formFilterOnSubmit);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
templ breadcrumbsItem(text, link string, isActive bool) {
|
||||||
|
<li class={"breadcrumb-item", templ.KV("active", isActive)}>
|
||||||
|
if link != "" {
|
||||||
|
<a href={ templ.SafeURL(link) } itemprop="url">
|
||||||
|
<span itemprop="title">{ text }</span>
|
||||||
|
</a>
|
||||||
|
} else {
|
||||||
|
<span itemprop="url" itemprop="title">{ text }</span>
|
||||||
|
}
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ breadcrumNode(params BreadcrumbsParams) {
|
||||||
|
// TODO: add divider to nav style
|
||||||
|
<nav
|
||||||
|
aria-label="breadcrumbs"
|
||||||
|
itemprop="breadcrumb"
|
||||||
|
itemtype="https://schema.org/BreadcrumbList"
|
||||||
|
itemscope
|
||||||
|
>
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
@breadcrumbsItem("Курсы", "/courses", params.ActiveCourseThematic.Empty())
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
}
|
||||||
|
|
||||||
95
internal/kurious/ports/http/bootstrap/vars.go
Normal file
95
internal/kurious/ports/http/bootstrap/vars.go
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
package bootstrap
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func getCompactedValue(value int) string {
|
||||||
|
var (
|
||||||
|
myValue float64
|
||||||
|
dim string
|
||||||
|
)
|
||||||
|
switch {
|
||||||
|
case value/1e6 > 0:
|
||||||
|
cutted := value / 1e3
|
||||||
|
myValue, dim = float64(cutted)/1e3, "m"
|
||||||
|
case value/1e3 > 0:
|
||||||
|
myValue, dim = float64(value/1e3), "k"
|
||||||
|
default:
|
||||||
|
myValue, dim = float64(value), ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.TrimSuffix(strconv.FormatFloat(myValue, 'f', 3, 32), ".000") + dim
|
||||||
|
}
|
||||||
|
|
||||||
|
func MakeNewStats(courses, clients, categories int) stats {
|
||||||
|
return stats{
|
||||||
|
CoursesCount: getCompactedValue(courses),
|
||||||
|
ClientsCount: getCompactedValue(clients),
|
||||||
|
CategoriesCount: getCompactedValue(categories),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type stats struct {
|
||||||
|
CoursesCount string
|
||||||
|
ClientsCount string
|
||||||
|
CategoriesCount string
|
||||||
|
}
|
||||||
|
|
||||||
|
type Category struct {
|
||||||
|
ID string
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c Category) Empty() bool {
|
||||||
|
return c == (Category{})
|
||||||
|
}
|
||||||
|
|
||||||
|
type BreadcrumbsParams struct {
|
||||||
|
ActiveLearningType Category
|
||||||
|
ActiveCourseThematic Category
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterFormParams struct {
|
||||||
|
BreadcrumbsParams
|
||||||
|
|
||||||
|
AvailableLearningTypes []Category
|
||||||
|
AvailableCourseThematics []Category
|
||||||
|
}
|
||||||
|
|
||||||
|
func isEmpty(s string) bool {
|
||||||
|
return s == ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type CourseInfo struct {
|
||||||
|
ID string
|
||||||
|
Name string
|
||||||
|
FullPrice int
|
||||||
|
ImageLink string
|
||||||
|
OriginLink string
|
||||||
|
}
|
||||||
|
|
||||||
|
type CategoryBaseInfo struct {
|
||||||
|
ID string
|
||||||
|
Name string
|
||||||
|
Description string
|
||||||
|
}
|
||||||
|
|
||||||
|
type CategoryContainer struct {
|
||||||
|
CategoryBaseInfo
|
||||||
|
|
||||||
|
Subcategories []SubcategoryContainer
|
||||||
|
}
|
||||||
|
|
||||||
|
type SubcategoryContainer struct {
|
||||||
|
CategoryBaseInfo
|
||||||
|
|
||||||
|
Courses []CourseInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListCoursesParams struct {
|
||||||
|
FilterForm FilterFormParams
|
||||||
|
|
||||||
|
Categories []CategoryContainer
|
||||||
|
}
|
||||||
331
tags
331
tags
@ -1,331 +0,0 @@
|
|||||||
!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
|
|
||||||
!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
|
|
||||||
!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
|
|
||||||
!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
|
|
||||||
!_TAG_FIELD_DESCRIPTION input /input file/
|
|
||||||
!_TAG_FIELD_DESCRIPTION name /tag name/
|
|
||||||
!_TAG_FIELD_DESCRIPTION pattern /pattern/
|
|
||||||
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
|
|
||||||
!_TAG_FIELD_DESCRIPTION!Go package /the real package specified by the package name/
|
|
||||||
!_TAG_FIELD_DESCRIPTION!Go packageName /the name for referring the package/
|
|
||||||
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
||||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
||||||
!_TAG_KIND_DESCRIPTION!DTD E,entity /entities/
|
|
||||||
!_TAG_KIND_DESCRIPTION!DTD a,attribute /attributes/
|
|
||||||
!_TAG_KIND_DESCRIPTION!DTD e,element /elements/
|
|
||||||
!_TAG_KIND_DESCRIPTION!DTD n,notation /notations/
|
|
||||||
!_TAG_KIND_DESCRIPTION!DTD p,parameterEntity /parameter entities/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go M,anonMember /struct anonymous members/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go P,packageName /name for specifying imported package/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go Y,unknown /unknown/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go a,talias /type aliases/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go c,const /constants/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go f,func /functions/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go i,interface /interfaces/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go m,member /struct members/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go n,methodSpec /interface method specification/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go p,package /packages/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go s,struct /structs/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go t,type /types/
|
|
||||||
!_TAG_KIND_DESCRIPTION!Go v,var /variables/
|
|
||||||
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
|
|
||||||
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
|
|
||||||
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
|
||||||
!_TAG_OUTPUT_VERSION 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!DTD 0.0 /current.age/
|
|
||||||
!_TAG_PARSER_VERSION!Go 0.0 /current.age/
|
|
||||||
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
|
|
||||||
!_TAG_PROC_CWD /home/pi/go/src/git.loyso.art/frx/kurious/ //
|
|
||||||
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
|
||||||
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
|
||||||
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
|
||||||
!_TAG_PROGRAM_VERSION 6.0.0 /c480d71e/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!DTD!element attOwner /attributes owner/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!DTD!parameterEntity condition /conditions/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!DTD!parameterEntity elementName /element names/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!DTD!parameterEntity partOfAttDef /part of attribute definition/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Go!package imported /imported package/
|
|
||||||
!_TAG_ROLE_DESCRIPTION!Go!unknown receiverType /receiver type/
|
|
||||||
APIGatewayURL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ APIGatewayURL string `json:"apiGatewayUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
Address internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Address string `json:"address"`$/;" m struct:sravni.Contacts typeref:typename:string
|
|
||||||
Advertising internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Advertising CourseAdvertising `json:"advertising"`$/;" m struct:sravni.Course typeref:typename:CourseAdvertising
|
|
||||||
AdvertisingOnly internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ AdvertisingOnly bool `json:"advertisingOnly"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:bool
|
|
||||||
Alias internal/domain/kurious/kurious.go /^ Alias string$/;" m struct:kurious.Organization typeref:typename:string
|
|
||||||
Alias internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Alias string `json:"alias"`$/;" m struct:sravni.Organization typeref:typename:string
|
|
||||||
Alias internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Alias string `json:"alias"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:string
|
|
||||||
Approved internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Approved int `json:"approved"`$/;" m struct:sravni.RatingsInfo typeref:typename:int
|
|
||||||
BrandingURL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ BrandingURL string `json:"brandingUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
BuildID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ BuildID string `json:"buildId"`$/;" m struct:sravni.PageState typeref:typename:string
|
|
||||||
BuildTime kurious.go /^func BuildTime() time.Time {$/;" f package:kurious typeref:typename:time.Time
|
|
||||||
ButtonMobileText internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ButtonMobileText string `json:"buttonMobileText"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
ButtonText internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ButtonText string `json:"buttonText"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
Categories internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Categories struct {$/;" m struct:sravni.InitialReduxState typeref:typename:struct { Data map[string]int `json:"data"`; }
|
|
||||||
Client internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type Client interface {$/;" i package:sravni
|
|
||||||
Clone internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^func (p *PageState) Clone() *PageState {$/;" f struct:sravni.PageState typeref:typename:*PageState
|
|
||||||
Commit kurious.go /^func Commit() string {$/;" f package:kurious typeref:typename:string
|
|
||||||
ComplexCalculatedRatingValue internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ComplexCalculatedRatingValue float64 `json:"complexCalculatedRatingValue"`$/;" m struct:sravni.RatingsInfo typeref:typename:float64
|
|
||||||
Contacts internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Contacts Contacts `json:"contacts"`$/;" m struct:sravni.Organization typeref:typename:Contacts
|
|
||||||
Contacts internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type Contacts struct {$/;" s package:sravni
|
|
||||||
Cost internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Cost float64 `json:"cost"`$/;" m struct:sravni.CourseAdvertising typeref:typename:float64
|
|
||||||
Course internal/domain/kurious/kurious.go /^type Course struct {$/;" s package:kurious
|
|
||||||
Course internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type Course struct {$/;" s package:sravni
|
|
||||||
CourseAdvertising internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type CourseAdvertising struct {$/;" s package:sravni
|
|
||||||
CourseDiscount internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type CourseDiscount struct {$/;" s package:sravni
|
|
||||||
CourseImage internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ CourseImage string `json:"courseImage"`$/;" m struct:sravni.Course typeref:typename:string
|
|
||||||
CoursesThematics internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ CoursesThematics []string `json:"coursesThematics"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:[]string
|
|
||||||
CoursesThematics internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ CoursesThematics string$/;" m struct:sravni.ListEducationProductsParams typeref:typename:string
|
|
||||||
Created internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Created time.Time `json:"created"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:time.Time
|
|
||||||
CreatedAt internal/domain/kurious/kurious.go /^ CreatedAt time.Time$/;" m struct:kurious.Course typeref:typename:time.Time
|
|
||||||
CreatedAt internal/domain/kurious/kurious.go /^ CreatedAt time.Time$/;" m struct:kurious.Organization typeref:typename:time.Time
|
|
||||||
Data internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Data struct {$/;" m struct:sravni.ReduxDictionaries typeref:typename:struct { CourseThematics ReduxDictionaryContainer `json:"coursesThematics"`; LearningType ReduxDictionaryContainer `json:"learningType"`; LearningTypeSelection ReduxDictionaryContainer `json:"learningTypeSelection"`; }
|
|
||||||
Data internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Data struct {$/;" m struct:sravni.ReduxMetadata typeref:typename:struct { Prefooter []ReduxStatePrefooterItem `json:"prefooter"`; }
|
|
||||||
DateStart internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ DateStart any `json:"dateStart"`$/;" m struct:sravni.Course typeref:typename:any
|
|
||||||
Debugf internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^func (l restyCtxLogger) Debugf(format string, v ...any) {$/;" f struct:sravni.restyCtxLogger
|
|
||||||
DeletedAt internal/domain/kurious/kurious.go /^ DeletedAt nullable.Value[time.Time]$/;" m struct:kurious.Course typeref:typename:nullable.Value
|
|
||||||
DeletedAt internal/domain/kurious/kurious.go /^ DeletedAt nullable.Value[time.Time]$/;" m struct:kurious.Organization typeref:typename:nullable.Value
|
|
||||||
Description internal/domain/kurious/kurious.go /^ Description string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
Dialog internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Dialog string `json:"dialog"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
Dictionaries internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Dictionaries ReduxDictionaries `json:"dictionaries"`$/;" m struct:sravni.InitialReduxState typeref:typename:ReduxDictionaries
|
|
||||||
DictionaryFormatFilterNew internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ DictionaryFormatFilterNew []string `json:"dictionaryFormatFilterNew"`$/;" m struct:sravni.Course typeref:typename:[]string
|
|
||||||
DictionaryLevelFilterNew internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ DictionaryLevelFilterNew []string `json:"dictionaryLevelFilterNew"`$/;" m struct:sravni.Course typeref:typename:[]string
|
|
||||||
Discount internal/domain/kurious/kurious.go /^ Discount float64$/;" m struct:kurious.Course typeref:typename:float64
|
|
||||||
Discount internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Discount CourseDiscount `json:"discount"`$/;" m struct:sravni.Course typeref:typename:CourseDiscount
|
|
||||||
Duration internal/domain/kurious/kurious.go /^ Duration time.Duration$/;" m struct:kurious.Course typeref:typename:time.Duration
|
|
||||||
EducationURL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ EducationURL string `json:"educationUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
EndDate internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ EndDate time.Time `json:"endDate"`$/;" m struct:sravni.CourseDiscount typeref:typename:time.Time
|
|
||||||
EndTime internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ EndTime any `json:"endTime"`$/;" m struct:sravni.CourseDiscount typeref:typename:any
|
|
||||||
Environment internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Environment string `json:"environment"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
ErrClientNotInited internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ErrClientNotInited domain.SimpleError = "client was not inited"$/;" c package:sravni typeref:typename:domain.SimpleError
|
|
||||||
ErrNotImplemented internal/domain/error.go /^ ErrNotImplemented SimpleError = "not implemented"$/;" c package:domain typeref:typename:SimpleError
|
|
||||||
ErrUnexpectedStatus internal/domain/error.go /^ ErrUnexpectedStatus SimpleError = "unexpected status"$/;" c package:domain typeref:typename:SimpleError
|
|
||||||
Error internal/domain/error.go /^func (err *ValidationError) Error() string {$/;" f struct:domain.ValidationError typeref:typename:string
|
|
||||||
Error internal/domain/error.go /^func (err SimpleError) Error() string {$/;" f type:domain.SimpleError typeref:typename:string
|
|
||||||
Errorf internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^func (l restyCtxLogger) Errorf(format string, v ...any) {$/;" f struct:sravni.restyCtxLogger
|
|
||||||
ExternalID internal/domain/kurious/kurious.go /^ ExternalID nullable.Value[string]$/;" m struct:kurious.Course typeref:typename:nullable.Value
|
|
||||||
ExternalID internal/domain/kurious/kurious.go /^ ExternalID nullable.Value[string]$/;" m struct:kurious.Organization typeref:typename:nullable.Value
|
|
||||||
Field internal/domain/error.go /^ Field string$/;" m struct:domain.ValidationError typeref:typename:string
|
|
||||||
Fields internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Fields []string `json:"fields"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:[]string
|
|
||||||
Fields internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Fields []field `json:"fields"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:[]field
|
|
||||||
Fingerprint internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Fingerprint string `json:"fingerPrint,omitempty"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
Full internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Full string `json:"full"`$/;" m struct:sravni.OrganizationName typeref:typename:string
|
|
||||||
FullPrice internal/domain/kurious/kurious.go /^ FullPrice float64$/;" m struct:kurious.Course typeref:typename:float64
|
|
||||||
Gateway internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Gateway string `json:"gatewayUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
Genitive internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Genitive string `json:"genitive"`$/;" m struct:sravni.OrganizationName typeref:typename:string
|
|
||||||
GetMainPageState internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ GetMainPageState() *PageState$/;" n interface:sravni.Client typeref:typename:*PageState
|
|
||||||
GetMainPageState internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) GetMainPageState() *PageState {$/;" f struct:sravni.client typeref:typename:*PageState
|
|
||||||
HasOffersID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ HasOffersID string `json:"hasOffersId"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
ID internal/domain/kurious/kurious.go /^ ID string$/;" m struct:kurious.Organization typeref:typename:string
|
|
||||||
ID internal/domain/kurious/kurious.go /^ ID string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
ID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ID string `json:"id"`$/;" m struct:sravni.Course typeref:typename:string
|
|
||||||
ID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ID string `json:"id"`$/;" m struct:sravni.Organization typeref:typename:string
|
|
||||||
ID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ID string `json:"_id"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:string
|
|
||||||
ImageLink internal/domain/kurious/kurious.go /^ ImageLink string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
InitialReduxState internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ InitialReduxState InitialReduxState `json:"initialReduxState"`$/;" m struct:sravni.PageStateProperties typeref:typename:InitialReduxState
|
|
||||||
InitialReduxState internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type InitialReduxState struct {$/;" s package:sravni
|
|
||||||
IsLabsPartner internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ IsLabsPartner bool `json:"isLabsPartner"`$/;" m struct:sravni.Organization typeref:typename:bool
|
|
||||||
IsMix internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ IsMix bool `json:"isMix"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:bool
|
|
||||||
IsPartner internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ IsPartner bool `json:"isPartner"`$/;" m struct:sravni.CourseAdvertising typeref:typename:bool
|
|
||||||
IsTermApproximately internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ IsTermApproximately bool `json:"isTermApproximately"`$/;" m struct:sravni.Course typeref:typename:bool
|
|
||||||
Items internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Items []Course `json:"items"`$/;" m struct:sravni.ListEducationProductsResponse typeref:typename:[]Course
|
|
||||||
Keywords internal/domain/kurious/kurious.go /^ Keywords []string$/;" m struct:kurious.Course typeref:typename:[]string
|
|
||||||
LabelText internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ LabelText string `json:"labelText"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
LearningType internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ LearningType []string `json:"learningtype"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:[]string
|
|
||||||
LearningType internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ LearningType string$/;" m struct:sravni.ListEducationProductsParams typeref:typename:string
|
|
||||||
Learningtype internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Learningtype []string `json:"learningtype"`$/;" m struct:sravni.Course typeref:typename:[]string
|
|
||||||
License internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ License string `json:"license"`$/;" m struct:sravni.Organization typeref:typename:string
|
|
||||||
Limit internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Limit int `json:"limit"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:int
|
|
||||||
Limit internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Limit int$/;" m struct:sravni.ListEducationProductsParams typeref:typename:int
|
|
||||||
Link internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Link string `json:"link"`$/;" m struct:sravni.Course typeref:typename:string
|
|
||||||
Link internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type Link struct {$/;" s package:sravni
|
|
||||||
Links internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Links []Link `json:"links"`$/;" m struct:sravni.ReduxStatePrefooterItem typeref:typename:[]Link
|
|
||||||
ListEducationProductsParams internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type ListEducationProductsParams struct {$/;" s package:sravni
|
|
||||||
ListEducationProductsRequest internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type ListEducationProductsRequest struct {$/;" s package:sravni
|
|
||||||
ListEducationProductsResponse internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type ListEducationProductsResponse struct {$/;" s package:sravni
|
|
||||||
ListEducationalProducts internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ ListEducationalProducts($/;" n interface:sravni.Client typeref:typename:(result ListEducationProductsResponse, err error)
|
|
||||||
ListEducationalProducts internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) ListEducationalProducts($/;" f struct:sravni.client typeref:typename:(result ListEducationProductsResponse, err error)
|
|
||||||
Location internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Location string `json:"location"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
LogoLink internal/domain/kurious/kurious.go /^ LogoLink string$/;" m struct:kurious.Organization typeref:typename:string
|
|
||||||
Logotypes internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Logotypes struct {$/;" m struct:sravni.Organization typeref:typename:struct { Square string `json:"square"`; Web string `json:"web"`; Android string `json:"android"`; }
|
|
||||||
Map pkg/utilities/slices/map.go /^func Map[S any, E any](s []S, f func(S) E) []E {$/;" f package:slices typeref:typename:(s []S, f func(S) E) [
|
|
||||||
Metadata internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Metadata ReduxMetadata `json:"metadata"`$/;" m struct:sravni.InitialReduxState typeref:typename:ReduxMetadata
|
|
||||||
MixRepeated internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ MixRepeated bool `json:"mixRepeated"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:bool
|
|
||||||
Monetization internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Monetization struct {$/;" m struct:sravni.CourseAdvertising typeref:typename:struct { Pixels struct { Click string `json:"click"`; Display string `json:"display"`; } `json:"pixels"`; Kind string `json:"kind"`; }
|
|
||||||
Name internal/domain/kurious/kurious.go /^ Name string$/;" m struct:kurious.Organization typeref:typename:string
|
|
||||||
Name internal/domain/kurious/kurious.go /^ Name string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
Name internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Name string `json:"name"`$/;" m struct:sravni.Course typeref:typename:string
|
|
||||||
Name internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Name OrganizationName `json:"name"`$/;" m struct:sravni.Organization typeref:typename:OrganizationName
|
|
||||||
Name internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Name string `json:"name"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:string
|
|
||||||
Name internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Name string `json:"name"`$/;" m struct:sravni.field typeref:typename:string
|
|
||||||
NewClient internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func NewClient(ctx context.Context, log *slog.Logger, debug bool) (c *client, err error) {$/;" f package:sravni typeref:typename:(c *client, err error)
|
|
||||||
NewServices internal/infrastructure/interfaceadapters/services.go /^func NewServices() Services {$/;" f package:adapters typeref:typename:Services
|
|
||||||
NewValidationError internal/domain/error.go /^func NewValidationError(field, reason string) *ValidationError {$/;" f package:domain typeref:typename:*ValidationError
|
|
||||||
NewValue internal/domain/nullable/value.go /^func NewValue[T any](value T) Value[T] {$/;" f package:nullable typeref:typename:(value T) Value
|
|
||||||
NewValuePtr internal/domain/nullable/value.go /^func NewValuePtr[T any](value *T) Value[T] {$/;" f package:nullable typeref:typename:(value *T) Value
|
|
||||||
NotB2B internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ NotB2B string `json:"not-b2b"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
NotSubIsWebinar internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ NotSubIsWebinar string `json:"not-sub-isWebinar"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
OfferHighlightColor internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ OfferHighlightColor string `json:"offerHighlightColor"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
OfferTypes internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ OfferTypes []string `json:"offerTypes"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:[]string
|
|
||||||
Offset internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Offset int `json:"offset"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:int
|
|
||||||
Offset internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Offset int$/;" m struct:sravni.ListEducationProductsParams typeref:typename:int
|
|
||||||
Organization internal/domain/kurious/kurious.go /^type Organization struct {$/;" s package:kurious
|
|
||||||
Organization internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Organization string `json:"organization"`$/;" m struct:sravni.Course typeref:typename:string
|
|
||||||
Organization internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type Organization struct {$/;" s package:sravni
|
|
||||||
OrganizationID internal/domain/kurious/kurious.go /^ OrganizationID string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
OrganizationName internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type OrganizationName struct {$/;" s package:sravni
|
|
||||||
Organizations internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ Organizations map[string]Organization `json:"organizations"`$/;" m struct:sravni.ListEducationProductsResponse typeref:typename:map[string]Organization
|
|
||||||
OrgnazationURL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ OrgnazationURL string `json:"organizationsUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
OriginLink internal/domain/kurious/kurious.go /^ OriginLink string$/;" m struct:kurious.Course typeref:typename:string
|
|
||||||
Page internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Page string `json:"page"`$/;" m struct:sravni.PageState typeref:typename:string
|
|
||||||
PageState internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type PageState struct {$/;" s package:sravni
|
|
||||||
PageStateProperties internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type PageStateProperties struct {$/;" s package:sravni
|
|
||||||
PageStateRuntimeConfig internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type PageStateRuntimeConfig struct {$/;" s package:sravni
|
|
||||||
ParticipantsCount internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ParticipantsCount int `json:"participantsCount"`$/;" m struct:sravni.RatingsInfo typeref:typename:int
|
|
||||||
Percent internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Percent int `json:"percent"`$/;" m struct:sravni.CourseDiscount typeref:typename:int
|
|
||||||
Phone internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Phone []string `json:"phone"`$/;" m struct:sravni.Contacts typeref:typename:[]string
|
|
||||||
PhoneVerifierURL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ PhoneVerifierURL string `json:"phoneVerifierUrl"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
Prepositional internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Prepositional string `json:"prepositional"`$/;" m struct:sravni.OrganizationName typeref:typename:string
|
|
||||||
Price internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Price int `json:"price"`$/;" m struct:sravni.Course typeref:typename:int
|
|
||||||
PriceAll internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ PriceAll int `json:"priceAll"`$/;" m struct:sravni.Course typeref:typename:int
|
|
||||||
PriceInstallment internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ PriceInstallment int `json:"priceInstallment"`$/;" m struct:sravni.Course typeref:typename:int
|
|
||||||
ProductName internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ ProductName string `json:"productName,omitempty"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
PromoCode internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ PromoCode string `json:"promoCode"`$/;" m struct:sravni.CourseDiscount typeref:typename:string
|
|
||||||
PromoCodeType internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ PromoCodeType string `json:"promoCodeType"`$/;" m struct:sravni.CourseDiscount typeref:typename:string
|
|
||||||
Props internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Props PageStateProperties `json:"props"`$/;" m struct:sravni.PageState typeref:typename:PageStateProperties
|
|
||||||
Query internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Query map[string]string `json:"query"`$/;" m struct:sravni.PageState typeref:typename:map[string]string
|
|
||||||
RatingsInfo internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ RatingsInfo RatingsInfo `json:"ratingsInfo"`$/;" m struct:sravni.Organization typeref:typename:RatingsInfo
|
|
||||||
RatingsInfo internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type RatingsInfo struct {$/;" s package:sravni
|
|
||||||
Reason internal/domain/error.go /^ Reason string$/;" m struct:domain.ValidationError typeref:typename:string
|
|
||||||
ReduxDictionaries internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type ReduxDictionaries struct {$/;" s package:sravni
|
|
||||||
ReduxDictionaryContainer internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type ReduxDictionaryContainer struct {$/;" s package:sravni
|
|
||||||
ReduxMetadata internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type ReduxMetadata struct {$/;" s package:sravni
|
|
||||||
ReduxStatePrefooterItem internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type ReduxStatePrefooterItem struct {$/;" s package:sravni
|
|
||||||
Release internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Release string `json:"release"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
RuntimeConfig internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ RuntimeConfig PageStateRuntimeConfig `json:"runtimeConfig"`$/;" m struct:sravni.PageState typeref:typename:PageStateRuntimeConfig
|
|
||||||
ServiceName internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ ServiceName string `json:"serviceName"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
Services internal/infrastructure/interfaceadapters/services.go /^type Services struct{}$/;" s package:adapters
|
|
||||||
Set internal/domain/nullable/value.go /^func (n *Value[T]) Set(value T) {$/;" f unknown:nullable.T
|
|
||||||
Short internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Short string `json:"short"`$/;" m struct:sravni.OrganizationName typeref:typename:string
|
|
||||||
SideBarBannerText internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ SideBarBannerText string `json:"sideBarBannerText"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
SimpleError internal/domain/error.go /^type SimpleError string$/;" t package:domain typeref:typename:string
|
|
||||||
Site internal/domain/kurious/kurious.go /^ Site string$/;" m struct:kurious.Organization typeref:typename:string
|
|
||||||
SortDirection internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ SortDirection string `json:"sortDirection"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
SortProperty internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ SortProperty string `json:"sortProperty"`$/;" m struct:sravni.ListEducationProductsRequest typeref:typename:string
|
|
||||||
SourceName internal/domain/kurious/kurious.go /^ SourceName nullable.Value[string]$/;" m struct:kurious.Course typeref:typename:nullable.Value
|
|
||||||
SourceType internal/domain/kurious/kurious.go /^ SourceType SourceType$/;" m struct:kurious.Course typeref:typename:SourceType
|
|
||||||
SourceType internal/domain/kurious/kurious.go /^type SourceType uint8$/;" t package:kurious typeref:typename:uint8
|
|
||||||
SourceTypeManual internal/domain/kurious/kurious.go /^ SourceTypeManual$/;" c package:kurious
|
|
||||||
SourceTypeParsed internal/domain/kurious/kurious.go /^ SourceTypeParsed$/;" c package:kurious
|
|
||||||
SourceTypeUnset internal/domain/kurious/kurious.go /^ SourceTypeUnset SourceType = iota$/;" c package:kurious typeref:type:SourceType
|
|
||||||
StartsAt internal/domain/kurious/kurious.go /^ StartsAt time.Time$/;" m struct:kurious.Course typeref:typename:time.Time
|
|
||||||
TimeAllDay internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ TimeAllDay any `json:"timeAllDay"`$/;" m struct:sravni.Course typeref:typename:any
|
|
||||||
TimeAllHour internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ TimeAllHour any `json:"timeAllHour"`$/;" m struct:sravni.Course typeref:typename:any
|
|
||||||
TimeAllMonth internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ TimeAllMonth int `json:"timeAllMonth"`$/;" m struct:sravni.Course typeref:typename:int
|
|
||||||
TimeStart internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ TimeStart any `json:"timeStart"`$/;" m struct:sravni.Course typeref:typename:any
|
|
||||||
Title internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Title string `json:"title"`$/;" m struct:sravni.Link typeref:typename:string
|
|
||||||
Title internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Title string `json:"title"`$/;" m struct:sravni.ReduxStatePrefooterItem typeref:typename:string
|
|
||||||
Token internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Token []struct {$/;" m struct:sravni.CourseAdvertising typeref:typename:[]struct { ID string `json:"_id"`; Token []string `json:"token"`; Updated time.Time `json:"updated"`; V int `json:"__v"`; }
|
|
||||||
TotalCount internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ TotalCount int `json:"totalCount"`$/;" m struct:sravni.ListEducationProductsResponse typeref:typename:int
|
|
||||||
TotalCountAdv internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ TotalCountAdv int `json:"totalCountAdv"`$/;" m struct:sravni.ListEducationProductsResponse typeref:typename:int
|
|
||||||
TrackingType internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ TrackingType string `json:"trackingType"`$/;" m struct:sravni.CourseAdvertising typeref:typename:string
|
|
||||||
URL internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ URL string `json:"url"`$/;" m struct:sravni.Link typeref:typename:string
|
|
||||||
Updated internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Updated time.Time `json:"updated"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:time.Time
|
|
||||||
UpdatedAt internal/domain/kurious/kurious.go /^ UpdatedAt time.Time$/;" m struct:kurious.Course typeref:typename:time.Time
|
|
||||||
UpdatedAt internal/domain/kurious/kurious.go /^ UpdatedAt time.Time$/;" m struct:kurious.Organization typeref:typename:time.Time
|
|
||||||
UserID internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ UserID string `json:"userId"`$/;" m struct:sravni.ReduxDictionaryContainer typeref:typename:string
|
|
||||||
Valid internal/domain/nullable/value.go /^func (n Value[T]) Valid() bool {$/;" f unknown:nullable.T typeref:typename:bool
|
|
||||||
ValidationError internal/domain/error.go /^type ValidationError struct {$/;" s package:domain
|
|
||||||
Value internal/domain/nullable/value.go /^func (n Value[T]) Value() T {$/;" f unknown:nullable.T typeref:typename:T
|
|
||||||
Value internal/domain/nullable/value.go /^type Value[T any] struct {$/;" t package:nullable typeref:typename:[T any] struct { value T; valid bool;}
|
|
||||||
Value internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ Value string `json:"value"`$/;" m struct:sravni.field typeref:typename:string
|
|
||||||
Values internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (qs querySet) Values() []string {$/;" f struct:sravni.querySet typeref:typename:[]string
|
|
||||||
ValutPtr internal/domain/nullable/value.go /^func (n Value[T]) ValutPtr() *T {$/;" f unknown:nullable.T typeref:typename:*T
|
|
||||||
Version kurious.go /^func Version() string {$/;" f package:kurious typeref:typename:string
|
|
||||||
Warnf internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^func (l restyCtxLogger) Warnf(format string, v ...any) {$/;" f struct:sravni.restyCtxLogger
|
|
||||||
WebPath internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ WebPath string `json:"webPath"`$/;" m struct:sravni.PageStateRuntimeConfig typeref:typename:string
|
|
||||||
WithoutDiscountPrice internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^ WithoutDiscountPrice int `json:"withoutDiscountPrice"`$/;" m struct:sravni.Course typeref:typename:int
|
|
||||||
action cmd/dev/sravnicli/products.go /^type action interface {$/;" i package:main
|
|
||||||
adapters internal/infrastructure/interfaceadapters/services.go /^package adapters$/;" p
|
|
||||||
app cmd/dev/sravnicli/main.go /^func app(ctx context.Context, log *slog.Logger) (exitCode int, err error) {$/;" f package:main typeref:typename:(exitCode int, err error)
|
|
||||||
asCLIAction cmd/dev/sravnicli/products.go /^func asCLIAction(a action) cli.Action {$/;" f package:main typeref:typename:cli.Action
|
|
||||||
baseAction cmd/dev/sravnicli/products.go /^ *baseAction$/;" M struct:main.listProductsAction typeref:typename:*baseAction
|
|
||||||
baseAction cmd/dev/sravnicli/products.go /^type baseAction struct {$/;" s package:main
|
|
||||||
baseURL internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ baseURL = "https:\/\/www.sravni.ru\/kursy"$/;" c package:sravni
|
|
||||||
buildTime kurious.go /^ buildTime = ""$/;" v package:kurious
|
|
||||||
buildTimeParseOnce kurious.go /^var buildTimeParseOnce sync.Once$/;" v package:kurious typeref:typename:sync.Once
|
|
||||||
buildTimeParsed kurious.go /^ buildTimeParsed = time.Time{}$/;" v package:kurious
|
|
||||||
cachedMainPageInfo internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ cachedMainPageInfo *PageState$/;" m struct:sravni.client typeref:typename:*PageState
|
|
||||||
checkClientInited internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) checkClientInited() error {$/;" f struct:sravni.client typeref:typename:error
|
|
||||||
client cmd/dev/sravnicli/products.go /^ client sravni.Client$/;" m struct:main.baseAction typeref:typename:sravni.Client
|
|
||||||
client internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type client struct {$/;" s package:sravni
|
|
||||||
commit kurious.go /^ commit = "unknown"$/;" v package:kurious
|
|
||||||
context cmd/dev/sravnicli/products.go /^ context() context.Context$/;" n interface:main.action typeref:typename:context.Context
|
|
||||||
context cmd/dev/sravnicli/products.go /^func (ba baseAction) context() context.Context {$/;" f struct:main.baseAction typeref:typename:context.Context
|
|
||||||
courseThematic cmd/dev/sravnicli/products.go /^ courseThematic string$/;" m struct:main.listProductsActionParams typeref:typename:string
|
|
||||||
courseThematicOptName cmd/dev/sravnicli/products.go /^ courseThematicOptName = "course_thematic"$/;" c package:main
|
|
||||||
courses internal/app/courses/client.go /^package courses$/;" p
|
|
||||||
ctx cmd/dev/sravnicli/products.go /^ ctx context.Context$/;" m struct:main.baseAction typeref:typename:context.Context
|
|
||||||
ctx internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^ ctx context.Context$/;" m struct:sravni.restyCtxLogger typeref:typename:context.Context
|
|
||||||
debugOptName cmd/dev/sravnicli/core.go /^ debugOptName = "verbose"$/;" c package:main
|
|
||||||
defaultOutput cmd/dev/sravnicli/main.go /^var defaultOutput = os.Stdout$/;" v package:main
|
|
||||||
defaultProductFields internal/infrastructure/interfaceadapters/courses/sravni/client.go /^var defaultProductFields = must(educationProductFields.exactSubset($/;" v package:sravni
|
|
||||||
domain internal/domain/error.go /^package domain$/;" p
|
|
||||||
educationProductFields internal/infrastructure/interfaceadapters/courses/sravni/client.go /^var educationProductFields = newQuerySet($/;" v package:sravni
|
|
||||||
exactSubset internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (qs querySet) exactSubset(values ...string) ([]string, error) {$/;" f struct:sravni.querySet typeref:typename:([]string, error)
|
|
||||||
field internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^type field struct {$/;" s package:sravni
|
|
||||||
findNode internal/infrastructure/interfaceadapters/courses/sravni/helpers.go /^func findNode(parent *html.Node, eq func(*html.Node) (found, deeper bool)) *html.Node {$/;" f package:sravni typeref:typename:*html.Node
|
|
||||||
getMainPageState internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) getMainPageState(ctx context.Context) (*PageState, error) {$/;" f struct:sravni.client typeref:typename:(*PageState, error)
|
|
||||||
handle cmd/dev/sravnicli/products.go /^ handle() error$/;" n interface:main.action typeref:typename:error
|
|
||||||
handle cmd/dev/sravnicli/products.go /^func (a *listProductsAction) handle() error {$/;" f struct:main.listProductsAction typeref:typename:error
|
|
||||||
handle cmd/dev/sravnicli/products.go /^func (ba *baseAction) handle() error {$/;" f struct:main.baseAction typeref:typename:error
|
|
||||||
hasValue internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (qs querySet) hasValue(value string) bool {$/;" f struct:sravni.querySet typeref:typename:bool
|
|
||||||
http internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ http *resty.Client$/;" m struct:sravni.client typeref:typename:*resty.Client
|
|
||||||
jsonOptName cmd/dev/sravnicli/core.go /^ jsonOptName = "json"$/;" c package:main
|
|
||||||
kurious internal/domain/kurious/kurious.go /^package kurious$/;" p
|
|
||||||
kurious internal/domain/kurious/repository.go /^package kurious$/;" p
|
|
||||||
kurious kurious.go /^package kurious$/;" p
|
|
||||||
learningType cmd/dev/sravnicli/products.go /^ learningType string$/;" m struct:main.listProductsActionParams typeref:typename:string
|
|
||||||
learningTypeOptName cmd/dev/sravnicli/products.go /^ learningTypeOptName = "learning_type"$/;" c package:main
|
|
||||||
limit cmd/dev/sravnicli/products.go /^ limit int$/;" m struct:main.listProductsActionParams typeref:typename:int
|
|
||||||
limitOption cmd/dev/sravnicli/core.go /^var limitOption = cli.NewOption("limit", "Limits amount of items to return").WithType(cli.TypeIn/;" v package:main
|
|
||||||
listProductsAction cmd/dev/sravnicli/products.go /^type listProductsAction struct {$/;" s package:main
|
|
||||||
listProductsActionParams cmd/dev/sravnicli/products.go /^type listProductsActionParams struct {$/;" s package:main
|
|
||||||
log cmd/dev/sravnicli/products.go /^ log *slog.Logger$/;" m struct:main.baseAction typeref:typename:*slog.Logger
|
|
||||||
log internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ log *slog.Logger$/;" m struct:sravni.client typeref:typename:*slog.Logger
|
|
||||||
log internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^ log *slog.Logger$/;" m struct:sravni.restyCtxLogger typeref:typename:*slog.Logger
|
|
||||||
main cmd/cli/main.go /^func main() {$/;" f package:main
|
|
||||||
main cmd/cli/main.go /^package main$/;" p
|
|
||||||
main cmd/dev/sravnicli/core.go /^package main$/;" p
|
|
||||||
main cmd/dev/sravnicli/main.go /^func main() {$/;" f package:main
|
|
||||||
main cmd/dev/sravnicli/main.go /^package main$/;" p
|
|
||||||
main cmd/dev/sravnicli/products.go /^package main$/;" p
|
|
||||||
makeEducationURL internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) makeEducationURL(path string) string {$/;" f struct:sravni.client typeref:typename:string
|
|
||||||
makeLogger cmd/dev/sravnicli/core.go /^func makeLogger(options map[string]string) *slog.Logger {$/;" f package:main typeref:typename:*slog.Logger
|
|
||||||
makeSravniClient cmd/dev/sravnicli/core.go /^func makeSravniClient(ctx context.Context, log *slog.Logger, options map[string]string) (sravni./;" f package:main typeref:typename:(sravni.Client, error)
|
|
||||||
mappedValues internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ mappedValues map[string]struct{}$/;" m struct:sravni.querySet typeref:typename:map[string]struct{}
|
|
||||||
must internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func must[T any](t T, err error) T {$/;" f package:sravni typeref:typename:(t T, err error) T
|
|
||||||
newBaseAction cmd/dev/sravnicli/products.go /^func newBaseAction(ctx context.Context) *baseAction {$/;" f package:main typeref:typename:*baseAction
|
|
||||||
newListProductAction cmd/dev/sravnicli/products.go /^func newListProductAction(ctx context.Context) cli.Action {$/;" f package:main typeref:typename:cli.Action
|
|
||||||
newQuerySet internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func newQuerySet(values ...string) querySet {$/;" f package:sravni typeref:typename:querySet
|
|
||||||
nullable internal/domain/nullable/value.go /^package nullable$/;" p
|
|
||||||
offset cmd/dev/sravnicli/products.go /^ offset int$/;" m struct:main.listProductsActionParams typeref:typename:int
|
|
||||||
offsetOption cmd/dev/sravnicli/core.go /^var offsetOption = cli.NewOption("offset", "Offsets items to return").WithType(cli.TypeInt)$/;" v package:main
|
|
||||||
params cmd/dev/sravnicli/products.go /^ params listProductsActionParams$/;" m struct:main.listProductsAction typeref:typename:listProductsActionParams
|
|
||||||
parse cmd/dev/sravnicli/products.go /^ parse(args []string, options map[string]string) error$/;" n interface:main.action typeref:typename:error
|
|
||||||
parse cmd/dev/sravnicli/products.go /^func (a *listProductsAction) parse(args []string, options map[string]string) error {$/;" f struct:main.listProductsAction typeref:typename:error
|
|
||||||
parse cmd/dev/sravnicli/products.go /^func (ba *baseAction) parse(_ []string, options map[string]string) (err error) {$/;" f struct:main.baseAction typeref:typename:(err error)
|
|
||||||
parsePageState internal/infrastructure/interfaceadapters/courses/sravni/client.go /^func (c *client) parsePageState(ctx context.Context, body io.Reader) (*PageState, error) {$/;" f struct:sravni.client typeref:typename:(*PageState, error)
|
|
||||||
querySet internal/infrastructure/interfaceadapters/courses/sravni/client.go /^type querySet struct {$/;" s package:sravni
|
|
||||||
restyCtxLogger internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^type restyCtxLogger struct {$/;" s package:sravni
|
|
||||||
setupAPICommand cmd/dev/sravnicli/products.go /^func setupAPICommand(ctx context.Context) cli.Command {$/;" f package:main typeref:typename:cli.Command
|
|
||||||
setupCLI cmd/dev/sravnicli/main.go /^func setupCLI(ctx context.Context) cli.App {$/;" f package:main typeref:typename:cli.App
|
|
||||||
slices pkg/utilities/slices/map.go /^package slices$/;" p
|
|
||||||
sravni internal/infrastructure/interfaceadapters/courses/sravni/client.go /^package sravni$/;" p
|
|
||||||
sravni internal/infrastructure/interfaceadapters/courses/sravni/entities.go /^package sravni$/;" p
|
|
||||||
sravni internal/infrastructure/interfaceadapters/courses/sravni/helpers.go /^package sravni$/;" p
|
|
||||||
sravni internal/infrastructure/interfaceadapters/courses/sravni/logger.go /^package sravni$/;" p
|
|
||||||
validCourseThematics internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ validCourseThematics querySet$/;" m struct:sravni.client typeref:typename:querySet
|
|
||||||
validLearningTypes internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ validLearningTypes querySet$/;" m struct:sravni.client typeref:typename:querySet
|
|
||||||
values internal/infrastructure/interfaceadapters/courses/sravni/client.go /^ values []string$/;" m struct:sravni.querySet typeref:typename:[]string
|
|
||||||
version kurious.go /^ version = "unknown"$/;" v package:kurious
|
|
||||||
Reference in New Issue
Block a user